X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;ds=sidebyside;f=lex.dcl;h=e78d495a938dfe2fe934934f3a2bc168333f4329;hb=f5231ebadae1ac54e25dbf5819debb3ab625826d;hp=d1daf7cf991b6b3a6ae7a022f4fad3fce51314eb;hpb=889d4798a0da64d76422da98378f5e5c35f0bf32;p=cc1516.git diff --git a/lex.dcl b/lex.dcl deleted file mode 100644 index d1daf7c..0000000 --- a/lex.dcl +++ /dev/null @@ -1,58 +0,0 @@ -definition module lex - -import Data.Either - -:: Token - //Value tokens - = IdentToken [Char] // Identifier - | NumberToken [Char]// Integer - | CharToken Char // Character literal - //Keyword tokens - | VarToken // var 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 // } - | SquareOpenToken // [ - | SquareCloseToken // ] - | CommaToken // , - | ColonToken // : - | SColonToken // ; - | DotToken // . - | PlusToken // + - | DashToken // - - | StarToken // * - | SlashToken // / - | PercentToken // % - | AssignmentToken // = - | LesserToken // < - | BiggerToken // > - | ExclamationToken // ! - //Special tokens - | EndOfFileToken // EOF - -:: LexerOutput :== Either String [Token] - -instance toString LexerOutput - -lexer :: [Char] -> LexerOutput