X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=parse.dcl;h=ad7edea3ad3fc20ce9645f38767015333544cfe5;hb=b8aaa94f98ffb9bb18d6b1f2ba91ee81f0fdc0b9;hp=a3640fa954d3dd754c87634b5b2a9b90457c0a86;hpb=87fe087ef7e1ad9deff8a725faf1ebbefcb7e549;p=cc1516.git diff --git a/parse.dcl b/parse.dcl index a3640fa..ad7edea 100644 --- a/parse.dcl +++ b/parse.dcl @@ -1,9 +1,12 @@ 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 -:: Error = ParseException +from lex import :: LexerOutput, :: Error, :: Token, :: TokenValue, :: Pos +from AST import :: AST -parse :: LexerOutput -> ParserOutput +:: ParserOutput :== Either Error AST + +parser :: [Token] -> ParserOutput