X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=parse.dcl;h=f2713f7513038dd5dd3878142120b8b987e06790;hb=c5fb28639ae923d9b55f5832e45186911e610991;hp=c7d177ccd7c2aa31b6c7243f9c8f36d61137d08c;hpb=953019d8255b9779d67fb1cb6c8946f589a24936;p=cc1516.git diff --git a/parse.dcl b/parse.dcl index c7d177c..f2713f7 100644 --- a/parse.dcl +++ b/parse.dcl @@ -1,8 +1,13 @@ definition module parse -import lex +from Data.Either import :: Either +from Data.Maybe import :: Maybe +from StdString import class toString -:: ParserOutput :== Either String AST -:: AST = If | While //stub +from lex import :: LexerOutput, :: Error, :: Token, :: TokenValue, :: Pos +from AST import :: AST, :: Expr -parse :: LexerOutput -> ParserOutput +:: ParserOutput :== Either Error AST + +parser :: [Token] -> ParserOutput +makeStrExpr :: Pos [Char] -> Expr