1) Fixed issue #844: Short form of ternary operator (since PHP 5.3).
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / core / compiler / ITerminalSymbols.java
index 71706f7..5a3e479 100644 (file)
 /**********************************************************************
-Copyright (c) 2002 IBM Corp. and others.
-All rights reserved.   This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-Contributors:
-     IBM Corporation - initial API and implementation
-**********************************************************************/
-
+ Copyright (c) 2002 IBM Corp. and others.
+ All rights reserved. � This program and the accompanying materials
+ are made available under the terms of the Common Public License v0.5
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/cpl-v05.html
+ �
+ Contributors:
+ IBM Corporation - initial API and implementation
+ **********************************************************************/
 package net.sourceforge.phpdt.core.compiler;
 
 /**
- * Maps each terminal symbol in the java-grammar into a unique integer. 
- * This integer is used to represent the terminal when computing a parsing action. 
- * 
- * Disclaimer : These constant values are generated automatically using a Java 
- * grammar, therefore their actual values are subject to change if new keywords 
- * were added to the language (i.e. 'assert' keyword in 1.4).
- * 
+ * Maps each terminal symbol in the php-grammar into a unique integer. This
+ * integer is used to represent the terminal when computing a parsing action.
+ *
  * @see IScanner
  * @since 2.0
  */
