基于函数组合的递归下降解析库
funcparserlib的Python项目详细描述
说明
解析器组合器只是以解析器为其 参数并将其作为结果值返回。分析器组合器是:
- 一等值
- 非常稳定
- 倾向于使代码非常紧凑
- 类似于XBNF语法的可读符号
使用funcparserlib生成的解析器是纯python ll(*)解析器。意思是 很容易写出来而不去考虑外表 核心解析的东西。但是递归下降解析是相当缓慢的 方法与ll(k)或lr(k)算法进行比较。
因此funcparserlib的主域是解析小语言或 外部DSL(特定于域的语言)。
图书馆本身很小。它的源代码只有0.5kloc,有很多 包括的评论。它还具有最长的解析前缀错误报告功能 作为一个用于标记位置跟踪的小型lexer生成器。
文档
请参阅github上的Documentation部分。
0.3.6的新增功能
维修放行单。
- python 3兼容性
- #31修复了many()在某些情况下消耗过多令牌的问题
- #14例外对象中提供了更多信息