From 1bbc16f132e30ed452bfcad57dd12e3bea455419 Mon Sep 17 00:00:00 2001 From: darkf Date: Wed, 23 Oct 2013 20:54:26 -0700 Subject: [PATCH] add variable definition --- parser.hs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/parser.hs b/parser.hs index b3e8e24..c7f5d69 100644 --- a/parser.hs +++ b/parser.hs @@ -146,6 +146,13 @@ ifExpr = do bool = fmap BoolConst $ (symbol "true" >> return True) <|> (symbol "false" >> return False) +def = do + name <- identifier + whiteSpace + symbol "=" + value <- exprparser + return $ Def name value + expr' = try block <|> try funDef <|> try call @@ -155,6 +162,7 @@ expr' = try block <|> listSeq exprparser ListConst <|> try ifExpr <|> try bool + <|> try def <|> fmap Var identifier <|> fmap StrConst stringLiteral <|> fmap IntConst integer