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 個の追加テーブル yynameyyrule は、 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

名称
書式
解説
環境変数
テーブル
関連ファイル
診断
関連項目
歴史
規格

jman



Time: 07:06:23 GMT, January 12, 2009