[表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
このマニュアルは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
を呼び出す方法yyparse
がyylex
を呼ぶ方法.4.2.2 トークンの意味値 yylex
がどのように読み込んだトークンの
テキストの位置(行数など)を返さなければならない
4.2.3 トークンのテキスト中の位置 アクションが望むときに、どのように yylex
が
か。
違うか (@pxref{Pure Decl, ,A Pure (Reentrant) Parser}).
4.2.4 再入可能構文解析器を呼び出す方法
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のコマンド構文.