- 487 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 05:07:39.94 ID:5kOZtFPy0.net]
- アドバイスありがとうございます。
expressionは、 =禁止していますので、a = expr*a=expr * * は出来ないようにしてます。 手動で*の数を記述してみたのですが、conflicts: 3 shift/reduce となって混乱してます。 こんな感じ。。StatementAssignVariable()の第一引数を *の数にして実験。 statement : Identifier "=" expression {$$=new StatementAssignVariable(0, 省略); } | "*" Identifier "=" expression { $$= new StatementAssignVariable(1, 省略); } | "*" "*" Identifier "=" expression { $$= new StatementAssignVariable(2, 省略); } ; gcc 3はbisonのソース有ったので見たのですが、難解でしたorz 構文の設計ムズカシイ conflicts: 3 shift/reduce無視しちゃっていいのかなぁ。。
|

|