implementation module lex
import Control.Monad, Control.Applicative
-import Data.Either, Data.Func
+import Data.Either, Data.Func, Data.Void
from StdFunc import o
import StdBool
import StdList
import StdChar
import StdString
+import StdTuple
import yard
-from AST import :: Pos(..)
+import AST
:: LexItem
= LexToken Int TokenValue
| LexItemError String
lexer :: [Char] -> LexerOutput
-lexer r = case runParser (lexProgram 1 1) r of
- (Right p, _) = Right p
- (Left e, _) = Left e
+lexer r = fst $ runParser (lexProgram 1 1) r
lexProgram :: Int Int -> Parser Char [Token]
lexProgram line column = lexToken >>= \t->case t of