parsing lambdas
[cc1516.git] / lex.dcl
diff --git a/lex.dcl b/lex.dcl
index a6cf7c6..f524047 100644 (file)
--- a/lex.dcl
+++ b/lex.dcl
@@ -2,7 +2,6 @@ definition module lex
 
 from Data.Either import :: Either
 from yard import :: Error
-
 from AST import :: Pos
 
 :: Token :== (Pos, TokenValue)
@@ -11,6 +10,7 @@ from AST import :: Pos
        = IdentToken String // Identifier
        | NumberToken Int   // Integer
        | CharToken Char    // Character literal
+       | StringToken [Char]// String literal
        //Keyword tokens
        | VarToken          // var keyword
        | ReturnToken       // return keyword
@@ -23,6 +23,7 @@ from AST import :: Pos
        | IntTypeToken      // Int keyword
        | CharTypeToken     // Char keyword
        | BoolTypeToken     // Bool keyword
+    | LetToken          // Let keyword
        //Two character tokens
        | DoubleColonToken  // ::
        | NotEqualToken     // !=
@@ -53,8 +54,7 @@ from AST import :: Pos
        | LesserToken       // <
        | BiggerToken       // >
        | ExclamationToken  // !
-       //Special tokens
-       | EndOfFileToken    // EOF
+    | BackslashToken    // \
 
 :: LexerOutput :== Either Error [Token]