Bison と Java を使用してパーサーに取り組んでいますが、問題があります。デフォルトのセマンティック値には、独自のタイプ「TreeNode」を使用しました。それは私の .y ファイルからのコードです:
prog: def_var TERMINATOR inc_val {
TreeNode t = new TreeNode();
t = $1;
}
Bison によって生成されるコードです。
TreeNode t = new TreeNode();
t = ((Integer)(yystack.valueAt (9-(1))));
TreeNode を Integer に変換できないため、「incovertible types」というエラーが発生します。この自動変換を無効にするにはどうすればよいですか?