lexing and printing is working
[cc1516.git] / lex.dcl
diff --git a/lex.dcl b/lex.dcl
index f256af5..46a3ab8 100644 (file)
--- a/lex.dcl
+++ b/lex.dcl
@@ -4,8 +4,8 @@ import Data.Either
 
 :: Token
        //Value tokens
-       = IdentToken String // Identifier
-       | NumberToken Int   // Integer
+       = IdentToken [Char] // Identifier
+       | NumberToken [Char]// Integer
        | CharToken Char    // Character literal
        //Keyword tokens
        | VarToken          // var keyword
@@ -43,7 +43,9 @@ import Data.Either
        | EqualsToken       // ==
        | AmpersandsToken   // &&
        | PipesToken        // ||
+    | ArrowToken        // ->
+       | EndOfFileToken    // EOF
 
-:: LexerOutput a :== Either String a
+:: LexerOutput :== Either String [Token]
 
-lexer :: [Char] -> LexerOutput [Token]
+lexer :: [Char] -> LexerOutput