diff options
Diffstat (limited to 'paper/While/WhileLexer.dcl')
-rw-r--r-- | paper/While/WhileLexer.dcl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/paper/While/WhileLexer.dcl b/paper/While/WhileLexer.dcl new file mode 100644 index 0000000..d4cdc22 --- /dev/null +++ b/paper/While/WhileLexer.dcl @@ -0,0 +1,26 @@ +definition module WhileLexer + +from StdOverloaded import class == +from GenEq import generic gEq +import WhileCommon + +:: Token = SkipToken + | IfToken | ThenToken | ElseToken + | WhileToken | DoToken + | CompToken + | AssToken + + | EqToken | NeToken | LtToken | LeToken | GtToken | GeToken + | OrToken | AndToken | NotToken + | AddToken | SubToken | MulToken | DivToken + + | VarToken Var + | LiteralToken Int + | BoolToken Bool + + | ParenOpen | ParenClose + +derive gEq Token +instance == Token + +lex :: [Char] -> Either Error [Token] |