0
私はlexer.g4でこのどのようにJavaのAntlr4がSTRING_LITERALを含むと貪欲ではない "?
"STRING_LITERAL"(, "STRING_LITERAL")?
のような単純な文法をした、私は、しかし、この
STRING_LITERAL: '"'[a-zA-Z0-9!#$&.+-^_{}:\\\" ]+'"';
ようにそれをSTRING_LITERALを定義"abc"、 "\" cde \ "" Anltr4は、これらのSTRING_LITERALを2つのテキストの代わりに1つのテキストとして読み込みます。
2つのテキストの間にコンマ( "、"List<TerminalNode> params = ctx.STRING_LITERAL(); // Only have 1 String element ("abc", "\"cde\"")
STRING_LIERALの\ "でantr4を使用してカンマ(、)で分割すると、paramsに2つの要素(" abc "と" \ "cde \" ")が含まれます。