如何从grako / TatSu获取简明的语法错误消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从grako / TatSu获取简明的语法错误消息相关的知识,希望对你有一定的参考价值。
如果对grako / tatsu生成的解析器的输入有语法错误,例如3 + / 3
到calc.py示例,除了相关的
3 + / 3
^
之外,我还可以使用try
- except
构造获得一长串的Python调用序列,但之后我丢失错误消息的相关部分。
我想使用grako / tatsu来解析规则编译器的语法规则,我很欣赏以清晰的方式分离语法和语义的可能性。用户会对过多的错误消息感到非常恼火。有没有办法清理错误信息?
答案
这应该与任何Python程序中的相同。如果让异常转义为main()
,则将打印堆栈跟踪。相反,你可以写:
try:
do_parse()
except Exception as e:
print(str(e))
以上是关于如何从grako / TatSu获取简明的语法错误消息的主要内容,如果未能解决你的问题,请参考以下文章