优点:
使用简单
编程式API,所以可以一部分解析使用库实现,一部分手写,手写代码调用库的解析器
可根据接口定制词法分析器
可能没有实现语法改写优化
需要理解根据解析器的执行流程构造解析器,实际上就是库有局限的解析语法
所以生成的解析树不能与语法树对应,解析树需要一定改写才对应语法树
使用解析器库仍然需要使用测试保证正确,以及通过测试检查冲突,遇到冲突可能需要跳过一些token。。。
优点:
使用简单
编程式API,所以可以一部分解析使用库实现,一部分手写,手写代码调用库的解析器
可根据接口定制词法分析器
可能没有实现语法改写优化
需要理解根据解析器的执行流程构造解析器,实际上就是库有局限的解析语法
所以生成的解析树不能与语法树对应,解析树需要一定改写才对应语法树
使用解析器库仍然需要使用测试保证正确,以及通过测试检查冲突,遇到冲突可能需要跳过一些token。。。