このpost about the antlr simple exampleは、Javaのための文法の作成方法を示しています。 ただし、Exp.gソースで文法とJavaソースコードが混在しています。 私の質問は、1つの文法ファイルを複数のJava、Scala、C++などのレクサー/パーサーの生成に使用できるように、文法ファイルをターゲット言語から切り離すことは可能ですか?
私の文法は単純ですが、連結を作るためにいくつかの文字列を受け入れる必要があります。この式は有効である必要があります。 CONCATENATE(10;" €")
問題はユーロ記号です。 fragment SPECIAL : '\u00B0';
しかし、ユーロ記号は、この度のシンボルのように動作していない:私は作成しています fragment SPECIAL : '\u00B0' | '\