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..6440ffd 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,142 +1,135 @@ /********************************************************************** -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 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_JAVADOC = 903; + TokenNameCOMMENT_LINE = 901, TokenNameCOMMENT_BLOCK = 902, + TokenNameCOMMENT_PHPDOC = 903; + // TokenNameHTML = 904; + final static int TokenNameEOF = 0; + final static int TokenNameERROR = 1; + final static int TokenNameINLINE_HTML = 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 TokenNamePAAMAYIM_NEKUDOTAYIM = 63; + final static int TokenNameAT = 64; + final static int TokenNameand = 65; + final static int TokenNameor = 66; + final static int TokenNamexor = 67; + final static int TokenNameDOLLAR = 126; + 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 TokenNameStringDoubleQuote = 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 TokenNameStringSingleQuote = 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 = 160; + final static int TokenNameHEREDOC = 161; + final static int TokenNameintCAST = 174; + final static int TokenNameboolCAST = 175; + final static int TokenNamedoubleCAST = 176; + final static int TokenNamestringCAST = 177; + final static int TokenNamearrayCAST = 178; + final static int TokenNameobjectCAST = 179; + final static int TokenNameunsetCAST = 180; + + // � + final static int TokenNameEncapsedString0 = 190; + // ' +// final static int TokenNameEncapsedString1 = 191; + // " +// final static int TokenNameEncapsedString2 = 192; - 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; + final static int TokenNameSTRING = 193; -// public final static int TokenNameKEYWORD = 1000; + final static int TokenNameLBRACE_DOLLAR = 194; + + // start SQL token - the SQL tokens are only used in the + // PHPCompletionprocessor: + public final static int TokenNameSQLselect = 901; + public final static int TokenNameSQLupdate = 902; + public final static int TokenNameSQLinsert = 903; + public final static int TokenNameSQLwhere = 904; + public final static int TokenNameSQLfrom = 905; + public final static int TokenNameSQLinto = 906; + public final static int TokenNameSQLset = 907; + public final static int TokenNameSQLvalues = 908; + // stop SQL token + + /** + * Special 0-length token for php short tag syntax; + * Detected directly after <?= + */ + public final static int TokenNameECHO_INVISIBLE = 990; + + public final static int TokenNameKEYWORD = 1000; public final static int TokenNameif = 1001; public final static int TokenNameelseif = 1002; public final static int TokenNameelse = 1003; @@ -151,7 +144,7 @@ public interface ITerminalSymbols { 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 TokenNamedefine = 1015; public final static int TokenNameinclude = 1016; public final static int TokenNameinclude_once = 1017; public final static int TokenNamerequire = 1018; @@ -167,20 +160,50 @@ public interface ITerminalSymbols { 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 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 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 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 final static int TokenNameconst = 1062; + public final static int TokenNameclone = 1063; + public final static int TokenNamedeclare = 1064; + public final static int TokenNameenddeclare = 1065; + public final static int TokenNameeval = 1066; + public final static int TokenNameuse = 1067; + public final static int TokenNameisset = 1068; + public final static int TokenNamefinal = 1069; + public final static int TokenNameLINE = 1070; + public final static int TokenNameFILE = 1071; + public final static int TokenNameCLASS_C = 1072; + public final static int TokenNameMETHOD_C = 1073; + public final static int TokenNameFUNC_C = 1074; + + // special tokens not normally used in the parser + public final static int TokenNamethis_PHP_COMPLETION = 2000; }