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ここに
残りのプログラム全部を書きます。