diff -r e80e0d3273c5 -r 12cc2bd84b0b tools/PascalParser.hs --- a/tools/PascalParser.hs Sat May 12 00:25:49 2012 +0400 +++ b/tools/PascalParser.hs Sat May 12 22:13:56 2012 +0400 @@ -563,14 +563,16 @@ return (i ,e) table = [ - [ Infix (char '*' >> return (InitBinOp "*")) AssocLeft + [ + Prefix (char '-' >> return (InitPrefixOp "-")) + ] + , [ Infix (char '*' >> return (InitBinOp "*")) AssocLeft , Infix (char '/' >> return (InitBinOp "/")) AssocLeft , Infix (try (string "div") >> return (InitBinOp "div")) AssocLeft , Infix (try (string "mod") >> return (InitBinOp "mod")) AssocLeft ] , [ Infix (char '+' >> return (InitBinOp "+")) AssocLeft , Infix (char '-' >> return (InitBinOp "-")) AssocLeft - , Prefix (char '-' >> return (InitPrefixOp "-")) ] , [ Infix (try (string "<>") >> return (InitBinOp "<>")) AssocNone , Infix (try (string "<=") >> return (InitBinOp "<=")) AssocNone