许多网站都声称packrat解析器可以在线性时间内解析输入.
所以初看起来他们比由工具yacc或bison构建的LALR解析器更快.
我想知道当使用公共输入(如编程语言源文件)而不是任何理论输入进行测试时,packrat解析器的性能是否比LALR解析器的性能更好/更差.
有没有人可以解释这两种方法之间的主要区别.
谢谢!
我正在尝试lint为C/AL编程语言创建某种工具.所以基本上我需要对源代码执行语法和词法分析.我打算从头开始编写解析器,但后来发现有很多工具可以帮助自动生成这些解析器.
我需要性能,因为在一个部分中检查20兆字节的代码是正常情况,我需要该工具可以通过自定义规则进行扩展.所以我决定使用JavaScript.
哪一个给我更多的解析性能?也许不是比较库,而是算法?
哪一个更适合我的需求(解析通用编程语言)?
更新: 我发现了类似的问答: