X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=src%2Fparse.dcl;h=aca0ba427b456509bc41655842e4b38b008d7046;hb=b3bedf1e825aaaee9134dddc6de82b373bf8b86b;hp=62a0461c89c42021bedd72288bbdf7bb16bdd887;hpb=798defc398c2e3df810cc8fd3dccf861103006a5;p=cc1516.git diff --git a/src/parse.dcl b/src/parse.dcl index 62a0461..aca0ba4 100644 --- a/src/parse.dcl +++ b/src/parse.dcl @@ -5,7 +5,7 @@ from Data.Maybe import :: Maybe import lex -:: ParserOutput :== Either String AST +:: ParserOutput :== Either Error AST :: AST = AST [VarDecl] [FunDecl] :: VarDecl = VarDecl Type String Expr @@ -32,7 +32,7 @@ import lex :: Op1 = UnNegation | UnMinus :: Op2 = BiPlus | BiMinus | BiTimes | BiDivide | BiMod | BiEquals | BiLesser | BiGreater | BiLesserEq | BiGreaterEq | BiUnEqual | BiAnd | BiOr | BiCons -:: FunDecl = FunDecl String [String] FunType [VarDecl] [Stmt] +:: FunDecl = FunDecl String [String] (Maybe FunType) [VarDecl] [Stmt] :: FunType = FunType [Type] (Maybe Type) :: FunCall = FunCall String [Expr] :: Stmt