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]
- さまざまな機能を有効にします。
- 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]
- 警告をエラー扱いにします。
- 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
に置き換えます。
- states
- 状態を説明します。
- itemsets
- クロージャーを呼び出してコアアイテムセットを完成させます。
- lookaheads
- lookahead
トークンを明示的にアイテムに結合します。
- solved
- 解決しているシフト/還元について説明します。
- counterexamples, cex
- 競合の反例を生成します。
- all
- 上記の情報をすべて含みます。
- none
- 報告を無効にします。
Robert Corbett と Richard Stallman
によって書かれました
バグを発見したら
<
[email protected]>
まで報告して下さい。
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.
lex(1),
flex(1),
yacc(1).
bison
の完全なドキュメントは
Texinfo
マニュアルとしてメンテナンスされています。
info と
bison
の両プログラムが適切にインストールされていれば、
以下のコマンド
- info bison
を実行して完全なマニュアルを参照できます。