YACC
Section: User Commands (1)
索引
jman
BSD mandoc
索引
名称
yacc
- LALR(1) パーサジェネレータ
索引
書式
[-dlrtv
]
[-b file_prefix
]
[-o output_filename
]
[-p symbol_prefix
]
filename
索引
解説
ユーティリティは、
filename
から文法仕様を読み取り、その仕様から LR(1) パーサを生成します。
パーサは、C 言語で書かれた LALR(1)
解析テーブルとドライバルーチンのセットから構成されています。
ユーティリティは通常、
y.tab.c
というファイルに解析テーブルとドライバルーチンを書き込みます。
以下のオプションが使えます:
- -b file_prefix
-
出力ファイル名の先頭に加えるプレフィックス文字列を
file_prefix
に変更します。
デフォルトのプレフィックスは
y
です。
- -d
-
ヘッダファイル
y.tab.h
を生成するよう指示します。
- -l
-
もし
-l
オプションが指定されていなければ、
は生成コードに #line ディレクティブを挿入します。
#line ディレクティブは、生成されたコードの中のエラーと
ユーザのオリジナルコードとの関連づけを C コンパイラに行わせます。
もし
-l
オプションが指定されていれば、
は #line ディレクティブを挿入しません。
ユーザによって指定された #line ディレクティブはそのまま残されます。
- -o output_filename
-
に対し、デフォルトファイルの
y.tab.c
の代りに
output_filename
に生成コードを出力させます。
- -p symbol_prefix
-
yacc によって生成されたシンボルの先頭につけるプレフィックスを
symbol_prefix
で指定された文字列に変更します。
デフォルトのプレフィックスは、文字列
yy
です。
- -r
-
はコードとテーブルを別々のファイルに出力します。コードファイル名は
y.code.c
となり、テーブルファイル名は
y.tab.c
となります。
- -t
-
によって生成されるプリプロセッサディレクティブを変更し、デバッグ
用の文をコンパイルされたコードの中に埋め込みます。
- -v
-
生成されたパーザの詳細を人間に読める形式で、
ファイル
y.output
に出力します。
索引
環境変数
- TMPDIR
-
テンポラリファイルが作られるディレクトリ名。
索引
テーブル
本バージョンの
が作成するテーブル名は
yylhs , yylen , yydefred , yydgoto , yysindex
yyrindex , yygindex , yytable
yycheck
です。
2 個の追加テーブル
yyname
と
yyrule
は、
YYDEBUG
を非 0 に定義すると作成されます。
索引
関連ファイル
- y.code.c
-
- y.tab.c
-
- y.tab.h
-
- y.output
-
- /tmp/yacc.aXXXXXXXXXX
-
- /tmp/yacc.tXXXXXXXXXX
-
- /tmp/yacc.uXXXXXXXXXX
-
索引
診断
もし還元できないルールがあった場合、そのルール数が標準エラー
出力に表示されます。
もし何らかの
LALR(1)
の衝突があった場合、衝突数も標準エラー出力に表示されます。
索引
関連項目
yyfix(1)
索引
歴史
コマンドは PWB UNIX に登場しました。
索引
規格
ユーティリティは
St -p1003.2
に適合しています。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- 環境変数
-
- テーブル
-
- 関連ファイル
-
- 診断
-
- 関連項目
-
- 歴史
-
- 規格
-
Time: 07:06:23 GMT, January 12, 2009