什么是最简单的解析C代码的解析算法?

tem*_*def 10 c parsing

有谁知道可以解析C代码的最广泛使用的解析算法最弱的家族是什么?也就是说,是C语法LL(1),LR(0),LALR(1)等?我很好奇,因为作为一个副项目,我有兴趣为其中一个系列编写解析器生成器,并希望最终能够为另一个项目解析C代码.

Dav*_*ser 2

Bison似乎使用了 LALR(1)解析器。LALR 解析器比 LL 解析器更健壮,但也更复杂。由此我怀疑 LALR(1) 可能是可以解析 C 代码的最弱的解析算法。

除非你真的决定推出自己的识别器。ANTLR可能是你最好的选择。ANTLR 使用 LL* 算法(实际上就是 LALR)。