diff --git a/haskell-experiments/src/SimpleParser.hs b/haskell-experiments/src/SimpleParser.hs index adf46b8..278125a 100644 --- a/haskell-experiments/src/SimpleParser.hs +++ b/haskell-experiments/src/SimpleParser.hs @@ -55,15 +55,15 @@ eval (UnaryExpr unaryOp a) = lookUpUnaryOp unaryOp (eval a) parseExpr :: Parser Expr parseExpr = makeExprParser - parseLiteral + parseTerm [ [InfixL (char '/' $> BinaryExpr Divide)] , [InfixL (char '*' $> BinaryExpr Multiply)] , [InfixL (char '+' $> BinaryExpr Add)] , [InfixL (char '-' $> BinaryExpr Subtract)] ] -parseLiteral :: Parser Expr -parseLiteral = +parseTerm :: Parser Expr +parseTerm = choice [ Literal <$> decimal , between (char '(') (char ')') parseExpr