X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/compiler/ITerminalSymbols.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/compiler/ITerminalSymbols.java index 71706f7..5a3e479 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/compiler/ITerminalSymbols.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/compiler/ITerminalSymbols.java @@ -1,186 +1,190 @@ /********************************************************************** -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 + }; }