Previous: Stages, Up: Concepts


1.7 Bison文法の全体像

Bisonユーティリティへの入力は、 Bison文法ファイル(Bison grammar file)です。 Bison文法ファイルの一般的な書式は、次のとおりです。

     %{
     C宣言部(C declarations)
     %}
     
     Bison宣言部(Bison declarations)
     
     %%
     文法規則部(Grammar rules)
     %%
     追加のCプログラム部(Additional C code)

Bison文法ファイル中の‘%%’、‘%{’、‘%}’は、 ファイルを節に分ける区切り記号です。

C宣言部では、 アクションの中で使われる型と変数を定義できます。 マクロを定義するためのプリプロセッサディレクティブや、 ヘッダファイルをインクルードするための#include命令も使用できます。

Bison宣言部には、終端記号、非終端記号、さらに、 演算子の優先順位、さまざまな記号の意味値のデータ型を記述できます。

文法規則部では、各非終端記号をその部品から組み立てる方法を 定義します。

追加のCプログラム部には、 あなたが望むCプログラムを記述できます。 よく字句解析関数yylexや 文法規則の中のアクションから呼ばれる関数をここに書きます。 単純なプログラムでは、1ここに 残りのプログラム全部を書きます。


脚注

[1] 【訳注】他のファイルに書くのではなく