次: Bison Parser, 前: Semantic Values, 上: Concepts
役に立つようにするためには、プログラムは、入力を解析するだけでなく、 入力に基づくなんらかの出力を生成する必要があります。 Bison文法の中では、文法規則は、 Cで書かれたアクション(action)を持てます。 そのルールへのマッチを構文解析器が認識するたびに、アクションが実行されます。 See Actions
多くの場合に、アクションの目的は、部品の意味値から全体の意味値を 計算することです。 たとえば、1つの式とは2つの式の和でありうると仮定します。 構文解析器が和を認識すると、 部分式それぞれは、それがどのように構成されたかを表す意味値を持っています。 アクションは、新しく認識された合成式について、 同様の意味値を構成するべきです。
以下に、1つの式が2つの部分式の和となる規則の例を示します。
expr: expr '+' expr { $$ = $1 + $3; } ;
このアクションは、2個の部分式の値から、 式の和の意味値を生成する方法を示しています。