1.6 Bisonを使う手順
Bisonを使って、文法の定義から実際に動くコンパイラやインタープリタを作るまでの、
言語設計手順は、次のようになります。
- Bisonが認識できる形式で、文法を形式的に指定します
(see Bison Grammar Files)。
言語の各文法規則に対して、
その規則のインスタンスが認識されたときに実行される
アクションを記述します。
アクションは、C言語の文の並びで書きます。
- 入力を処理し、トークンを構文解析器に渡すために、字句解析器を書きます。
字句解析器は、Cで手作業で書いてもかまいません
(see The Lexical Analyzer Function
yylex
)。
Lexを使って生成することも可能ですが、本書ではLexの使い方については解説
していません。
- Bisonが生成した構文解析器を呼び出す、制御関数を書きます。
- エラー報告関数を書きます。
このソースプログラムを実行可能なプログラムにするために、
次の手順が必要です。
- 構文解析器を生成するために、Bisonを実行します。
- Bisonが生成したソースプログラムとその他のソースプログラムを、
コンパイルします。
- オブジェクトファイルをリンクして、最終的なプログラムを得ます。