前:
The Implementation
, 上:
Another Example of Flex and Bison
4.5.3 実装に関する注
以下に実装に関する注を示します。
YYSTYPE
と
yylval
yylval
がFlexからアクセスされる方法に注目してください。 Bison文法においてパース・ツリーの上位にデータを渡す方法については、
Bison
のマニュアルに説明されていますが、 Flexに対しては何の影響も持ちません。 整数値、浮動小数点数値、および他の任意の型のデータも同様の方法で返すことができます。
トークン値の返却
この例では、 トークンの
型
と値の両方がBisonからアクセスできるように、 トークンの値と文字列の値の両方がBisonに返されていることに注意してください。
BisonとFlex
BisonとFlexがいかにうまく調和しているかに注目してください。 データを交換するためのコード以外に、 インターフェイスのためのコードは一切ありません。 Bisonは
yylex()
を呼び出し、 スキャナがトークン定義を提供しています。