有谁知道可以解析C代码的最广泛使用的解析算法最弱的家族是什么?也就是说,是C语法LL(1),LR(0),LALR(1)等?我很好奇,因为作为一个副项目,我有兴趣为其中一个系列编写解析器生成器,并希望最终能够为另一个项目解析C代码。
答案 0 :(得分:2)
似乎是Bison uses an LALR(1)解析器。 LALR解析器比LL解析器更强大,但也更复杂。由此我怀疑LALR(1)可能是解析C代码的最弱的解析算法。
除非你真的开始推出自己的识别器。 ANTLR可能是你做这件事的最佳选择。 ANTLR使用LL *算法(实际上是LALR)。