0
我有以下的生產在我ANTLR語法:如何將Kleene封閉的匹配傳遞給我在ANTLR中的操作?
rich_newick_string
: str=(.*';') { stack.pushRichNewickString($str.text); };
我預計一些字符串匹配要傳遞給我的pushRichNewickString方法,而是我得到空。我究竟做錯了什麼?
謝謝。
我有以下的生產在我ANTLR語法:如何將Kleene封閉的匹配傳遞給我在ANTLR中的操作?
rich_newick_string
: str=(.*';') { stack.pushRichNewickString($str.text); };
我預計一些字符串匹配要傳遞給我的pushRichNewickString方法,而是我得到空。我究竟做錯了什麼?
謝謝。
你不能把一個以上的詞法/語法分析器規則在括號內,然後一個標籤分配給它:也
rule
: label=tempRule { /* use $label.text in here */ }
;
tempRule
: ruleA ruleB ruleC
;
,你真的有:
rule
: label=(ruleA ruleB ruleC) { /* use $label.text in here */ }
;
,而不是嘗試此解析器規則中的.*
?你知道嗎不是匹配零個或多個字符,但是零個或多個標記而不是?