private static void Main(string[] args) { var lex = new CLexer(new AntlrInputStream(Input)); var tokens = new CommonTokenStream(lex); var par = new CParser(tokens); var ctx = par.namespaceDeclaration(); var child = ctx.GetChild <CParser.ClassDeclarationContext>(0); var walker = new ParseTreeWalker(); walker.Walk(new ParseTreeListenerEmpty(), ctx); var c = par.compileUnit(); var s = c.ToStringTree(); /* * MyPascalParser.myprogram_return X = g.myprogram(); * Console.WriteLine(X.Tree); // Writes: nill * Console.WriteLine(X.Start); // Writes: [@0,0:4='begin',<4>,1:0] * Console.WriteLine(X.Stop); // Writes: [@35,57:57='end',<19>,12:2] */ }