1/* Auto-generated by Tools/scripts/generate_token.py */
2
3#include "Python.h"
4#include "token.h"
5
6/* Token names */
7
8const char * const _PyParser_TokenNames[] = {
9 "ENDMARKER",
10 "NAME",
11 "NUMBER",
12 "STRING",
13 "NEWLINE",
14 "INDENT",
15 "DEDENT",
16 "LPAR",
17 "RPAR",
18 "LSQB",
19 "RSQB",
20 "COLON",
21 "COMMA",
22 "SEMI",
23 "PLUS",
24 "MINUS",
25 "STAR",
26 "SLASH",
27 "VBAR",
28 "AMPER",
29 "LESS",
30 "GREATER",
31 "EQUAL",
32 "DOT",
33 "PERCENT",
34 "LBRACE",
35 "RBRACE",
36 "EQEQUAL",
37 "NOTEQUAL",
38 "LESSEQUAL",
39 "GREATEREQUAL",
40 "TILDE",
41 "CIRCUMFLEX",
42 "LEFTSHIFT",
43 "RIGHTSHIFT",
44 "DOUBLESTAR",
45 "PLUSEQUAL",
46 "MINEQUAL",
47 "STAREQUAL",
48 "SLASHEQUAL",
49 "PERCENTEQUAL",
50 "AMPEREQUAL",
51 "VBAREQUAL",
52 "CIRCUMFLEXEQUAL",
53 "LEFTSHIFTEQUAL",
54 "RIGHTSHIFTEQUAL",
55 "DOUBLESTAREQUAL",
56 "DOUBLESLASH",
57 "DOUBLESLASHEQUAL",
58 "AT",
59 "ATEQUAL",
60 "RARROW",
61 "ELLIPSIS",
62 "COLONEQUAL",
63 "OP",
64 "AWAIT",
65 "ASYNC",
66 "TYPE_IGNORE",
67 "TYPE_COMMENT",
68 "SOFT_KEYWORD",
69 "<ERRORTOKEN>",
70 "<COMMENT>",
71 "<NL>",
72 "<ENCODING>",
73 "<N_TOKENS>",
74};
75
76/* Return the token corresponding to a single character */
77
78int
79PyToken_OneChar(int c1)
80{
81 switch (c1) {
82 case '%': return PERCENT;
83 case '&': return AMPER;
84 case '(': return LPAR;
85 case ')': return RPAR;
86 case '*': return STAR;
87 case '+': return PLUS;
88 case ',': return COMMA;
89 case '-': return MINUS;
90 case '.': return DOT;
91 case '/': return SLASH;
92 case ':': return COLON;
93 case ';': return SEMI;
94 case '<': return LESS;
95 case '=': return EQUAL;
96 case '>': return GREATER;
97 case '@': return AT;
98 case '[': return LSQB;
99 case ']': return RSQB;
100 case '^': return CIRCUMFLEX;
101 case '{': return LBRACE;
102 case '|': return VBAR;
103 case '}': return RBRACE;
104 case '~': return TILDE;
105 }
106 return OP;
107}
108
109int
110PyToken_TwoChars(int c1, int c2)
111{
112 switch (c1) {
113 case '!':
114 switch (c2) {
115 case '=': return NOTEQUAL;
116 }
117 break;
118 case '%':
119 switch (c2) {
120 case '=': return PERCENTEQUAL;
121 }
122 break;
123 case '&':
124 switch (c2) {
125 case '=': return AMPEREQUAL;
126 }
127 break;
128 case '*':
129 switch (c2) {
130 case '*': return DOUBLESTAR;
131 case '=': return STAREQUAL;
132 }
133 break;
134 case '+':
135 switch (c2) {
136 case '=': return PLUSEQUAL;
137 }
138 break;
139 case '-':
140 switch (c2) {
141 case '=': return MINEQUAL;
142 case '>': return RARROW;
143 }
144 break;
145 case '/':
146 switch (c2) {
147 case '/': return DOUBLESLASH;
148 case '=': return SLASHEQUAL;
149 }
150 break;
151 case ':':
152 switch (c2) {
153 case '=': return COLONEQUAL;
154 }
155 break;
156 case '<':
157 switch (c2) {
158 case '<': return LEFTSHIFT;
159 case '=': return LESSEQUAL;
160 case '>': return NOTEQUAL;
161 }
162 break;
163 case '=':
164 switch (c2) {
165 case '=': return EQEQUAL;
166 }
167 break;
168 case '>':
169 switch (c2) {
170 case '=': return GREATEREQUAL;
171 case '>': return RIGHTSHIFT;
172 }
173 break;
174 case '@':
175 switch (c2) {
176 case '=': return ATEQUAL;
177 }
178 break;
179 case '^':
180 switch (c2) {
181 case '=': return CIRCUMFLEXEQUAL;
182 }
183 break;
184 case '|':
185 switch (c2) {
186 case '=': return VBAREQUAL;
187 }
188 break;
189 }
190 return OP;
191}
192
193int
194PyToken_ThreeChars(int c1, int c2, int c3)
195{
196 switch (c1) {
197 case '*':
198 switch (c2) {
199 case '*':
200 switch (c3) {
201 case '=': return DOUBLESTAREQUAL;
202 }
203 break;
204 }
205 break;
206 case '.':
207 switch (c2) {
208 case '.':
209 switch (c3) {
210 case '.': return ELLIPSIS;
211 }
212 break;
213 }
214 break;
215 case '/':
216 switch (c2) {
217 case '/':
218 switch (c3) {
219 case '=': return DOUBLESLASHEQUAL;
220 }
221 break;
222 }
223 break;
224 case '<':
225 switch (c2) {
226 case '<':
227 switch (c3) {
228 case '=': return LEFTSHIFTEQUAL;
229 }
230 break;
231 }
232 break;
233 case '>':
234 switch (c2) {
235 case '>':
236 switch (c3) {
237 case '=': return RIGHTSHIFTEQUAL;
238 }
239 break;
240 }
241 break;
242 }
243 return OP;
244}
245