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