Line data Source code
1 : /* Auto-generated by Tools/scripts/generate_token.py */
2 :
3 : #include "Python.h"
4 : #include "pycore_token.h"
5 :
6 : /* Token names */
7 :
8 : const 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 :
78 : int
79 14708800 : _PyToken_OneChar(int c1)
80 : {
81 14708800 : switch (c1) {
82 65314 : case '%': return PERCENT;
83 6375 : case '&': return AMPER;
84 2704760 : case '(': return LPAR;
85 2704400 : case ')': return RPAR;
86 379401 : case '*': return STAR;
87 94936 : case '+': return PLUS;
88 4078720 : case ',': return COMMA;
89 110462 : case '-': return MINUS;
90 0 : case '.': return DOT;
91 25062 : case '/': return SLASH;
92 1989860 : case ':': return COLON;
93 7692 : case ';': return SEMI;
94 15075 : case '<': return LESS;
95 1090120 : case '=': return EQUAL;
96 13362 : case '>': return GREATER;
97 36986 : case '@': return AT;
98 640127 : case '[': return LSQB;
99 640078 : case ']': return RSQB;
100 1036 : case '^': return CIRCUMFLEX;
101 47809 : case '{': return LBRACE;
102 8356 : case '|': return VBAR;
103 47750 : case '}': return RBRACE;
104 1065 : case '~': return TILDE;
105 : }
106 26 : return OP;
107 : }
108 :
109 : int
110 14924500 : _PyToken_TwoChars(int c1, int c2)
111 : {
112 14924500 : switch (c1) {
113 17665 : case '!':
114 : switch (c2) {
115 17663 : case '=': return NOTEQUAL;
116 : }
117 2 : break;
118 65387 : case '%':
119 : switch (c2) {
120 73 : case '=': return PERCENTEQUAL;
121 : }
122 65314 : break;
123 6876 : case '&':
124 : switch (c2) {
125 501 : case '=': return AMPEREQUAL;
126 : }
127 6375 : break;
128 421184 : case '*':
129 : switch (c2) {
130 41140 : case '*': return DOUBLESTAR;
131 643 : case '=': return STAREQUAL;
132 : }
133 379401 : break;
134 113865 : case '+':
135 : switch (c2) {
136 18929 : case '=': return PLUSEQUAL;
137 : }
138 94936 : break;
139 146575 : case '-':
140 : switch (c2) {
141 2712 : case '=': return MINEQUAL;
142 33401 : case '>': return RARROW;
143 : }
144 110462 : break;
145 29012 : case '/':
146 : switch (c2) {
147 3824 : case '/': return DOUBLESLASH;
148 126 : case '=': return SLASHEQUAL;
149 : }
150 25062 : break;
151 1990850 : case ':':
152 : switch (c2) {
153 995 : case '=': return COLONEQUAL;
154 : }
155 1989860 : break;
156 27678 : case '<':
157 : switch (c2) {
158 3802 : case '<': return LEFTSHIFT;
159 8799 : case '=': return LESSEQUAL;
160 2 : case '>': return NOTEQUAL;
161 : }
162 15075 : break;
163 1161730 : case '=':
164 : switch (c2) {
165 71614 : case '=': return EQEQUAL;
166 : }
167 1090120 : break;
168 22943 : case '>':
169 : switch (c2) {
170 8172 : case '=': return GREATEREQUAL;
171 1409 : case '>': return RIGHTSHIFT;
172 : }
173 13362 : break;
174 37031 : case '@':
175 : switch (c2) {
176 45 : case '=': return ATEQUAL;
177 : }
178 36986 : break;
179 1263 : case '^':
180 : switch (c2) {
181 227 : case '=': return CIRCUMFLEXEQUAL;
182 : }
183 1036 : break;
184 10043 : case '|':
185 : switch (c2) {
186 1687 : case '=': return VBAREQUAL;
187 : }
188 8356 : break;
189 : }
190 14708800 : return OP;
191 : }
192 :
193 : int
194 215764 : _PyToken_ThreeChars(int c1, int c2, int c3)
195 : {
196 215764 : switch (c1) {
197 41783 : case '*':
198 : switch (c2) {
199 41140 : case '*':
200 : switch (c3) {
201 58 : case '=': return DOUBLESTAREQUAL;
202 : }
203 41082 : break;
204 : }
205 41725 : break;
206 0 : case '.':
207 : switch (c2) {
208 0 : case '.':
209 : switch (c3) {
210 0 : case '.': return ELLIPSIS;
211 : }
212 0 : break;
213 : }
214 0 : break;
215 3950 : case '/':
216 : switch (c2) {
217 3824 : case '/':
218 : switch (c3) {
219 357 : case '=': return DOUBLESLASHEQUAL;
220 : }
221 3467 : break;
222 : }
223 3593 : break;
224 12603 : case '<':
225 : switch (c2) {
226 3802 : case '<':
227 : switch (c3) {
228 269 : case '=': return LEFTSHIFTEQUAL;
229 : }
230 3533 : break;
231 : }
232 12334 : break;
233 9581 : case '>':
234 : switch (c2) {
235 1409 : case '>':
236 : switch (c3) {
237 81 : case '=': return RIGHTSHIFTEQUAL;
238 : }
239 1328 : break;
240 : }
241 9500 : break;
242 : }
243 214999 : return OP;
244 : }
|