1 /******************************************************************************* 2 * Copyright (c) 2000, 2019 IBM Corporation and others. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * IBM Corporation - initial API and implementation 13 *******************************************************************************/ 14 package org.eclipse.jdt.internal.compiler.parser; 15 16 /** 17 * IMPORTANT NOTE: These constants are dedicated to the internal Scanner implementation. 18 * It is mirrored in org.eclipse.jdt.core.compiler public package where it is API. 19 * The mirror implementation is using the backward compatible ITerminalSymbols constant 20 * definitions (stable with 2.0), whereas the internal implementation uses TerminalTokens 21 * which constant values reflect the latest parser generation state. 22 */ 23 /** 24 * Maps each terminal symbol in the java-grammar into a unique integer. 25 * This integer is used to represent the terminal when computing a parsing action. 26 * 27 * Disclaimer : These constant values are generated automatically using a Java 28 * grammar, therefore their actual values are subject to change if new keywords 29 * were added to the language (for instance, 'assert' is a keyword in 1.4). 30 */ 31 public interface TerminalTokens { 32 33 // special tokens not part of grammar - not autogenerated 34 int TokenNameNotAToken = 0, 35 TokenNameWHITESPACE = 1000, 36 TokenNameCOMMENT_LINE = 1001, 37 TokenNameCOMMENT_BLOCK = 1002, 38 TokenNameCOMMENT_JAVADOC = 1003; 39 40 // BEGIN_AUTOGENERATED_REGION 41 int TokenNameIdentifier = 21, 42 TokenNameabstract = 52, 43 TokenNameassert = 79, 44 TokenNameboolean = 102, 45 TokenNamebreak = 80, 46 TokenNamebyte = 103, 47 TokenNamecase = 104, 48 TokenNamecatch = 105, 49 TokenNamechar = 106, 50 TokenNameclass = 68, 51 TokenNamecontinue = 81, 52 TokenNameconst = 130, 53 TokenNamedefault = 74, 54 TokenNamedo = 82, 55 TokenNamedouble = 107, 56 TokenNameelse = 117, 57 TokenNameenum = 72, 58 TokenNameextends = 89, 59 TokenNamefalse = 41, 60 TokenNamefinal = 53, 61 TokenNamefinally = 114, 62 TokenNamefloat = 108, 63 TokenNamefor = 83, 64 TokenNamegoto = 131, 65 TokenNameif = 84, 66 TokenNameimplements = 127, 67 TokenNameimport = 109, 68 TokenNameinstanceof = 17, 69 TokenNameint = 110, 70 TokenNameinterface = 71, 71 TokenNamelong = 111, 72 TokenNamenative = 54, 73 TokenNamenew = 36, 74 TokenNamenull = 42, 75 TokenNamepackage = 88, 76 TokenNameprivate = 55, 77 TokenNameprotected = 56, 78 TokenNamepublic = 57, 79 TokenNamereturn = 85, 80 TokenNameshort = 112, 81 TokenNamestatic = 39, 82 TokenNamestrictfp = 58, 83 TokenNamesuper = 34, 84 TokenNameswitch = 61, 85 TokenNamesynchronized = 40, 86 TokenNamethis = 35, 87 TokenNamethrow = 76, 88 TokenNamethrows = 115, 89 TokenNametransient = 59, 90 TokenNametrue = 43, 91 TokenNametry = 86, 92 TokenNamevoid = 113, 93 TokenNamevolatile = 60, 94 TokenNamewhile = 77, 95 TokenNamemodule = 118, 96 TokenNameopen = 119, 97 TokenNamerequires = 120, 98 TokenNametransitive = 125, 99 TokenNameexports = 121, 100 TokenNameopens = 122, 101 TokenNameto = 128, 102 TokenNameuses = 123, 103 TokenNameprovides = 124, 104 TokenNamewith = 129, 105 TokenNameIntegerLiteral = 44, 106 TokenNameLongLiteral = 45, 107 TokenNameFloatingPointLiteral = 46, 108 TokenNameDoubleLiteral = 47, 109 TokenNameCharacterLiteral = 48, 110 TokenNameStringLiteral = 49, 111 TokenNameTextBlock = 50, 112 TokenNamePLUS_PLUS = 2, 113 TokenNameMINUS_MINUS = 3, 114 TokenNameEQUAL_EQUAL = 19, 115 TokenNameLESS_EQUAL = 12, 116 TokenNameGREATER_EQUAL = 13, 117 TokenNameNOT_EQUAL = 20, 118 TokenNameLEFT_SHIFT = 18, 119 TokenNameRIGHT_SHIFT = 14, 120 TokenNameUNSIGNED_RIGHT_SHIFT = 16, 121 TokenNamePLUS_EQUAL = 90, 122 TokenNameMINUS_EQUAL = 91, 123 TokenNameMULTIPLY_EQUAL = 92, 124 TokenNameDIVIDE_EQUAL = 93, 125 TokenNameAND_EQUAL = 94, 126 TokenNameOR_EQUAL = 95, 127 TokenNameXOR_EQUAL = 96, 128 TokenNameREMAINDER_EQUAL = 97, 129 TokenNameLEFT_SHIFT_EQUAL = 98, 130 TokenNameRIGHT_SHIFT_EQUAL = 99, 131 TokenNameUNSIGNED_RIGHT_SHIFT_EQUAL = 100, 132 TokenNameOR_OR = 31, 133 TokenNameAND_AND = 30, 134 TokenNamePLUS = 4, 135 TokenNameMINUS = 5, 136 TokenNameNOT = 64, 137 TokenNameREMAINDER = 9, 138 TokenNameXOR = 24, 139 TokenNameAND = 22, 140 TokenNameMULTIPLY = 8, 141 TokenNameOR = 28, 142 TokenNameTWIDDLE = 65, 143 TokenNameDIVIDE = 10, 144 TokenNameGREATER = 15, 145 TokenNameLESS = 11, 146 TokenNameLPAREN = 23, 147 TokenNameRPAREN = 26, 148 TokenNameLBRACE = 37, 149 TokenNameRBRACE = 33, 150 TokenNameLBRACKET = 6, 151 TokenNameRBRACKET = 67, 152 TokenNameSEMICOLON = 25, 153 TokenNameQUESTION = 29, 154 TokenNameCOLON = 63, 155 TokenNameCOMMA = 32, 156 TokenNameDOT = 1, 157 TokenNameEQUAL = 75, 158 TokenNameAT = 38, 159 TokenNameELLIPSIS = 116, 160 TokenNameARROW = 101, 161 TokenNameCOLON_COLON = 7, 162 TokenNameBeginLambda = 51, 163 TokenNameBeginIntersectionCast = 66, 164 TokenNameBeginTypeArguments = 87, 165 TokenNameElidedSemicolonAndRightBrace = 69, 166 TokenNameAT308 = 27, 167 TokenNameAT308DOTDOTDOT = 126, 168 TokenNameBeginCaseExpr = 70, 169 TokenNameRestrictedIdentifierYield = 78, 170 TokenNameRestrictedIdentifierrecord = 73, 171 TokenNameEOF = 62, 172 TokenNameERROR = 132; 173 } 174