用python编写的友好而强大的lr解析器
PlyPlus的Python项目详细描述
plyplus是构建在ply(http://www.dabeaz.com/ply/)之上的通用解析器,用python编写,解析方法略有不同。
大多数解析器通过为它们标识的每个规则调用一个函数来工作,该函数处理数据并返回给解析器。plyplus将整个文件解析为一个解析树,允许您使用访问者和模式匹配来搜索和处理它。
plyplus做了两个不常见的分隔:代码与语法的分隔,以及处理与解析的分隔。这种方法的结果(希望)是一个更干净的设计、更强大的语法处理和一个更易于编写和理解的解析器。
功能:
- 自动生成ast。可在语法中自定义(自动展开和展平节点)
- 选择器:在ast上运行强大的查询
- 模仿正则表达式的规则运算符(支持:括号、“”、“*”、“?'和'+')
- 嵌套语法(语法中的语法)。对html/css很有用,例如)
- 自动行计数
- from ply:可读错误,调试模式
- 还有更多!…