[Pydev-cvs] org.python.pydev.parser/src/org/python/pydev/parser/grammar25 TreeBuilder25.java, 1.4,
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2006-09-16 22:19:56
|
Update of /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9001/src/org/python/pydev/parser/grammar25 Modified Files: TreeBuilder25.java PythonGrammar25TokenManager.java PythonGrammar25.java python.jjt Log Message: Index: PythonGrammar25.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/PythonGrammar25.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PythonGrammar25.java 16 Sep 2006 20:24:50 -0000 1.8 --- PythonGrammar25.java 16 Sep 2006 22:19:53 -0000 1.9 *************** *** 11,14 **** --- 11,15 ---- import org.python.pydev.parser.jython.ast.Tuple; import org.python.pydev.parser.jython.ast.ImportFrom; + import org.python.pydev.parser.jython.ast.NameTok; import org.python.pydev.core.IPythonNature; import org.python.pydev.parser.jython.IParserHost; *************** *** 55,59 **** // just check if it is the class we were expecting. if (peeked.getClass().equals(class_) == false) { [...1663 lines suppressed...] } --- 8427,8431 ---- jjtree.reset(); jj_gen = 0; ! for (int i = 0; i < 125; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } *************** *** 8512,8516 **** jj_kind = -1; } ! for (int i = 0; i < 124; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { --- 8546,8550 ---- jj_kind = -1; } ! for (int i = 0; i < 125; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { Index: TreeBuilder25.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/TreeBuilder25.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TreeBuilder25.java 16 Sep 2006 20:13:38 -0000 1.4 --- TreeBuilder25.java 16 Sep 2006 22:19:53 -0000 1.5 *************** *** 423,427 **** return ret; case JJTYIELD_STMT: ! return new Yield(((exprType) stack.popNode())); case JJTRAISE_STMT: exprType tback = arity >= 3 ? ((exprType) stack.popNode()) : null; --- 423,432 ---- return ret; case JJTYIELD_STMT: ! exprType yieldExpr = null; ! if(arity > 0){ ! //we may have an empty yield, so, we have to check it before ! yieldExpr = (exprType) stack.popNode(); ! } ! return new Yield(yieldExpr); case JJTRAISE_STMT: exprType tback = arity >= 3 ? ((exprType) stack.popNode()) : null; Index: python.jjt =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/python.jjt,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** python.jjt 16 Sep 2006 20:24:50 -0000 1.9 --- python.jjt 16 Sep 2006 22:19:53 -0000 1.10 *************** *** 32,35 **** --- 32,36 ---- import org.python.pydev.parser.jython.ast.Tuple; import org.python.pydev.parser.jython.ast.ImportFrom; + import org.python.pydev.parser.jython.ast.NameTok; import org.python.pydev.core.IPythonNature; import org.python.pydev.parser.jython.IParserHost; *************** *** 77,81 **** // just check if it is the class we were expecting. if (peeked.getClass().equals(class_) == false) { ! throw new RuntimeException("Error, expecting another class."); } } --- 78,82 ---- // just check if it is the class we were expecting. if (peeked.getClass().equals(class_) == false) { ! throw new RuntimeException("Error, expecting class:"+class_+" received class:"+peeked.getClass()+" Representation:"+peeked); } } *************** *** 994,998 **** //yield_stmt: 'yield' [testlist] void yield_stmt(): {} ! { <YIELD> SmartTestList() {this.addToPeek("yield ",false, Yield.class);}} //raise_stmt: 'raise' [test [',' test [',' test]]] --- 995,1000 ---- //yield_stmt: 'yield' [testlist] void yield_stmt(): {} ! { <YIELD> [SmartTestList()] {this.addToPeek("yield ",false, Yield.class);}} ! //raise_stmt: 'raise' [test [',' test [',' test]]] *************** *** 1019,1024 **** //because it confuses the import with the dotted name (LOOKAHEAD(3) ! ("." {level++;} ("." {level++;} )* <IMPORT> {this.addSpecialToken(" import ");} ) ! | ("." {level++;} )* dotted_name() <IMPORT> {this.addSpecialToken(" import ");} ) ( --- 1021,1026 ---- //because it confuses the import with the dotted name (LOOKAHEAD(3) ! ("." {this.addSpecialToken(".");level++;} ("." {this.addSpecialToken(".");level++;} )* <IMPORT> {this.addSpecialToken(" import ");} ) ! | ("." {this.addSpecialToken(".");level++;} )* dotted_name() <IMPORT> {this.addSpecialToken(" import ");} ) ( *************** *** 1164,1172 **** //with_stmt: 'with' test [ with_var ] ':' suite void with_stmt(): {} ! { <WITH> test() [with_var()] <COLON> suite() } //with_var: 'as' expr void with_var():{} ! { <AS> expr()} //suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT --- 1166,1174 ---- //with_stmt: 'with' test [ with_var ] ':' suite void with_stmt(): {} ! { <WITH> {this.addSpecialToken("with ", STRATEGY_BEFORE_NEXT);} test() [with_var()] <COLON> { this.addSpecialToken(":");} suite() } //with_var: 'as' expr void with_var():{} ! { <AS> {this.addSpecialToken(" as ", STRATEGY_BEFORE_NEXT);} expr()} //suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT Index: PythonGrammar25TokenManager.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/PythonGrammar25TokenManager.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PythonGrammar25TokenManager.java 16 Sep 2006 12:15:43 -0000 1.3 --- PythonGrammar25TokenManager.java 16 Sep 2006 22:19:53 -0000 1.4 *************** *** 11,14 **** --- 11,15 ---- import org.python.pydev.parser.jython.ast.Tuple; import org.python.pydev.parser.jython.ast.ImportFrom; + import org.python.pydev.parser.jython.ast.NameTok; import org.python.pydev.core.IPythonNature; import org.python.pydev.parser.jython.IParserHost; |