13.1 bison 简介

bison 是一个语法分析器的生成器,网址为:

bison 和 flex 配合使用,它可以将用户提供的语法规则转化成一个语法分析器。简单来说,我们在上一章中,从语法的 4 个产生式开始,通过一系列的复杂的构造流程,最终得到了一个动作表,然后又利用这个动作表去解析句子。 bison 就是干这个事情的,它读取用户提供的语法的产生式,生成一个 C 语言格式的 LALR(1) 动作表,并将其包含进一个名为 yyparse 的 C 函数,这个函数的作用就是利用这个动作表来解析 token stream ,而这个 token stream 是由 flex 生成的词法分析器扫描源程序得到。