Erik de Castro Lopo schrieb:
Erik de Castro Lopo wrote:
binaryOp :: String -> (SourcePos -> a -> a -> a) -> E.Assoc -> E.Operator
Char st a
binaryOp name con assoc =
E.Infix (reservedOp name >>
getPosition >>=
return . con) assoc
Replacing reservedOp above with:
reservedOpNf :: String -> CharParser st ()
reservedOpNf name = try (reservedOp name >> notFollowedBy (oneOf "|&="))
fixed the problem.
Hi Erik,
There is an easy, better solution, modifying the lexer:
> lexer = makeTokenParser $ emptyDef
> { L.reservedOpNames = words "&& || & | ^" }
> reservedOp = P.reservedOp lexer
> identifier = P.identifier lexer
> ...
I'd try to avoid 'try', if possible.
benedikt
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe