BISON(1) | ユーザーコマンド | BISON(1) |
名前¶
bison - GNU プロジェクトのパーサージェネレーター (yacc 互換)
書式¶
bison [OPTION]... FILE
説明¶
Bison は yacc(1) 風のパーサージェネレーターです。 yacc 用に生成された入力ファイルと、 上位互換性を有しています。
入力ファイル名は yacc の慣例に従って .y で終わるものとします。 yacc とは違って、 生成されるファイルの名前は固定されず、 入力ファイル名を先頭につけたものとなります。 さらに入力ファイル内に C++ コードを加える必要がある場合、 そのファイル名には C++ 流の拡張子 (.ypp や .y++) をつけます。 こうしておくと bison は、 その拡張子に従って出力ファイル名を定めます (.cpp や .c++)。 たとえば文法を記述するファイルが parse.yxx であるとすると、 生成されるパーサー用のファイルは parse.tab.cxx となります。 これが yacc であれば y.tab.c であり、 古いバージョンの Bison では parse.tab.c となります。
bison に対して与えられるここでのオプション説明は、 bison.texi マニュアルにおけるノード Invocation から抜粋されたものであり、 そのマニュアルが正となります。
Bison は従来からの単一英字によるオプションと、 長い名前のオプションの両方をサポートします。 長いオプション名は - ではなく -- をつけます。 オプション名は、 それが唯一のものと特定できるのであれば、 短く省略して指定することができます。 --file-prefix などのように長いオプションが引数を取る場合、 オプション名と引数値の間には = を記述します。
LALR(1), IELR(1), あるいは正規 LR(1) パーサーテーブルを用いて、 決定的 LR (deterministic LR) パーサー、 または一般化 LR (generated LR; GLR) パーサーを生成します。
長いオプションに必須の引数は短いオプションにも必須です. オプションの引数についても同様です。
操作モード¶
- -h, --help
- ヘルプを表示して終了します。
- -V, --version
- バージョン情報を表示して終了します。
- --print-localedir
- ローケル依存データがあるディレクトリを表示して終了します。
- --print-datadir
- スケルトンと XSLT があるディレクトリを表示して終了します。
- -u, --update
- ソース文法ファイルに修正を適用して終了します。
- -f, --feature[=FEATURES]
- さまざまな機能を有効にします。
FEATURES は、 以下の単語をカンマ (,) で区切ったリストです。¶
- caret, diagnostics-show-caret
- ^ をつけてエラーを表示します。
- fixit, diagnostics-parseable-fixits
- マシン読み込み用の修正を表示します。
- syntax-only
- ファイル生成を行いません。
- all
- 上記すべてを有効にします。
- none
- 上記すべてを無効にします。
診断¶
- -W, --warnings[=CATEGORY]
- CATEGORY に属する警告を表示します。
- --color[=WHEN]
- 診断結果への色のつけ方を指示します。
- --style=FILE
- 診断結果に色をつける CSS ファイル FILE を指定します。
警告カテゴリには以下があります。¶
- conflicts-sr
- S/R 競合 (デフォルトで有効)。
- conflicts-rr
- R/R 競合 (デフォルトで有効)。
- counterexamples, cex
- 競合の反例を生成します。
- dangling-alias
- 文字列エイリアスとシンボルが対応していません。
- deprecated
- かつての構造。
- empty-rule
- %empty がない空の規則。
- midrule-values
- midrule 値が設定されていない、 または使われていません。
- precedence
- 意味のない precedence と associativity。
- yacc
- POSIX Yacc と非互換。
- other
- その他の警告すべて (デフォルトで有効)。
- all
- 'counterexamples' と 'dangling-alias' と 'yacc' 以外の警告すべて。
- no-CATEGORY
- CATEGORY の警告をオフにします。
- none
- すべての警告をオフにします。
- error[=CATEGORY]
- 警告をエラー扱いにします。
WHEN は、 以下のいずれかです。¶
- always, yes
- 出力に色をつけます。
- never, no
- 出力に色をつけません。
- auto, tty
- 出力デバイスが tty の時だけ色をつけます。
パーサーの調整¶
- -L, --language=LANGUAGE
- 出力するプログラミング言語を指定します。
- -S, --skeleton=FILE
- 利用するスケルトンを指定します。
- -t, --debug
- パーサーをトレースモードにします。 '-Dparse.trace' と同じです。
- --locations
- 計算結果位置サポートを有効にします。
- -D, --define=NAME[=VALUE]
- '%define NAME VALUE' と同様です。
- -F, --force-define=NAME[=VALUE]
- '%define NAME VALUE' を上書きします。
- -p, --name-prefix=PREFIX
- '-Dapi.prefix={PREFIX}' によって古くなった外部シンボルに PREFIX をつけます。
- -l, --no-lines
- '#line' ディレクティブを生成しません。
- -k, --token-table
- トークン名のテーブルを含めます。
- -y, --yacc
- POSIX の Yacc をエミュレートします。
出力ファイル¶
- -H, --header=[FILE]
- ヘッダーファイルも生成します。
- -d
- 同様ですが FILE の指定はできません (POSIX Yacc の場合)。
- -r, --report=THINGS
- オートマトン上に詳細の生成も行います。
- --report-file=FILE
- レポートを FILE に書き出します。
- -v, --verbose
- '--report=state' と同様です。
- -b, --file-prefix=PREFIX
- 出力ファイルのプレフィックスを指定します。
- -o, --output=FILE
- 出力結果を FILE に保存します。
- -g, --graph[=FILE]
- オートマトングラフも出力します。
- --html[=FILE]
- オートマトンの HTML 報告も出力します。
- -x, --xml[=FILE]
- オートマトンの XML 報告も出力します。
- -M, --file-prefix-map=OLD=NEW ファイルパスの出力の際に、 出力ファイルのプリフィックス OLD を
- NEW に置き換えます。
THINGS は、 以下の単語をカンマ (,) で区切ったリストです。¶
- states
- 状態を説明します。
- itemsets
- クロージャーを呼び出してコアアイテムセットを完成させます。
- lookaheads
- lookahead トークンを明示的にアイテムに結合します。
- solved
- 解決しているシフト/還元について説明します。
- counterexamples, cex
- 競合の反例を生成します。
- all
- 上記の情報をすべて含みます。
- none
- 報告を無効にします。
著者¶
Robert Corbett と Richard Stallman によって書かれました
バグ報告¶
バグを発見したら
<bug-bison@gnu.org>
まで報告して下さい。
GNU Bison ホームページ:
<https://www.gnu.org/software/bison/>.
GNU
ソフトウェアの全般的なヘルプ:
<https://www.gnu.org/gethelp/>.
完全なドキュメントを見るには
info bison
を実行してください。
著作権¶
Copyright © 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
関連項目¶
bison の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされています。 info と bison の両プログラムが適切にインストールされていれば、 以下のコマンド
- info bison
を実行して完全なマニュアルを参照できます。
2021/09 | GNU Bison 3.8.2 |