/**********************************************************************
-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
+ };
}