/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser.java; import gw.internal.ext.org.antlr.runtime.ANTLRStringStream; import gw.internal.ext.org.antlr.runtime.CharStream; import gw.internal.ext.org.antlr.runtime.RecognitionException; import gw.internal.ext.org.antlr.runtime.TokenRewriteStream; public class JavaParserTest { public static void main(java.lang.String[] args) throws RecognitionException { CharStream cs = new ANTLRStringStream( "package gw.internal.gosu.parser.java;\n" + "import java.util.List;\n" + "public class Foo {\n" + "int a = 1_2_3;\n" + " public static void main(String[] args) {}\n" + "}" ); JavaLexer lexer = new JavaLexer(cs); TokenRewriteStream tokens = new TokenRewriteStream(lexer); JavaParser parser = new JavaParser(tokens); TreeBuilder treeBuilder = new TreeBuilder(); parser.setTreeBuilder(treeBuilder); parser.compilationUnit(); dumpJavaAST(treeBuilder.getTree()); } public static void dumpJavaAST(IJavaASTNode tree) { System.out.println("------------------------------------"); dumpJavaAST(tree, ""); } private static void dumpJavaAST(IJavaASTNode tree, String indent) { System.out.println(indent + tree); for (IJavaASTNode child : tree.getChildren()) { dumpJavaAST(child, indent + " "); } } }