Exemple #1
0
        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;
 }