[表紙] [目次] [索引] [検索] [上端 / 下端] [?]

Bison 1.28

このマニュアルはBison 1.28の説明文書です。

まえがき   
Bisonの利用条件   
GNU GENERAL PUBLIC LICENSE    GNU一般使用公有許諾書はBisonを複製したり共有したり
                        する方法を示している

チュートリアル部分:
1. Bisonの概念   
2. 例    Bisonの利用を簡単に説明した3つの例.

参照部分:
3. Bison文法ファイル   
4. 構文解析器のC言語インターフェイス    解析器関数yyparseへのC言語のインターフェース.
5. Bison構文解析器のアルゴリズム   
6. エラーからの回復   
7. 文脈依存性の処理    言語構文がBisonが率直に扱うには複雑すぎるときに
                        何をすべきか.
8. 構文解析器のデバッグ    間違った解析をするBison解析器のデバッグをする.
9. Bisonの実行   
                      する方法.
A. Bisonの記号一覧   
B. 用語集   
索引   

 -- The Detailed Node Listing ---

Bisonの概念

1.1 言語と文脈自由文法   
1.2 形式規則からBisonの入力へ   
1.3 意味値   
                        (整数の値、識別子の名前、など。)
                         を取ることができる.
1.4 意味アクション    それぞれの規則はCコードを含んだアクションを持つこ
                        とができる.
1.5 Bisonの出力――構文解析器ファイル   
                       か。
1.6 Bisonを使う手順   
1.7 Bison文法の全体像   



2.1 逆ポーランド記法電卓   
                        演算子の優先順位が無い、最初の例.
2.2 中間記法電卓:calc    中間(代数)記法電卓.
                        演算子の優先順位が導入された.
2.3 単純なエラー回復   
2.4 多機能電卓:mfcalc    メモリと三角関数付きの電卓.
                           意味値に複数のデータ型を使用する.
2.5 練習問題   

逆ポーランド記法電卓

2.1.1 rpcalcのための宣言    rpcalcのためのBisonとCの宣言.
2.1.2 rpcalcのための文法規則    rpcalcのための文法規則。説明付き.
2.1.3 rpcalc字句解析器    字句解析器.
2.1.4 制御関数   
2.1.5 エラー報告関数   
2.1.6 構文解析器を生成するためにBisonを実行   
2.1.7 構文解析器ファイルのコンパイル    出力コードにCコンパイラを実行する.

rpcalcのための文法規則

2.1.2.1 inputの説明   
2.1.2.2 lineの説明   
2.1.2.3 exprの説明   

多機能電卓:mfcalc

2.4.1 mfcalcのための定義    多機能電卓のためのBisonの宣言.
2.4.2 mfcalcのための文法規則    電卓のための文法規則.
2.4.3 mfcalcの記号表    記号表を管理するサブルーチン.

Bison文法ファイル

3.1 Bison文法の概要    文法ファイルの概略.
3.2 記号、終端と非終端   
3.3 文法規則の構文   
3.4 再帰的規則   
3.5 言語の意味の定義   
3.6 Bison宣言   
3.7 同一プログラム中の複数の構文解析器    一つのプログラムに一つより多くのBison構文解析器を
                        入れる.

Bison文法の概要

3.1.1 C宣言部   
3.1.2 Bison宣言部   
3.1.3 文法規則部   
3.1.4 追加のCプログラム部   

言語の意味の定義

3.5.1 データ型と意味値   
3.5.2 複数の値型   
3.5.3 アクション   
3.5.4 アクション中の値のデータ型   
3.5.5 規則の途中のアクション   
                      これは規則の最中で、いつ、なぜ、どのように
                        例外アクションを使用するかを指示する.

Bison宣言

3.6.1 トークン型名   
3.6.2 演算子の優先順位   
3.6.3 値型の集合   
3.6.4 非終端記号   
3.6.5 衝突警告の回避   
3.6.6 開始記号   
3.6.7 純粋(再入可能)構文解析器   
3.6.8 Bison宣言の要約   

構文解析器のC言語インターフェイス

4.1 構文解析器関数yyparse   
4.2 字句解析器関数yylex   
                        ならない.
4.3 エラー報告関数yyerror   
4.4 アクション中で使える特別な機能   

字句解析器関数yylex

4.2.1 yylexを呼び出す方法    yyparseyylexを呼ぶ方法.
4.2.2 トークンの意味値    yylexがどのように読み込んだトークンの
                        意味値を返さなければならないか.
4.2.3 トークンのテキスト中の位置    アクションが望むときに、どのようにyylex
                        テキストの位置(行数など)を返さなければならない
                        か。
4.2.4 再入可能構文解析器を呼び出す方法   
                        違うか (@pxref{Pure Decl, ,A Pure (Reentrant) Parser}).

Bison構文解析器のアルゴリズム

5.1 先読みトークン   
                        ンを見る.
5.2 シフト還元衝突   
5.3 演算子の優先順位   
5.4 文脈依存優先順位   
5.5 構文解析器の状態   
5.6 還元/還元衝突    同じ状況に2つの規則が適用可能なとき.
5.7 不可解な還元/還元衝突   
5.8 スタックオーバーフローと防ぎ方   
                        避ける方法.

演算子の優先順位

5.3.1 優先順位が必要な場合   
5.3.2 演算子の優先順位の指定    Bison文法で優先順位を指定する方法.
5.3.3 優先順位の例   
5.3.4 優先順位が働く仕組み   

文脈依存性の処理

7.1 トークン型の意味情報   
7.2 字句解析結び付き   
7.3 字句解析結び付きとエラー回復   

Bisonの実行

9.1 Bisonのオプション    全てのオプションが詳しく、短いオプションでアルファ
                        ベット順に説明されている.
9.2 オプション対応表   
9.3 VMS上での実行    VMSでのBisonのコマンド構文.