1 /* Generated by re2c */
2 #line 1 "push_fs.re"
3 // re2c $INPUT -o $OUTPUT -fs
push()4 uint32_t push()
5 {
6     // The scanner starts here
7     #define YYLIMIT         limit
8     #define YYCURSOR        cursor
9     #define YYMARKER        marker
10     #define YYCTYPE         uint8_t
11 
12     #define SKIP(x)         { start = cursor; goto yy0; }
13     #define SEND(x)         { send(x); SKIP();          }
14     #define YYFILL(n)       { goto fill;                }
15 
16     #define YYGETSTATE()    state
17     #define YYSETSTATE(x)   { state = (x);  }
18 
19 start:
20 
21 
22 #line 23 "push_fs.c"
23 
24 	switch (YYGETSTATE()) {
25 	default:
26 		goto yy0;
27 	case 0:
28 		goto yyFillLabel0;
29 	case 1:
30 		goto yyFillLabel1;
31 	case 2:
32 		goto yyFillLabel2;
33 	}
34 yy0:
35 	YYSETSTATE(0);
36 	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
37 yyFillLabel0:
38 	yych = *YYCURSOR;
39 	if (yych <= '=') {
40 		if (yych <= '(') {
41 			if (yych <= '\n') {
42 				if (yych <= 0x00) goto yy3;
43 				if (yych <= 0x08) goto yy5;
44 				if (yych <= '\t') goto yy7;
45 				goto yy9;
46 			} else {
47 				if (yych <= 0x1F) {
48 					if (yych <= '\r') goto yy7;
49 					goto yy5;
50 				} else {
51 					if (yych <= ' ') goto yy7;
52 					if (yych <= '\'') goto yy5;
53 					goto yy11;
54 				}
55 			}
56 		} else {
57 			if (yych <= '-') {
58 				if (yych <= '*') {
59 					if (yych <= ')') goto yy13;
60 					goto yy15;
61 				} else {
62 					if (yych <= '+') goto yy17;
63 					if (yych <= ',') goto yy5;
64 					goto yy19;
65 				}
66 			} else {
67 				if (yych <= '/') {
68 					if (yych <= '.') goto yy5;
69 					goto yy21;
70 				} else {
71 					if (yych <= '9') goto yy23;
72 					if (yych <= '<') goto yy5;
73 					goto yy26;
74 				}
75 			}
76 		}
77 	} else {
78 		if (yych <= 'e') {
79 			if (yych <= '_') {
80 				if (yych <= '@') goto yy5;
81 				if (yych <= 'Z') goto yy28;
82 				if (yych <= '^') goto yy5;
83 				goto yy28;
84 			} else {
85 				if (yych <= 'a') {
86 					if (yych <= '`') goto yy5;
87 					goto yy28;
88 				} else {
89 					if (yych <= 'b') goto yy31;
90 					if (yych <= 'd') goto yy28;
91 					goto yy32;
92 				}
93 			}
94 		} else {
95 			if (yych <= 'q') {
96 				if (yych <= 'g') {
97 					if (yych <= 'f') goto yy33;
98 					goto yy34;
99 				} else {
100 					if (yych == 'i') goto yy35;
101 					goto yy28;
102 				}
103 			} else {
104 				if (yych <= 'v') {
105 					if (yych <= 'r') goto yy36;
106 					goto yy28;
107 				} else {
108 					if (yych <= 'w') goto yy37;
109 					if (yych <= 'z') goto yy28;
110 					goto yy5;
111 				}
112 			}
113 		}
114 	}
115 yy3:
116 	++YYCURSOR;
117 #line 49 "push_fs.re"
118 	{ send(kEOF); return 1;  }
119 #line 120 "push_fs.c"
120 yy5:
121 	++YYCURSOR;
122 #line 50 "push_fs.re"
123 	{ SEND(kUnknown);        }
124 #line 125 "push_fs.c"
125 yy7:
126 	++YYCURSOR;
127 #line 48 "push_fs.re"
128 	{ SKIP();                }
129 #line 130 "push_fs.c"
130 yy9:
131 	++YYCURSOR;
132 #line 47 "push_fs.re"
133 	{ SKIP();                }
134 #line 135 "push_fs.c"
135 yy11:
136 	++YYCURSOR;
137 #line 40 "push_fs.re"
138 	{ SEND(kLeftParen);      }
139 #line 140 "push_fs.c"
140 yy13:
141 	++YYCURSOR;
142 #line 41 "push_fs.re"
143 	{ SEND(kRightParen);     }
144 #line 145 "push_fs.c"
145 yy15:
146 	++YYCURSOR;
147 #line 44 "push_fs.re"
148 	{ SEND(kStar);           }
149 #line 150 "push_fs.c"
150 yy17:
151 	++YYCURSOR;
152 #line 43 "push_fs.re"
153 	{ SEND(kPlus);           }
154 #line 155 "push_fs.c"
155 yy19:
156 	++YYCURSOR;
157 #line 42 "push_fs.re"
158 	{ SEND(kMinus);          }
159 #line 160 "push_fs.c"
160 yy21:
161 	++YYCURSOR;
162 #line 45 "push_fs.re"
163 	{ SEND(kSlash);          }
164 #line 165 "push_fs.c"
165 yy23:
166 	++YYCURSOR;
167 	YYSETSTATE(1);
168 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
169 yyFillLabel1:
170 	yych = *YYCURSOR;
171 	if (yych <= '/') goto yy25;
172 	if (yych <= '9') goto yy23;
173 yy25:
174 #line 37 "push_fs.re"
175 	{ SEND(kDecimalConstant);}
176 #line 177 "push_fs.c"
177 yy26:
178 	++YYCURSOR;
179 #line 39 "push_fs.re"
180 	{ SEND(kEqual);          }
181 #line 182 "push_fs.c"
182 yy28:
183 	++YYCURSOR;
184 	YYSETSTATE(2);
185 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
186 yyFillLabel2:
187 	yych = *YYCURSOR;
188 yy29:
189 	if (yych <= 'Z') {
190 		if (yych <= '/') goto yy30;
191 		if (yych <= '9') goto yy28;
192 		if (yych >= 'A') goto yy28;
193 	} else {
194 		if (yych <= '_') {
195 			if (yych >= '_') goto yy28;
196 		} else {
197 			if (yych <= '`') goto yy30;
198 			if (yych <= 'z') goto yy28;
199 		}
200 	}
201 yy30:
202 #line 36 "push_fs.re"
203 	{ SEND(kIdentifier);     }
204 #line 205 "push_fs.c"
205 yy31:
206 	yych = *++YYCURSOR;
207 	if (yych == 'r') goto yy38;
208 	goto yy29;
209 yy32:
210 	yych = *++YYCURSOR;
211 	if (yych == 'l') goto yy39;
212 	goto yy29;
213 yy33:
214 	yych = *++YYCURSOR;
215 	if (yych == 'o') goto yy40;
216 	goto yy29;
217 yy34:
218 	yych = *++YYCURSOR;
219 	if (yych == 'o') goto yy41;
220 	goto yy29;
221 yy35:
222 	yych = *++YYCURSOR;
223 	if (yych == 'f') goto yy42;
224 	goto yy29;
225 yy36:
226 	yych = *++YYCURSOR;
227 	if (yych == 'e') goto yy44;
228 	goto yy29;
229 yy37:
230 	yych = *++YYCURSOR;
231 	if (yych == 'h') goto yy45;
232 	goto yy29;
233 yy38:
234 	yych = *++YYCURSOR;
235 	if (yych == 'e') goto yy46;
236 	goto yy29;
237 yy39:
238 	yych = *++YYCURSOR;
239 	if (yych == 's') goto yy47;
240 	goto yy29;
241 yy40:
242 	yych = *++YYCURSOR;
243 	if (yych == 'r') goto yy48;
244 	goto yy29;
245 yy41:
246 	yych = *++YYCURSOR;
247 	if (yych == 't') goto yy50;
248 	goto yy29;
249 yy42:
250 	yych = *++YYCURSOR;
251 	if (yych <= 'Z') {
252 		if (yych <= '/') goto yy43;
253 		if (yych <= '9') goto yy28;
254 		if (yych >= 'A') goto yy28;
255 	} else {
256 		if (yych <= '_') {
257 			if (yych >= '_') goto yy28;
258 		} else {
259 			if (yych <= '`') goto yy43;
260 			if (yych <= 'z') goto yy28;
261 		}
262 	}
263 yy43:
264 #line 29 "push_fs.re"
265 	{ SEND(kIf);             }
266 #line 267 "push_fs.c"
267 yy44:
268 	yych = *++YYCURSOR;
269 	if (yych == 't') goto yy51;
270 	goto yy29;
271 yy45:
272 	yych = *++YYCURSOR;
273 	if (yych == 'i') goto yy52;
274 	goto yy29;
275 yy46:
276 	yych = *++YYCURSOR;
277 	if (yych == 'a') goto yy53;
278 	goto yy29;
279 yy47:
280 	yych = *++YYCURSOR;
281 	if (yych == 'e') goto yy54;
282 	goto yy29;
283 yy48:
284 	yych = *++YYCURSOR;
285 	if (yych <= 'Z') {
286 		if (yych <= '/') goto yy49;
287 		if (yych <= '9') goto yy28;
288 		if (yych >= 'A') goto yy28;
289 	} else {
290 		if (yych <= '_') {
291 			if (yych >= '_') goto yy28;
292 		} else {
293 			if (yych <= '`') goto yy49;
294 			if (yych <= 'z') goto yy28;
295 		}
296 	}
297 yy49:
298 #line 30 "push_fs.re"
299 	{ SEND(kFor);            }
300 #line 301 "push_fs.c"
301 yy50:
302 	yych = *++YYCURSOR;
303 	if (yych == 'o') goto yy56;
304 	goto yy29;
305 yy51:
306 	yych = *++YYCURSOR;
307 	if (yych == 'u') goto yy58;
308 	goto yy29;
309 yy52:
310 	yych = *++YYCURSOR;
311 	if (yych == 'l') goto yy59;
312 	goto yy29;
313 yy53:
314 	yych = *++YYCURSOR;
315 	if (yych == 'k') goto yy60;
316 	goto yy29;
317 yy54:
318 	yych = *++YYCURSOR;
319 	if (yych <= 'Z') {
320 		if (yych <= '/') goto yy55;
321 		if (yych <= '9') goto yy28;
322 		if (yych >= 'A') goto yy28;
323 	} else {
324 		if (yych <= '_') {
325 			if (yych >= '_') goto yy28;
326 		} else {
327 			if (yych <= '`') goto yy55;
328 			if (yych <= 'z') goto yy28;
329 		}
330 	}
331 yy55:
332 #line 31 "push_fs.re"
333 	{ SEND(kElse);           }
334 #line 335 "push_fs.c"
335 yy56:
336 	yych = *++YYCURSOR;
337 	if (yych <= 'Z') {
338 		if (yych <= '/') goto yy57;
339 		if (yych <= '9') goto yy28;
340 		if (yych >= 'A') goto yy28;
341 	} else {
342 		if (yych <= '_') {
343 			if (yych >= '_') goto yy28;
344 		} else {
345 			if (yych <= '`') goto yy57;
346 			if (yych <= 'z') goto yy28;
347 		}
348 	}
349 yy57:
350 #line 32 "push_fs.re"
351 	{ SEND(kGoto);           }
352 #line 353 "push_fs.c"
353 yy58:
354 	yych = *++YYCURSOR;
355 	if (yych == 'r') goto yy62;
356 	goto yy29;
357 yy59:
358 	yych = *++YYCURSOR;
359 	if (yych == 'e') goto yy63;
360 	goto yy29;
361 yy60:
362 	yych = *++YYCURSOR;
363 	if (yych <= 'Z') {
364 		if (yych <= '/') goto yy61;
365 		if (yych <= '9') goto yy28;
366 		if (yych >= 'A') goto yy28;
367 	} else {
368 		if (yych <= '_') {
369 			if (yych >= '_') goto yy28;
370 		} else {
371 			if (yych <= '`') goto yy61;
372 			if (yych <= 'z') goto yy28;
373 		}
374 	}
375 yy61:
376 #line 33 "push_fs.re"
377 	{ SEND(kBreak);          }
378 #line 379 "push_fs.c"
379 yy62:
380 	yych = *++YYCURSOR;
381 	if (yych == 'n') goto yy65;
382 	goto yy29;
383 yy63:
384 	yych = *++YYCURSOR;
385 	if (yych <= 'Z') {
386 		if (yych <= '/') goto yy64;
387 		if (yych <= '9') goto yy28;
388 		if (yych >= 'A') goto yy28;
389 	} else {
390 		if (yych <= '_') {
391 			if (yych >= '_') goto yy28;
392 		} else {
393 			if (yych <= '`') goto yy64;
394 			if (yych <= 'z') goto yy28;
395 		}
396 	}
397 yy64:
398 #line 34 "push_fs.re"
399 	{ SEND(kWhile);          }
400 #line 401 "push_fs.c"
401 yy65:
402 	yych = *++YYCURSOR;
403 	if (yych <= 'Z') {
404 		if (yych <= '/') goto yy66;
405 		if (yych <= '9') goto yy28;
406 		if (yych >= 'A') goto yy28;
407 	} else {
408 		if (yych <= '_') {
409 			if (yych >= '_') goto yy28;
410 		} else {
411 			if (yych <= '`') goto yy66;
412 			if (yych <= 'z') goto yy28;
413 		}
414 	}
415 yy66:
416 #line 35 "push_fs.re"
417 	{ SEND(kReturn);         }
418 #line 419 "push_fs.c"
419 #line 51 "push_fs.re"
420 
421 
422 fill:
423     return 0;
424 }
425 push_fs.re:27:18: warning: escape has no effect: '\h' [-Wuseless-escape]
426