0
我想了解如何使用ParseTreePattern
以從我的輸入中獲取特定元素。 首先,我嘗試了以下內容:Antlr異常:沒有序列化的ATN
ParseTreePattern p = parser.compileParseTreePattern("<NODE>", GraphParser.RULE_input);
其中NODE
是我的語法令牌和我結束了
Unknown token NODE in pattern: <NODE>
那麼,爲什麼這個標記不能被識別,因爲它是我的語法的一部分?
當我在樹模式與規則的名稱<quantifier>
這又是我的語法的一部分,我結束了:
Exception in thread "main" java.lang.UnsupportedOperationException: there is no serialized ATN
at org.antlr.v4.runtime.Recognizer.getSerializedATN(Recognizer.java:134)
at org.antlr.v4.runtime.Parser.getATNWithBypassAlts(Parser.java:458)
at org.antlr.v4.runtime.tree.pattern.ParseTreePatternMatcher.tokenize(ParseTreePatternMatcher.java:414)
at org.antlr.v4.runtime.tree.pattern.ParseTreePatternMatcher.compile(ParseTreePatternMatcher.java:218)
at org.antlr.v4.runtime.Parser.compileParseTreePattern(Parser.java:506)
at org.antlr.v4.runtime.Parser.compileParseTreePattern(Parser.java:492)
at main.Main.main(Main.java:47)
那麼,什麼是第二個錯誤是什麼意思?只是爲了澄清我正在使用ANTLR 4.2(顯然ParseTreePattern
不是4.1庫的一部分)。