Go to the first, previous, next, last section, table of contents.


Bisonの記号一覧

error
エラー回復のために予約されているトークン名です。 このトークンが文法規則の中で使われていると、Bison構文解析器は、 構文エラーを認識し、プロセスの実行を中断しません。 実質的には、エラーを含む文が、有効であると認識されます。 エラーが起きると、errorトークンが現在の先読みトークンになります。 errorに対応するアクションが実行されて、 先読みトークンがエラーの原因になったトークンに戻されます。 See section エラーからの回復
YYABORT
回復不可能な構文エラーが発生した場合のためのマクロで、 実行するとただちにyyparseが1を返します。 エラー報告関数yyerrorは呼び出されません。 See section 構文解析器関数yyparse
YYACCEPT
構文解析器が言語を完全に読み終えた場合のためのマクロで、 実行するとただちにyyparseが0を返します。 See section 構文解析器関数yyparse
YYBACKUP
構文解析器のスタックから1個の値を捨て、先読みトークンのふりをさせます。 See section アクション中で使える特別な機能
YYERROR
構文エラーがちょうど検出された場合のためのマクロで、 yyerrorを呼び、可能ならば通常のエラー回復処理 (see section エラーからの回復)を実行し、不可能ならば yyparseが1を返します。 See section エラーからの回復
YYERROR_VERBOSE
Bison宣言部で#defineによってこのマクロを定義すると、 yyerrorが呼ばれたときに表示されるエラー報告が詳しくなります。
YYINITDEPTH
構文解析器スタックの最初の大きさを指定するマクロです。 See section スタックオーバーフローと防ぎ方
YYLEX_PARAM
yyparseyylexに渡すための、追加の引数または 引数の並びを指定するためのマクロです。 See section 再入可能構文解析器を呼び出す方法
YYLTYPE
yylocのデータ型を示すマクロで、4個のメンバからなる構造体です。 See section トークンのテキスト中の位置
yyltype
YYLTYPEの省略時の値です。
YYMAXDEPTH
構文解析器のスタックの最大の大きさを指定するマクロです。 See section スタックオーバーフローと防ぎ方
YYPARSE_PARAM
yyparseが受け取るべき引数の名前を指定するマクロです。 See section 再入可能構文解析器を呼び出す方法
YYRECOVERING
構文解析器が構文エラーから回復している途中かどうかを示す値のマクロです。 See section アクション中で使える特別な機能
YYSTYPE
意味値のデータ型を指定するためのマクロで、省略するとintになります。 See section データ型と意味値
yychar
広域的なint型の変数で、現在の先読みトークンの番号を記憶しています (再入可能な構文解析器では、この変数はyyparseに局所的です)。 エラー回復規則のアクションは、この変数の値を調べられます。 See section アクション中で使える特別な機能
yyclearin
エラー回復規則のアクションで使われるマクロです。 直前の先読みトークンを消去します。 See section エラーからの回復
yydebug
int型の広域変数で、初期値は0です。 yydebugの値が0でないと、構文解析器は、 読み込んだ記号と構文解析器のアクションに関する情報を表示します。 See section 構文解析器のデバッグ
yyerrok
構文エラーの後で、構文解析器をただちに通常の状態に戻すためのマクロです。 See section エラーからの回復
yyerror
エラーが起きたときにyyparseから呼び出される、ユーザー定義関数です。 この関数は1個の引数を受け取り、その引数はエラーの報告を含む文字列への ポインタです。 See section エラー報告関数yyerror
yylex
ユーザー定義の字句解析関数で、次のトークンを得るために、 引数なしで呼び出されます。 See section 字句解析器関数yylex
yylval
トークンに関連する意味値をyylexが置くための広域変数です (再入可能な構文解析器では、これはyyparseの局所変数で、 その番地がyylexに渡されます)。 See section トークンの意味値
yylloc
トークンに関連する行番号と桁番号をyylexが置くための 広域変数です(再入可能な構文解析器では、この変数はyyparseに 局所的で、その番地がyylexに渡されます)。 文法アクションで`@'機能を使わないならば、 この値を無視してかまいません。 See section トークンのテキスト中の位置
yynerrs
構文エラーが発生するたびにBisonが値を1増やす広域変数です (再入可能な構文解析器では、この変数はyyparseに局所的です)。 See section エラー報告関数yyerror
yyparse
Bisonによって生成される構文解析器関数で、 この関数を呼び出すことによって構文解析が始まります。 See section 構文解析器関数yyparse
%left
トークンに左結合性を与えるBison宣言です。 See section 演算子の優先順位
%no_lines
構文解析器ファイルの中に#lineディレクティブを生成しないための Bison宣言です。 See section Bison宣言の要約
%nonassoc
トークンに非結合性を与えるためのBison宣言です。 See section 演算子の優先順位
%prec
指定された規則に優先順位を与えるためのBison宣言です。 See section 文脈依存優先順位
%pure_parser
再入可能な構文解析器を生成するためのBison宣言です。 See section 純粋(再入可能)構文解析器
%raw
通常のYacc互換トークン番号の代わりに、 トークン表のBison内部トークン番号を使うための、Bison宣言です。 See section Bison宣言の要約
%right
トークンに右結合性を与えるためのBison宣言です。 See section 演算子の優先順位
%start
開始記号を指定するためのBison宣言です。 See section 開始記号
%token
優先順位を指定せずにトークンを宣言するためのBison宣言です。 See section トークン型名
%token_table
構文解析器ファイルの中でトークン名の表を挿入するためのBison宣言です。 See section Bison宣言の要約
%type
非終端記号を宣言するためのBison宣言です。 See section 非終端記号
%union
意味値として可能ないくつかのデータ型を指定するためのBison宣言です。 See section 値型の集合.

Bison文法ファイルの中で使う、区切り記号があります。

`%%'
Bison宣言部、文法規則部、(省略可能な)Cプログラム部を区切る記号です。 See section Bison文法の全体像
`%{ %}'
文法ファイルの`%{'`%}'の間に書かれたすべてのプログラムは、 そのまま構文解析器ファイルに複写されます。 このようなプログラムが、文法ファイルのC宣言部を構成します。 See section Bison文法の概要
`/*...*/'
C言語と同様のコメントです。
`:'
規則の結果と構成要素を分離する記号です。 See section 文法規則の構文
`;'
規則の終わりの記号です。 See section 文法規則の構文
`|'
同一の非終端記号を結果とする複数の規則を区切る記号です。 See section 文法規則の構文


Go to the first, previous, next, last section, table of contents.