python - 在 Python 中解析上下文无关文法

标签 python regex context-free-grammar

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

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

最佳答案

强烈推荐PLY - 它是 Python 中的 Lex/Yacc 克隆,以复杂的方式使用该语言的内省(introspection)功能以允许非常自然的语法规范。如果您还记得的话,Yacc 是 CFG 在一种可理解的 DSL 中的体现,它定义了如何解析它们。

我用它来实现我的 parser for ANSI C与 PLY 的交互几乎毫不费力。

关于python - 在 Python 中解析上下文无关文法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2979703/

相关文章:

python - 有没有办法改变 Python igraph 中的边缘不透明度?

Python @property 设计

java - Java 中的正则表达式 - 提取某些符号之间的字符串

algorithm - 这是一个有歧义的语法吗?我该如何解决?

c - Yacc 上下文无关语法

ruby - Ruby 1.9 正则表达式是否与上下文无关语法同样强大?

python - Django : How to override the CSRF_FAILURE_TEMPLATE

python - 当大小超过 1 MB 时按顺序创建新文件

regex - 缺少后视的解决方法?

java - catch22 : java pattern matcher regex, 在 '(' 字符处停止