[Pydev-cvs] org.python.pydev.parser/src/org/python/pydev/parser/grammar25 PythonGrammar25TokenMana
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2006-09-15 01:19:21
|
Update of /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4734/src/org/python/pydev/parser/grammar25 Modified Files: TreeBuilder.java build.xml python.jjt Added Files: PythonGrammar25TokenManager.java PythonGrammar25.java PythonGrammar25TreeConstants.java JJTPythonGrammar25State.java PythonGrammar25Constants.java Removed Files: JJTPythonGrammarState.java Log Message: Ok, one more step to the separation, but the regeneration of the grammar is still not completely automatic... Index: build.xml =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/build.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** build.xml 15 Sep 2006 01:01:14 -0000 1.1 --- build.xml 15 Sep 2006 01:19:18 -0000 1.2 *************** *** 2,6 **** <property name="javaccHome" value="E:\install\Dev.JavaCC\javacc-4.0" /> ! <property name="basedir" value="e:\eclipse_workspace\org.python.pydev.parser\src\org\python\pydev\parser\jython" /> <property name="parser.dir" value="${basedir}" /> --- 2,6 ---- <property name="javaccHome" value="E:\install\Dev.JavaCC\javacc-4.0" /> ! <property name="basedir" value="e:\eclipse_workspace\org.python.pydev.parser\src\org\python\pydev\parser\grammar25" /> <property name="parser.dir" value="${basedir}" /> *************** *** 51,60 **** <!-- do not delete file="${parser.dir}/TokenMgrError.java" --> <!-- do not delete file="${parser.dir}/ParseException.java" --> ! <delete file="${parser.dir}/PythonGrammar.java" /> ! <delete file="${parser.dir}/PythonGrammarTreeConstants.java" /> ! <delete file="${parser.dir}/PythonGrammarTokenManager.java" /> ! <delete file="${parser.dir}/PythonGrammarConstants.java" /> ! <delete file="${parser.dir}/CharStream.java" /> <!-- +++ TODO: maybe this could be allowed (checkin): --> <!-- <delete file="${parser.dir}/Token.java" /> --> </target> --- 51,60 ---- <!-- do not delete file="${parser.dir}/TokenMgrError.java" --> <!-- do not delete file="${parser.dir}/ParseException.java" --> ! <delete file="${parser.dir}/PythonGrammar25.java" /> ! <delete file="${parser.dir}/PythonGrammar25TreeConstants.java" /> ! <delete file="${parser.dir}/PythonGrammar25TokenManager.java" /> ! <delete file="${parser.dir}/PythonGrammar25Constants.java" /> <!-- +++ TODO: maybe this could be allowed (checkin): --> + <!--<delete file="${parser.dir}/CharStream.java" />--> <!-- <delete file="${parser.dir}/Token.java" /> --> </target> *************** *** 75,80 **** </java> <delete file="${parser.dir}/python.jj" /> ! <echo>Updating jjFillToken in file PythonGrammarTokenManager.java</echo> ! <replace file="${parser.dir}/PythonGrammarTokenManager.java" token="Token t = Token.newToken(jjmatchedKind)" value="Token t = new Token()"/> </target> --- 75,84 ---- </java> <delete file="${parser.dir}/python.jj" /> ! ! <echo>Updating jjFillToken in file PythonGrammar25TokenManager.java</echo> ! <replace file="${parser.dir}/PythonGrammar25TokenManager.java" token="Token t = Token.newToken(jjmatchedKind)" value="Token t = new Token()"/> ! ! <echo>Updating jjtree.builder.openNode</echo> ! <replace file="${parser.dir}/PythonGrammar25TokenManager.java" token="Token t = Token.newToken(jjmatchedKind)" value="Token t = new Token()"/> </target> --- NEW FILE: PythonGrammar25.java --- /* Generated By:JJTree&JavaCC: Do not edit this line. PythonGrammar25.java */ package org.python.pydev.parser.grammar25; import java.util.Iterator; import java.util.List; import org.python.pydev.parser.jython.CharStream; import org.python.pydev.parser.jython.IParserHost; import org.python.pydev.parser.jython.Node; import org.python.pydev.parser.jython.ParseException; import org.python.pydev.parser.jython.SimpleNode; import org.python.pydev.parser.jython.SpecialStr; import org.python.pydev.parser.jython.Token; import org.python.pydev.parser.jython.TokenMgrError; import org.python.pydev.parser.jython.ast.Call; import org.python.pydev.parser.jython.ast.Import; import org.python.pydev.parser.jython.ast.ImportFrom; import org.python.pydev.parser.jython.ast.Str; import org.python.pydev.parser.jython.ast.Yield; import org.python.pydev.parser.jython.ast.modType; [...8555 lines suppressed...] jj_rescan = false; } final private void jj_save(int index, int xla) { JJCalls p = jj_2_rtns[index]; while (p.gen > jj_gen) { if (p.next == null) { p = p.next = new JJCalls(); break; } p = p.next; } p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; } static final class JJCalls { int gen; Token first; int arg; JJCalls next; } } --- JJTPythonGrammarState.java DELETED --- --- NEW FILE: JJTPythonGrammar25State.java --- /* Generated By:JJTree: Do not edit this line. D:/jython/CVS.parser/org/python/parser\JJTPythonGrammarState.java */ // Modified by hand. The two closeNodeScope method have been rewritten // completely and is used when building the AST tree bottom-up. package org.python.pydev.parser.grammar25; import org.python.pydev.core.structure.FastStack; import org.python.pydev.parser.jython.Node; import org.python.pydev.parser.jython.ParseException; import org.python.pydev.parser.jython.SimpleNode; class JJTPythonGrammar25State { private FastStack<SimpleNode> nodes; private IntStack marks; private IntStack lines; private IntStack columns; private int sp; // number of nodes on stack private int mk; // current mark private boolean node_created; TreeBuilder builder; JJTPythonGrammar25State() { nodes = new FastStack<SimpleNode>(); marks = new IntStack(); lines = new IntStack(); columns = new IntStack(); sp = 0; mk = 0; builder = new TreeBuilder(this); } /* Determines whether the current node was actually closed and pushed. This should only be called in the final user action of a node scope. */ boolean nodeCreated() { return node_created; } /* Call this to reinitialize the node stack. It is called automatically by the parser's ReInit() method. */ void reset() { nodes.removeAllElements(); marks.removeAllElements(); sp = 0; mk = 0; } /* Returns the root node of the AST. It only makes sense to call this after a successful parse. */ Node rootNode() { return nodes.getFirst(); } /* Pushes a node on to the stack. */ void pushNode(SimpleNode n) { nodes.push(n); ++sp; } /* Returns the node on the top of the stack, and remove it from the stack. */ SimpleNode popNode() { if (--sp < mk) { mk = marks.pop(); } return nodes.pop(); } /* Returns the node currently on the top of the stack. */ SimpleNode peekNode() { return nodes.peek(); } /* Returns the number of children on the stack in the current node scope. */ int nodeArity() { return sp - mk; } void pushNodePos(int line, int col) { lines.push(line); columns.push(col); } SimpleNode setNodePos() { SimpleNode n = (SimpleNode) peekNode(); int popLine = lines.pop(); if(n.beginLine == 0) n.beginLine = popLine; int popCol = columns.pop(); if(n.beginColumn == 0) n.beginColumn = popCol; return n; } void clearNodeScope(Node n) { while (sp > mk) { popNode(); } mk = marks.pop(); } void openNodeScope(Node n) { marks.push(mk); mk = sp; } /* A definite node is constructed from a specified number of children. That number of nodes are popped from the stack and made the children of the definite node. Then the definite node is pushed on to the stack. */ void closeNodeScope(Node n, int num) throws ParseException { SimpleNode sn = (SimpleNode) n; mk = marks.pop(); SimpleNode newNode = null; try { newNode = builder.closeNode(sn, num); } catch (ParseException exc) { throw exc; } catch (Exception exc) { exc.printStackTrace(); throw new ParseException("Internal error:" + exc); } if (newNode == null) { throw new ParseException("Internal AST builder error"); } pushNode(newNode); node_created = true; } /* A conditional node is constructed if its condition is true. All the nodes that have been pushed since the node was opened are made children of the the conditional node, which is then pushed on to the stack. If the condition is false the node is not constructed and they are left on the stack. */ void closeNodeScope(Node n, boolean condition) throws ParseException { SimpleNode sn = (SimpleNode) n; if (condition) { SimpleNode newNode = null; try { newNode = builder.closeNode(sn, nodeArity()); } catch (ParseException exc) { throw exc; } catch (Exception exc) { exc.printStackTrace(); throw new ParseException("Internal error:" + exc); } if (newNode == null) { throw new ParseException("Internal AST builder error"); } if(marks.size() > 0){ mk = marks.pop(); }else{ mk = 0; } pushNode(newNode); node_created = true; } else { mk = marks.pop(); node_created = false; } } } /** * IntStack implementation. During all the tests, it didn't have it's size raised, * so, 50 is probably a good overall size... (max on python lib was 40) */ class IntStack { int[] stack; int sp = 0; public IntStack() { stack = new int[50]; } public void removeAllElements() { sp = 0; } public int size() { return sp; } public int elementAt(int idx) { return stack[idx]; } public void push(int val) { if (sp >= stack.length) { int[] newstack = new int[sp*2]; System.arraycopy(stack, 0, newstack, 0, sp); stack = newstack; } stack[sp++] = val; } public int pop() { return stack[--sp]; } } --- NEW FILE: PythonGrammar25TreeConstants.java --- /* Generated By:JJTree: Do not edit this line. D:\workspace with spaces\org.python.pydev.parser\src\org\python\pydev\parser\grammar25\PythonGrammar25TreeConstants.java */ package org.python.pydev.parser.grammar25; public interface PythonGrammar25TreeConstants { public int JJTSINGLE_INPUT = 0; public int JJTFILE_INPUT = 1; public int JJTEVAL_INPUT = 2; public int JJTFUNCDEF = 3; public int JJTDECORATORS = 4; public int JJTBEGIN_DECORATOR = 5; public int JJTVOID = 6; public int JJTEXTRAARGLIST = 7; public int JJTEXTRAKEYWORDLIST = 8; public int JJTDEFAULTARG = 9; public int JJTTUPLE = 10; public int JJTAUG_PLUS = 11; public int JJTAUG_MINUS = 12; public int JJTAUG_MULTIPLY = 13; public int JJTAUG_DIVIDE = 14; public int JJTAUG_FLOORDIVIDE = 15; public int JJTAUG_MODULO = 16; public int JJTAUG_AND = 17; public int JJTAUG_OR = 18; public int JJTAUG_XOR = 19; public int JJTAUG_LSHIFT = 20; public int JJTAUG_RSHIFT = 21; public int JJTAUG_POWER = 22; public int JJTEXPR_STMT = 23; public int JJTPRINTEXT_STMT = 24; public int JJTPRINT_STMT = 25; public int JJTDEL_STMT = 26; public int JJTBEGIN_DEL_STMT = 27; public int JJTPASS_STMT = 28; public int JJTBREAK_STMT = 29; public int JJTCONTINUE_STMT = 30; public int JJTRETURN_STMT = 31; public int JJTBEGIN_RETURN_STMT = 32; public int JJTYIELD_STMT = 33; public int JJTRAISE_STMT = 34; public int JJTIMPORT = 35; public int JJTIMPORTFROM = 36; public int JJTDOTTED_AS_NAME = 37; public int JJTDOTTED_NAME = 38; public int JJTIMPORT_AS_NAME = 39; public int JJTGLOBAL_STMT = 40; public int JJTEXEC_STMT = 41; public int JJTASSERT_STMT = 42; public int JJTIF_STMT = 43; public int JJTBEGIN_IF_STMT = 44; public int JJTBEGIN_ELIF_STMT = 45; public int JJTWHILE_STMT = 46; public int JJTBEGIN_WHILE_STMT = 47; public int JJTBEGIN_ELSE_STMT = 48; public int JJTFOR_STMT = 49; public int JJTBEGIN_FOR_STMT = 50; public int JJTBEGIN_FOR_ELSE_STMT = 51; public int JJTTRYELSE_STMT = 52; public int JJTTRYFINALLY_OUTER_STMT = 53; public int JJTTRY_STMT = 54; public int JJTTRYFINALLY_STMT = 55; public int JJTBEGIN_TRY_STMT = 56; public int JJTBEGIN_TRY_ELSE_STMT = 57; public int JJTBEGIN_FINALLY_STMT = 58; public int JJTEXCEPT_CLAUSE = 59; public int JJTBEGIN_EXCEPT_CLAUSE = 60; public int JJTWITH_STMT = 61; public int JJTWITH_VAR = 62; public int JJTSUITE = 63; public int JJTOLD_LAMBDEF = 64; public int JJTIF_EXP = 65; public int JJTOR_BOOLEAN = 66; public int JJTAND_BOOLEAN = 67; public int JJTNOT_1OP = 68; public int JJTCOMPARISION = 69; public int JJTLESS_CMP = 70; public int JJTGREATER_CMP = 71; public int JJTEQUAL_CMP = 72; public int JJTGREATER_EQUAL_CMP = 73; public int JJTLESS_EQUAL_CMP = 74; public int JJTNOTEQUAL_CMP = 75; public int JJTIN_CMP = 76; public int JJTNOT_IN_CMP = 77; public int JJTIS_NOT_CMP = 78; public int JJTIS_CMP = 79; public int JJTOR_2OP = 80; public int JJTXOR_2OP = 81; public int JJTAND_2OP = 82; public int JJTLSHIFT_2OP = 83; public int JJTRSHIFT_2OP = 84; public int JJTADD_2OP = 85; public int JJTSUB_2OP = 86; public int JJTMUL_2OP = 87; public int JJTDIV_2OP = 88; public int JJTFLOORDIV_2OP = 89; public int JJTMOD_2OP = 90; public int JJTPOS_1OP = 91; public int JJTNEG_1OP = 92; public int JJTINVERT_1OP = 93; public int JJTPOW_2OP = 94; public int JJTCALL_OP = 95; public int JJTINDEX_OP = 96; public int JJTDOT_OP = 97; public int JJTLIST = 98; public int JJTDICTIONARY = 99; public int JJTSTR_1OP = 100; public int JJTSTRJOIN = 101; public int JJTLAMBDEF = 102; public int JJTSUBSCRIPTLIST = 103; public int JJTELLIPSES = 104; public int JJTSLICE = 105; public int JJTCOLON = 106; public int JJTCOMMA = 107; public int JJTLIST_FOR = 108; public int JJTCLASSDEF = 109; public int JJTEXTRAARGVALUELIST = 110; public int JJTEXTRAKEYWORDVALUELIST = 111; public int JJTKEYWORD = 112; public int JJTNUM = 113; public int JJTCOMPLEX = 114; public int JJTNAME = 115; public int JJTSTRING = 116; public int JJTUNICODE = 117; public String[] jjtNodeName = { "single_input", "file_input", "eval_input", "funcdef", "decorators", "begin_decorator", "void", "ExtraArgList", "ExtraKeywordList", "defaultarg", "tuple", "aug_plus", "aug_minus", "aug_multiply", "aug_divide", "aug_floordivide", "aug_modulo", "aug_and", "aug_or", "aug_xor", "aug_lshift", "aug_rshift", "aug_power", "expr_stmt", "printext_stmt", "print_stmt", "del_stmt", "begin_del_stmt", "pass_stmt", "break_stmt", "continue_stmt", "return_stmt", "begin_return_stmt", "yield_stmt", "raise_stmt", "Import", "ImportFrom", "dotted_as_name", "dotted_name", "import_as_name", "global_stmt", "exec_stmt", "assert_stmt", "if_stmt", "begin_if_stmt", "begin_elif_stmt", "while_stmt", "begin_while_stmt", "begin_else_stmt", "for_stmt", "begin_for_stmt", "begin_for_else_stmt", "tryelse_stmt", "tryfinally_outer_stmt", "try_stmt", "tryfinally_stmt", "begin_try_stmt", "begin_try_else_stmt", "begin_finally_stmt", "except_clause", "begin_except_clause", "with_stmt", "with_var", "suite", "old_lambdef", "if_exp", "or_boolean", "and_boolean", "not_1op", "comparision", "less_cmp", "greater_cmp", "equal_cmp", "greater_equal_cmp", "less_equal_cmp", "notequal_cmp", "in_cmp", "not_in_cmp", "is_not_cmp", "is_cmp", "or_2op", "xor_2op", "and_2op", "lshift_2op", "rshift_2op", "add_2op", "sub_2op", "mul_2op", "div_2op", "floordiv_2op", "mod_2op", "pos_1op", "neg_1op", "invert_1op", "pow_2op", "Call_Op", "Index_Op", "Dot_Op", "list", "dictionary", "str_1op", "strjoin", "lambdef", "subscriptlist", "Ellipses", "Slice", "Colon", "Comma", "list_for", "classdef", "ExtraArgValueList", "ExtraKeywordValueList", "Keyword", "Num", "Complex", "Name", "String", "Unicode", }; } --- NEW FILE: PythonGrammar25Constants.java --- /* Generated By:JJTree&JavaCC: Do not edit this line. PythonGrammar25Constants.java */ package org.python.pydev.parser.grammar25; public interface PythonGrammar25Constants { int EOF = 0; int SPACE = 1; int CONTINUATION = 4; int NEWLINE1 = 5; int NEWLINE = 6; int NEWLINE2 = 7; int CRLF1 = 12; int DEDENT = 14; int INDENT = 15; int TRAILING_COMMENT = 16; int SINGLE_LINE_COMMENT = 17; int LPAREN = 18; int RPAREN = 19; int LBRACE = 20; int RBRACE = 21; int LBRACKET = 22; int RBRACKET = 23; int SEMICOLON = 24; int COMMA = 25; int DOT = 26; int COLON = 27; int PLUS = 28; int MINUS = 29; int MULTIPLY = 30; int DIVIDE = 31; int FLOORDIVIDE = 32; int POWER = 33; int LSHIFT = 34; int RSHIFT = 35; int MODULO = 36; int NOT = 37; int XOR = 38; int OR = 39; int AND = 40; int EQUAL = 41; int GREATER = 42; int LESS = 43; int EQEQUAL = 44; int EQLESS = 45; int EQGREATER = 46; int LESSGREATER = 47; int NOTEQUAL = 48; int PLUSEQ = 49; int MINUSEQ = 50; int MULTIPLYEQ = 51; int DIVIDEEQ = 52; int FLOORDIVIDEEQ = 53; int MODULOEQ = 54; int ANDEQ = 55; int OREQ = 56; int XOREQ = 57; int LSHIFTEQ = 58; int RSHIFTEQ = 59; int POWEREQ = 60; int OR_BOOL = 61; int AND_BOOL = 62; int NOT_BOOL = 63; int IS = 64; int IN = 65; int LAMBDA = 66; int IF = 67; int ELSE = 68; int ELIF = 69; int WHILE = 70; int FOR = 71; int TRY = 72; int EXCEPT = 73; int DEF = 74; int CLASS = 75; int FINALLY = 76; int PRINT = 77; int PASS = 78; int BREAK = 79; int CONTINUE = 80; int RETURN = 81; int YIELD = 82; int IMPORT = 83; int FROM = 84; int DEL = 85; int RAISE = 86; int GLOBAL = 87; int EXEC = 88; int ASSERT = 89; int AS = 90; int WITH = 91; int AT = 92; int NAME = 93; int LETTER = 94; int DECNUMBER = 95; int HEXNUMBER = 96; int OCTNUMBER = 97; int FLOAT = 98; int COMPLEX = 99; int EXPONENT = 100; int DIGIT = 101; int SINGLE_STRING = 110; int SINGLE_STRING2 = 111; int TRIPLE_STRING = 112; int TRIPLE_STRING2 = 113; int SINGLE_USTRING = 114; int SINGLE_USTRING2 = 115; int TRIPLE_USTRING = 116; int TRIPLE_USTRING2 = 117; int DEFAULT = 0; int FORCE_NEWLINE1 = 1; int FORCE_NEWLINE2 = 2; int MAYBE_FORCE_NEWLINE_IF_EOF = 3; int INDENTING = 4; int INDENTATION_UNCHANGED = 5; int UNREACHABLE = 6; int IN_STRING11 = 7; int IN_STRING21 = 8; int IN_STRING13 = 9; int IN_STRING23 = 10; int IN_USTRING11 = 11; int IN_USTRING21 = 12; int IN_USTRING13 = 13; int IN_USTRING23 = 14; int IN_STRING1NLC = 15; int IN_STRING2NLC = 16; int IN_USTRING1NLC = 17; int IN_USTRING2NLC = 18; String[] tokenImage = { "<EOF>", "\" \"", "\"\\t\"", "\"\\f\"", "<CONTINUATION>", "<NEWLINE1>", "<NEWLINE>", "<NEWLINE2>", "\"\"", "\"\\t\"", "\" \"", "\"\\f\"", "<CRLF1>", "\"\"", "\"\"", "\"<INDENT>\"", "<TRAILING_COMMENT>", "<SINGLE_LINE_COMMENT>", "\"(\"", "\")\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\";\"", "\",\"", "\".\"", "\":\"", "\"+\"", "\"-\"", "\"*\"", "\"/\"", "\"//\"", "\"**\"", "\"<<\"", "\">>\"", "\"%\"", "\"~\"", "\"^\"", "\"|\"", "\"&\"", "\"=\"", "\">\"", "\"<\"", "\"==\"", "\"<=\"", "\">=\"", "\"<>\"", "\"!=\"", "\"+=\"", "\"-=\"", "\"*=\"", "\"/=\"", "\"//=\"", "\"%=\"", "\"&=\"", "\"|=\"", "\"^=\"", "\"<<=\"", "\">>=\"", "\"**=\"", "\"or\"", "\"and\"", "\"not\"", "\"is\"", "\"in\"", "\"lambda\"", "\"if\"", "\"else\"", "\"elif\"", "\"while\"", "\"for\"", "\"try\"", "\"except\"", "\"def\"", "\"class\"", "\"finally\"", "\"print\"", "\"pass\"", "\"break\"", "\"continue\"", "\"return\"", "\"yield\"", "\"import\"", "\"from\"", "\"del\"", "\"raise\"", "\"global\"", "\"exec\"", "\"assert\"", "\"as\"", "\"with\"", "\"@\"", "<NAME>", "<LETTER>", "<DECNUMBER>", "<HEXNUMBER>", "<OCTNUMBER>", "<FLOAT>", "<COMPLEX>", "<EXPONENT>", "<DIGIT>", "<token of kind 102>", "<token of kind 103>", "<token of kind 104>", "<token of kind 105>", "<token of kind 106>", "<token of kind 107>", "<token of kind 108>", "<token of kind 109>", "\"\\\'\"", "\"\\\"\"", "\"\\\'\\\'\\\'\"", "\"\\\"\\\"\\\"\"", "\"\\\'\"", "\"\\\"\"", "\"\\\'\\\'\\\'\"", "\"\\\"\\\"\\\"\"", "\"\\\\\\r\\n\"", "<token of kind 119>", "\"\\\\\\r\\n\"", "<token of kind 121>", "\"\\\\\\r\\n\"", "<token of kind 123>", "\"\\\\\\r\\n\"", "<token of kind 125>", "\"\"", "\"\"", "\"\"", "\"\"", "<token of kind 130>", "<token of kind 131>", "\"\\r\\n\"", "\"\\n\"", "\"\\r\"", "<token of kind 135>", "<token of kind 136>", "\"`\"", }; } Index: python.jjt =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/python.jjt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** python.jjt 15 Sep 2006 01:01:14 -0000 1.1 --- python.jjt 15 Sep 2006 01:19:18 -0000 1.2 *************** *** 20,25 **** ! PARSER_BEGIN(PythonGrammar) ! package org.python.pydev.parser.jython; import org.python.pydev.parser.jython.ast.modType; import java.util.List; --- 20,25 ---- ! PARSER_BEGIN(PythonGrammar25) ! package org.python.pydev.parser.grammar25; import org.python.pydev.parser.jython.ast.modType; import java.util.List; *************** *** 34,38 **** import org.python.pydev.core.IPythonNature; ! public class PythonGrammar { --- 34,38 ---- import org.python.pydev.core.IPythonNature; ! public class PythonGrammar25 { *************** *** 368,372 **** // constructors taking a IParserHost impl ! public PythonGrammar(CharStream stream,IParserHost host, int grammarVersion) { this(stream); hostLiteralMkr = host; --- 368,372 ---- // constructors taking a IParserHost impl ! public PythonGrammar25(CharStream stream,IParserHost host, int grammarVersion) { this(stream); hostLiteralMkr = host; *************** *** 374,378 **** } ! public PythonGrammar(PythonGrammarTokenManager tm, IParserHost host, int grammarVersion) { --- 374,378 ---- } ! public PythonGrammar25(PythonGrammarTokenManager25 tm, IParserHost host, int grammarVersion) { *************** *** 385,389 **** ! PARSER_END(PythonGrammar) TOKEN_MGR_DECLS: --- 385,389 ---- ! PARSER_END(PythonGrammar25) TOKEN_MGR_DECLS: --- NEW FILE: PythonGrammar25TokenManager.java --- /* Generated By:JJTree&JavaCC: Do not edit this line. PythonGrammar25TokenManager.java */ package org.python.pydev.parser.grammar25; import java.util.ArrayList; import java.util.List; import org.python.pydev.parser.jython.CharStream; import org.python.pydev.parser.jython.Token; import org.python.pydev.parser.jython.TokenMgrError; public class PythonGrammar25TokenManager implements PythonGrammar25Constants { int indentation[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int level = 0; int dedents = 0; int parens = 0; int indent; boolean expect_indent = false; [...3871 lines suppressed...] image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); matchedToken.image = image.toString(); break; case 116 : if (image == null) image = new StringBuffer(); image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); matchedToken.image = image.toString(); break; case 117 : if (image == null) image = new StringBuffer(); image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); matchedToken.image = image.toString(); break; default : break; } } } Index: TreeBuilder.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/TreeBuilder.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TreeBuilder.java 15 Sep 2006 01:00:26 -0000 1.1 --- TreeBuilder.java 15 Sep 2006 01:19:18 -0000 1.2 *************** *** 73,82 **** import org.python.pydev.parser.jython.ast.suiteType; ! public final class TreeBuilder implements PythonGrammarTreeConstants { ! private JJTPythonGrammarState stack; private CtxVisitor ctx; private SimpleNode lastPop; ! public TreeBuilder(JJTPythonGrammarState stack) { this.stack = stack; this.ctx = new CtxVisitor(); --- 73,82 ---- import org.python.pydev.parser.jython.ast.suiteType; ! public final class TreeBuilder implements PythonGrammar25TreeConstants { ! private JJTPythonGrammar25State stack; private CtxVisitor ctx; private SimpleNode lastPop; ! public TreeBuilder(JJTPythonGrammar25State stack) { this.stack = stack; this.ctx = new CtxVisitor(); *************** *** 142,146 **** } ! private static SimpleNode[] nodes = new SimpleNode[PythonGrammarTreeConstants.jjtNodeName.length]; public SimpleNode openNode(int id) { --- 142,146 ---- } ! private static SimpleNode[] nodes = new SimpleNode[PythonGrammar25TreeConstants.jjtNodeName.length]; public SimpleNode openNode(int id) { *************** *** 1157,1161 **** public String toString() { ! return "IdNode[" + PythonGrammarTreeConstants.jjtNodeName[id] + ", " + image + "]"; } --- 1157,1161 ---- public String toString() { ! return "IdNode[" + PythonGrammar25TreeConstants.jjtNodeName[id] + ", " + image + "]"; } |