diff options
Diffstat (limited to 'src/java/com/sun/gluegen/jgram/Test.java')
-rw-r--r-- | src/java/com/sun/gluegen/jgram/Test.java | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/src/java/com/sun/gluegen/jgram/Test.java b/src/java/com/sun/gluegen/jgram/Test.java deleted file mode 100644 index 996d645..0000000 --- a/src/java/com/sun/gluegen/jgram/Test.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.sun.gluegen.jgram; - -import java.util.*; - -import java.io.*; -// import antlr.collections.AST; -import antlr.collections.impl.*; -import antlr.debug.misc.*; -import antlr.*; -// import java.awt.event.*; - -class Test { - - static boolean showTree = false; - public static void main(String[] args) { - // Use a try/catch block for parser exceptions - try { - // if we have at least one command-line argument - if (args.length > 0 ) { - System.err.println("Parsing..."); - - // for each directory/file specified on the command line - for(int i=0; i< args.length;i++) { - if ( args[i].equals("-showtree") ) { - showTree = true; - } - else { - doFile(new File(args[i])); // parse it - } - } } - else - System.err.println("Usage: java com.sun.gluegen.jgram.Test [-showtree] "+ - "<directory or file name>"); - } - catch(Exception e) { - System.err.println("exception: "+e); - e.printStackTrace(System.err); // so we can get stack trace - } - } - - - // This method decides what action to take based on the type of - // file we are looking at - public static void doFile(File f) - throws Exception { - // If this is a directory, walk each file/dir in that directory - if (f.isDirectory()) { - String files[] = f.list(); - for(int i=0; i < files.length; i++) - doFile(new File(f, files[i])); - } - - // otherwise, if this is a java file, parse it! - else if ((f.getName().length()>5) && - f.getName().substring(f.getName().length()-5).equals(".java")) { - System.err.println(" "+f.getAbsolutePath()); - // parseFile(f.getName(), new FileInputStream(f)); - parseFile(f.getName(), new BufferedReader(new FileReader(f))); - } - } - - // Here's where we do the real work... - public static void parseFile(String f, Reader r) - throws Exception { - try { - // Create a scanner that reads from the input stream passed to us - JavaLexer lexer = new JavaLexer(r); - lexer.setFilename(f); - - // Create a parser that reads from the scanner - JavaParser parser = new JavaParser(lexer); - parser.setFilename(f); - - // start parsing at the compilationUnit rule - parser.compilationUnit(); - - Set set = parser.getParsedEnumNames(); - System.out.println("Enums"); - for(Iterator iter = set.iterator(); iter.hasNext(); ) { - String s = (String) iter.next(); - System.out.println(s); - } - System.out.println("Functions"); - set = parser.getParsedFunctionNames(); - for(Iterator iter = set.iterator(); iter.hasNext(); ) { - String s = (String) iter.next(); - System.out.println(s); - } - - // do something with the tree - //doTreeAction(f, parser.getAST(), parser.getTokenNames()); - } - catch (Exception e) { - System.err.println("parser exception: "+e); - e.printStackTrace(); // so we can get stack trace - } - } - - /* - public static void doTreeAction(String f, AST t, String[] tokenNames) { - if ( t==null ) return; - if ( showTree ) { - ((CommonAST)t).setVerboseStringConversion(true, tokenNames); - ASTFactory factory = new ASTFactory(); - AST r = factory.create(0,"AST ROOT"); - r.setFirstChild(t); - final ASTFrame frame = new ASTFrame("Java AST", r); - frame.setVisible(true); - frame.addWindowListener( - new WindowAdapter() { - public void windowClosing (WindowEvent e) { - frame.setVisible(false); // hide the Frame - frame.dispose(); - System.exit(0); - } - } - ); - // System.out.println(t.toStringList()); - } - JavaTreeParser tparse = new JavaTreeParser(); - try { - tparse.compilationUnit(t); - // System.out.println("successful walk of result AST for "+f); - } - catch (RecognitionException e) { - System.err.println(e.getMessage()); - e.printStackTrace(); - } - - } */ -} - |