3030 *
3131 * Testing:
3232 *
33- * Tool -antlr ../corpus/antlr4/samples ../corpus/antlr4/test/Clojure.g4
33+ * Tool -antlr ../corpus/antlr4/training ../corpus/antlr4/testing/Clojure.g4
34+ * Tool -sqlite ../corpus/sqlite/training ../corpus/sqlite/testing/t1.sql
3435 * Tool -java ../samples/stringtemplate4 src/org/antlr/codebuff/Tool.java
3536 * Tool -java ../samples/stringtemplate4 ../samples/stringtemplate4/org/stringtemplate/v4/AutoIndentWriter.java
3637 */
@@ -42,30 +43,46 @@ public static void main(String[] args)
4243 throws Exception
4344 {
4445 if ( args .length <2 ) {
45- System .err .println ("ExtractFeatures [-java|-antlr] root-dir-of-samples test-file" );
46+ System .err .println ("ExtractFeatures [-java|-antlr|-sqlite ] root-dir-of-samples test-file" );
4647 }
4748 int tabSize = 4 ; // TODO: MAKE AN ARGUMENT
4849 String language = args [0 ];
4950 String corpusDir = args [1 ];
5051 String testFilename = args [2 ];
51- String output ;
52- if ( language .equals ("-java" ) ) {
53- Corpus corpus = train (corpusDir , ".*\\ .java" , JavaLexer .class , JavaParser .class , "compilationUnit" , tabSize , true );
54- InputDocument testDoc = load (testFilename , JavaLexer .class , tabSize );
55- Pair <String ,List <TokenPositionAnalysis >> results = format (corpus , testDoc , JavaLexer .class , JavaParser .class , "compilationUnit" , tabSize );
56- output = results .a ;
57- List <TokenPositionAnalysis > analysisPerToken = results .b ;
58- GUIController controller = new GUIController (analysisPerToken , testDoc , output , JavaLexer .class );
59- controller .show ();
60- }
61- else {
62- Corpus corpus = train (corpusDir , ".*\\ .g4" , ANTLRv4Lexer .class , ANTLRv4Parser .class , "grammarSpec" , tabSize , true );
63- InputDocument testDoc = load (testFilename , ANTLRv4Lexer .class , tabSize );
64- Pair <String ,List <TokenPositionAnalysis >> results = format (corpus , testDoc , ANTLRv4Lexer .class , ANTLRv4Parser .class , "grammarSpec" , tabSize );
65- output = results .a ;
66- List <TokenPositionAnalysis > analysisPerToken = results .b ;
67- GUIController controller = new GUIController (analysisPerToken , testDoc , output , ANTLRv4Lexer .class );
68- controller .show ();
52+ String output = "???" ;
53+ Corpus corpus ;
54+ InputDocument testDoc ;
55+ GUIController controller ;
56+ List <TokenPositionAnalysis > analysisPerToken ;
57+ Pair <String , List <TokenPositionAnalysis >> results ;
58+ switch ( language ) {
59+ case "-java" :
60+ corpus = train (corpusDir , ".*\\ .java" , JavaLexer .class , JavaParser .class , "compilationUnit" , tabSize , true );
61+ testDoc = load (testFilename , JavaLexer .class , tabSize );
62+ results = format (corpus , testDoc , JavaLexer .class , JavaParser .class , "compilationUnit" , tabSize );
63+ output = results .a ;
64+ analysisPerToken = results .b ;
65+ controller = new GUIController (analysisPerToken , testDoc , output , JavaLexer .class );
66+ controller .show ();
67+ break ;
68+ case "-antlr" :
69+ corpus = train (corpusDir , ".*\\ .g4" , ANTLRv4Lexer .class , ANTLRv4Parser .class , "grammarSpec" , tabSize , true );
70+ testDoc = load (testFilename , ANTLRv4Lexer .class , tabSize );
71+ results = format (corpus , testDoc , ANTLRv4Lexer .class , ANTLRv4Parser .class , "grammarSpec" , tabSize );
72+ output = results .a ;
73+ analysisPerToken = results .b ;
74+ controller = new GUIController (analysisPerToken , testDoc , output , ANTLRv4Lexer .class );
75+ controller .show ();
76+ break ;
77+ case "-sqlite" :
78+ corpus = train (corpusDir , ".*\\ .sql" , SQLiteLexer .class , SQLiteParser .class , "parse" , tabSize , true );
79+ testDoc = load (testFilename , SQLiteLexer .class , tabSize );
80+ results = format (corpus , testDoc , SQLiteLexer .class , SQLiteParser .class , "parse" , tabSize );
81+ output = results .a ;
82+ analysisPerToken = results .b ;
83+ controller = new GUIController (analysisPerToken , testDoc , output , SQLiteLexer .class );
84+ controller .show ();
85+ break ;
6986 }
7087 System .out .println (output );
7188 }
0 commit comments