From: <fwi...@us...> - 2008-07-29 12:31:50
|
Revision: 5018 http://jython.svn.sourceforge.net/jython/?rev=5018&view=rev Author: fwierzbicki Date: 2008-07-29 12:31:46 +0000 (Tue, 29 Jul 2008) Log Message: ----------- Move testing classes out of main code. Added Paths: ----------- branches/asm/tests/java/org/python/antlr/ branches/asm/tests/java/org/python/antlr/GrammarTester.java branches/asm/tests/java/org/python/antlr/PythonPartialTester.java branches/asm/tests/java/org/python/antlr/PythonTreeTester.java branches/asm/tests/java/org/python/antlr/WalkerTester.java Removed Paths: ------------- branches/asm/src/org/python/antlr/GrammarTester.java branches/asm/src/org/python/antlr/PythonPartialTester.java branches/asm/src/org/python/antlr/PythonTreeTester.java branches/asm/src/org/python/antlr/WalkerTester.java Deleted: branches/asm/src/org/python/antlr/GrammarTester.java =================================================================== --- branches/asm/src/org/python/antlr/GrammarTester.java 2008-07-29 01:40:32 UTC (rev 5017) +++ branches/asm/src/org/python/antlr/GrammarTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -1,11 +0,0 @@ -package org.python.antlr; - -public class GrammarTester { - - public static void main(String[] args) throws Exception { - PythonTreeTester walker = new PythonTreeTester(); - walker.setParseOnly(true); - walker.parse(args); - } - -} Deleted: branches/asm/src/org/python/antlr/PythonPartialTester.java =================================================================== --- branches/asm/src/org/python/antlr/PythonPartialTester.java 2008-07-29 01:40:32 UTC (rev 5017) +++ branches/asm/src/org/python/antlr/PythonPartialTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -1,47 +0,0 @@ -package org.python.antlr; - -import org.antlr.runtime.ANTLRFileStream; -import org.antlr.runtime.CharStream; -import org.antlr.runtime.CommonTokenStream; -import org.antlr.runtime.Token; - -/** - * A walker producing a <code>PythonTree</code> AST. - */ -public class PythonPartialTester { - - public static class PPLexer extends PythonPartialLexer { - public PPLexer(CharStream lexer) { - super(lexer); - } - - public Token nextToken() { - startPos = getCharPositionInLine(); - return super.nextToken(); - } - } - - public void parse(String[] args) throws Exception { - try { - PythonTree result = null; - CharStream input = new ANTLRFileStream(args[0]); - PythonPartialLexer lexer = new PPLexer(input); - CommonTokenStream tokens = new CommonTokenStream(lexer); - tokens.discardOffChannelTokens(true); - //PythonTokenSource indentedSource = new PythonTokenSource(tokens); - PythonPartialTokenSource indentedSource = new PythonPartialTokenSource(tokens); - tokens = new CommonTokenStream(indentedSource); - PythonPartialParser parser = new PythonPartialParser(tokens); - parser.single_input(); - System.out.println("SUCCEED"); - } catch (ParseException e) { - System.out.println("FAIL:" + e); - } - } - - public static void main(String[] args) throws Exception { - PythonPartialTester p = new PythonPartialTester(); - p.parse(args); - } - -} Deleted: branches/asm/src/org/python/antlr/PythonTreeTester.java =================================================================== --- branches/asm/src/org/python/antlr/PythonTreeTester.java 2008-07-29 01:40:32 UTC (rev 5017) +++ branches/asm/src/org/python/antlr/PythonTreeTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -1,98 +0,0 @@ -package org.python.antlr; - -import org.antlr.runtime.ANTLRFileStream; -import org.antlr.runtime.CharStream; -import org.antlr.runtime.CommonTokenStream; -import org.antlr.runtime.RecognitionException; -import org.antlr.runtime.Token; -import org.antlr.runtime.tree.CommonTreeAdaptor; -import org.antlr.runtime.tree.CommonTreeNodeStream; -import org.antlr.runtime.tree.Tree; -import org.antlr.runtime.tree.TreeAdaptor; - -/** - * A walker producing a <code>PythonTree</code> AST. - */ -public class PythonTreeTester { - - public enum Block { MODULE, INTERACTIVE, EXPRESSION }; - - private boolean _parseOnly; - private Block _block; - - public PythonTreeTester() { - setParseOnly(false); - setBlock(Block.MODULE); - } - - public PythonTree parse(String[] args) throws Exception { - PythonTree result = null; - CharStream input = new ANTLRFileStream(args[0]); - PythonLexer lexer = new ModuleParser.PyLexer(input); - CommonTokenStream tokens = new CommonTokenStream(lexer); - tokens.discardOffChannelTokens(true); - PythonTokenSource indentedSource = new PythonTokenSource(tokens); - tokens = new CommonTokenStream(indentedSource); - PythonParser parser = new PythonParser(tokens); - parser.setTreeAdaptor(new PythonTreeAdaptor()); - Tree r = null; - switch (_block) { - case MODULE : - r = (Tree)parser.file_input().tree; - break; - case INTERACTIVE : - r = (Tree)parser.single_input().tree; - break; - case EXPRESSION : - r = (Tree)parser.eval_input().tree; - break; - } - if (args.length > 1) { - System.out.println((r).toStringTree()); - } - if (!isParseOnly()) { - CommonTreeNodeStream nodes = new CommonTreeNodeStream(r); - nodes.setTokenStream(tokens); - PythonWalker walker = new PythonWalker(nodes); - switch (_block) { - case MODULE : - result = walker.module(); - break; - case INTERACTIVE : - result = walker.interactive(); - break; - case EXPRESSION : - result = walker.expression(); - break; - } - - if (args.length > 1) { - System.out.println(result.toStringTree()); - } - } - return result; - } - - /** - * If set to <code>true</code>, only <code>PythonParser</code> is - * called. - * - * @param parseOnly - */ - public void setParseOnly(boolean parseOnly) { - _parseOnly = parseOnly; - } - - public boolean isParseOnly() { - return _parseOnly; - } - - public void setBlock(Block block) { - _block = block; - } - - public Block getBlock() { - return _block; - } - -} Deleted: branches/asm/src/org/python/antlr/WalkerTester.java =================================================================== --- branches/asm/src/org/python/antlr/WalkerTester.java 2008-07-29 01:40:32 UTC (rev 5017) +++ branches/asm/src/org/python/antlr/WalkerTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -1,11 +0,0 @@ -package org.python.antlr; - -public class WalkerTester extends PythonTreeTester { - - public static void main(String[] args) throws Exception { - PythonTreeTester walker = new PythonTreeTester(); - walker.setParseOnly(false); - walker.parse(args); - } - -} Copied: branches/asm/tests/java/org/python/antlr/GrammarTester.java (from rev 5013, branches/asm/src/org/python/antlr/GrammarTester.java) =================================================================== --- branches/asm/tests/java/org/python/antlr/GrammarTester.java (rev 0) +++ branches/asm/tests/java/org/python/antlr/GrammarTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -0,0 +1,11 @@ +package org.python.antlr; + +public class GrammarTester { + + public static void main(String[] args) throws Exception { + PythonTreeTester walker = new PythonTreeTester(); + walker.setParseOnly(true); + walker.parse(args); + } + +} Copied: branches/asm/tests/java/org/python/antlr/PythonPartialTester.java (from rev 5013, branches/asm/src/org/python/antlr/PythonPartialTester.java) =================================================================== --- branches/asm/tests/java/org/python/antlr/PythonPartialTester.java (rev 0) +++ branches/asm/tests/java/org/python/antlr/PythonPartialTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -0,0 +1,47 @@ +package org.python.antlr; + +import org.antlr.runtime.ANTLRFileStream; +import org.antlr.runtime.CharStream; +import org.antlr.runtime.CommonTokenStream; +import org.antlr.runtime.Token; + +/** + * A walker producing a <code>PythonTree</code> AST. + */ +public class PythonPartialTester { + + public static class PPLexer extends PythonPartialLexer { + public PPLexer(CharStream lexer) { + super(lexer); + } + + public Token nextToken() { + startPos = getCharPositionInLine(); + return super.nextToken(); + } + } + + public void parse(String[] args) throws Exception { + try { + PythonTree result = null; + CharStream input = new ANTLRFileStream(args[0]); + PythonPartialLexer lexer = new PPLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lexer); + tokens.discardOffChannelTokens(true); + //PythonTokenSource indentedSource = new PythonTokenSource(tokens); + PythonPartialTokenSource indentedSource = new PythonPartialTokenSource(tokens); + tokens = new CommonTokenStream(indentedSource); + PythonPartialParser parser = new PythonPartialParser(tokens); + parser.single_input(); + System.out.println("SUCCEED"); + } catch (ParseException e) { + System.out.println("FAIL:" + e); + } + } + + public static void main(String[] args) throws Exception { + PythonPartialTester p = new PythonPartialTester(); + p.parse(args); + } + +} Copied: branches/asm/tests/java/org/python/antlr/PythonTreeTester.java (from rev 5013, branches/asm/src/org/python/antlr/PythonTreeTester.java) =================================================================== --- branches/asm/tests/java/org/python/antlr/PythonTreeTester.java (rev 0) +++ branches/asm/tests/java/org/python/antlr/PythonTreeTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -0,0 +1,98 @@ +package org.python.antlr; + +import org.antlr.runtime.ANTLRFileStream; +import org.antlr.runtime.CharStream; +import org.antlr.runtime.CommonTokenStream; +import org.antlr.runtime.RecognitionException; +import org.antlr.runtime.Token; +import org.antlr.runtime.tree.CommonTreeAdaptor; +import org.antlr.runtime.tree.CommonTreeNodeStream; +import org.antlr.runtime.tree.Tree; +import org.antlr.runtime.tree.TreeAdaptor; + +/** + * A walker producing a <code>PythonTree</code> AST. + */ +public class PythonTreeTester { + + public enum Block { MODULE, INTERACTIVE, EXPRESSION }; + + private boolean _parseOnly; + private Block _block; + + public PythonTreeTester() { + setParseOnly(false); + setBlock(Block.MODULE); + } + + public PythonTree parse(String[] args) throws Exception { + PythonTree result = null; + CharStream input = new ANTLRFileStream(args[0]); + PythonLexer lexer = new ModuleParser.PyLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lexer); + tokens.discardOffChannelTokens(true); + PythonTokenSource indentedSource = new PythonTokenSource(tokens); + tokens = new CommonTokenStream(indentedSource); + PythonParser parser = new PythonParser(tokens); + parser.setTreeAdaptor(new PythonTreeAdaptor()); + Tree r = null; + switch (_block) { + case MODULE : + r = (Tree)parser.file_input().tree; + break; + case INTERACTIVE : + r = (Tree)parser.single_input().tree; + break; + case EXPRESSION : + r = (Tree)parser.eval_input().tree; + break; + } + if (args.length > 1) { + System.out.println((r).toStringTree()); + } + if (!isParseOnly()) { + CommonTreeNodeStream nodes = new CommonTreeNodeStream(r); + nodes.setTokenStream(tokens); + PythonWalker walker = new PythonWalker(nodes); + switch (_block) { + case MODULE : + result = walker.module(); + break; + case INTERACTIVE : + result = walker.interactive(); + break; + case EXPRESSION : + result = walker.expression(); + break; + } + + if (args.length > 1) { + System.out.println(result.toStringTree()); + } + } + return result; + } + + /** + * If set to <code>true</code>, only <code>PythonParser</code> is + * called. + * + * @param parseOnly + */ + public void setParseOnly(boolean parseOnly) { + _parseOnly = parseOnly; + } + + public boolean isParseOnly() { + return _parseOnly; + } + + public void setBlock(Block block) { + _block = block; + } + + public Block getBlock() { + return _block; + } + +} Copied: branches/asm/tests/java/org/python/antlr/WalkerTester.java (from rev 5013, branches/asm/src/org/python/antlr/WalkerTester.java) =================================================================== --- branches/asm/tests/java/org/python/antlr/WalkerTester.java (rev 0) +++ branches/asm/tests/java/org/python/antlr/WalkerTester.java 2008-07-29 12:31:46 UTC (rev 5018) @@ -0,0 +1,11 @@ +package org.python.antlr; + +public class WalkerTester extends PythonTreeTester { + + public static void main(String[] args) throws Exception { + PythonTreeTester walker = new PythonTreeTester(); + walker.setParseOnly(false); + walker.parse(args); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |