1

如果 grako/tatsu 生成的解析器的输入有语法错误,例如calc.py 示例,除了 我可以使用3 + / 3的相关内容之外,还会获得一长串 Python 调用序列 -构造,但随后我丢失了相关部分的错误信息。 3 + / 3 ^ tryexcept

我想使用 grako/tatsu 来解析规则编译器的语法规则,我很欣赏以干净的方式分离语法和语义的可能性。用户会对过多的错误消息感到非常恼火。有没有办法清除错误消息?

4

1 回答 1

2

这应该与任何 Python 程序中的相同。如果您让异常逸出main(),则将打印堆栈跟踪。相反,您可以编写:

try:
   do_parse()
except Exception as e:
  print(str(e))
于 2018-03-03T15:13:45.260 回答