definition module lex
from Data.Either import :: Either
+from yard import :: Error
-:: Token :== (Int, Int, TokenValue)
+:: Token = {
+ line :: Int,
+ column :: Int,
+ token :: TokenValue}
:: TokenValue
//Value tokens
= IdentToken String // Identifier
//Special tokens
| EndOfFileToken // EOF
-:: LexerOutput :== Either String [Token]
+:: LexerOutput :== Either Error [Token]
lexer :: [Char] -> LexerOutput