3

これが例です。この ($type) は ANTLR4 によって認識されません。

Number //options { backtrack=true; }
  :  IntegerLiteral { $type = IntegerLiteral; }
  |  FloatLiteral { $type = FloatLiteral; }
  | IntegerLiteral { $type = IntegerLiteral; }
  ;

これは何に置き換えられますか?

ありがとうございました。

4

2 に答える 2

5

ANTLR 4 では、これが新しい構文です。

Foo
  : Bar -> type(SomeType)
  | ...
  ;

ただし、上記のルールについては、ルールを削除して、およびルールがフラグメント ルールでないNumberことを確認する必要があります。FloatLiteralIntegerLiteral

于 2012-12-04T13:35:07.233 に答える
2

ANTLR v4 では、次のようにします。

Number
 : IntegerLiteral {setType(IntegerLiteral);}
 | ...
于 2012-12-01T20:44:02.980 に答える