【发布时间】:2012-05-30 13:24:09
【问题描述】:
我目前正在为一种简单的编程语言编写解析器。它到了那里但是我无法解析布尔逻辑语句,例如“i == 0 AND j == 0”。我得到的只是“以防万一”
当我自己解析一个布尔表达式时,它可以正常工作,例如“我 == 0”。注意“i == 0 a”也将返回一个布尔语句,但“i == 0 AND”不返回任何内容。
有人可以帮忙吗?
虽然上面的输入可以正常工作,例如运行 parseBoolean "i == 0"
【问题讨论】:
-
请不要链接到外部代码。也请不要在这里转储所有代码。缩小问题范围,然后写一个具体的问题以及相关代码、预期输出和实际输出。
-
嗯...你检查过相关的案例陈述吗?
-
您是否尝试过添加默认情况?
-
程序的哪一行给出了错误信息?
-
考虑使用Text.Parsec.Expr。它比从头开始编写表达式解析器更不容易出错。