summaryrefslogtreecommitdiff
path: root/parser.hs
diff options
context:
space:
mode:
Diffstat (limited to 'parser.hs')
-rw-r--r--parser.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/parser.hs b/parser.hs
index 7359ccf..6520294 100644
--- a/parser.hs
+++ b/parser.hs
@@ -85,14 +85,14 @@ exprTable =
[binary "&&" BoolAnd E.AssocLeft,
binary "||" BoolOr E.AssocLeft]]
where
- binary name op assoc = E.Infix (ExBinOp op <$ symbol name) assoc
- prefix name op = E.Prefix (ExUnOp op <$ symbol name)
+ binary name op assoc = E.Infix (exBinOp_ op <$ symbol name) assoc
+ prefix name op = E.Prefix (exUnOp_ op <$ symbol name)
pExpression :: Parser Expression
pExpression = E.buildExpressionParser exprTable pExLit
pExLit :: Parser Expression
-pExLit = ExLit <$> pLiteral
+pExLit = exLit_ <$> pLiteral
pLiteral :: Parser Literal
pLiteral = (LitInt <$> pInteger) <|> (LitString <$> pString)
@@ -109,7 +109,7 @@ pLitCall = do
pStatement :: Parser Statement
pStatement = pStEmpty <|> pStIf <|> pStWhile <|> pStReturn <|> pStBlock
- <|> try pStAssignment <|> pStVarDeclaration <|> pStExpr
+ <|> try pStAssignment <|> try pStVarDeclaration <|> pStExpr
pStEmpty :: Parser Statement
pStEmpty = symbol ";" >> return StEmpty
@@ -165,7 +165,7 @@ pStReturn = do
primitiveTypes :: Map.Map String Type
primitiveTypes = Map.fromList
- [("i8", TypeInt 8), ("i16", TypeInt 16), ("i32", TypeInt 32), ("i64", TypeInt 64),
+ [("i1", TypeInt 1), ("i8", TypeInt 8), ("i16", TypeInt 16), ("i32", TypeInt 32), ("i64", TypeInt 64),
("u8", TypeUInt 8), ("u16", TypeUInt 16), ("u32", TypeUInt 32), ("u64", TypeUInt 64),
("float", TypeFloat), ("double", TypeDouble)]