X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=src%2Fparse.dcl;h=62a0461c89c42021bedd72288bbdf7bb16bdd887;hb=da0449d1b0998b76941699ace4a806022b52523d;hp=baef54567d9bd2e19a8643509fe0664925ac8f4b;hpb=3faf0ef4123af219f9f10560b5fe1aa041a37c4a;p=cc1516.git diff --git a/src/parse.dcl b/src/parse.dcl index baef545..62a0461 100644 --- a/src/parse.dcl +++ b/src/parse.dcl @@ -8,9 +8,9 @@ import lex :: ParserOutput :== Either String AST :: AST = AST [VarDecl] [FunDecl] -:: VarDecl = VarDecl String Type Expr +:: VarDecl = VarDecl Type String Expr :: Type - = TupleType Type Type + = TupleType (Type, Type) | ListType Type | IdType String | IntType @@ -26,7 +26,7 @@ import lex | BoolExpr Bool | FunExpr FunCall | EmptyListExpr - | TupleExpr Expr Expr + | TupleExpr (Expr, Expr) :: VarDef = VarDef String [FieldSelector] :: FieldSelector = FieldHd | FieldTl | FieldFst | FieldSnd :: Op1 = UnNegation | UnMinus