0
我有一個簡單的語法像這樣了Java Antlr4貪含STRING_LITERAL 「?
"STRING_LITERAL"(, "STRING_LITERAL")?
在lexer.g4,我定義STRING_LITERAL這樣
STRING_LITERAL: '"'[a-zA-Z0-9!#$&.+-^_{}:\\\" ]+'"';
然而,似乎它將忽略2個單詞之間的逗號(「,」),就像本輸入測試一樣:「abc」,「」cde \「」 Anltr4會將這兩個STRING_LITERAL讀取爲1個文本而不是2個文本
List<TerminalNode> params = ctx.STRING_LITERAL(); // Only have 1 String element ("abc", "\"cde\"")
如何在STRING_LIERAL中使用帶有\「的antr4並用逗號(,)分割它,那麼params將包含2個元素(」abc「和」\「cde \」「)?