public (DqlParser.StartRuleContext, string) Parse(string input, NorthwindDbContext dbContext) { var stream = new AntlrInputStream(input); var lexer = new DqlLexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new DqlParser(tokens); parser.BuildParseTree = true; parser.TrimParseTree = true; DqlParser.StartRuleContext startRuleContext = parser.startRule(); var listener = new DefaultListener(parser, dbContext); var errorListener = new DefaultErrorListener(); parser.AddParseListener(listener); parser.AddErrorListener(errorListener); Antlr4.Runtime.Tree.ParseTreeWalker.Default.Walk(listener, startRuleContext); return(startRuleContext, startRuleContext.ToStringTree(parser)); }
public DefaultListener(DqlParser parser, NorthwindDbContext db) { this.db = db; this.parser = parser; }