我一直在搜索互联网几天,试图回答我的问题,我终于承认失败了.
我得到了一个语法:
Dig ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Int ::= Dig | Dig Int
Var ::= a | b | ... z | A | B | C | ... | Z
Expr ::= Int | - Expr | + Expr Expr | * Expr Expr | Var | let Var = Expr in Expr
我被告知要使用这种语法解析,评估和打印表达式
,其中运算符* + -具有正常含义
.具体任务是编写函数parse :: String …