Putting in quick change to support namespace and const. This change only adds a few...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / parser / Parser.java
index e6c6133..3d33858 100644 (file)
@@ -856,6 +856,15 @@ public class Parser implements ITerminalSymbols, CompilerModifiers,
                                getNextToken();
                        }
                        return statement;
+               } else if(token == TokenNameconst){
+                       getNextToken();
+                       if(token == TokenNameIdentifier){
+                               getNextToken();
+                               if(token == TokenNameEQUAL){
+                                       getNextToken();
+                               }
+                               //throwSyntaxError("'Ed i know your here");
+                       }
                } else if (token == TokenNamestatic) {
                        getNextToken();
                        static_var_list();
@@ -2473,6 +2482,8 @@ public class Parser implements ITerminalSymbols, CompilerModifiers,
                        case TokenNameinclude_once:
                        case TokenNamerequire:
                        case TokenNamerequire_once:
+                       case TokenNameNamespace:
+                       case TokenNameconst:
                                internal_functions_in_yacc();
                                break;
                        // | '(' expr ')'
@@ -4091,9 +4102,32 @@ public class Parser implements ITerminalSymbols, CompilerModifiers,
                        // T_REQUIRE_ONCE expr
                        checkFileName(token);
                        break;
+               case TokenNameNamespace:
+                       // NAMESPACE expr
+                       checkNameSpaceName();
+                       break;
+               case TokenNameconst:
+                       getNextToken();
+                       expr();
+                       break;
                }
        }
-
+       
+       /**
+        * parse and check the namespace name
+        * @since 1.2.3
+        * @param namespaceToken
+        */
+       private void checkNameSpaceName(){
+               getNextToken();
+                       while (true) {
+                               if (token == TokenNameSEMICOLON) {
+                                       break;
+                               }
+                               getNextToken();
+                       }
+               
+       }
        /**
         * Parse and check the include file name
         *