有谁知道可以解析C代码的最广泛使用的解析算法最弱的家族是什么?也就是说,是C语法LL(1),LR(0),LALR(1)等?我很好奇,因为作为一个副项目,我有兴趣为其中一个系列编写解析器生成器,并希望最终能够为另一个项目解析C代码.
Bison似乎使用了 LALR(1)解析器。LALR 解析器比 LL 解析器更健壮,但也更复杂。由此我怀疑 LALR(1) 可能是可以解析 C 代码的最弱的解析算法。
除非你真的决定推出自己的识别器。ANTLR可能是你最好的选择。ANTLR 使用 LL* 算法(实际上就是 LALR)。
| 归档时间: |
|
| 查看次数: |
1731 次 |
| 最近记录: |