Provided by: manpages-ja_0.5.0.0.20180315+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”) 準拠です。