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 9dfca8a..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 php-grammar into a unique integer. 
- * This integer is used to represent the terminal when computing a parsing
- * action.
- * 
+ * 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 {
-
-  public final static String[] PHP_TYPES =
-    {
-       "array",
-      "string",
-      "object",
-      "bool",
-      "boolean",
-      "real",
-      "double",
-      "float",
-      "int",
-      "integer",
-      };
-  //"array", 
-  public final static int TokenNameWHITESPACE = 900,
-    TokenNameCOMMENT_LINE = 901,
-    TokenNameCOMMENT_BLOCK = 902,
-    TokenNameCOMMENT_PHPDOC = 903,
-    TokenNameHTML = 904;
-
-  final static int TokenNameEOF = 0;
-  final static int TokenNameERROR = 1;
-  final static int TokenNameStopPHP = 2;
-
-  final static int TokenNameREMAINDER = 30;
-  final static int TokenNameNOT = 31;
-  final static int TokenNameDOT = 32;
-  final static int TokenNameXOR = 33;
-  final static int TokenNameDIVIDE = 34;
-  final static int TokenNameMULTIPLY = 35;
-  final static int TokenNameMINUS = 36;
-  final static int TokenNamePLUS = 37;
-  final static int TokenNameEQUAL_EQUAL = 38;
-  final static int TokenNameNOT_EQUAL = 39;
-  final static int TokenNameGREATER = 40;
-  final static int TokenNameGREATER_EQUAL = 41;
-  final static int TokenNameLESS = 42;
-  final static int TokenNameLESS_EQUAL = 43;
-  final static int TokenNameAND_AND = 44;
-  final static int TokenNameOR_OR = 45;
-  final static int TokenNameCOLON = 47;
-  final static int TokenNameDOT_EQUAL = 48;
 
-  final static int TokenNameEQUAL = 49;
-  final static int TokenNameMINUS_GREATER = 50; // ->
-  final static int TokenNameEQUAL_GREATER = 51; // => (for each operator)
-  final static int TokenNameAND = 52;
-  final static int TokenNameTWIDDLE = 54;
-  final static int TokenNameTWIDDLE_EQUAL = 55;
-  final static int TokenNameREMAINDER_EQUAL = 56;
-  final static int TokenNameXOR_EQUAL = 57;
-  final static int TokenNameRIGHT_SHIFT_EQUAL = 58;
-  final static int TokenNameLEFT_SHIFT_EQUAL = 59;
-  final static int TokenNameAND_EQUAL = 60;
-  final static int TokenNameOR_EQUAL = 61;
-  final static int TokenNameQUESTION = 62;
-  final static int TokenNameCOLON_COLON = 63;
-  final static int TokenNameAT = 64;
-
-  final static int TokenNameDOLLAR_LBRACE = 127;
-  final static int TokenNameLPAREN = 128;
-  final static int TokenNameRPAREN = 129;
-  final static int TokenNameLBRACE = 130;
-  final static int TokenNameRBRACE = 131;
-  final static int TokenNameLBRACKET = 132;
-  final static int TokenNameRBRACKET = 133;
-  final static int TokenNameCOMMA = 134;
-
-  final static int TokenNameStringLiteral = 136;
-  final static int TokenNameIdentifier = 138;
-  final static int TokenNameSEMICOLON = 140;
-  final static int TokenNameMINUS_MINUS = 144;
-  final static int TokenNamePLUS_PLUS = 145;
-  final static int TokenNamePLUS_EQUAL = 146;
-  final static int TokenNameDIVIDE_EQUAL = 147;
-  final static int TokenNameMINUS_EQUAL = 148;
-  final static int TokenNameMULTIPLY_EQUAL = 149;
-  final static int TokenNameVariable = 150;
-  final static int TokenNameIntegerLiteral = 151;
-  final static int TokenNameDoubleLiteral = 152;
-  final static int TokenNameStringInterpolated = 153;
-  final static int TokenNameStringConstant = 154;
-
-  final static int TokenNameLEFT_SHIFT = 155;
-  final static int TokenNameRIGHT_SHIFT = 156;
-  final static int TokenNameEQUAL_EQUAL_EQUAL = 157;
-  final static int TokenNameNOT_EQUAL_EQUAL = 158;
-  final static int TokenNameOR = 159;
-  final static int TokenNameHEREDOC = 160;
-
-  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 final static int TokenNamethis = 1047;
-       //
-       public final static int TokenNameabstract = 1050;
-       public final static int TokenNamecatch = 1051;
-       public final static int TokenNamefinally = 1052;
-       public final static int TokenNametry = 1053;
-       public final static int TokenNameprivate = 1054;
-       public final static int TokenNameprotected = 1055;
-       public final static int TokenNamepublic = 1056;
-       public final static int TokenNameinterface = 1057;
-       public final static int TokenNameimplements = 1058;
-       public final static int TokenNameinstanceof = 1059;
-       public final static int TokenNamesuper = 1060;
-       public final static int TokenNamethrow = 1061;
+public interface ITerminalSymbols {
+       public final static String[] PHP_TYPES = { "array", "string", "object",
+                       "bool", "boolean", "real", "double", "float", "int", "integer", };
 
-       public final static int TokenNameconst = 1063;
-       public final static int TokenNamedeclare = 1064;
-       public final static int TokenNameenddeclare = 1065;
-       public final static int TokenNameeval = 1065;
-       public final static int TokenNameuse = 1066;
-       public final static int TokenNameisset = 1066;
-       public final static int TokenNamefinal = 1067;
+       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
+       };
 }