diff options
author | simonmar <unknown> | 2002-04-10 16:28:05 +0000 |
---|---|---|
committer | simonmar <unknown> | 2002-04-10 16:28:05 +0000 |
commit | 1c052b0e301f27f7ed4c682b86aae33b3450cc45 (patch) | |
tree | f9afc874b872eba98ca79b4ff04118bc6575da2e /src/HaddockParse.y | |
parent | 86c2a026f62fb6f6ab6ff1db30b9ea530eeeb631 (diff) |
[haddock @ 2002-04-10 16:28:05 by simonmar]
Parse errors in doc strings are now reported as warnings rather that
causing the whole thing to fall over. It still needs cleaning up (the
warning is emitted with trace) but this will do for the time being.
Diffstat (limited to 'src/HaddockParse.y')
-rw-r--r-- | src/HaddockParse.y | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/HaddockParse.y b/src/HaddockParse.y index 668e7d28..0c5ebf49 100644 --- a/src/HaddockParse.y +++ b/src/HaddockParse.y @@ -3,6 +3,8 @@ module HaddockParse (parseParas, parseString) where import HaddockLex import HaddockTypes + +import MonadError } %tokentype { Token } @@ -18,6 +20,8 @@ import HaddockTypes PARA { TokPara } STRING { TokString $$ } +%monad { Either String } + %name parseParas doc %name parseString seq @@ -53,5 +57,7 @@ elem :: { ParsedDoc } | '[' seq ']' { DocMonospaced $2 } { -happyError toks = error ("parse error in doc string: " ++ show (take 3 toks)) +happyError :: [Token] -> Either String a +happyError toks = + throwError ("parse error in doc string: " ++ show (take 3 toks)) } |