From 0db6e26070e65e1e159e254514d2db0d7c734bcf Mon Sep 17 00:00:00 2001 From: darkf Date: Sat, 19 Oct 2013 01:38:25 -0700 Subject: [PATCH] slightly clean up parser --- parser.hs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/parser.hs b/parser.hs index b888efa..184be51 100644 --- a/parser.hs +++ b/parser.hs @@ -13,7 +13,7 @@ languageDef = emptyDef {T.commentStart="{-", T.nestedComments=True, T.identStart = letter <|> char '_', T.identLetter = alphaNum <|> char '_', - T.reservedNames = ["do", "end", "(", ")", ";", "."], + T.reservedNames = ["do", "end"], T.reservedOpNames = ["+", "*"]} lexer = T.makeTokenParser languageDef @@ -31,11 +31,7 @@ semi = T.semi lexer -- parses a semicolon whiteSpace = T.whiteSpace lexer -- parses whitespace symbol = T.symbol lexer -statement = - do - e <- exprparser - -- char ';' - return e +statement = exprparser block = do reserved "do" @@ -74,11 +70,7 @@ term = try block <|> fmap Var identifier <|> fmap IntConst integer -manyExpr = many1 exprparser - -seqStmt = do - lst <- sepBy1 statement semi - return lst +seqStmt = sepBy1 statement semi program = many1 $ do