问题描述
您好,我正在研究lexer接受输入字符串并返回令牌列表或错误的问题。如果有人知道如何解决问题,请提供帮助。谢谢:)
lexer :: String -> Either Error [Token]
我不使用任何一种都无法工作,但是无法使用Haskell的任何一种功能。我想让左边给出一个错误,而右边则想生成带有多个条件匹配的令牌列表。
这是无效的代码:
lexar (x:xs)
| isSpace x = Main.lexar xs
| isDigit x = Right (Literal (show x): Main.lexar xs)
| x == '+' = Right (Plus : Main.lexar xs)
| x == '-' = Right (Minus : Main.lexar xs)
| x == '*' = Right (Mult : Main.lexar xs)
| x == '/' = Right (Div : Main.lexar xs)
| x == '(' = Right (LeftP : Main.lexar xs)
| x == ')' = Right (RightP : Main.lexar xs)
| otherwise = Left (error "fail")
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)