Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all bug

名称

       yaccLALR(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 ユーティリティは IEEE Std 1003.2 (“POSIX.2”) 準拠です。

Debian                                            July 30, 1991                                          YACC(1)