[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
通常、Bisonは次のように実行します。
bison infile |
ここで、infileは文法ファイルで、名前が通常`.y'で終わります。 生成される構文解析器ファイルは、文法ファイルの名前の`.y'を `.tab.c'に変えたものです。 したがって、`bison foo.y'によって`foo.tab.c'を得られますし、 `bison hack/foo.y'によって`hack/foo.tab.c'を得られます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
Bisonは、伝統的な1文字のオプションと、記憶しやすい長いオプション名の 両方を受け付けます。長いオプション名は、`-'の代わりに、 `--'で指定します。 一意性を失わない範囲で、長いオプション名を省略できます。 長いオプションが引数をともなう場合、たとえば、`--file-prefix'では、 オプション名と引数の間に`='を入れます。
Bisonに対して指定可能なオプションの一覧を、アルファベット順に示します。 さらに、長い名前のアルファベット順の対応を示します。
YYSTYPE
、いくつかのextern
変数宣言を含む、 追加の出力ファイルを生成します。
生成される構文解析ファイルの名前が`name.c'ならば、 このファイルの名前は`name.h'になります。
yylex
関数を独立なソースファイルの中で定義しているならば、 それはトークン型番号と変数yylval
を必要とするので、 このファイルを#include
する必要があります See 節 Semantic Values of Tokens。
#line
プリプロセッサディレクティブを生成しません。 通常、Bisonはこれを生成し、Cコンパイラとデバッガが、 文法ファイルのどこでエラーが発生したかを見つけるために使います。 このオプションは、エラーと構文解析器の行番号を結び付け、 構文解析器を独立なソースファイルとして扱います。
#define
ディレクティブと 静的変数の宣言のみからなります。
このオプションにより、`filename.act'という名前のファイルに、 文法アクションに対するC言語のプログラムが書かれます。 その書式は、switch
文に対応するブレースで囲まれたブロックです。
他の出力ファイルのファイル名の指定は `-v'と`-d'オプションの項を参照してください。
yyparse
、yylex
、yyerror
、yynerrs
、 yylval
、yychar
、yydebug
です。
たとえば、`-p c'オプションを指定すれば、 名前はcparse
、clex
などになります。
%raw
が指定されたように振る舞います。 See 節 3.6.8 Bison宣言の要約。
YYDEBUG
の定義を構文解析器ファイルに入れます See 節 Debugging Your Parser。
このファイルは、演算子の優先順位によって解決したものも解決しなかった ものも含めて、衝突についての説明を含んでいます。
生成されるファイルの名前は、構文解析器のファイルの名前から、 `.tab.c'または`.c'を取り除いて、 代わりに`.output'を付けたものです。
したがって、入力の文法ファイルの名前が`foo.y'ならば、 特に指定しないと、構文解析器ファイルの名前は`foo.tab.c'になり、 詳細な説明のファイルの名前は`foo.output'になります。
bison -y $* |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
オプションを、長い名前のアルファベット順に一覧表記して、 対応する1文字オプションを書きます。
--debug -t --defines -d --file-prefix=prefix -b file-prefix --fixed-output-files --yacc -y --help -h --name-prefix=prefix -p name-prefix --no-lines -l --no-parser -n --output-file=outfile -o outfile --raw -r --token-table -k --verbose -v --version -V |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
VMS上のBisonのコマンドライン構文は、VMSの慣習に合わせて、 他のシステム上のBisonのコマンドライン構文と異なっています。
VMSでは、すべてのBisonのオプションについて、 `--'の代わりに`/'に続く長い名前のオプションを書き、 オプション名中の`-'を`_'に変えます。 VMS上での実行例を示します。
bison /debug/name_prefix=bar foo.y |
これは、POSIX上での次のコマンドラインと等価です。
bison --debug --name-prefix=bar foo.y |
VMSファイルシステムでは、`foo.tab.c'のようなファイル名が許されないので、 構文解析器の名前は、上記の例の場合には、`foo_tab.c'になります。
[ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |