import Data.Functor
import Data.Func
import Data.List
-import Data.Tuple
+import Text.GenPrint
import StdEnv
import ast
:: Token = TTEq | TTSemiColon | TTLambda | TTDot | TTBrackOpen | TTBrackClose | TTBool Bool | TTInt Int | TTOp [Char] | TTIdent [Char]
derive gEq Token
+instance toString Token where toString t = printToString t
+derive gPrint Token
lex :: [Char] -> Either [String] [Token]
lex [] = pure []
lex [';':ts] = TTSemiColon <:> lex ts
pFunction :: Parser ([Char], [[Char]], [Token])
pFunction
- = tuple3
+ = (\x y z->(x, y, z))
<$> (pFunId <|> pId)
<*> many pId
<* pToken TTEq