YACC
Section: User Commands (1)
Index JM Home Page
BSD mandoc
名称
yacc - LALR(1) パーサジェネレータ
書式
yacc [-dlrtv ] [-b prefix ] filename
解説
yacc は、 filename のファイルから文法仕様を読み取り、その仕様から LR(1) パーサを生成します。 パーサは、 LALR(1) 解析テーブルと、C 言語で書かれたドライバルーチンのセットから構成 されています。 yacc は通常、 y.tab.c というファイルに解析テーブルとドライバルーチンを書き込みます。
以下のオプションが提供されています:
- -b prefix
- -b オプションは、出力ファイル名の先頭に加えるプリフィックス文字列を prefix に変更します。 デフォルトのプリフィックスは y. です。
- -d
- -d オプションは、ヘッダファイル y.tab.h を生成するよう指示します。
- -l
- もし -l オプションが指定されていなければ、 yacc は #line ディレクティブを生成したコードに挿入します。 #line ディレクティブは、生成されたコードの中のエラーとユーザのオ リジナルコードとの関係を C コンパイラに知らせます。 もし -l オプションが指定されていれば、 yacc は #line ディレクティブを挿入しません。 ユーザによって指定された #line ディレクティブは保持されます。
- -r
- -r オプションを指定すると、 yacc はコードとテーブルのファイルを分けて出力します。 コードファイル名は y.code.c となり、テーブルファイル名は y.tab.c となります。
- -t
- -t オプションを指定すると、 yacc によって生成されるプリプロセッサディレクティブを変更し、デバッグ 用の文をコンパイルされたコードの中に埋め込みます。
- -v
- -v オプションを指定すると、生成されたパーザの詳細を人間に読める形式 で、ファイル y.output に出力します。
環境変数
以下の環境変数が yacc によって参照されます:
- TMPDIR
- もし環境変数 TMPDIR が設定されていれば、 TMPDIR に設定されている文字列は、テンポラリファイルが生成されるディレク トリ名として使用されます。
テーブル
本バージョンの yacc によって生成されるテーブルの名称は、 ``yylhs'' ``yylen'' ``yydefred'' ``yydgoto'' ``yysindex'' ``yyrindex'' ``yygindex'' ``yytable'' そして ``yycheck'' です。さらに、追加のテーブルとして ``yyname'' および ``yyrule'' が、 YYDEBUG が定義されゼロでないときに用意されます。
関連ファイル
- y.code.c
- y.tab.c
- y.tab.h
- y.output
- /tmp/yacc.aXXXXXX
- /tmp/yacc.tXXXXXX
- /tmp/yacc.uXXXXXX
診断
もしルールを切り詰めることができなかった場合、ルール数が標準出力 に書かれます。 もし、何らかの LALR(1) の衝突があった場合、衝突数も標準エラー出力に書かれます。
関連項目
yyfix(1)
規格
yacc ユーティリティは St -p1003.2 準拠です。
関連キーワード
生成,
テーブル,
YACC,
コード,
出力,
tmp,
TMPDIR,
もし,
名称,
LALR
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名称
- 書式
- 解説
- 環境変数
- テーブル
- 関連ファイル
- 診断
- 関連項目
- 規格
This document was created by man2html, using the manual pages.
Time: 12:08:55 GMT, June 11, 2022