*** empty log message ***
[phpeclipse.git] / net.sourceforge.phpeclipse / src / test / PHPParser.jj
index 9e3fc1d..46fb115 100644 (file)
@@ -277,10 +277,14 @@ PARSER_END(PHPParser)
   "/*" : IN_MULTI_LINE_COMMENT
 }
 
-<IN_SINGLE_LINE_COMMENT>
-SPECIAL_TOKEN :
+<IN_SINGLE_LINE_COMMENT> SPECIAL_TOKEN :
 {
-  <SINGLE_LINE_COMMENT: "\n" | "\r" | "\r\n" | "?>" > : PHPPARSING
+  <SINGLE_LINE_COMMENT: "\n" | "\r" | "\r\n" > : PHPPARSING
+}
+
+<IN_SINGLE_LINE_COMMENT> TOKEN :
+{
+  <SINGLE_LINE_COMMENT_PHPEND : "?>" > : DEFAULT
 }
 
 <IN_FORMAL_COMMENT>
@@ -352,6 +356,8 @@ MORE :
 | < TRUE: "true" >
 | < WHILE: "while" >
 | < ENDWHILE : "endwhile" >
+| <FOREACH : "foreach" >
+| <AS : "as" >
 }
 
 /* TYPES */
@@ -870,6 +876,9 @@ String Type() :
 |
   <INTEGER>
   {return "integer";}
+|
+  <OBJECT>
+  {return "object";}
 }
 
 String Expression() :
@@ -1528,6 +1537,8 @@ void Statement() :
 |
   ForStatement()
 |
+  ForeachStatement()
+|
   BreakStatement()
 |
   ContinueStatement()
@@ -1792,6 +1803,12 @@ void DoStatement() :
   }
 }
 
+void ForeachStatement() :
+{}
+{
+  <FOREACH> <LPAREN> Variable() <AS> Variable() [ <ARRAYASSIGN> Expression() ] <RPAREN> Statement()
+}
+
 void ForStatement() :
 {}
 {