BISON

Section: ユーザーコマンド (1)
Updated: 2021/09
Index JM Home Page roff page
 

名前

bison - GNU プロジェクトのパーサージェネレーター (yacc 互換)  

書式

bison [,OPTION/]... ,FILE/  

説明

Bisonyacc(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 マニュアルとしてメンテナンスされています。 infobison の両プログラムが適切にインストールされていれば、 以下のコマンド

info bison

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


 

Index

名前
書式
説明
操作モード
FEATURES は、 以下の単語をカンマ (,) で区切ったリストです。
診断
警告カテゴリには以下があります。
WHEN は、 以下のいずれかです。
パーサーの調整
出力ファイル
THINGS は、 以下の単語をカンマ (,) で区切ったリストです。
著者
バグ報告
著作権
関連項目

This document was created by man2html, using the manual pages.
Time: 03:33:21 GMT, November 24, 2022