3A.4 语法分析工具

上文中讨论了如何对文法进行语法分析,并详细讨论了如何构造 LL 及 LR 文法的语法分析表(即上文中提到的预测表),但这只是为了深入理解语法分析的原理,在实践中的大多数情况下,我们都会直接使用语法分析器生成工具来直接生成语法分析器。因为在上述分析中我们可以发现一个事实:语法分析的总体流程是固定的,不同的仅仅是不同文法的语法分析表。而语法分析表的生成算法也是确定的,所以只要能够将文法的表示结构化,就可以将其作为输入,通过语法分析器生成工具直接生成一个语法分析器出来。Yacc(Yet Another Compiler-Compiler) 就是这样的一个工具。

最后更新于