X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/test/PHPParser.jj b/net.sourceforge.phpeclipse/src/test/PHPParser.jj index e411485..35b3173 100644 --- a/net.sourceforge.phpeclipse/src/test/PHPParser.jj +++ b/net.sourceforge.phpeclipse/src/test/PHPParser.jj @@ -56,7 +56,7 @@ public final class PHPParser extends PHPParserSuperclass { private static final String PARSE_ERROR_STRING = "Parse error"; //$NON-NLS-1$ private static final String PARSE_WARNING_STRING = "Warning"; //$NON-NLS-1$ - PHPOutlineInfo outlineInfo; + static PHPOutlineInfo outlineInfo; private static PHPFunctionDeclaration currentFunction; private static boolean assigning; @@ -69,9 +69,9 @@ public final class PHPParser extends PHPParserSuperclass { private static int errorStart = -1; private static int errorEnd = -1; - //ast stack - private final static int AstStackIncrement = 100; - /** The stack of node. */ + //ast stack + private final static int AstStackIncrement = 100; + /** The stack of node. */ private static AstNode[] astStack; /** The cursor in expression stack. */ private static int expressionPtr; @@ -469,9 +469,9 @@ MORE : | < STRING_1: "\"" ( - ~["\""] | ~["{"] - | - "\\\"" + ~["\"","{","}"] + | "\\\"" + | "\\" | "{" ~["\""] "}" )* "\"" @@ -479,9 +479,8 @@ MORE : | < STRING_2: "'" ( - ~["'"] - | - "\\'" + ~["'"] + | "\\'" )* "'" @@ -490,8 +489,7 @@ MORE : "`" ( ~["`"] - | - "\\`" + | "\\`" )* "`" > @@ -743,8 +741,7 @@ void ClassBodyDeclaration() : {} { MethodDeclaration() -| - FieldDeclaration() +| FieldDeclaration() } /** @@ -757,6 +754,7 @@ void FieldDeclaration() : { variableDeclaration = VariableDeclarator() { + outlineInfo.addVariable(variableDeclaration.getVariable().getName()); if (currentSegment != null) { currentSegment.add(variableDeclaration); } @@ -810,10 +808,9 @@ String VariableDeclaratorId() : } { try { - expr = Variable() - {buff.append(expr);} - ( LOOKAHEAD(2) expr = VariableSuffix() - {buff.append(expr);} + expr = Variable() {buff.append(expr);} + ( LOOKAHEAD(2) + expr = VariableSuffix() {buff.append(expr);} )* {return buff.toString();} } catch (ParseException e) { @@ -971,6 +968,7 @@ void MethodDeclaration() : functionToken = try { functionDeclaration = MethodDeclarator() + {outlineInfo.addVariable(functionDeclaration.getName());} } catch (ParseException e) { if (errorMessage != null) { throw e; @@ -1097,32 +1095,15 @@ PHPVarDeclaration FormalParameter() : String Type() : {} { - - {return "string";} -| - - {return "bool";} -| - - {return "boolean";} -| - - {return "real";} -| - - {return "double";} -| - - {return "float";} -| - - {return "int";} -| - - {return "integer";} -| - - {return "object";} + {return "string";} +| {return "bool";} +| {return "boolean";} +| {return "real";} +| {return "double";} +| {return "float";} +| {return "int";} +| {return "integer";} +| {return "object";} } String Expression() : @@ -1132,18 +1113,11 @@ String Expression() : final String expr2; } { - expr = PrintExpression() - {return expr;} -| - expr = ListExpression() - {return expr;} -| - LOOKAHEAD(varAssignation()) - expr = varAssignation() - {return expr;} -| - expr = ConditionalExpression() - {return expr;} + expr = PrintExpression() {return expr;} +| expr = ListExpression() {return expr;} +| LOOKAHEAD(varAssignation()) + expr = varAssignation() {return expr;} +| expr = ConditionalExpression() {return expr;} } /** @@ -1177,32 +1151,19 @@ String varAssignation() : String AssignmentOperator() : {} { - -{return "=";} -| -{return "*=";} -| -{return "/=";} -| -{return "%=";} -| -{return "+=";} -| -{return "-=";} -| -{return "<<=";} -| -{return ">>=";} -| -{return "&=";} -| -{return "|=";} -| -{return "|=";} -| -{return ".=";} -| -{return "~=";} + {return "=";} +| {return "*=";} +| {return "/=";} +| {return "%=";} +| {return "+=";} +| {return "-=";} +| {return "<<=";} +| {return ">>=";} +| {return "&=";} +| {return "|=";} +| {return "|=";} +| {return ".=";} +| {return "~=";} } String ConditionalExpression() : @@ -1463,8 +1424,8 @@ String UnaryExpression() : } return token.image + expr; } -| - ( {buff.append("@");})* expr = UnaryExpressionNoPrefix() +| ( {buff.append("@");})* + expr = UnaryExpressionNoPrefix() {return buff.append(expr).toString();} } @@ -1502,27 +1463,19 @@ String UnaryExpressionNotPlusMinus() : final String expr; } { - expr = UnaryExpression() - {return "!" + expr;} -| - LOOKAHEAD( (Type() | ) ) - expr = CastExpression() - {return expr;} -| - expr = PostfixExpression() - {return expr;} -| - expr = Literal() - {return expr;} -| - expr = Expression() + expr = UnaryExpression() {return "!" + expr;} +| LOOKAHEAD( (Type() | ) ) + expr = CastExpression() {return expr;} +| expr = PostfixExpression() {return expr;} +| expr = Literal() {return expr;} +| expr = Expression() try { } catch (ParseException e) { errorMessage = "')' expected"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } {return "("+expr+")";} @@ -1591,16 +1544,9 @@ String PrimaryPrefix() : final Token token; } { - token = - {return token.image;} -| - expr = ClassIdentifier() - { - return "new " + expr; - } -| - expr = VariableDeclaratorId() - {return expr;} + token = {return token.image;} +| expr = ClassIdentifier() {return "new " + expr;} +| expr = VariableDeclaratorId() {return expr;} } String classInstantiation() : @@ -1624,11 +1570,8 @@ String ClassIdentifier(): final Token token; } { - token = - {return token.image;} -| - expr = VariableDeclaratorId() - {return expr;} + token = {return token.image;} +| expr = VariableDeclaratorId() {return expr;} } String PrimarySuffix() : @@ -1636,11 +1579,8 @@ String PrimarySuffix() : final String expr; } { - expr = Arguments() - {return expr;} -| - expr = VariableSuffix() - {return expr;} + expr = Arguments() {return expr;} +| expr = VariableSuffix() {return expr;} } String VariableSuffix() : @@ -1684,30 +1624,18 @@ String Literal() : final Token token; } { - token = - {return token.image;} -| - token = - {return token.image;} -| - token = - {return token.image;} -| - expr = BooleanLiteral() - {return expr;} -| - - {return "null";} + token = {return token.image;} +| token = {return token.image;} +| token = {return token.image;} +| expr = BooleanLiteral() {return expr;} +| {return "null";} } String BooleanLiteral() : {} { - - {return "true";} -| - - {return "false";} + {return "true";} +| {return "false";} } String Arguments() : @@ -1745,21 +1673,19 @@ final StringBuffer buff = new StringBuffer(); try { expr = Expression() } catch (ParseException e) { - errorMessage = "expression expected after a comma in argument list"; + errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. An expression expected after a comma in argument list"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } - { - buff.append(",").append(expr); - } + {buff.append(",").append(expr);} )* {return buff.toString();} } /** - * A Statement without break + * A Statement without break. */ void StatementNoBreak() : {} @@ -1777,65 +1703,60 @@ void StatementNoBreak() : throw e; } } -| - LOOKAHEAD(2) +| LOOKAHEAD(2) LabeledStatement() -| - Block() -| - EmptyStatement() -| - StatementExpression() +| Block() +| EmptyStatement() +| StatementExpression() try { } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } -| - SwitchStatement() -| - IfStatement() -| - WhileStatement() -| - DoStatement() -| - ForStatement() -| - ForeachStatement() -| - ContinueStatement() -| - ReturnStatement() -| - EchoStatement() -| - [] IncludeStatement() -| - StaticStatement() -| - GlobalStatement() +| SwitchStatement() +| IfStatement() +| WhileStatement() +| DoStatement() +| ForStatement() +| ForeachStatement() +| ContinueStatement() +| ReturnStatement() +| EchoStatement() +| [] IncludeStatement() +| StaticStatement() +| GlobalStatement() } /** - * A Normal statement + * A Normal statement. */ void Statement() : {} { StatementNoBreak() -| - BreakStatement() +| BreakStatement() } +/** + * An html block inside a php syntax. + */ void htmlBlock() : {} { - (phpEchoBlock())* ( | ) + (phpEchoBlock())* + try { + ( | ) + } catch (ParseException e) { + errorMessage = "End of file unexpected, ' | token = | token = ) - expr = Expression() + try { + expr = Expression() + } catch (ParseException e) { + if (errorMessage != null) { + throw e; + } + errorMessage = "unexpected token '"+ e.currentToken.next.image+"', expression expected"; + errorLevel = ERROR; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; + throw e; + } { if (currentSegment != null) { currentSegment.add(new PHPReqIncDeclaration(currentSegment, token.image,pos,expr)); @@ -1863,23 +1795,18 @@ void IncludeStatement() : } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } } String PrintExpression() : { - final StringBuffer buff = new StringBuffer("print "); final String expr; } { - expr = Expression() - { - buff.append(expr); - return buff.toString(); - } + expr = Expression() {return "print " + expr;} } String ListExpression() : @@ -1894,8 +1821,8 @@ String ListExpression() : } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', '(' expected"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } [ @@ -1908,8 +1835,8 @@ String ListExpression() : } catch (ParseException e) { errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', ',' expected"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } expr = VariableDeclaratorId() @@ -1930,7 +1857,8 @@ String ListExpression() : } /** - * An echo statement is like this : echo anyexpression (, otherexpression)* + * An echo statement. + * echo anyexpression (, otherexpression)* */ void EchoStatement() : {} @@ -1942,8 +1870,8 @@ void EchoStatement() : if (e.currentToken.next.kind != 4) { errorMessage = "';' expected after 'echo' statement"; errorLevel = ERROR; - errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; - errorEnd = jj_input_stream.getPosition() + 1; + errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; + errorEnd = jj_input_stream.getPosition() + 1; throw e; } } @@ -1969,7 +1897,7 @@ void GlobalStatement() : try { } catch (ParseException e) { - errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected"; + errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. a ';' was expected"; errorLevel = ERROR; errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; errorEnd = jj_input_stream.getPosition() + 1; @@ -1984,7 +1912,7 @@ void StaticStatement() : try { } catch (ParseException e) { - errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. A ';' was expected"; + errorMessage = "unexpected token : '"+ e.currentToken.next.image +"'. a ';' was expected"; errorLevel = ERROR; errorStart = jj_input_stream.getPosition() - e.currentToken.next.image.length() + 1; errorEnd = jj_input_stream.getPosition() + 1; @@ -2026,10 +1954,8 @@ void BlockStatement() : {} { Statement() -| - ClassDeclaration() -| - MethodDeclaration() +| ClassDeclaration() +| MethodDeclaration() } /** @@ -2039,10 +1965,8 @@ void BlockStatementNoBreak() : {} { StatementNoBreak() -| - ClassDeclaration() -| - MethodDeclaration() +| ClassDeclaration() +| MethodDeclaration() } void LocalVariableDeclaration() : @@ -2069,13 +1993,9 @@ void StatementExpression() : PreIncDecExpression() | PrimaryExpression() - [ - - | - - | - AssignmentOperator() Expression() - ] + [ + | + | AssignmentOperator() Expression() ] } void SwitchStatement() :