From b758746f48b37ad79b7a5bdff1c1b5ea4716c66d Mon Sep 17 00:00:00 2001 From: kpouer Date: Thu, 14 Aug 2003 00:30:13 +0000 Subject: [PATCH 1/1] a lot of bugfixes --- net.sourceforge.phpeclipse/src/test/PHPParser.java | 1151 ++++++++++---------- net.sourceforge.phpeclipse/src/test/PHPParser.jj | 191 ++-- .../src/test/PHPParserTokenManager.java | 2 +- .../src/test/SimpleCharStream.java | 13 +- 4 files changed, 705 insertions(+), 652 deletions(-) diff --git a/net.sourceforge.phpeclipse/src/test/PHPParser.java b/net.sourceforge.phpeclipse/src/test/PHPParser.java index bd8c4a3..207a344 100644 --- a/net.sourceforge.phpeclipse/src/test/PHPParser.java +++ b/net.sourceforge.phpeclipse/src/test/PHPParser.java @@ -30,6 +30,10 @@ import net.sourceforge.phpdt.internal.corext.Assert; */ public final class PHPParser extends PHPParserSuperclass implements PHPParserConstants { +//todo : fix the variables names bug +//todo : handle tilde operator + + /** The current segment. */ private static OutlineableWithChildren currentSegment; @@ -60,7 +64,7 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon /** The cursor in expression stack. */ private static int nodePtr; - private static final boolean PARSER_DEBUG = false; + private static final boolean PARSER_DEBUG = true; public final void setFileToParse(final IFile fileToParse) { PHPParser.fileToParse = fileToParse; @@ -295,8 +299,9 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon * Put a new html block in the stack. */ public static final void createNewHTMLCode() { - final int currentPosition = SimpleCharStream.getPosition(); - if (currentPosition == htmlStart || currentPosition > SimpleCharStream.currentBuffer.length()) { + final int currentPosition = token.sourceStart; + if (currentPosition == htmlStart || + currentPosition > SimpleCharStream.currentBuffer.length()) { return; } final char[] chars = SimpleCharStream.currentBuffer.substring(htmlStart,currentPosition+1).toCharArray(); @@ -305,19 +310,20 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon /** Create a new task. */ public static final void createNewTask() { - final int currentPosition = SimpleCharStream.getPosition(); + final int currentPosition = token.sourceStart; final String todo = SimpleCharStream.currentBuffer.substring(currentPosition-3, SimpleCharStream.currentBuffer.indexOf("\n", currentPosition)-1); - PHPeclipsePlugin.log(1,SimpleCharStream.currentBuffer.toString()); - try { - setMarker(fileToParse, - todo, - SimpleCharStream.getBeginLine(), - TASK, - "Line "+SimpleCharStream.getBeginLine()); - } catch (CoreException e) { - PHPeclipsePlugin.log(e); + if (!PARSER_DEBUG) { + try { + setMarker(fileToParse, + todo, + SimpleCharStream.getBeginLine(), + TASK, + "Line "+SimpleCharStream.getBeginLine()); + } catch (CoreException e) { + PHPeclipsePlugin.log(e); + } } } @@ -406,8 +412,8 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon * or */ static final public void PhpBlock() throws ParseException { - final int start = SimpleCharStream.getPosition(); final PHPEchoBlock phpEchoBlock; + final Token token; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PHPECHOSTART: phpEchoBlock = phpEchoBlock(); @@ -466,12 +472,12 @@ public final class PHPParser extends PHPParserSuperclass implements PHPParserCon jj_consume_token(PHPSTARTLONG); break; case PHPSTARTSHORT: - jj_consume_token(PHPSTARTSHORT); + token = jj_consume_token(PHPSTARTSHORT); try { setMarker(fileToParse, "You should use ' @@ -928,12 +933,12 @@ Variable Variable(): ; } if (variable == null) { - {if (true) return new Variable(token.image.substring(1),token.sourceStart,token.sourceEnd);} + {if (true) return new Variable(token.image.substring(1),token.sourceStart+1,token.sourceEnd+1);} } final StringBuffer buff = new StringBuffer(); buff.append(token.image.substring(1)); buff.append(variable.toStringExpression()); - {if (true) return new Variable(buff.toString(),token.sourceStart,variable.sourceEnd);} + {if (true) return new Variable(buff.toString(),token.sourceStart+1,variable.sourceEnd+1);} break; case DOLLAR: token = jj_consume_token(DOLLAR); @@ -967,7 +972,7 @@ Variable Variable(): ; } if (variable == null) { - {if (true) return new Variable(token.image.substring(1),token.sourceStart,token.sourceEnd);} + {if (true) return new Variable(token.image.substring(1),token.sourceStart+1,token.sourceEnd+1);} } final StringBuffer buff = new StringBuffer(); buff.append(token.image.substring(1)); @@ -1004,11 +1009,9 @@ Variable Variable(): static final public ConstantIdentifier VariableName() throws ParseException { final StringBuffer buff; String expr; - final Variable var; Expression expression = null; final Token token; Token token2 = null; - int pos; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LBRACE: token = jj_consume_token(LBRACE); @@ -1019,7 +1022,6 @@ Variable Variable(): buff.append("{"); buff.append(expr); buff.append("}"); - pos = SimpleCharStream.getPosition(); expr = buff.toString(); {if (true) return new ConstantIdentifier(expr, token.sourceStart, @@ -2264,7 +2266,7 @@ final Token token,token1; } static final public Expression PrimaryExpression() throws ParseException { - Expression expr = null; + Expression expr; Token token = null; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NEW: @@ -2296,11 +2298,9 @@ final Token token,token1; } static final public Expression refPrimaryExpression(final Token reference) throws ParseException { - Expression expr = null; + Expression expr; Expression expr2 = null; - int assignOperator = -1; final Token identifier; - final String var; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: identifier = jj_consume_token(IDENTIFIER); @@ -2402,7 +2402,6 @@ final Token token,token1; static final public Expression ClassIdentifier() throws ParseException { final Expression expr; final Token token; - final ConstantIdentifier type; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: token = jj_consume_token(IDENTIFIER); @@ -2437,20 +2436,32 @@ final Token token,token1; * Used by Variabledeclaratorid and primarysuffix */ static final public AbstractVariable VariableSuffix(final AbstractVariable prefix) throws ParseException { - Variable expr = null; - final int pos = SimpleCharStream.getPosition(); Expression expression = null; + final Token classAccessToken; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case CLASSACCESS: - jj_consume_token(CLASSACCESS); + classAccessToken = jj_consume_token(CLASSACCESS); try { - expression = VariableName(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case IDENTIFIER: + case LBRACE: + expression = VariableName(); + break; + case DOLLAR: + case DOLLAR_ID: + expression = Variable(); + break; + default: + jj_la1[69] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function call or field access expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - {if (true) throw e;} + errorStart = classAccessToken.sourceEnd +1; + errorEnd = classAccessToken.sourceEnd +1; + processParseExceptionDebug(e); } {if (true) return new ClassAccess(prefix, expression, @@ -2525,13 +2536,13 @@ final Token token,token1; expression = Type(); break; default: - jj_la1[69] = jj_gen; + jj_la1[70] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[70] = jj_gen; + jj_la1[71] = jj_gen; ; } try { @@ -2546,7 +2557,7 @@ final Token token,token1; {if (true) return new ArrayDeclarator(prefix,expression,SimpleCharStream.getPosition());} break; default: - jj_la1[71] = jj_gen; + jj_la1[72] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2581,7 +2592,7 @@ final Token token,token1; {if (true) return new NullLiteral(token);} break; default: - jj_la1[72] = jj_gen; + jj_la1[73] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2617,7 +2628,7 @@ final Token token; args = ArgumentList(); break; default: - jj_la1[73] = jj_gen; + jj_la1[74] = jj_gen; ; } try { @@ -2650,7 +2661,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[74] = jj_gen; + jj_la1[75] = jj_gen; break label_20; } jj_consume_token(COMMA); @@ -2741,7 +2752,7 @@ final ArrayList list = new ArrayList(); token = jj_consume_token(AT); break; default: - jj_la1[75] = jj_gen; + jj_la1[76] = jj_gen; ; } statement = IncludeStatement(); @@ -2764,7 +2775,7 @@ final ArrayList list = new ArrayList(); currentSegment.add((Outlineable)statement);{if (true) return statement;} break; default: - jj_la1[76] = jj_gen; + jj_la1[77] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2907,7 +2918,7 @@ final ArrayList list = new ArrayList(); {if (true) return statement;} break; default: - jj_la1[77] = jj_gen; + jj_la1[78] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2929,7 +2940,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[78] = jj_gen; + jj_la1[79] = jj_gen; break label_21; } phpEchoBlock(); @@ -2943,7 +2954,7 @@ final ArrayList list = new ArrayList(); jj_consume_token(PHPSTARTSHORT); break; default: - jj_la1[79] = jj_gen; + jj_la1[80] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2988,7 +2999,7 @@ final ArrayList list = new ArrayList(); keyword = InclusionStatement.INCLUDE_ONCE; break; default: - jj_la1[80] = jj_gen; + jj_la1[81] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3037,15 +3048,16 @@ final ArrayList list = new ArrayList(); final Expression expression; final ArrayList list = new ArrayList(); final int pos = SimpleCharStream.getPosition(); - jj_consume_token(LIST); + final Token listToken; + listToken = jj_consume_token(LIST); try { jj_consume_token(LPAREN); } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - {if (true) throw e;} + errorStart = listToken.sourceEnd+1; + errorEnd = listToken.sourceEnd+1; + processParseExceptionDebug(e); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DOLLAR: @@ -3054,7 +3066,7 @@ final ArrayList list = new ArrayList(); list.add(expr); break; default: - jj_la1[81] = jj_gen; + jj_la1[82] = jj_gen; ; } if (expr == null) list.add(null); @@ -3065,7 +3077,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[82] = jj_gen; + jj_la1[83] = jj_gen; break label_22; } try { @@ -3084,7 +3096,7 @@ final ArrayList list = new ArrayList(); list.add(expr); break; default: - jj_la1[83] = jj_gen; + jj_la1[84] = jj_gen; ; } } @@ -3101,7 +3113,7 @@ final ArrayList list = new ArrayList(); case ASSIGN: jj_consume_token(ASSIGN); expression = Expression(); - final Variable[] vars = new Variable[list.size()]; + final AbstractVariable[] vars = new AbstractVariable[list.size()]; list.toArray(vars); {if (true) return new ListExpression(vars, expression, @@ -3109,7 +3121,7 @@ final ArrayList list = new ArrayList(); SimpleCharStream.getPosition());} break; default: - jj_la1[84] = jj_gen; + jj_la1[85] = jj_gen; ; } final Variable[] vars = new Variable[list.size()]; @@ -3137,7 +3149,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[85] = jj_gen; + jj_la1[86] = jj_gen; break label_23; } jj_consume_token(COMMA); @@ -3179,7 +3191,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[86] = jj_gen; + jj_la1[87] = jj_gen; break label_24; } jj_consume_token(COMMA); @@ -3220,7 +3232,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[87] = jj_gen; + jj_la1[88] = jj_gen; break label_25; } jj_consume_token(COMMA); @@ -3323,7 +3335,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[88] = jj_gen; + jj_la1[89] = jj_gen; break label_26; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3377,7 +3389,7 @@ final ArrayList list = new ArrayList(); list.add(statement); break; default: - jj_la1[89] = jj_gen; + jj_la1[90] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3464,7 +3476,7 @@ final ArrayList list = new ArrayList(); {if (true) return statement;} break; default: - jj_la1[90] = jj_gen; + jj_la1[91] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3530,7 +3542,7 @@ final ArrayList list = new ArrayList(); {if (true) return statement;} break; default: - jj_la1[91] = jj_gen; + jj_la1[92] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3540,10 +3552,10 @@ final ArrayList list = new ArrayList(); /** * used only by ForInit() */ - static final public VariableDeclaration[] LocalVariableDeclaration() throws ParseException { + static final public Expression[] LocalVariableDeclaration() throws ParseException { final ArrayList list = new ArrayList(); - VariableDeclaration var; - var = LocalVariableDeclarator(); + Expression var; + var = Expression(); list.add(var); label_27: while (true) { @@ -3552,16 +3564,16 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[92] = jj_gen; + jj_la1[93] = jj_gen; break label_27; } jj_consume_token(COMMA); - var = LocalVariableDeclarator(); - list.add(var); + var = Expression(); + list.add(var); } - final VariableDeclaration[] vars = new VariableDeclaration[list.size()]; + final Expression[] vars = new Expression[list.size()]; list.toArray(vars); - {if (true) return vars;} + {if (true) return vars;} throw new Error("Missing return statement in function"); } @@ -3578,7 +3590,7 @@ final ArrayList list = new ArrayList(); initializer = Expression(); break; default: - jj_la1[93] = jj_gen; + jj_la1[94] = jj_gen; ; } if (initializer == null) { @@ -3606,8 +3618,7 @@ final ArrayList list = new ArrayList(); * used only by StatementExpressionList() which is used only by ForInit() and ForStatement() */ static final public Expression StatementExpression() throws ParseException { - final Expression expr,expr2; - final int operator; + final Expression expr; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS_PLUS: case MINUS_MINUS: @@ -3638,19 +3649,19 @@ final ArrayList list = new ArrayList(); SimpleCharStream.getPosition());} break; default: - jj_la1[94] = jj_gen; + jj_la1[95] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[95] = jj_gen; + jj_la1[96] = jj_gen; ; } {if (true) return expr;} break; default: - jj_la1[96] = jj_gen; + jj_la1[97] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3661,7 +3672,8 @@ final ArrayList list = new ArrayList(); final Expression variable; final AbstractCase[] cases; final int pos = SimpleCharStream.getPosition(); - jj_consume_token(SWITCH); + final Token switchToken; + switchToken = jj_consume_token(SWITCH); try { jj_consume_token(LPAREN); } catch (ParseException e) { @@ -3697,14 +3709,14 @@ final ArrayList list = new ArrayList(); cases = switchStatementBrace(); break; case COLON: - cases = switchStatementColon(pos, pos + 6); + cases = switchStatementColon(switchToken.sourceStart, switchToken.sourceEnd); break; default: - jj_la1[97] = jj_gen; + jj_la1[98] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - {if (true) return new SwitchStatement(variable,cases,pos,SimpleCharStream.getPosition());} + {if (true) return new SwitchStatement(variable,cases,switchToken.sourceStart,SimpleCharStream.getPosition());} throw new Error("Missing return statement in function"); } @@ -3720,7 +3732,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[98] = jj_gen; + jj_la1[99] = jj_gen; break label_28; } cas = switchLabel0(); @@ -3768,7 +3780,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[99] = jj_gen; + jj_la1[100] = jj_gen; break label_29; } cas = switchLabel0(); @@ -3852,7 +3864,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[100] = jj_gen; + jj_la1[101] = jj_gen; break label_30; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3905,7 +3917,7 @@ final ArrayList list = new ArrayList(); stmts.add(statement); break; default: - jj_la1[101] = jj_gen; + jj_la1[102] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3916,7 +3928,7 @@ final ArrayList list = new ArrayList(); stmts.add(statement); break; default: - jj_la1[102] = jj_gen; + jj_la1[103] = jj_gen; ; } final Statement[] stmtsArray = new Statement[stmts.size()]; @@ -3945,19 +3957,19 @@ final ArrayList list = new ArrayList(); if (errorMessage != null) {if (true) throw e;} errorMessage = "expression expected after 'case' keyword"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = token.sourceEnd +1; + errorEnd = token.sourceEnd +1; {if (true) throw e;} } try { - jj_consume_token(COLON); + token = jj_consume_token(COLON); {if (true) return expr;} } catch (ParseException e) { errorMessage = "':' expected after case expression"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - {if (true) throw e;} + errorStart = expr.sourceEnd+1; + errorEnd = expr.sourceEnd+1; + processParseExceptionDebug(e); } break; case _DEFAULT: @@ -3968,13 +3980,13 @@ final ArrayList list = new ArrayList(); } catch (ParseException e) { errorMessage = "':' expected after 'default' keyword"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - {if (true) throw e;} + errorStart = token.sourceEnd+1; + errorEnd = token.sourceEnd+1; + processParseExceptionDebug(e); } break; default: - jj_la1[103] = jj_gen; + jj_la1[104] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4010,7 +4022,7 @@ final ArrayList list = new ArrayList(); expression = Expression(); break; default: - jj_la1[104] = jj_gen; + jj_la1[105] = jj_gen; ; } try { @@ -4027,14 +4039,12 @@ final ArrayList list = new ArrayList(); } static final public IfStatement IfStatement() throws ParseException { - final int pos = SimpleCharStream.getPosition(); final Expression condition; final IfStatement ifStatement; Token token; token = jj_consume_token(IF); condition = Condition("if"); - ifStatement = IfStatement0(condition, - token.sourceStart,token.sourceStart+2); + ifStatement = IfStatement0(condition,token.sourceStart,token.sourceEnd); {if (true) return ifStatement;} throw new Error("Missing return statement in function"); } @@ -4126,7 +4136,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[105] = jj_gen; + jj_la1[106] = jj_gen; break label_31; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -4178,7 +4188,7 @@ final ArrayList list = new ArrayList(); stmts.add(statement); break; default: - jj_la1[106] = jj_gen; + jj_la1[107] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4191,7 +4201,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[107] = jj_gen; + jj_la1[108] = jj_gen; break label_32; } elseifStatement = ElseIfStatementColon(); @@ -4202,7 +4212,7 @@ final ArrayList list = new ArrayList(); elseStatement = ElseStatementColon(); break; default: - jj_la1[108] = jj_gen; + jj_la1[109] = jj_gen; ; } try { @@ -4341,7 +4351,7 @@ final ArrayList list = new ArrayList(); stmt = htmlBlock(); break; default: - jj_la1[109] = jj_gen; + jj_la1[110] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4352,7 +4362,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[110] = jj_gen; + jj_la1[111] = jj_gen; break label_33; } elseifStatement = ElseIfStatement(); @@ -4377,7 +4387,7 @@ final ArrayList list = new ArrayList(); } break; default: - jj_la1[111] = jj_gen; + jj_la1[112] = jj_gen; ; } elseIfs = new ElseIf[elseIfList.size()]; @@ -4390,7 +4400,7 @@ final ArrayList list = new ArrayList(); SimpleCharStream.getPosition());} break; default: - jj_la1[112] = jj_gen; + jj_la1[113] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4452,7 +4462,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[113] = jj_gen; + jj_la1[114] = jj_gen; break label_34; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -4504,7 +4514,7 @@ final ArrayList list = new ArrayList(); list.add(statement); break; default: - jj_la1[114] = jj_gen; + jj_la1[115] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4568,7 +4578,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[115] = jj_gen; + jj_la1[116] = jj_gen; break label_35; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -4620,7 +4630,7 @@ final ArrayList list = new ArrayList(); list.add(statement); break; default: - jj_la1[116] = jj_gen; + jj_la1[117] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4710,7 +4720,7 @@ final ArrayList list = new ArrayList(); ; break; default: - jj_la1[117] = jj_gen; + jj_la1[118] = jj_gen; break label_36; } statement = Statement(); @@ -4792,7 +4802,7 @@ final ArrayList list = new ArrayList(); {if (true) return statement;} break; default: - jj_la1[118] = jj_gen; + jj_la1[119] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4889,6 +4899,10 @@ final ArrayList list = new ArrayList(); throw new Error("Missing return statement in function"); } +/** + * a for declaration. + * @return a node representing the for statement + */ static final public ForStatement ForStatement() throws ParseException { final Token token,token2; final int pos = SimpleCharStream.getPosition(); @@ -4897,30 +4911,42 @@ Expression condition = null; Expression[] increments = null; Statement action; final ArrayList list = new ArrayList(); -final int startBlock, endBlock; token = jj_consume_token(FOR); try { jj_consume_token(LPAREN); } catch (ParseException e) { errorMessage = "'(' expected after 'for' keyword"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - {if (true) throw e;} + errorStart = token.sourceEnd; + errorEnd = token.sourceEnd +1; + processParseExceptionDebug(e); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case ARRAY: + case LIST: + case PRINT: case NEW: + case NULL: + case TRUE: + case FALSE: + case AT: case DOLLAR: + case BANG: case PLUS_PLUS: case MINUS_MINUS: + case PLUS: + case MINUS: case BIT_AND: + case INTEGER_LITERAL: + case FLOATING_POINT_LITERAL: + case STRING_LITERAL: case IDENTIFIER: + case LPAREN: case DOLLAR_ID: initializations = ForInit(); break; default: - jj_la1[119] = jj_gen; + jj_la1[120] = jj_gen; ; } jj_consume_token(SEMICOLON); @@ -4949,23 +4975,36 @@ final int startBlock, endBlock; condition = Expression(); break; default: - jj_la1[120] = jj_gen; + jj_la1[121] = jj_gen; ; } jj_consume_token(SEMICOLON); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case ARRAY: + case LIST: + case PRINT: case NEW: + case NULL: + case TRUE: + case FALSE: + case AT: case DOLLAR: + case BANG: case PLUS_PLUS: case MINUS_MINUS: + case PLUS: + case MINUS: case BIT_AND: + case INTEGER_LITERAL: + case FLOATING_POINT_LITERAL: + case STRING_LITERAL: case IDENTIFIER: + case LPAREN: case DOLLAR_ID: increments = StatementExpressionList(); break; default: - jj_la1[121] = jj_gen; + jj_la1[122] = jj_gen; ; } jj_consume_token(RPAREN); @@ -5020,7 +5059,6 @@ final int startBlock, endBlock; break; case COLON: jj_consume_token(COLON); - startBlock = SimpleCharStream.getPosition(); label_37: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -5067,7 +5105,7 @@ final int startBlock, endBlock; ; break; default: - jj_la1[122] = jj_gen; + jj_la1[123] = jj_gen; break label_37; } action = Statement(); @@ -5076,14 +5114,13 @@ final int startBlock, endBlock; try { setMarker(fileToParse, "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;", - pos, - pos+token.image.length(), + token.sourceStart, + token.sourceEnd, INFO, "Line " + token.beginLine); } catch (CoreException e) { PHPeclipsePlugin.log(e); } - endBlock = SimpleCharStream.getPosition(); try { jj_consume_token(ENDFOR); } catch (ParseException e) { @@ -5114,7 +5151,7 @@ final int startBlock, endBlock; } break; default: - jj_la1[123] = jj_gen; + jj_la1[124] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -5129,18 +5166,31 @@ final int startBlock, endBlock; } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case ARRAY: + case LIST: + case PRINT: case NEW: + case NULL: + case TRUE: + case FALSE: + case AT: case DOLLAR: + case BANG: case PLUS_PLUS: case MINUS_MINUS: + case PLUS: + case MINUS: case BIT_AND: + case INTEGER_LITERAL: + case FLOATING_POINT_LITERAL: + case STRING_LITERAL: case IDENTIFIER: + case LPAREN: case DOLLAR_ID: exprs = StatementExpressionList(); {if (true) return exprs;} break; default: - jj_la1[124] = jj_gen; + jj_la1[125] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -5151,8 +5201,8 @@ final int startBlock, endBlock; static final public Expression[] StatementExpressionList() throws ParseException { final ArrayList list = new ArrayList(); final Expression expr; - expr = StatementExpression(); - list.add(expr); + expr = Expression(); + list.add(expr); label_38: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -5160,12 +5210,12 @@ final int startBlock, endBlock; ; break; default: - jj_la1[125] = jj_gen; + jj_la1[126] = jj_gen; break label_38; } jj_consume_token(COMMA); - StatementExpression(); - list.add(expr); + Expression(); + list.add(expr); } final Expression[] exprsArray = new Expression[list.size()]; list.toArray(exprsArray); @@ -5202,7 +5252,7 @@ final int startBlock, endBlock; expr = Expression(); break; default: - jj_la1[126] = jj_gen; + jj_la1[127] = jj_gen; ; } try { @@ -5247,7 +5297,7 @@ final int startBlock, endBlock; expr = Expression(); break; default: - jj_la1[127] = jj_gen; + jj_la1[128] = jj_gen; ; } try { @@ -5305,6 +5355,14 @@ final int startBlock, endBlock; return retval; } + static final private boolean jj_3R_114() { + if (jj_scan_token(XOR)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_113()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + static final private boolean jj_3R_46() { if (jj_scan_token(LBRACKET)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -5317,21 +5375,39 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_118() { - if (jj_scan_token(XOR)) return true; + static final private boolean jj_3R_108() { + if (jj_3R_113()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_117()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_114()) { jj_scanpos = xsp; break; } + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } + return false; + } + + static final private boolean jj_3R_50() { + if (jj_3R_64()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_114() { - if (jj_3R_117()) return true; + static final private boolean jj_3R_109() { + if (jj_scan_token(BIT_OR)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_108()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_102() { + if (jj_3R_108()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_118()) { jj_scanpos = xsp; break; } + if (jj_3R_109()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; @@ -5340,8 +5416,13 @@ final int startBlock, endBlock; static final private boolean jj_3R_45() { if (jj_scan_token(CLASSACCESS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_50()) { + jj_scanpos = xsp; if (jj_3R_51()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -5356,37 +5437,29 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_115() { - if (jj_scan_token(BIT_OR)) return true; + static final private boolean jj_3R_105() { + if (jj_scan_token(DOT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_114()) return true; + if (jj_3R_102()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_108() { - if (jj_3R_114()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_115()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } - return false; - } - static final private boolean jj_3R_204() { - if (jj_3R_126()) return true; + if (jj_3R_115()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_111() { - if (jj_scan_token(DOT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_108()) return true; + static final private boolean jj_3R_96() { + if (jj_3R_102()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_105()) { jj_scanpos = xsp; break; } + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } return false; } @@ -5416,20 +5489,14 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_101() { - if (jj_3R_108()) return true; + static final private boolean jj_3R_107() { + if (jj_scan_token(_ANDL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_111()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } return false; } - static final private boolean jj_3R_113() { - if (jj_scan_token(_ANDL)) return true; + static final private boolean jj_3R_106() { + if (jj_scan_token(AND_AND)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -5442,34 +5509,20 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_112() { - if (jj_scan_token(AND_AND)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_104() { + static final private boolean jj_3R_99() { Token xsp; xsp = jj_scanpos; - if (jj_3R_112()) { + if (jj_3R_106()) { jj_scanpos = xsp; - if (jj_3R_113()) return true; + if (jj_3R_107()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_101()) return true; + if (jj_3R_96()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_123() { - if (jj_scan_token(ASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_47()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_116() { + static final private boolean jj_3R_153() { if (jj_scan_token(LBRACE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_47()) return true; @@ -5479,13 +5532,13 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_82() { - if (jj_3R_101()) return true; + static final private boolean jj_3R_80() { + if (jj_3R_96()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_104()) { jj_scanpos = xsp; break; } + if (jj_3R_99()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; @@ -5498,57 +5551,54 @@ final int startBlock, endBlock; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(COLON)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_70()) return true; + if (jj_3R_68()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_67() { + static final private boolean jj_3R_72() { if (jj_scan_token(IDENTIFIER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; - if (jj_3R_116()) jj_scanpos = xsp; + if (jj_3R_153()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_198() { - if (jj_3R_201()) return true; + static final private boolean jj_3R_112() { + if (jj_scan_token(ASSIGN)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_127() { - if (jj_3R_126()) return true; + static final private boolean jj_3R_101() { + if (jj_scan_token(_ORL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_106() { - if (jj_scan_token(_ORL)) return true; + static final private boolean jj_3R_198() { + if (jj_3R_201()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_105() { + static final private boolean jj_3R_100() { if (jj_scan_token(OR_OR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_51() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_66()) { - jj_scanpos = xsp; - if (jj_3R_67()) return true; + static final private boolean jj_3R_116() { + if (jj_3R_115()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_66() { + static final private boolean jj_3R_71() { if (jj_scan_token(LBRACE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_47()) return true; @@ -5558,41 +5608,58 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_84() { + static final private boolean jj_3R_64() { Token xsp; xsp = jj_scanpos; - if (jj_3R_105()) { + if (jj_3R_71()) { jj_scanpos = xsp; - if (jj_3R_106()) return true; + if (jj_3R_72()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_82()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_122() { - if (jj_scan_token(COMMA)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + static final private boolean jj_3R_82() { Token xsp; xsp = jj_scanpos; - if (jj_3R_127()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_100()) { + jj_scanpos = xsp; + if (jj_3R_101()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_80()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } static final private boolean jj_3R_75() { - if (jj_3R_82()) return true; + if (jj_3R_80()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_84()) { jj_scanpos = xsp; break; } + if (jj_3R_82()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } + static final private boolean jj_3R_111() { + if (jj_scan_token(COMMA)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_116()) jj_scanpos = xsp; + else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_144() { + if (jj_3R_129()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + static final private boolean jj_3R_190() { if (jj_scan_token(NEW)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -5605,20 +5672,28 @@ final int startBlock, endBlock; return false; } + static final private boolean jj_3_2() { + if (jj_scan_token(DOLLAR)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(DOLLAR)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + static final private boolean jj_3R_196() { if (jj_3R_201()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_121() { - if (jj_3R_126()) return true; + static final private boolean jj_3R_110() { + if (jj_3R_115()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } static final private boolean jj_3R_189() { - if (jj_3R_126()) return true; + if (jj_3R_115()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; @@ -5627,27 +5702,13 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_107() { - if (jj_3R_81()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3_2() { - if (jj_scan_token(DOLLAR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(DOLLAR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_100() { - if (jj_3R_51()) return true; + static final private boolean jj_3R_138() { + if (jj_3R_64()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_70() { + static final private boolean jj_3R_68() { if (jj_3R_75()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; @@ -5657,126 +5718,150 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_109() { + static final private boolean jj_3R_137() { + if (jj_scan_token(DOLLAR)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_129()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_103() { if (jj_scan_token(LIST)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(LPAREN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; - if (jj_3R_121()) jj_scanpos = xsp; + if (jj_3R_110()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; while (true) { xsp = jj_scanpos; - if (jj_3R_122()) { jj_scanpos = xsp; break; } + if (jj_3R_111()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } if (jj_scan_token(RPAREN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; xsp = jj_scanpos; - if (jj_3R_123()) jj_scanpos = xsp; + if (jj_3R_112()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_99() { - if (jj_scan_token(DOLLAR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_81()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - static final private boolean jj_3R_195() { if (jj_3R_201()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_97() { + static final private boolean jj_3R_95() { if (jj_scan_token(TILDEEQUAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_194() { - if (jj_scan_token(STATICCLASSACCESS)) return true; + static final private boolean jj_3R_129() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_136()) { + jj_scanpos = xsp; + if (jj_3R_137()) { + jj_scanpos = xsp; + if (jj_3R_138()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_197()) return true; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_136() { + if (jj_scan_token(DOLLAR_ID)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_144()) jj_scanpos = xsp; + else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_96() { + static final private boolean jj_3R_94() { if (jj_scan_token(DOTASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_95() { + static final private boolean jj_3R_93() { if (jj_scan_token(ORASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_94() { + static final private boolean jj_3R_92() { if (jj_scan_token(XORASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_110() { - if (jj_scan_token(PRINT)) return true; + static final private boolean jj_3R_194() { + if (jj_scan_token(STATICCLASSACCESS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_47()) return true; + if (jj_3R_197()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_98() { - if (jj_scan_token(DOLLAR_ID)) return true; + static final private boolean jj_3R_91() { + if (jj_scan_token(ANDASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_107()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_81() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_98()) { - jj_scanpos = xsp; - if (jj_3R_99()) { - jj_scanpos = xsp; - if (jj_3R_100()) return true; + static final private boolean jj_3R_128() { + if (jj_3R_129()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_93() { - if (jj_scan_token(ANDASSIGN)) return true; + static final private boolean jj_3R_90() { + if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_92() { - if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true; + static final private boolean jj_3R_89() { + if (jj_scan_token(LSHIFTASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_91() { - if (jj_scan_token(LSHIFTASSIGN)) return true; + static final private boolean jj_3R_88() { + if (jj_scan_token(MINUSASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_90() { - if (jj_scan_token(MINUSASSIGN)) return true; + static final private boolean jj_3R_87() { + if (jj_scan_token(PLUSASSIGN)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_104() { + if (jj_scan_token(PRINT)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_47()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_86() { + if (jj_scan_token(REMASSIGN)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_85() { + if (jj_scan_token(SLASHASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -5810,37 +5895,13 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_80() { - if (jj_3R_81()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_89() { - if (jj_scan_token(PLUSASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_88() { - if (jj_scan_token(REMASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_87() { - if (jj_scan_token(SLASHASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_86() { + static final private boolean jj_3R_84() { if (jj_scan_token(STARASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_85() { + static final private boolean jj_3R_83() { if (jj_scan_token(ASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; @@ -5849,6 +5910,10 @@ final int startBlock, endBlock; static final private boolean jj_3R_79() { Token xsp; xsp = jj_scanpos; + if (jj_3R_83()) { + jj_scanpos = xsp; + if (jj_3R_84()) { + jj_scanpos = xsp; if (jj_3R_85()) { jj_scanpos = xsp; if (jj_3R_86()) { @@ -5869,11 +5934,7 @@ final int startBlock, endBlock; jj_scanpos = xsp; if (jj_3R_94()) { jj_scanpos = xsp; - if (jj_3R_95()) { - jj_scanpos = xsp; - if (jj_3R_96()) { - jj_scanpos = xsp; - if (jj_3R_97()) return true; + if (jj_3R_95()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -5893,19 +5954,19 @@ final int startBlock, endBlock; static final private boolean jj_3R_74() { if (jj_scan_token(DOLLAR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_81()) return true; + if (jj_3R_129()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_175() { - if (jj_3R_184()) return true; + static final private boolean jj_3R_98() { + if (jj_3R_104()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_103() { - if (jj_3R_110()) return true; + static final private boolean jj_3R_175() { + if (jj_3R_184()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -5916,18 +5977,18 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_102() { - if (jj_3R_109()) return true; + static final private boolean jj_3R_97() { + if (jj_3R_103()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_83() { + static final private boolean jj_3R_81() { Token xsp; xsp = jj_scanpos; - if (jj_3R_102()) { + if (jj_3R_97()) { jj_scanpos = xsp; - if (jj_3R_103()) return true; + if (jj_3R_98()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; @@ -5959,12 +6020,12 @@ final int startBlock, endBlock; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; - if (jj_3R_80()) jj_scanpos = xsp; + if (jj_3R_128()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_64() { + static final private boolean jj_3R_65() { Token xsp; xsp = jj_scanpos; if (jj_3R_73()) { @@ -5976,7 +6037,7 @@ final int startBlock, endBlock; } static final private boolean jj_3R_77() { - if (jj_3R_83()) return true; + if (jj_3R_81()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -5984,12 +6045,12 @@ final int startBlock, endBlock; static final private boolean jj_3R_76() { if (jj_scan_token(BANG)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_71()) return true; + if (jj_3R_69()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_71() { + static final private boolean jj_3R_69() { Token xsp; xsp = jj_scanpos; if (jj_3R_76()) { @@ -6024,7 +6085,7 @@ final int startBlock, endBlock; } static final private boolean jj_3R_54() { - if (jj_3R_71()) return true; + if (jj_3R_69()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6069,7 +6130,7 @@ final int startBlock, endBlock; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(RPAREN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_146()) return true; + if (jj_3R_145()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6080,7 +6141,7 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_72() { + static final private boolean jj_3R_70() { if (jj_3R_79()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_47()) return true; @@ -6115,15 +6176,21 @@ final int startBlock, endBlock; } static final private boolean jj_3R_53() { - if (jj_3R_70()) return true; + if (jj_3R_68()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; - if (jj_3R_72()) jj_scanpos = xsp; + if (jj_3R_70()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } + static final private boolean jj_3_1() { + if (jj_3R_39()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + static final private boolean jj_3R_169() { if (jj_scan_token(LPAREN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -6146,12 +6213,6 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3_1() { - if (jj_3R_39()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - static final private boolean jj_3R_163() { Token xsp; xsp = jj_scanpos; @@ -6175,11 +6236,15 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_65() { - if (jj_scan_token(ASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_47()) return true; + static final private boolean jj_3R_115() { + if (jj_3R_65()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_1()) { jj_scanpos = xsp; break; } + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } return false; } @@ -6201,18 +6266,6 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_126() { - if (jj_3R_64()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_1()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } - return false; - } - static final private boolean jj_3R_60() { if (jj_scan_token(FLOAT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -6225,14 +6278,14 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_165() { - if (jj_scan_token(MINUS_MINUS)) return true; + static final private boolean jj_3R_58() { + if (jj_scan_token(REAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_58() { - if (jj_scan_token(REAL)) return true; + static final private boolean jj_3R_165() { + if (jj_scan_token(MINUS_MINUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6243,14 +6296,14 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_164() { - if (jj_scan_token(PLUS_PLUS)) return true; + static final private boolean jj_3R_56() { + if (jj_scan_token(BOOL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_56() { - if (jj_scan_token(BOOL)) return true; + static final private boolean jj_3R_164() { + if (jj_scan_token(PLUS_PLUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6306,16 +6359,6 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_49() { - if (jj_3R_64()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_65()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - static final private boolean jj_3R_161() { if (jj_3R_163()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -6331,7 +6374,7 @@ final int startBlock, endBlock; static final private boolean jj_3R_159() { if (jj_scan_token(MINUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_150()) return true; + if (jj_3R_149()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6356,26 +6399,26 @@ final int startBlock, endBlock; static final private boolean jj_3R_158() { if (jj_scan_token(PLUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_150()) return true; + if (jj_3R_149()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_50() { + static final private boolean jj_3R_49() { if (jj_scan_token(COMMA)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_49()) return true; + if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } static final private boolean jj_3R_44() { - if (jj_3R_49()) return true; + if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_50()) { jj_scanpos = xsp; break; } + if (jj_3R_49()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; @@ -6390,12 +6433,12 @@ final int startBlock, endBlock; static final private boolean jj_3R_155() { if (jj_scan_token(BANG)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_150()) return true; + if (jj_3R_149()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_150() { + static final private boolean jj_3R_149() { Token xsp; xsp = jj_scanpos; if (jj_3R_154()) { @@ -6412,109 +6455,109 @@ final int startBlock, endBlock; static final private boolean jj_3R_154() { if (jj_scan_token(AT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_150()) return true; + if (jj_3R_149()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_146() { - if (jj_3R_150()) return true; + static final private boolean jj_3R_145() { + if (jj_3R_149()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_153() { + static final private boolean jj_3R_152() { if (jj_scan_token(REMAINDER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_152() { + static final private boolean jj_3R_151() { if (jj_scan_token(SLASH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_151() { + static final private boolean jj_3R_150() { if (jj_scan_token(STAR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_43() { - if (jj_3R_47()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(SEMICOLON)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_147() { + static final private boolean jj_3R_146() { Token xsp; xsp = jj_scanpos; - if (jj_3R_151()) { + if (jj_3R_150()) { jj_scanpos = xsp; - if (jj_3R_152()) { + if (jj_3R_151()) { jj_scanpos = xsp; - if (jj_3R_153()) return true; + if (jj_3R_152()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_146()) return true; + if (jj_3R_145()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_141() { - if (jj_3R_146()) return true; + static final private boolean jj_3R_43() { + if (jj_3R_47()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SEMICOLON)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_139() { + if (jj_3R_145()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_147()) { jj_scanpos = xsp; break; } + if (jj_3R_146()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } - static final private boolean jj_3_6() { - if (jj_3R_44()) return true; + static final private boolean jj_3R_148() { + if (jj_scan_token(MINUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_149() { - if (jj_scan_token(MINUS)) return true; + static final private boolean jj_3R_147() { + if (jj_scan_token(PLUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_148() { - if (jj_scan_token(PLUS)) return true; + static final private boolean jj_3_6() { + if (jj_3R_44()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_142() { + static final private boolean jj_3R_140() { Token xsp; xsp = jj_scanpos; - if (jj_3R_148()) { + if (jj_3R_147()) { jj_scanpos = xsp; - if (jj_3R_149()) return true; + if (jj_3R_148()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_141()) return true; + if (jj_3R_139()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_135() { - if (jj_3R_141()) return true; + static final private boolean jj_3R_130() { + if (jj_3R_139()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_142()) { jj_scanpos = xsp; break; } + if (jj_3R_140()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; @@ -6526,122 +6569,122 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_145() { + static final private boolean jj_3R_143() { if (jj_scan_token(RUNSIGNEDSHIFT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_144() { + static final private boolean jj_3R_142() { if (jj_scan_token(RSIGNEDSHIFT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_143() { + static final private boolean jj_3R_141() { if (jj_scan_token(LSHIFT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_136() { + static final private boolean jj_3R_131() { Token xsp; xsp = jj_scanpos; - if (jj_3R_143()) { + if (jj_3R_141()) { jj_scanpos = xsp; - if (jj_3R_144()) { + if (jj_3R_142()) { jj_scanpos = xsp; - if (jj_3R_145()) return true; + if (jj_3R_143()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_135()) return true; + if (jj_3R_130()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_128() { - if (jj_3R_135()) return true; + static final private boolean jj_3R_121() { + if (jj_3R_130()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_136()) { jj_scanpos = xsp; break; } + if (jj_3R_131()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } - static final private boolean jj_3R_140() { + static final private boolean jj_3R_135() { if (jj_scan_token(GE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_139() { + static final private boolean jj_3R_134() { if (jj_scan_token(LE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_208() { - if (jj_scan_token(COMMA)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_47()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_138() { + static final private boolean jj_3R_133() { if (jj_scan_token(GT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_137() { + static final private boolean jj_3R_132() { if (jj_scan_token(LT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_129() { + static final private boolean jj_3R_122() { Token xsp; xsp = jj_scanpos; - if (jj_3R_137()) { + if (jj_3R_132()) { jj_scanpos = xsp; - if (jj_3R_138()) { + if (jj_3R_133()) { jj_scanpos = xsp; - if (jj_3R_139()) { + if (jj_3R_134()) { jj_scanpos = xsp; - if (jj_3R_140()) return true; + if (jj_3R_135()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_128()) return true; + if (jj_3R_121()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_207() { + static final private boolean jj_3R_208() { + if (jj_scan_token(COMMA)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_119() { + if (jj_3R_121()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_208()) { jj_scanpos = xsp; break; } + if (jj_3R_122()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } - static final private boolean jj_3R_124() { - if (jj_3R_128()) return true; + static final private boolean jj_3R_207() { + if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_129()) { jj_scanpos = xsp; break; } + if (jj_3R_208()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; @@ -6661,18 +6704,6 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_205() { - if (jj_3R_207()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - static final private boolean jj_3R_69() { - if (jj_3R_48()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - static final private boolean jj_3R_199() { if (jj_3R_40()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -6685,63 +6716,75 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_193() { - if (jj_scan_token(LPAREN)) return true; + static final private boolean jj_3R_205() { + if (jj_3R_207()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_199()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - xsp = jj_scanpos; - if (jj_3R_200()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RPAREN)) return true; + return false; + } + + static final private boolean jj_3R_67() { + if (jj_3R_48()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_201() { + static final private boolean jj_3R_193() { if (jj_scan_token(LPAREN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; - if (jj_3R_205()) jj_scanpos = xsp; + if (jj_3R_199()) jj_scanpos = xsp; + else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + xsp = jj_scanpos; + if (jj_3R_200()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(RPAREN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_134() { + static final private boolean jj_3R_127() { if (jj_scan_token(TRIPLEEQUAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_133() { + static final private boolean jj_3R_126() { if (jj_scan_token(BANGDOUBLEEQUAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_132() { + static final private boolean jj_3R_125() { if (jj_scan_token(NOT_EQUAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_131() { + static final private boolean jj_3R_124() { if (jj_scan_token(DIF)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_130() { + static final private boolean jj_3R_123() { if (jj_scan_token(EQUAL_EQUAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } + static final private boolean jj_3R_201() { + if (jj_scan_token(LPAREN)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_205()) jj_scanpos = xsp; + else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(RPAREN)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + static final private boolean jj_3R_206() { if (jj_scan_token(ARRAYASSIGN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -6750,25 +6793,47 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_125() { + static final private boolean jj_3R_120() { Token xsp; xsp = jj_scanpos; - if (jj_3R_130()) { + if (jj_3R_123()) { jj_scanpos = xsp; - if (jj_3R_131()) { + if (jj_3R_124()) { jj_scanpos = xsp; - if (jj_3R_132()) { + if (jj_3R_125()) { jj_scanpos = xsp; - if (jj_3R_133()) { + if (jj_3R_126()) { jj_scanpos = xsp; - if (jj_3R_134()) return true; + if (jj_3R_127()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_124()) return true; + if (jj_3R_119()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + static final private boolean jj_3R_117() { + if (jj_3R_119()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_120()) { jj_scanpos = xsp; break; } + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + } + return false; + } + + static final private boolean jj_3R_40() { + if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_206()) jj_scanpos = xsp; + else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6784,15 +6849,9 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_119() { - if (jj_3R_124()) return true; + static final private boolean jj_3R_51() { + if (jj_3R_65()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_125()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } return false; } @@ -6808,16 +6867,6 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_40() { - if (jj_3R_47()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_206()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - static final private boolean jj_3R_177() { if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -6853,8 +6902,10 @@ final int startBlock, endBlock; return false; } - static final private boolean jj_3R_68() { - if (jj_3R_47()) return true; + static final private boolean jj_3R_118() { + if (jj_scan_token(BIT_AND)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_117()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -6862,29 +6913,27 @@ final int startBlock, endBlock; static final private boolean jj_3R_52() { Token xsp; xsp = jj_scanpos; - if (jj_3R_68()) { + if (jj_3R_66()) { jj_scanpos = xsp; - if (jj_3R_69()) return true; + if (jj_3R_67()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_120() { - if (jj_scan_token(BIT_AND)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_119()) return true; + static final private boolean jj_3R_66() { + if (jj_3R_47()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } - static final private boolean jj_3R_117() { - if (jj_3R_119()) return true; + static final private boolean jj_3R_113() { + if (jj_3R_117()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_120()) { jj_scanpos = xsp; break; } + if (jj_3R_118()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; @@ -6900,7 +6949,7 @@ final int startBlock, endBlock; static public boolean lookingAhead = false; static private boolean jj_semLA; static private int jj_gen; - static final private int[] jj_la1 = new int[128]; + static final private int[] jj_la1 = new int[129]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -6914,19 +6963,19 @@ final int startBlock, endBlock; jj_la1_4(); } private static void jj_la1_0() { - jj_la1_0 = new int[] {0xf960001e,0x6,0x6,0xf960001e,0x0,0xf9600000,0x0,0xc00000,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x68000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x68000000,0x60000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0x8000000,0x8000000,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x68000000,0x68000000,0x0,0x0,0x68000000,0x0,0x0,0x81000000,0xf9000000,0x8,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf9600010,0xf9600010,0xf9600000,0xe9600000,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0xe9600010,0xe9600010,0x10000000,0x0,0x68000000,0xf9000010,0xf9000010,0x2000000,0x4000000,0xf9000010,0x2000000,0x4000000,0xf9000010,0xf9000010,0xf9000010,0xf9000010,0xf9000010,0xf9000000,0xf9000000,0x8000000,0x68000000,0x8000000,0xf9000000,0xf9000000,0x8000000,0x0,0x68000000,0x68000000,}; + jj_la1_0 = new int[] {0xf960001e,0x6,0x6,0xf960001e,0x0,0xf9600000,0x0,0xc00000,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x68000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x68000000,0x60000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0x8000000,0x8000000,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x68000000,0x68000000,0x0,0x0,0x68000000,0x0,0x0,0x81000000,0xf9000000,0x8,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf9600010,0xf9600010,0xf9600000,0xe9600000,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0xe9600010,0xe9600010,0x10000000,0x0,0x68000000,0xf9000010,0xf9000010,0x2000000,0x4000000,0xf9000010,0x2000000,0x4000000,0xf9000010,0xf9000010,0xf9000010,0xf9000010,0xf9000010,0xf9000000,0xf9000000,0x68000000,0x68000000,0x68000000,0xf9000000,0xf9000000,0x68000000,0x0,0x68000000,0x68000000,}; } private static void jj_la1_1() { - jj_la1_1 = new int[] {0x875d507f,0x0,0x0,0x875d507f,0x0,0x875d507f,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3080000,0x200,0x30c0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30c0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30c0000,0x30c0000,0x0,0x30c0000,0x0,0x0,0x0,0x0,0x40000,0x100,0x0,0x0,0x0,0x40000,0x0,0x30c0000,0x30c0000,0x80,0x3080000,0x30c0000,0x0,0x0,0x8451507f,0x875d507f,0x0,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x0,0x0,0x0,0x0,0x40000,0x0,0x2400,0x2400,0x875d507f,0x875d507f,0x0,0x2400,0x30c0000,0x875d507f,0x875d507f,0x0,0x0,0x875d507f,0x0,0x0,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x40000,0x30c0000,0x40000,0x875d507f,0x875d507f,0x40000,0x0,0x30c0000,0x30c0000,}; + jj_la1_1 = new int[] {0x875d507f,0x0,0x0,0x875d507f,0x0,0x875d507f,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3080000,0x200,0x30c0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30c0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30c0000,0x30c0000,0x0,0x30c0000,0x0,0x0,0x0,0x0,0x40000,0x100,0x0,0x0,0x0,0x40000,0x0,0x0,0x30c0000,0x30c0000,0x80,0x3080000,0x30c0000,0x0,0x0,0x8451507f,0x875d507f,0x0,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x0,0x0,0x0,0x0,0x40000,0x0,0x2400,0x2400,0x875d507f,0x875d507f,0x0,0x2400,0x30c0000,0x875d507f,0x875d507f,0x0,0x0,0x875d507f,0x0,0x0,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x875d507f,0x30c0000,0x30c0000,0x30c0000,0x875d507f,0x875d507f,0x30c0000,0x0,0x30c0000,0x30c0000,}; } private static void jj_la1_2() { - jj_la1_2 = new int[] {0x13c1c00,0x0,0x0,0x13c1c00,0x0,0x13c1c00,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x13c1c00,0x0,0x1000000,0x0,0x1000000,0x1000000,0x3fe,0x0,0x13c1c00,0x1000,0x0,0x0,0x4000,0x80010000,0x80010000,0x20000,0x20000,0x0,0x2000000,0x4000000,0x1000000,0x0,0x0,0x0,0x0,0x70000000,0x70000000,0x300000,0x300000,0x8c00000,0x8c00000,0x13c1c00,0x13c0800,0xc0000,0x1000800,0x3fe,0xc0000,0xc0000,0x1000000,0x1000800,0x0,0x0,0x0,0x0,0x800,0xbfe,0x13c1ffe,0x13c1ffe,0x0,0x0,0x13c1c00,0x0,0x400,0x400,0x13c1c00,0x0,0x0,0x0,0x800,0x0,0x800,0x0,0x0,0x0,0x0,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x0,0x0,0xc0000,0xc0000,0x10c0800,0x8000,0x0,0x0,0x13c1c00,0x13c1c00,0x0,0x0,0x13c1c00,0x13c1c00,0x13c1c00,0x0,0x0,0x13c1c00,0x0,0x0,0x13c9c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c9c00,0x10c0800,0x13c1c00,0x10c0800,0x13c1c00,0x13c9c00,0x10c0800,0x0,0x13c1c00,0x13c1c00,}; + jj_la1_2 = new int[] {0x13c1c00,0x0,0x0,0x13c1c00,0x0,0x13c1c00,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x13c1c00,0x0,0x1000000,0x0,0x1000000,0x1000000,0x3fe,0x0,0x13c1c00,0x1000,0x0,0x0,0x4000,0x80010000,0x80010000,0x20000,0x20000,0x0,0x2000000,0x4000000,0x1000000,0x0,0x0,0x0,0x0,0x70000000,0x70000000,0x300000,0x300000,0x8c00000,0x8c00000,0x13c1c00,0x13c0800,0xc0000,0x1000800,0x3fe,0xc0000,0xc0000,0x1000000,0x1000800,0x0,0x0,0x0,0x0,0x800,0xbfe,0x800,0x13c1ffe,0x13c1ffe,0x0,0x0,0x13c1c00,0x0,0x400,0x400,0x13c1c00,0x0,0x0,0x0,0x800,0x0,0x800,0x0,0x0,0x0,0x0,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x0,0x0,0xc0000,0xc0000,0x10c0800,0x8000,0x0,0x0,0x13c1c00,0x13c1c00,0x0,0x0,0x13c1c00,0x13c1c00,0x13c1c00,0x0,0x0,0x13c1c00,0x0,0x0,0x13c9c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c9c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c1c00,0x13c9c00,0x13c1c00,0x0,0x13c1c00,0x13c1c00,}; } private static void jj_la1_3() { - jj_la1_3 = new int[] {0x2288a2,0x0,0x0,0x2288a2,0x200000,0x2288a2,0x0,0x0,0x0,0x400000,0x0,0x0,0x20800,0x0,0x20800,0x0,0x20800,0x20000,0x20800,0x22,0x22,0x8a2,0x0,0x88a2,0x400000,0x0,0x400000,0x0,0x0,0x0,0x0,0x88a2,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x800000,0x0,0x0,0x0,0xe4000000,0xe4000000,0x1b000000,0x1b000000,0x0,0x0,0x0,0x0,0x0,0x0,0x88a2,0x88a2,0x0,0x88a2,0x0,0x0,0x0,0x0,0x800,0x0,0x8000,0x8000,0x8000,0x800,0x800,0x88a2,0x88a2,0x80000,0xa2,0x88a2,0x400000,0x0,0x220800,0x2288a2,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x400000,0x400000,0x400000,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x400000,0x0,0x0,0x0,0x800,0x20000,0x0,0x0,0x2288a2,0x2288a2,0x0,0x0,0x88a2,0x2288a2,0x2288a2,0x0,0x0,0x2288a2,0x0,0x0,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x800,0x88a2,0x800,0x2288a2,0x2288a2,0x800,0x400000,0x88a2,0x88a2,}; + jj_la1_3 = new int[] {0x2288a2,0x0,0x0,0x2288a2,0x200000,0x2288a2,0x0,0x0,0x0,0x400000,0x0,0x0,0x20800,0x0,0x20800,0x0,0x20800,0x20000,0x20800,0x22,0x22,0x8a2,0x0,0x88a2,0x400000,0x0,0x400000,0x0,0x0,0x0,0x0,0x88a2,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x800000,0x0,0x0,0x0,0xe4000000,0xe4000000,0x1b000000,0x1b000000,0x0,0x0,0x0,0x0,0x0,0x0,0x88a2,0x88a2,0x0,0x88a2,0x0,0x0,0x0,0x0,0x800,0x0,0x8000,0x8000,0x8000,0x800,0x800,0x20800,0x88a2,0x88a2,0x80000,0xa2,0x88a2,0x400000,0x0,0x220800,0x2288a2,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x400000,0x400000,0x400000,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x400000,0x0,0x0,0x0,0x800,0x20000,0x0,0x0,0x2288a2,0x2288a2,0x0,0x0,0x88a2,0x2288a2,0x2288a2,0x0,0x0,0x2288a2,0x0,0x0,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x2288a2,0x88a2,0x88a2,0x88a2,0x2288a2,0x2288a2,0x88a2,0x400000,0x88a2,0x88a2,}; } private static void jj_la1_4() { - jj_la1_4 = new int[] {0x4000,0x0,0x0,0x4000,0x0,0x4000,0x0,0x0,0x0,0x0,0x2,0x2,0x4000,0x4000,0x4000,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x0,0x3ffe,0x4000,0x0,0x0,0x3ffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x4000,0x0,0x4000,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x4000,0x4000,0x4000,0x4000,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x4000,0x2,0x0,0x0,0x0,0x4000,0x4000,0x4000,0x4000,0x0,0x2,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x4000,0x0,0x0,0x4000,0x4000,0x4000,0x0,0x0,0x4000,0x0,0x0,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x0,0x4000,0x4000,}; + jj_la1_4 = new int[] {0x4000,0x0,0x0,0x4000,0x0,0x4000,0x0,0x0,0x0,0x0,0x2,0x2,0x4000,0x4000,0x4000,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x0,0x3ffe,0x4000,0x0,0x0,0x3ffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x4000,0x0,0x4000,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x4000,0x4000,0x4000,0x4000,0x4000,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x4000,0x2,0x0,0x0,0x0,0x4000,0x4000,0x4000,0x4000,0x0,0x2,0x0,0x0,0x4000,0x0,0x0,0x0,0x4000,0x4000,0x0,0x0,0x4000,0x4000,0x4000,0x0,0x0,0x4000,0x0,0x0,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x0,0x4000,0x4000,}; } static final private JJCalls[] jj_2_rtns = new JJCalls[6]; static private boolean jj_rescan = false; @@ -6945,7 +6994,7 @@ final int startBlock, endBlock; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 128; i++) jj_la1[i] = -1; + for (int i = 0; i < 129; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6955,7 +7004,7 @@ final int startBlock, endBlock; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 128; i++) jj_la1[i] = -1; + for (int i = 0; i < 129; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6972,7 +7021,7 @@ final int startBlock, endBlock; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 128; i++) jj_la1[i] = -1; + for (int i = 0; i < 129; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6982,7 +7031,7 @@ final int startBlock, endBlock; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 128; i++) jj_la1[i] = -1; + for (int i = 0; i < 129; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6998,7 +7047,7 @@ final int startBlock, endBlock; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 128; i++) jj_la1[i] = -1; + for (int i = 0; i < 129; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7007,7 +7056,7 @@ final int startBlock, endBlock; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 128; i++) jj_la1[i] = -1; + for (int i = 0; i < 129; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7122,7 +7171,7 @@ final int startBlock, endBlock; la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 128; i++) { + for (int i = 0; i < 129; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1< SimpleCharStream.currentBuffer.length()) { + final int currentPosition = token.sourceStart; + if (currentPosition == htmlStart || + currentPosition > SimpleCharStream.currentBuffer.length()) { return; } final char[] chars = SimpleCharStream.currentBuffer.substring(htmlStart,currentPosition+1).toCharArray(); @@ -327,19 +333,20 @@ public final class PHPParser extends PHPParserSuperclass { /** Create a new task. */ public static final void createNewTask() { - final int currentPosition = SimpleCharStream.getPosition(); + final int currentPosition = token.sourceStart; final String todo = SimpleCharStream.currentBuffer.substring(currentPosition-3, SimpleCharStream.currentBuffer.indexOf("\n", currentPosition)-1); - PHPeclipsePlugin.log(1,SimpleCharStream.currentBuffer.toString()); - try { - setMarker(fileToParse, - todo, - SimpleCharStream.getBeginLine(), - TASK, - "Line "+SimpleCharStream.getBeginLine()); - } catch (CoreException e) { - PHPeclipsePlugin.log(e); + if (!PARSER_DEBUG) { + try { + setMarker(fileToParse, + todo, + SimpleCharStream.getBeginLine(), + TASK, + "Line "+SimpleCharStream.getBeginLine()); + } catch (CoreException e) { + PHPeclipsePlugin.log(e); + } } } @@ -371,7 +378,7 @@ TOKEN_MGR_DECLS: TOKEN : { - "> {PHPParser.htmlStart = SimpleCharStream.getPosition();} : DEFAULT + "> {PHPParser.htmlStart = PHPParser.token.sourceEnd;} : DEFAULT } /* Skip any character if we are not in php mode */ @@ -666,20 +673,20 @@ void phpFile() : */ void PhpBlock() : { - final int start = SimpleCharStream.getPosition(); final PHPEchoBlock phpEchoBlock; + final Token token; } { phpEchoBlock = phpEchoBlock() {pushOnAstNodes(phpEchoBlock);} | [ - | + | token = {try { setMarker(fileToParse, "You should use ' expr = Expression() [ ] token2 = { - echoBlock = new PHPEchoBlock(expr,token.sourceStart,token.sourceEnd); + echoBlock = new PHPEchoBlock(expr,token.sourceStart,token2.sourceEnd); pushOnAstNodes(echoBlock); return echoBlock;} } @@ -831,7 +838,6 @@ FieldDeclaration FieldDeclaration() : VariableDeclaration variableDeclaration; final VariableDeclaration[] list; final ArrayList arrayList = new ArrayList(); - final int pos = SimpleCharStream.getPosition(); final Token token; Token token2 = null; } @@ -876,18 +882,19 @@ VariableDeclaration VariableDeclaratorNoSuffix() : { final Token varName; Expression initializer = null; + Token assignToken; } { varName = [ - + assignToken = try { initializer = VariableInitializer() } catch (ParseException e) { errorMessage = "Literal expression expected in variable initializer"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = assignToken.sourceEnd +1; + errorEnd = assignToken.sourceEnd +1; processParseExceptionDebug(e); } ] @@ -895,18 +902,18 @@ VariableDeclaration VariableDeclaratorNoSuffix() : if (initializer == null) { return new VariableDeclaration(currentSegment, new Variable(varName.image.substring(1), - varName.sourceStart, - varName.sourceEnd), - varName.sourceStart, - varName.sourceEnd); + varName.sourceStart+1, + varName.sourceEnd+1), + varName.sourceStart+1, + varName.sourceEnd+1); } return new VariableDeclaration(currentSegment, new Variable(varName.image.substring(1), - varName.sourceStart, - varName.sourceEnd), + varName.sourceStart+1, + varName.sourceEnd+1), initializer, VariableDeclaration.EQUAL, - varName.sourceStart); + varName.sourceStart+1); } } @@ -955,7 +962,6 @@ AbstractVariable VariableDeclaratorId() : { final Variable var; AbstractVariable expression = null; - final int pos = SimpleCharStream.getPosition(); } { try { @@ -997,8 +1003,8 @@ Variable Variable(): { if (expression == null) { return new Variable(token.image.substring(1), - token.sourceStart, - token.sourceEnd); + token.sourceStart+1, + token.sourceEnd+1); } String s = expression.toStringExpression(); buff = new StringBuffer(token.image.length()+s.length()+2); @@ -1007,7 +1013,7 @@ Variable Variable(): buff.append(s); buff.append("}"); s = buff.toString(); - return new Variable(s,token.sourceStart,token.sourceEnd); + return new Variable(s,token.sourceStart+1,token.sourceEnd+1); } | token = @@ -1024,12 +1030,12 @@ Variable Variable() : token = [variable = Var(token)] { if (variable == null) { - return new Variable(token.image.substring(1),token.sourceStart,token.sourceEnd); + return new Variable(token.image.substring(1),token.sourceStart+1,token.sourceEnd+1); } final StringBuffer buff = new StringBuffer(); buff.append(token.image.substring(1)); buff.append(variable.toStringExpression()); - return new Variable(buff.toString(),token.sourceStart,variable.sourceEnd); + return new Variable(buff.toString(),token.sourceStart+1,variable.sourceEnd+1); } | token = variable = Var(token) @@ -1047,7 +1053,7 @@ Variable Var(final Token dollar) : { token = [variable = Var(token)] {if (variable == null) { - return new Variable(token.image.substring(1),token.sourceStart,token.sourceEnd); + return new Variable(token.image.substring(1),token.sourceStart+1,token.sourceEnd+1); } final StringBuffer buff = new StringBuffer(); buff.append(token.image.substring(1)); @@ -1071,11 +1077,9 @@ ConstantIdentifier VariableName(): { final StringBuffer buff; String expr; - final Variable var; Expression expression = null; final Token token; Token token2 = null; - int pos; } { token = expression = Expression() token2 = @@ -1084,7 +1088,6 @@ ConstantIdentifier VariableName(): buff.append("{"); buff.append(expr); buff.append("}"); - pos = SimpleCharStream.getPosition(); expr = buff.toString(); return new ConstantIdentifier(expr, token.sourceStart, @@ -1123,8 +1126,8 @@ ConstantIdentifier VariableName(): token = { return new Variable(token.image, - token.sourceStart, - token.sourceEnd); + token.sourceStart+1, + token.sourceEnd+1); } */ } @@ -1686,7 +1689,6 @@ Expression AtNotUnaryExpression() : {return expr;} } - Expression UnaryExpressionNoPrefix() : { final Expression expr; @@ -1787,7 +1789,7 @@ Expression PostfixExpression() : Expression PrimaryExpression() : { - Expression expr = null; + Expression expr; Token token = null; } { @@ -1800,11 +1802,9 @@ Expression PrimaryExpression() : Expression refPrimaryExpression(final Token reference) : { - Expression expr = null; + Expression expr; Expression expr2 = null; - int assignOperator = -1; final Token identifier; - final String var; } { identifier = @@ -1873,7 +1873,6 @@ Expression ClassIdentifier(): { final Expression expr; final Token token; - final ConstantIdentifier type; } { token = {return new ConstantIdentifier(token);} @@ -1886,20 +1885,19 @@ Expression ClassIdentifier(): */ AbstractVariable VariableSuffix(final AbstractVariable prefix) : { - Variable expr = null; - final int pos = SimpleCharStream.getPosition(); Expression expression = null; + final Token classAccessToken; } { - + classAccessToken = try { - expression = VariableName() + ( expression = VariableName() | expression = Variable() ) } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', function call or field access expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - throw e; + errorStart = classAccessToken.sourceEnd +1; + errorEnd = classAccessToken.sourceEnd +1; + processParseExceptionDebug(e); } {return new ClassAccess(prefix, expression, @@ -2204,17 +2202,18 @@ ListExpression ListExpression() : final Expression expression; final ArrayList list = new ArrayList(); final int pos = SimpleCharStream.getPosition(); + final Token listToken; } { - + listToken = try { } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - throw e; + errorStart = listToken.sourceEnd+1; + errorEnd = listToken.sourceEnd+1; + processParseExceptionDebug(e); } [ expr = VariableDeclaratorId() @@ -2244,7 +2243,7 @@ ListExpression ListExpression() : } [ expression = Expression() { - final Variable[] vars = new Variable[list.size()]; + final AbstractVariable[] vars = new AbstractVariable[list.size()]; list.toArray(vars); return new ListExpression(vars, expression, @@ -2449,19 +2448,20 @@ Statement BlockStatementNoBreak() : /** * used only by ForInit() */ -VariableDeclaration[] LocalVariableDeclaration() : +Expression[] LocalVariableDeclaration() : { final ArrayList list = new ArrayList(); - VariableDeclaration var; + Expression var; } { - var = LocalVariableDeclarator() + var = Expression() {list.add(var);} - ( var = LocalVariableDeclarator() {list.add(var);})* + ( var = Expression() {list.add(var);})* { - final VariableDeclaration[] vars = new VariableDeclaration[list.size()]; + final Expression[] vars = new Expression[list.size()]; list.toArray(vars); - return vars;} + return vars; + } } /** @@ -2503,8 +2503,7 @@ EmptyStatement EmptyStatement() : */ Expression StatementExpression() : { - final Expression expr,expr2; - final int operator; + final Expression expr; } { expr = PreIncDecExpression() {return expr;} @@ -2525,9 +2524,10 @@ SwitchStatement SwitchStatement() : final Expression variable; final AbstractCase[] cases; final int pos = SimpleCharStream.getPosition(); + final Token switchToken; } { - + switchToken = try { } catch (ParseException e) { @@ -2558,8 +2558,8 @@ SwitchStatement SwitchStatement() : errorEnd = SimpleCharStream.getPosition() + 1; throw e; } - (cases = switchStatementBrace() | cases = switchStatementColon(pos, pos + 6)) - {return new SwitchStatement(variable,cases,pos,SimpleCharStream.getPosition());} + (cases = switchStatementBrace() | cases = switchStatementColon(switchToken.sourceStart, switchToken.sourceEnd)) + {return new SwitchStatement(variable,cases,switchToken.sourceStart,SimpleCharStream.getPosition());} } AbstractCase[] switchStatementBrace() : @@ -2670,19 +2670,19 @@ Expression SwitchLabel() : if (errorMessage != null) throw e; errorMessage = "expression expected after 'case' keyword"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; + errorStart = token.sourceEnd +1; + errorEnd = token.sourceEnd +1; throw e; } try { - + token = {return expr;} } catch (ParseException e) { errorMessage = "':' expected after case expression"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - throw e; + errorStart = expr.sourceEnd+1; + errorEnd = expr.sourceEnd+1; + processParseExceptionDebug(e); } | token = <_DEFAULT> @@ -2692,9 +2692,9 @@ Expression SwitchLabel() : } catch (ParseException e) { errorMessage = "':' expected after 'default' keyword"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - throw e; + errorStart = token.sourceEnd+1; + errorEnd = token.sourceEnd+1; + processParseExceptionDebug(e); } } @@ -2719,14 +2719,13 @@ Break BreakStatement() : IfStatement IfStatement() : { - final int pos = SimpleCharStream.getPosition(); final Expression condition; final IfStatement ifStatement; Token token; } { - token = condition = Condition("if") ifStatement = IfStatement0(condition, - token.sourceStart,token.sourceStart+2) + token = condition = Condition("if") + ifStatement = IfStatement0(condition,token.sourceStart,token.sourceEnd) {return ifStatement;} } @@ -3058,6 +3057,10 @@ ForeachStatement ForeachStatement() : } +/** + * a for declaration. + * @return a node representing the for statement + */ ForStatement ForStatement() : { final Token token,token2; @@ -3067,7 +3070,6 @@ Expression condition = null; Expression[] increments = null; Statement action; final ArrayList list = new ArrayList(); -final int startBlock, endBlock; } { token = @@ -3076,9 +3078,9 @@ final int startBlock, endBlock; } catch (ParseException e) { errorMessage = "'(' expected after 'for' keyword"; errorLevel = ERROR; - errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = SimpleCharStream.getPosition() + 1; - throw e; + errorStart = token.sourceEnd; + errorEnd = token.sourceEnd +1; + processParseExceptionDebug(e); } [ initializations = ForInit() ] [ condition = Expression() ] @@ -3093,21 +3095,19 @@ final int startBlock, endBlock; action.sourceEnd);} | - {startBlock = SimpleCharStream.getPosition();} (action = Statement() {list.add(action);})* { try { setMarker(fileToParse, "Ugly syntax detected, you should for () {...} instead of for (): ... endfor;", - pos, - pos+token.image.length(), + token.sourceStart, + token.sourceEnd, INFO, "Line " + token.beginLine); } catch (CoreException e) { PHPeclipsePlugin.log(e); } } - {endBlock = SimpleCharStream.getPosition();} try { } catch (ParseException e) { @@ -3159,8 +3159,8 @@ Expression[] StatementExpressionList() : final Expression expr; } { - expr = StatementExpression() {list.add(expr);} - ( StatementExpression() {list.add(expr);})* + expr = Expression() {list.add(expr);} + ( Expression() {list.add(expr);})* { final Expression[] exprsArray = new Expression[list.size()]; list.toArray(exprsArray); @@ -3203,5 +3203,6 @@ ReturnStatement ReturnStatement() : errorStart = SimpleCharStream.getPosition() - e.currentToken.next.image.length() + 1; errorEnd = SimpleCharStream.getPosition() + 1; throw e; - } -} \ No newline at end of file + } +} + diff --git a/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java b/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java index 9dd366b..434a067 100644 --- a/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java +++ b/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java @@ -2213,7 +2213,7 @@ static void TokenLexicalActions(Token matchedToken) image = new StringBuffer(jjstrLiteralImages[4]); else image.append(jjstrLiteralImages[4]); - PHPParser.htmlStart = SimpleCharStream.getPosition(); + PHPParser.htmlStart = PHPParser.token.sourceEnd; break; default : break; diff --git a/net.sourceforge.phpeclipse/src/test/SimpleCharStream.java b/net.sourceforge.phpeclipse/src/test/SimpleCharStream.java index 1b90e5c..e6aa7e0 100644 --- a/net.sourceforge.phpeclipse/src/test/SimpleCharStream.java +++ b/net.sourceforge.phpeclipse/src/test/SimpleCharStream.java @@ -267,8 +267,8 @@ public class SimpleCharStream buffer = new char[buffersize]; bufline = new int[buffersize]; bufcolumn = new int[buffersize]; - beginOffset = 1; - endOffset = 1; + beginOffset = 0; + endOffset = 0; } @@ -301,8 +301,8 @@ public class SimpleCharStream tokenBegin = inBuf = maxNextCharInd = 0; bufpos = -1; position = 0; - beginOffset = 1; - endOffset = 1; + beginOffset = 0; + endOffset = 0; } public void ReInit(java.io.Reader dstream, int startline, @@ -429,7 +429,10 @@ public class SimpleCharStream column = bufcolumn[j]; } - //hack + /** + * @deprecated + * @return + */ public static int getPosition() { return position + bufpos; } -- 1.7.1