Skip to content

(MySQL-Oracle) The antlr4 error recovery seems working exceptionally bad on SELECT statement? #4534

Answered by kaby76
OnMYLai asked this question in Q&A
Discussion options

You must be logged in to vote

RecoverInLine() is only called from Parser.Match() or from ParserInterpreter.VisitState(). ParserInterpreter isn't even involved because it's not called here, and the class hiearachy for the parser doesn't involve ParserInterpreter. For testing performance and ambiguous tree enumeration, the template driver apps in grammars-v4 utilize ParserInterpreter; however, it is not used for a simple parse.

The parser exception, NoViableAltException, is raised by AdaptivePredict():

>	Antlr4.Runtime.Standard.dll!Antlr4.Runtime.Atn.ParserATNSimulator.ExecATN(Antlr4.Runtime.Dfa.DFA dfa, Antlr4.Runtime.Dfa.DFAState s0, Antlr4.Runtime.ITokenStream input, int startIndex, Antlr4.Runtime.ParserRuleContext o…

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
1 reply
@OnMYLai
Comment options

Comment options

You must be logged in to vote
1 reply
@OnMYLai
Comment options

Answer selected by OnMYLai
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
2 participants