summaryrefslogtreecommitdiff
path: root/src/GF
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-08-28 19:36:41 +0000
committeraarne <aarne@cs.chalmers.se>2006-08-28 19:36:41 +0000
commit04933ef3c9ad381b2d09b7882b4204f6ca53208c (patch)
tree73636820fa4b8194dbe651cf9540977062c9866f /src/GF
parentdf370ec7f81b2f85bb1bfebfa37f2943f0027de6 (diff)
the EOF error changed to more informative lexer error msg
Diffstat (limited to 'src/GF')
-rw-r--r--src/GF/Source/LexGF.hs2
-rw-r--r--src/GF/Source/ParGF.hs6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/GF/Source/LexGF.hs b/src/GF/Source/LexGF.hs
index 9aa802910..326f738ed 100644
--- a/src/GF/Source/LexGF.hs
+++ b/src/GF/Source/LexGF.hs
@@ -121,7 +121,7 @@ tokens str = go (alexStartPos, '\n', str)
go inp@(pos, _, str) =
case alexScan inp 0 of
AlexEOF -> []
- AlexError (pos, _, _) -> fail $ show pos ++ ": lexical error"
+ AlexError (pos, _, _) -> [Err pos]
AlexSkip inp' len -> go inp'
AlexToken inp' len act -> act pos (take len str) : (go inp')
diff --git a/src/GF/Source/ParGF.hs b/src/GF/Source/ParGF.hs
index ebb017d90..d106d81a3 100644
--- a/src/GF/Source/ParGF.hs
+++ b/src/GF/Source/ParGF.hs
@@ -3133,7 +3133,11 @@ thenM = (>>=)
happyError :: [Token] -> Err a
happyError ts =
- Bad $ "syntax error at " ++ tokenPos ts ++ if null ts then [] else (" before " ++ unwords (map prToken (take 4 ts)))
+ Bad $ "syntax error at " ++ tokenPos ts ++
+ case ts of
+ [] -> []
+ [Err _] -> " due to lexer error"
+ _ -> (" before " ++ unwords (map prToken (take 4 ts)))
myLexer = tokens
{-# LINE 1 "GenericTemplate.hs" #-}