X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=lex.dcl;h=7e41bc3c28b85693819e2c833d9470a8c2808047;hb=1ee1a90bd336cd6c44ab4b51dd7f4946447ce8a8;hp=46a3ab817beb372ea231fe0cf9696faa14ef348a;hpb=8de73bb36ae068011c2c1b1fc9b3c9091a897997;p=cc1516.git diff --git a/lex.dcl b/lex.dcl index 46a3ab8..7e41bc3 100644 --- a/lex.dcl +++ b/lex.dcl @@ -9,18 +9,30 @@ import Data.Either | CharToken Char // Character literal //Keyword tokens | VarToken // var keyword - | VoidToken // void keyword | ReturnToken // return keyword | IfToken // if keyword | ElseToken // else keyword | WhileToken // while keyword | TrueToken // True keyword | FalseToken // False keyword + | VoidToken // Void keyword + | IntTypeToken // Int keyword + | CharTypeToken // Char keyword + | BoolTypeToken // Bool keyword + //Two character tokens + | DoubleColonToken // :: + | NotEqualToken // != + | LesserEqToken // <= + | GreaterEqToken // >= + | EqualsToken // == + | AmpersandsToken // && + | PipesToken // || + | ArrowToken // -> //One character tokens | BraceOpenToken // ( | BraceCloseToken // ) | CBraceOpenToken // { - | CBraceCloseToken // { + | CBraceCloseToken // } | SquareOpenToken // [ | SquareCloseToken // ] | CommaToken // , @@ -36,14 +48,7 @@ import Data.Either | LesserToken // < | BiggerToken // > | ExclamationToken // ! - //Two character tokens - | DoubleColonToken // :: - | LesserEqToken // <= - | GreaterEqToken // >= - | EqualsToken // == - | AmpersandsToken // && - | PipesToken // || - | ArrowToken // -> + //Special tokens | EndOfFileToken // EOF :: LexerOutput :== Either String [Token]