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.

関連項目
lex(1), flex(1), yacc(1).

bison の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされています。 info と bison の両プログラムが適切にインストールされていれば、 以下のコマンド

    info bison

を実行して完全なマニュアルを参照できます。