前: Pure Decl, 上: Declarations
%union%token%right%left%nonassoc%type%start%expect%pure_parser%no_lines#lineプリプロセッサディレクティブを生成しません。
Bisonは、通常、Cコンパイラとデバッガがエラーとあなたのソースファイル
(文法ファイル)を関連づけられるように、構文解析器ファイルに
#lineディレクティブを書き込みます。
%no_lines宣言は、エラーを構文解析器ファイルの行数と関連づけ、
構文解析器ファイルをそれ自身で独立したソースファイルと
みなすことを意味します。
%raw%token_tableyytnameで、yytname[i]が
Bison内部トークン番号iのトークンの名前です。
最初の3個の要素は常に、"$"、"error"、"$illegal"で、
この後に文法ファイルで定義された記号が続きます。
表の中で、1文字リテラルトークンにはシングルクォート記号が、
文字列リテラルトークンにはダブルクォート記号が含まれます。
たとえば、"'+'"は1文字リテラルトークンで、
"\"<=\""は文字列リテラルトークンです。
文字列リテラルトークンのすべての文字はそのまま表に現れ、
ダブルクォート記号もエスケープされません。
たとえば、トークンが3文字`*"*'からなれば、
yytname中の文字列は`"*"*"'となります
(Cでは"\"*\"*\""と書きます)。
%token_tableを指定すると、Bisonは、マクロ
YYNTOKENS、YYNNTS、YYNRULES、YYNSTATESの
定義も生成します。
YYNTOKENSYYNNTSYYNRULESYYNSTATES