私はLex/Yaccを初めて使用しています。Yaccアクションは任意の変数(0)に対して0を返します
constant
: I_CONSTANT { printf("I_CONSTANT %d\n", $1); }
| F_CONSTANT
| ENUMERATION_CONSTANT /* after it has been defined as such */
;
問題は、私はアクションを入れていない問題であり、何でも$:私は構文解析の一部を印刷するアクションを追加実験にANSI C.
を解析し、これらのlex & yaccファイルが見つかりました。 XIの使用、私は常に取得値ここで0
私が印刷されました:私の入力がある
I_CONSTANT 0
にもかかわらず:
int foo(int x)
{
return 5;
}
'I_CONSTANT'の場合、レクサーは' yylval'を通して実際の値を返しますか?おそらく、LexとYaccに関するチュートリアルを最初に検討するべきでしょうか? –
@Someprogrammerdude入手しました。ありがとう! –