summaryrefslogtreecommitdiff
path: root/parser.hs
diff options
context:
space:
mode:
Diffstat (limited to 'parser.hs')
-rw-r--r--parser.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/parser.hs b/parser.hs
index 211c044..1b103d4 100644
--- a/parser.hs
+++ b/parser.hs
@@ -102,7 +102,14 @@ pExpression :: Parser Expression
pExpression = E.buildExpressionParser exprTable pExLit
pExLit :: Parser Expression
-pExLit = exLit_ <$> pLiteral
+pExLit = (exLit_ <$> pLiteral) <|> pParenExpr
+
+pParenExpr :: Parser Expression
+pParenExpr = do
+ symbol "("
+ e <- pExpression
+ symbol ")"
+ return e
pLiteral :: Parser Literal
pLiteral = (LitInt <$> pInteger) <|> (LitInt <$> pCharStr) <|> (LitString <$> pString)