在Python中解析无上下文语法

Yuv*_*dam 9 python regex context-free-grammar

Python中有哪些工具可以帮助解析无上下文语法?

当然可以自己滚动,但我正在寻找一个可以为给定的CFG生成解析器的通用工具.

Eli*_*sky 9

我热烈推荐PLY - 它是Python中的Lex/Yacc克隆,它以复杂的方式使用语言的内省工具,以允许非常自然的语法规范.如果你还记得,Yacc是可理解的DSL中CFG的一个体现,它定义了如何解析它们.

我用它来实现ANSI C的解析器,与PLY的交互几乎毫不费力.