-public interface ITerminalSymbols {
 
-  // special tokens not part of grammar - not autogenerated
-  public final static int TokenNameWHITESPACE = 900,
-    TokenNameCOMMENT_LINE = 901,
-    TokenNameCOMMENT_BLOCK = 902,
-    TokenNameCOMMENT_JAVADOC = 903;
-
-  public final static int TokenNameIdentifier = 5,
-//    TokenNameabstract = 98,
-//    TokenNameassert = 118,
-//    TokenNameboolean = 18,
-//   // TokenNamebreak = 119,
-//    TokenNamebyte = 19,
-//   // TokenNamecase = 211,
-//    TokenNamecatch = 225,
-//    TokenNamechar = 20,
-//  //  TokenNameclass = 165,
-//  //  TokenNamecontinue = 120,
-//  //  TokenNamedefault = 212,
-//  //  TokenNamedo = 121,
-//    TokenNamedouble = 21,
-//  //  TokenNameelse = 213,
-//  //  TokenNameextends = 243,
-//  //  TokenNamefalse = 37,
-//    TokenNamefinal = 99,
-//    TokenNamefinally = 226,
-//    TokenNamefloat = 22,
-//  //  TokenNamefor = 122,
-//  //  TokenNameif = 123,
-//    TokenNameimplements = 267,
-//    TokenNameimport = 191,
-//    TokenNameinstanceof = 65,
-//    TokenNameint = 23,
-//    TokenNameinterface = 180,
-//    TokenNamelong = 24,
-//    TokenNamenative = 100,
-//  //  TokenNamenew = 32,
-//  //  TokenNamenull = 38,
-//    TokenNamepackage = 214,
-//    TokenNameprivate = 101,
-//    TokenNameprotected = 102,
-//    TokenNamepublic = 103,
-//  //  TokenNamereturn = 124,
-//    TokenNameshort = 25,
-//  //  TokenNamestatic = 94,
-//    TokenNamestrictfp = 104,
-//    TokenNamesuper = 34,
-//  //  TokenNameswitch = 125,
-//    TokenNamesynchronized = 85,
-//    TokenNamethis = 35,
-//    TokenNamethrow = 126,
-//    TokenNamethrows = 227,
-//    TokenNametransient = 105,
-//  //  TokenNametrue = 39,
-//    TokenNametry = 127,
-//    TokenNamevoid = 26,
-//    TokenNamevolatile = 106,
-//  //  TokenNamewhile = 117,
-    TokenNameIntegerLiteral = 40,
-    TokenNameLongLiteral = 41,
-    TokenNameFloatingPointLiteral = 42,
-    TokenNameDoubleLiteral = 43,
-    TokenNameCharacterLiteral = 44,
-    TokenNameStringLiteral = 45,
-    TokenNamePLUS_PLUS = 1,
-    TokenNameMINUS_MINUS = 2,
-    TokenNameEQUAL_EQUAL = 33,
-    TokenNameLESS_EQUAL = 66,
-    TokenNameGREATER_EQUAL = 67,
-    TokenNameNOT_EQUAL = 36,
-    TokenNameLEFT_SHIFT = 14,
-    TokenNameRIGHT_SHIFT = 11,
-    TokenNameUNSIGNED_RIGHT_SHIFT = 12,
-    TokenNamePLUS_EQUAL = 168,
-    TokenNameMINUS_EQUAL = 169,
-    TokenNameMULTIPLY_EQUAL = 170,
-    TokenNameDIVIDE_EQUAL = 171,
-    TokenNameAND_EQUAL = 172,
-    TokenNameOR_EQUAL = 173,
-    TokenNameXOR_EQUAL = 174,
-    TokenNameREMAINDER_EQUAL = 175,
-    TokenNameLEFT_SHIFT_EQUAL = 176,
-    TokenNameRIGHT_SHIFT_EQUAL = 177,
-    TokenNameUNSIGNED_RIGHT_SHIFT_EQUAL = 178,
-    TokenNameOR_OR = 80,
-    TokenNameAND_AND = 79,
-    TokenNamePLUS = 3,
-    TokenNameMINUS = 4,
-    TokenNameNOT = 71,
-    TokenNameREMAINDER = 9,
-    TokenNameXOR = 63,
-    TokenNameAND = 62,
-    TokenNameMULTIPLY = 8,
-    TokenNameOR = 70,
-    TokenNameTWIDDLE = 72,
-    TokenNameDIVIDE = 10,
-    TokenNameGREATER = 68,
-    TokenNameLESS = 69,
-    TokenNameLPAREN = 7,
-    TokenNameRPAREN = 86,
-    TokenNameLBRACE = 110,
-    TokenNameRBRACE = 95,
-    TokenNameLBRACKET = 15,
-    TokenNameRBRACKET = 166,
-    TokenNameSEMICOLON = 64,
-    TokenNameQUESTION = 81,
-    TokenNameCOLON = 154,
-    TokenNameCOMMA = 90,
-    TokenNameDOT = 6,
-    TokenNameEQUAL = 167,
-    TokenNameEOF = 158,
-    TokenNameERROR = 307;
+public interface ITerminalSymbols {
+       public final static String[] PHP_TYPES = { "array", "string", "object",
+                       "bool", "boolean", "real", "double", "float", "int", "integer", };
 
-//  public final static int TokenNameKEYWORD = 1000;
-  public final static int TokenNameif = 1001;
-  public final static int TokenNameelseif = 1002;
-  public final static int TokenNameelse = 1003;
-  public final static int TokenNameendif = 1004;
-  public final static int TokenNamefor = 1005;
-  public final static int TokenNameendfor = 1006;
-  public final static int TokenNamewhile = 1007;
-  public final static int TokenNameendwhile = 1008;
-  public final static int TokenNameswitch = 1009;
-  public final static int TokenNamecase = 10010;
-  public final static int TokenNameendswitch = 1011;
-  public final static int TokenNamebreak = 1012;
-  public final static int TokenNamecontinue = 1013;
-  public final static int TokenNamereturn = 1014;
-  public final static int TokenNamedefine = 1015;
-  public final static int TokenNameinclude = 1016;
-  public final static int TokenNameinclude_once = 1017;
-  public final static int TokenNamerequire = 1018;
-  public final static int TokenNamerequire_once = 1019;
-  public final static int TokenNamefunction = 1020;
-  public final static int TokenNameclass = 1021;
-  public final static int TokenNamenew = 1022;
-  public final static int TokenNamedo = 1023;
-  public final static int TokenNameold_function = 1024;
-  public final static int TokenNamedefault = 1025;
-  public final static int TokenNameglobal = 1026;
-  public final static int TokenNamestatic = 1027;
-  public final static int TokenNameforeach = 1028;
-  public final static int TokenNameendforeach = 1029;
-  public final static int TokenNameextends = 1030;
-  // public final static int TokenNameempty = 1031;
-  // public final static int TokenNamearray = 1032;
-  public final static int TokenNameecho = 1033;
-  public final static int TokenNamevar = 1034;
-  public final static int TokenNameas = 1035;
-  public final static int TokenNameprint = 1036;
-  // public final static int TokenNameunset = 1037;
-  //  public final static int TokenNameexit = 1038;
-  // public final static int TokenNamedie = 1039;
-  public final static int TokenNameand = 1040;
-  public final static int TokenNameor = 1041;
-  public final static int TokenNamexor = 1042;
-  public final static int TokenNamelist = 1043;
-  public final static int TokenNamenull = 1044;
-  public final static int TokenNamefalse = 1045;
-  public final static int TokenNametrue = 1046;
+       public enum TokenName {
+           NONE_INDENT_BLOCK,
+               NONE,                                     // Pseudo token name; means no token yet available
+        EOF,
+           WHITESPACE,
+           COMMENT_LINE,
+           COMMENT_BLOCK,
+           COMMENT_PHPDOC,
+ //     HTML = 904,
+           ERROR,
+           INLINE_HTML,
+           REMAINDER,
+           NOT,
+           DOT,
+           DIVIDE,
+           MULTIPLY,
+           MINUS,
+           PLUS,
+        OP_AT,
+        OP_AND_OLD,
+        OP_OR_OLD,
+        OP_XOR_OLD,
+        OP_XOR,
+        OP_AND,
+        OP_OR,
+        AND_AND,
+        OR_OR,
+           EQUAL_EQUAL,
+           NOT_EQUAL,
+           GREATER,
+           GREATER_EQUAL,
+           LESS,
+           LESS_EQUAL,
+           COLON,
+           DOT_EQUAL,
+           EQUAL,
+           MINUS_GREATER,
+           EQUAL_GREATER,
+           TWIDDLE,
+           TWIDDLE_EQUAL,
+           REMAINDER_EQUAL,
+           RIGHT_SHIFT_EQUAL,
+           LEFT_SHIFT_EQUAL,
+        XOR_EQUAL,
+           AND_EQUAL,
+           OR_EQUAL,
+           QUESTION,
+           TERNARY_SHORT,
+           PAAMAYIM_NEKUDOTAYIM,
+           DOLLAR,
+           DOLLAR_LBRACE,
+           LPAREN,
+           RPAREN,
+           LBRACE,
+           RBRACE,
+           LBRACKET,
+           RBRACKET,
+           COMMA,
+           BACKSLASH,
+           STRINGDOUBLEQUOTE,
+           IDENTIFIER,
+           SEMICOLON,
+           MINUS_MINUS,
+           PLUS_PLUS,
+           PLUS_EQUAL,
+           DIVIDE_EQUAL,
+           MINUS_EQUAL,
+           MULTIPLY_EQUAL,
+           VARIABLE,
+           INTEGERLITERAL,
+           DOUBLELITERAL,
+           STRINGINTERPOLATED,
+           STRINGSINGLEQUOTE,
+           LEFT_SHIFT,
+           RIGHT_SHIFT,
+           EQUAL_EQUAL_EQUAL,
+           NOT_EQUAL_EQUAL,
+           HEREDOC,
+           INTCAST,
+           BOOLCAST,
+           DOUBLECAST,
+           STRINGCAST,
+           ARRAYCAST,
+           OBJECTCAST,
+           UNSETCAST,
+           ENCAPSEDSTRING0,
+           STRING,
+           LBRACE_DOLLAR,
+           SQLSELECT,
+           SQLUPDATE,
+           SQLINSERT,
+           SQLWHERE,
+           SQLFROM,
+           SQLINTO,
+           SQLSET,
+           SQLVALUES,
+           ECHO_INVISIBLE,
+           KEYWORD,                       // Here the PHP keywords start
+           ABSTRACT,
+           ARRAY,
+           AS,
+           BREAK,
+           CASE,
+           CATCH,
+           CLASS,
+           CLASS_C,
+           CLONE,
+           CONST,
+           CONTINUE,
+           DECLARE,
+           DEFAULT,
+           DO,
+           ECHO,
+           ELSE,
+           ELSEIF,
+           EMPTY,
+           ENDDECLARE,
+           ENDFOR,
+           ENDFOREACH,
+           ENDIF,
+           ENDSWITCH,
+           ENDWHILE,
+           EVAL,
+           EXIT,
+           EXTENDS,
+           FILE,
+           FINAL,
+           FINALLY,
+           FOR,
+           FOREACH,
+           FUNCTION,
+           FUNC_C,
+           GLOBAL,
+           GOTO,
+           IF,
+           IMPLEMENTS,
+           INCLUDE,
+           INCLUDE_ONCE,
+           INSTANCEOF,
+           INTERFACE,
+           ISSET,
+           LINE,
+           LIST,
+           METHOD_C,
+           NAMESPACE,
+           NEW,
+           OLD_FUNCTION,
+           PRINT,
+           PRIVATE,
+           PROTECTED,
+           PUBLIC,
+           REQUIRE,
+           REQUIRE_ONCE,
+           RETURN,
+           STATIC,
+           SUPER,
+           SWITCH,
+           THROW,
+           TRY,
+           UNSET,
+           USE,
+           VAR,
+           WHILE,
+           THIS_PHP_COMPLETION;              // special tokens not normally used in the parser
+       };
 }