lexer with line numbers
[cc1516.git] / lex.dcl
diff --git a/lex.dcl b/lex.dcl
index d6c421c..e141b94 100644 (file)
--- a/lex.dcl
+++ b/lex.dcl
@@ -2,7 +2,8 @@ definition module lex
 
 import Data.Either
 
-:: Token
+:: Token :== (Int, TokenValue)
+:: TokenValue
        //Value tokens
        = IdentToken [Char] // Identifier
        | NumberToken [Char]// Integer
@@ -21,6 +22,7 @@ import Data.Either
        | BoolTypeToken     // Bool keyword
        //Two character tokens
        | DoubleColonToken  // ::
+       | NotEqualToken     // !=
        | LesserEqToken     // <=
        | GreaterEqToken    // >=
        | EqualsToken       // ==
@@ -52,6 +54,4 @@ import Data.Either
 
 :: LexerOutput :== Either String [Token]
 
-instance toString LexerOutput
-
 lexer :: [Char] -> LexerOutput