1 /* Generated by re2c 2.1.1 on Fri Jul 16 08:54:58 2021 */
2 #line 1 "../src/options/parse_opts.re"
3 #include <stddef.h>
4 #include <algorithm>
5 #include <string>
6 #include <vector>
7
8 #include "src/dfa/dfa.h"
9 #include "src/encoding/enc.h"
10 #include "src/msg/location.h"
11 #include "src/msg/msg.h"
12 #include "src/msg/warn.h"
13 #include "src/options/opt.h"
14
15
16 namespace re2c {
17
next(char * & arg,char ** & argv)18 static inline bool next (char * & arg, char ** & argv)
19 {
20 arg = *++argv;
21 return arg != NULL;
22 }
23
set_source_file(conopt_t & globopts,const char * source)24 static inline bool set_source_file(conopt_t &globopts, const char *source)
25 {
26 if (!globopts.source_file.empty()) {
27 error("multiple source files: %s, %s", globopts.source_file.c_str(), source);
28 return false;
29 } else {
30 globopts.source_file = source;
31 return true;
32 }
33 }
34
parse_opts(char ** argv,conopt_t & globopts,Opt & opts,Msg & msg)35 parse_opts_t parse_opts(char **argv, conopt_t &globopts, Opt &opts, Msg &msg)
36 {
37 #define YYCTYPE unsigned char
38
39 #define NEXT_ARG(option, label) do { \
40 if (next (YYCURSOR, argv)) goto label; \
41 else { error_arg(option); return EXIT_FAIL; } \
42 } while(0)
43
44 #define ERROR(msg, arg) do { \
45 error(msg, arg); \
46 return EXIT_FAIL; \
47 } while(0)
48
49 #define ERRARG(opt, exp, arg) do { \
50 error("bad argument '%s' to option %s <%s>", arg, opt, exp); \
51 return EXIT_FAIL; \
52 } while(0)
53
54 char *YYCURSOR, *YYMARKER;
55 Warn::option_t option;
56
57 #line 61 "../src/options/parse_opts.re"
58
59
60 opt:
61 if (!next (YYCURSOR, argv)) goto end;
62
63 #line 64 "src/options/parse_opts.cc"
64 {
65 YYCTYPE yych;
66 unsigned int yyaccept = 0;
67 static const unsigned char yybm[] = {
68 0, 128, 128, 128, 128, 128, 128, 128,
69 128, 128, 128, 128, 128, 128, 128, 128,
70 128, 128, 128, 128, 128, 128, 128, 128,
71 128, 128, 128, 128, 128, 128, 128, 128,
72 128, 128, 128, 128, 128, 128, 128, 128,
73 128, 128, 128, 128, 128, 128, 128, 128,
74 128, 128, 128, 128, 128, 128, 128, 128,
75 128, 128, 128, 128, 128, 128, 128, 128,
76 128, 128, 128, 128, 128, 128, 128, 128,
77 128, 128, 128, 128, 128, 128, 128, 128,
78 128, 128, 128, 128, 128, 128, 128, 128,
79 128, 128, 128, 128, 128, 128, 128, 128,
80 128, 128, 128, 128, 128, 128, 128, 128,
81 128, 128, 128, 128, 128, 128, 128, 128,
82 128, 128, 128, 128, 128, 128, 128, 128,
83 128, 128, 128, 128, 128, 128, 128, 128,
84 128, 128, 128, 128, 128, 128, 128, 128,
85 128, 128, 128, 128, 128, 128, 128, 128,
86 128, 128, 128, 128, 128, 128, 128, 128,
87 128, 128, 128, 128, 128, 128, 128, 128,
88 128, 128, 128, 128, 128, 128, 128, 128,
89 128, 128, 128, 128, 128, 128, 128, 128,
90 128, 128, 128, 128, 128, 128, 128, 128,
91 128, 128, 128, 128, 128, 128, 128, 128,
92 128, 128, 128, 128, 128, 128, 128, 128,
93 128, 128, 128, 128, 128, 128, 128, 128,
94 128, 128, 128, 128, 128, 128, 128, 128,
95 128, 128, 128, 128, 128, 128, 128, 128,
96 128, 128, 128, 128, 128, 128, 128, 128,
97 128, 128, 128, 128, 128, 128, 128, 128,
98 128, 128, 128, 128, 128, 128, 128, 128,
99 128, 128, 128, 128, 128, 128, 128, 128,
100 };
101 yych = (YYCTYPE)*YYCURSOR;
102 if (yych <= 0x00) goto yy2;
103 if (yych == '-') goto yy6;
104 goto yy4;
105 yy2:
106 ++YYCURSOR;
107 #line 66 "../src/options/parse_opts.re"
108 { ERROR("bad option: %s", *argv); }
109 #line 110 "src/options/parse_opts.cc"
110 yy4:
111 yych = (YYCTYPE)*++YYCURSOR;
112 if (yybm[0+yych] & 128) {
113 goto yy4;
114 }
115 goto yy8;
116 yy6:
117 yych = (YYCTYPE)*++YYCURSOR;
118 if (yych <= '-') {
119 if (yych <= 0x00) goto yy10;
120 if (yych >= '-') goto yy12;
121 } else {
122 if (yych == 'W') goto yy14;
123 }
124 #line 80 "../src/options/parse_opts.re"
125 { goto opt_short; }
126 #line 127 "src/options/parse_opts.cc"
127 yy8:
128 ++YYCURSOR;
129 #line 78 "../src/options/parse_opts.re"
130 { if (!set_source_file(globopts, *argv)) return EXIT_FAIL; goto opt; }
131 #line 132 "src/options/parse_opts.cc"
132 yy10:
133 ++YYCURSOR;
134 #line 77 "../src/options/parse_opts.re"
135 { if (!set_source_file(globopts, "<stdin>")) return EXIT_FAIL; goto opt; }
136 #line 137 "src/options/parse_opts.cc"
137 yy12:
138 yych = (YYCTYPE)*++YYCURSOR;
139 if (yych <= 0x00) goto yy16;
140 #line 81 "../src/options/parse_opts.re"
141 { goto opt_long; }
142 #line 143 "src/options/parse_opts.cc"
143 yy14:
144 yyaccept = 0;
145 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
146 if (yych <= 'e') {
147 if (yych <= 0x00) goto yy18;
148 if (yych >= 'e') goto yy20;
149 } else {
150 if (yych == 'n') goto yy22;
151 }
152 yy15:
153 #line 85 "../src/options/parse_opts.re"
154 { option = Warn::W; goto opt_warn; }
155 #line 156 "src/options/parse_opts.cc"
156 yy16:
157 ++YYCURSOR;
158 #line 68 "../src/options/parse_opts.re"
159 {
160 // remaining args are non-options, so they must be input files
161 // re2c expects exactly one input file
162 for (char *f; next(f, argv); ) {
163 if (!set_source_file(globopts, f)) return EXIT_FAIL;
164 }
165 goto end;
166 }
167 #line 168 "src/options/parse_opts.cc"
168 yy18:
169 ++YYCURSOR;
170 #line 83 "../src/options/parse_opts.re"
171 { msg.warn.set_all (); goto opt; }
172 #line 173 "src/options/parse_opts.cc"
173 yy20:
174 yych = (YYCTYPE)*++YYCURSOR;
175 if (yych == 'r') goto yy23;
176 yy21:
177 YYCURSOR = YYMARKER;
178 if (yyaccept == 0) {
179 goto yy15;
180 } else {
181 goto yy27;
182 }
183 yy22:
184 yych = (YYCTYPE)*++YYCURSOR;
185 if (yych == 'o') goto yy24;
186 goto yy21;
187 yy23:
188 yych = (YYCTYPE)*++YYCURSOR;
189 if (yych == 'r') goto yy25;
190 goto yy21;
191 yy24:
192 yych = (YYCTYPE)*++YYCURSOR;
193 if (yych == '-') goto yy26;
194 goto yy21;
195 yy25:
196 yych = (YYCTYPE)*++YYCURSOR;
197 if (yych == 'o') goto yy28;
198 goto yy21;
199 yy26:
200 yyaccept = 1;
201 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
202 if (yych == 'e') goto yy29;
203 yy27:
204 #line 86 "../src/options/parse_opts.re"
205 { option = Warn::WNO; goto opt_warn; }
206 #line 207 "src/options/parse_opts.cc"
207 yy28:
208 yych = (YYCTYPE)*++YYCURSOR;
209 if (yych == 'r') goto yy30;
210 goto yy21;
211 yy29:
212 yych = (YYCTYPE)*++YYCURSOR;
213 if (yych == 'r') goto yy31;
214 goto yy21;
215 yy30:
216 yych = (YYCTYPE)*++YYCURSOR;
217 if (yych <= 0x00) goto yy32;
218 if (yych == '-') goto yy34;
219 goto yy21;
220 yy31:
221 yych = (YYCTYPE)*++YYCURSOR;
222 if (yych == 'r') goto yy36;
223 goto yy21;
224 yy32:
225 ++YYCURSOR;
226 #line 84 "../src/options/parse_opts.re"
227 { msg.warn.set_all_error (); goto opt; }
228 #line 229 "src/options/parse_opts.cc"
229 yy34:
230 ++YYCURSOR;
231 #line 87 "../src/options/parse_opts.re"
232 { option = Warn::WERROR; goto opt_warn; }
233 #line 234 "src/options/parse_opts.cc"
234 yy36:
235 yych = (YYCTYPE)*++YYCURSOR;
236 if (yych != 'o') goto yy21;
237 yych = (YYCTYPE)*++YYCURSOR;
238 if (yych != 'r') goto yy21;
239 yych = (YYCTYPE)*++YYCURSOR;
240 if (yych != '-') goto yy21;
241 ++YYCURSOR;
242 #line 88 "../src/options/parse_opts.re"
243 { option = Warn::WNOERROR; goto opt_warn; }
244 #line 245 "src/options/parse_opts.cc"
245 }
246 #line 89 "../src/options/parse_opts.re"
247
248
249 opt_warn:
250
251 #line 252 "src/options/parse_opts.cc"
252 {
253 YYCTYPE yych;
254 yych = (YYCTYPE)*YYCURSOR;
255 switch (yych) {
256 case 'c': goto yy45;
257 case 'e': goto yy46;
258 case 'm': goto yy47;
259 case 'n': goto yy48;
260 case 's': goto yy49;
261 case 'u': goto yy50;
262 default: goto yy43;
263 }
264 yy43:
265 ++YYCURSOR;
266 yy44:
267 #line 93 "../src/options/parse_opts.re"
268 { ERROR("bad warning: %s", *argv); }
269 #line 270 "src/options/parse_opts.cc"
270 yy45:
271 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
272 if (yych == 'o') goto yy51;
273 goto yy44;
274 yy46:
275 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
276 if (yych == 'm') goto yy53;
277 goto yy44;
278 yy47:
279 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
280 if (yych == 'a') goto yy54;
281 goto yy44;
282 yy48:
283 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
284 if (yych == 'o') goto yy55;
285 goto yy44;
286 yy49:
287 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
288 if (yych == 'e') goto yy56;
289 if (yych == 'w') goto yy57;
290 goto yy44;
291 yy50:
292 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
293 if (yych == 'n') goto yy58;
294 if (yych == 's') goto yy59;
295 goto yy44;
296 yy51:
297 yych = (YYCTYPE)*++YYCURSOR;
298 if (yych == 'n') goto yy60;
299 yy52:
300 YYCURSOR = YYMARKER;
301 goto yy44;
302 yy53:
303 yych = (YYCTYPE)*++YYCURSOR;
304 if (yych == 'p') goto yy61;
305 goto yy52;
306 yy54:
307 yych = (YYCTYPE)*++YYCURSOR;
308 if (yych == 't') goto yy62;
309 goto yy52;
310 yy55:
311 yych = (YYCTYPE)*++YYCURSOR;
312 if (yych == 'n') goto yy63;
313 goto yy52;
314 yy56:
315 yych = (YYCTYPE)*++YYCURSOR;
316 if (yych == 'n') goto yy64;
317 goto yy52;
318 yy57:
319 yych = (YYCTYPE)*++YYCURSOR;
320 if (yych == 'a') goto yy65;
321 goto yy52;
322 yy58:
323 yych = (YYCTYPE)*++YYCURSOR;
324 if (yych == 'd') goto yy66;
325 if (yych == 'r') goto yy67;
326 goto yy52;
327 yy59:
328 yych = (YYCTYPE)*++YYCURSOR;
329 if (yych == 'e') goto yy68;
330 goto yy52;
331 yy60:
332 yych = (YYCTYPE)*++YYCURSOR;
333 if (yych == 'd') goto yy69;
334 goto yy52;
335 yy61:
336 yych = (YYCTYPE)*++YYCURSOR;
337 if (yych == 't') goto yy70;
338 goto yy52;
339 yy62:
340 yych = (YYCTYPE)*++YYCURSOR;
341 if (yych == 'c') goto yy71;
342 goto yy52;
343 yy63:
344 yych = (YYCTYPE)*++YYCURSOR;
345 if (yych == 'd') goto yy72;
346 goto yy52;
347 yy64:
348 yych = (YYCTYPE)*++YYCURSOR;
349 if (yych == 't') goto yy73;
350 goto yy52;
351 yy65:
352 yych = (YYCTYPE)*++YYCURSOR;
353 if (yych == 'p') goto yy74;
354 goto yy52;
355 yy66:
356 yych = (YYCTYPE)*++YYCURSOR;
357 if (yych == 'e') goto yy75;
358 goto yy52;
359 yy67:
360 yych = (YYCTYPE)*++YYCURSOR;
361 if (yych == 'e') goto yy76;
362 goto yy52;
363 yy68:
364 yych = (YYCTYPE)*++YYCURSOR;
365 if (yych == 'l') goto yy77;
366 goto yy52;
367 yy69:
368 yych = (YYCTYPE)*++YYCURSOR;
369 if (yych == 'i') goto yy78;
370 goto yy52;
371 yy70:
372 yych = (YYCTYPE)*++YYCURSOR;
373 if (yych == 'y') goto yy79;
374 goto yy52;
375 yy71:
376 yych = (YYCTYPE)*++YYCURSOR;
377 if (yych == 'h') goto yy80;
378 goto yy52;
379 yy72:
380 yych = (YYCTYPE)*++YYCURSOR;
381 if (yych == 'e') goto yy81;
382 goto yy52;
383 yy73:
384 yych = (YYCTYPE)*++YYCURSOR;
385 if (yych == 'i') goto yy82;
386 goto yy52;
387 yy74:
388 yych = (YYCTYPE)*++YYCURSOR;
389 if (yych == 'p') goto yy83;
390 goto yy52;
391 yy75:
392 yych = (YYCTYPE)*++YYCURSOR;
393 if (yych == 'f') goto yy84;
394 goto yy52;
395 yy76:
396 yych = (YYCTYPE)*++YYCURSOR;
397 if (yych == 'a') goto yy85;
398 goto yy52;
399 yy77:
400 yych = (YYCTYPE)*++YYCURSOR;
401 if (yych == 'e') goto yy86;
402 goto yy52;
403 yy78:
404 yych = (YYCTYPE)*++YYCURSOR;
405 if (yych == 't') goto yy87;
406 goto yy52;
407 yy79:
408 yych = (YYCTYPE)*++YYCURSOR;
409 if (yych == '-') goto yy88;
410 goto yy52;
411 yy80:
412 yych = (YYCTYPE)*++YYCURSOR;
413 if (yych == '-') goto yy89;
414 goto yy52;
415 yy81:
416 yych = (YYCTYPE)*++YYCURSOR;
417 if (yych == 't') goto yy90;
418 goto yy52;
419 yy82:
420 yych = (YYCTYPE)*++YYCURSOR;
421 if (yych == 'n') goto yy91;
422 goto yy52;
423 yy83:
424 yych = (YYCTYPE)*++YYCURSOR;
425 if (yych == 'e') goto yy92;
426 goto yy52;
427 yy84:
428 yych = (YYCTYPE)*++YYCURSOR;
429 if (yych == 'i') goto yy93;
430 goto yy52;
431 yy85:
432 yych = (YYCTYPE)*++YYCURSOR;
433 if (yych == 'c') goto yy94;
434 goto yy52;
435 yy86:
436 yych = (YYCTYPE)*++YYCURSOR;
437 if (yych == 's') goto yy95;
438 goto yy52;
439 yy87:
440 yych = (YYCTYPE)*++YYCURSOR;
441 if (yych == 'i') goto yy96;
442 goto yy52;
443 yy88:
444 yych = (YYCTYPE)*++YYCURSOR;
445 if (yych == 'c') goto yy97;
446 goto yy52;
447 yy89:
448 yych = (YYCTYPE)*++YYCURSOR;
449 if (yych == 'e') goto yy98;
450 goto yy52;
451 yy90:
452 yych = (YYCTYPE)*++YYCURSOR;
453 if (yych == 'e') goto yy99;
454 goto yy52;
455 yy91:
456 yych = (YYCTYPE)*++YYCURSOR;
457 if (yych == 'e') goto yy100;
458 goto yy52;
459 yy92:
460 yych = (YYCTYPE)*++YYCURSOR;
461 if (yych == 'd') goto yy101;
462 goto yy52;
463 yy93:
464 yych = (YYCTYPE)*++YYCURSOR;
465 if (yych == 'n') goto yy102;
466 goto yy52;
467 yy94:
468 yych = (YYCTYPE)*++YYCURSOR;
469 if (yych == 'h') goto yy103;
470 goto yy52;
471 yy95:
472 yych = (YYCTYPE)*++YYCURSOR;
473 if (yych == 's') goto yy104;
474 goto yy52;
475 yy96:
476 yych = (YYCTYPE)*++YYCURSOR;
477 if (yych == 'o') goto yy105;
478 goto yy52;
479 yy97:
480 yych = (YYCTYPE)*++YYCURSOR;
481 if (yych == 'h') goto yy106;
482 goto yy52;
483 yy98:
484 yych = (YYCTYPE)*++YYCURSOR;
485 if (yych == 'm') goto yy107;
486 goto yy52;
487 yy99:
488 yych = (YYCTYPE)*++YYCURSOR;
489 if (yych == 'r') goto yy108;
490 goto yy52;
491 yy100:
492 yych = (YYCTYPE)*++YYCURSOR;
493 if (yych == 'l') goto yy109;
494 goto yy52;
495 yy101:
496 yych = (YYCTYPE)*++YYCURSOR;
497 if (yych == '-') goto yy110;
498 goto yy52;
499 yy102:
500 yych = (YYCTYPE)*++YYCURSOR;
501 if (yych == 'e') goto yy111;
502 goto yy52;
503 yy103:
504 yych = (YYCTYPE)*++YYCURSOR;
505 if (yych == 'a') goto yy112;
506 goto yy52;
507 yy104:
508 yych = (YYCTYPE)*++YYCURSOR;
509 if (yych == '-') goto yy113;
510 goto yy52;
511 yy105:
512 yych = (YYCTYPE)*++YYCURSOR;
513 if (yych == 'n') goto yy114;
514 goto yy52;
515 yy106:
516 yych = (YYCTYPE)*++YYCURSOR;
517 if (yych == 'a') goto yy115;
518 goto yy52;
519 yy107:
520 yych = (YYCTYPE)*++YYCURSOR;
521 if (yych == 'p') goto yy116;
522 goto yy52;
523 yy108:
524 yych = (YYCTYPE)*++YYCURSOR;
525 if (yych == 'm') goto yy117;
526 goto yy52;
527 yy109:
528 yych = (YYCTYPE)*++YYCURSOR;
529 if (yych == '-') goto yy118;
530 goto yy52;
531 yy110:
532 yych = (YYCTYPE)*++YYCURSOR;
533 if (yych == 'r') goto yy119;
534 goto yy52;
535 yy111:
536 yych = (YYCTYPE)*++YYCURSOR;
537 if (yych == 'd') goto yy120;
538 goto yy52;
539 yy112:
540 yych = (YYCTYPE)*++YYCURSOR;
541 if (yych == 'b') goto yy121;
542 goto yy52;
543 yy113:
544 yych = (YYCTYPE)*++YYCURSOR;
545 if (yych == 'e') goto yy122;
546 goto yy52;
547 yy114:
548 yych = (YYCTYPE)*++YYCURSOR;
549 if (yych == '-') goto yy123;
550 goto yy52;
551 yy115:
552 yych = (YYCTYPE)*++YYCURSOR;
553 if (yych == 'r') goto yy124;
554 goto yy52;
555 yy116:
556 yych = (YYCTYPE)*++YYCURSOR;
557 if (yych == 't') goto yy125;
558 goto yy52;
559 yy117:
560 yych = (YYCTYPE)*++YYCURSOR;
561 if (yych == 'i') goto yy126;
562 goto yy52;
563 yy118:
564 yych = (YYCTYPE)*++YYCURSOR;
565 if (yych == 'i') goto yy127;
566 goto yy52;
567 yy119:
568 yych = (YYCTYPE)*++YYCURSOR;
569 if (yych == 'a') goto yy128;
570 goto yy52;
571 yy120:
572 yych = (YYCTYPE)*++YYCURSOR;
573 if (yych == '-') goto yy129;
574 goto yy52;
575 yy121:
576 yych = (YYCTYPE)*++YYCURSOR;
577 if (yych == 'l') goto yy130;
578 goto yy52;
579 yy122:
580 yych = (YYCTYPE)*++YYCURSOR;
581 if (yych == 's') goto yy131;
582 goto yy52;
583 yy123:
584 yych = (YYCTYPE)*++YYCURSOR;
585 if (yych == 'o') goto yy132;
586 goto yy52;
587 yy124:
588 yych = (YYCTYPE)*++YYCURSOR;
589 if (yych == 'a') goto yy133;
590 goto yy52;
591 yy125:
592 yych = (YYCTYPE)*++YYCURSOR;
593 if (yych == 'y') goto yy134;
594 goto yy52;
595 yy126:
596 yych = (YYCTYPE)*++YYCURSOR;
597 if (yych == 'n') goto yy135;
598 goto yy52;
599 yy127:
600 yych = (YYCTYPE)*++YYCURSOR;
601 if (yych == 'n') goto yy136;
602 goto yy52;
603 yy128:
604 yych = (YYCTYPE)*++YYCURSOR;
605 if (yych == 'n') goto yy137;
606 goto yy52;
607 yy129:
608 yych = (YYCTYPE)*++YYCURSOR;
609 if (yych == 'c') goto yy138;
610 goto yy52;
611 yy130:
612 yych = (YYCTYPE)*++YYCURSOR;
613 if (yych == 'e') goto yy139;
614 goto yy52;
615 yy131:
616 yych = (YYCTYPE)*++YYCURSOR;
617 if (yych == 'c') goto yy140;
618 goto yy52;
619 yy132:
620 yych = (YYCTYPE)*++YYCURSOR;
621 if (yych == 'r') goto yy141;
622 goto yy52;
623 yy133:
624 yych = (YYCTYPE)*++YYCURSOR;
625 if (yych == 'c') goto yy142;
626 goto yy52;
627 yy134:
628 yych = (YYCTYPE)*++YYCURSOR;
629 if (yych == '-') goto yy143;
630 goto yy52;
631 yy135:
632 yych = (YYCTYPE)*++YYCURSOR;
633 if (yych == 'i') goto yy144;
634 goto yy52;
635 yy136:
636 yych = (YYCTYPE)*++YYCURSOR;
637 if (yych == '-') goto yy145;
638 goto yy52;
639 yy137:
640 yych = (YYCTYPE)*++YYCURSOR;
641 if (yych == 'g') goto yy146;
642 goto yy52;
643 yy138:
644 yych = (YYCTYPE)*++YYCURSOR;
645 if (yych == 'o') goto yy147;
646 goto yy52;
647 yy139:
648 yych = (YYCTYPE)*++YYCURSOR;
649 if (yych == '-') goto yy148;
650 goto yy52;
651 yy140:
652 yych = (YYCTYPE)*++YYCURSOR;
653 if (yych == 'a') goto yy149;
654 goto yy52;
655 yy141:
656 yych = (YYCTYPE)*++YYCURSOR;
657 if (yych == 'd') goto yy150;
658 goto yy52;
659 yy142:
660 yych = (YYCTYPE)*++YYCURSOR;
661 if (yych == 't') goto yy151;
662 goto yy52;
663 yy143:
664 yych = (YYCTYPE)*++YYCURSOR;
665 if (yych == 's') goto yy152;
666 goto yy52;
667 yy144:
668 yych = (YYCTYPE)*++YYCURSOR;
669 if (yych == 's') goto yy153;
670 goto yy52;
671 yy145:
672 yych = (YYCTYPE)*++YYCURSOR;
673 if (yych == 'm') goto yy154;
674 goto yy52;
675 yy146:
676 yych = (YYCTYPE)*++YYCURSOR;
677 if (yych == 'e') goto yy155;
678 goto yy52;
679 yy147:
680 yych = (YYCTYPE)*++YYCURSOR;
681 if (yych == 'n') goto yy156;
682 goto yy52;
683 yy148:
684 yych = (YYCTYPE)*++YYCURSOR;
685 if (yych == 'r') goto yy157;
686 goto yy52;
687 yy149:
688 yych = (YYCTYPE)*++YYCURSOR;
689 if (yych == 'p') goto yy158;
690 goto yy52;
691 yy150:
692 yych = (YYCTYPE)*++YYCURSOR;
693 if (yych == 'e') goto yy159;
694 goto yy52;
695 yy151:
696 yych = (YYCTYPE)*++YYCURSOR;
697 if (yych == 'e') goto yy160;
698 goto yy52;
699 yy152:
700 yych = (YYCTYPE)*++YYCURSOR;
701 if (yych == 't') goto yy161;
702 goto yy52;
703 yy153:
704 yych = (YYCTYPE)*++YYCURSOR;
705 if (yych == 't') goto yy162;
706 goto yy52;
707 yy154:
708 yych = (YYCTYPE)*++YYCURSOR;
709 if (yych == 'i') goto yy163;
710 goto yy52;
711 yy155:
712 yych = (YYCTYPE)*++YYCURSOR;
713 if (yych <= 0x00) goto yy164;
714 goto yy52;
715 yy156:
716 yych = (YYCTYPE)*++YYCURSOR;
717 if (yych == 't') goto yy166;
718 goto yy52;
719 yy157:
720 yych = (YYCTYPE)*++YYCURSOR;
721 if (yych == 'u') goto yy167;
722 goto yy52;
723 yy158:
724 yych = (YYCTYPE)*++YYCURSOR;
725 if (yych == 'e') goto yy168;
726 goto yy52;
727 yy159:
728 yych = (YYCTYPE)*++YYCURSOR;
729 if (yych == 'r') goto yy169;
730 goto yy52;
731 yy160:
732 yych = (YYCTYPE)*++YYCURSOR;
733 if (yych == 'r') goto yy170;
734 goto yy52;
735 yy161:
736 yych = (YYCTYPE)*++YYCURSOR;
737 if (yych == 'r') goto yy171;
738 goto yy52;
739 yy162:
740 yych = (YYCTYPE)*++YYCURSOR;
741 if (yych == 'i') goto yy172;
742 goto yy52;
743 yy163:
744 yych = (YYCTYPE)*++YYCURSOR;
745 if (yych == 'd') goto yy173;
746 goto yy52;
747 yy164:
748 ++YYCURSOR;
749 #line 99 "../src/options/parse_opts.re"
750 { msg.warn.set (Warn::SWAPPED_RANGE, option); goto opt; }
751 #line 752 "src/options/parse_opts.cc"
752 yy166:
753 yych = (YYCTYPE)*++YYCURSOR;
754 if (yych == 'r') goto yy174;
755 goto yy52;
756 yy167:
757 yych = (YYCTYPE)*++YYCURSOR;
758 if (yych == 'l') goto yy175;
759 goto yy52;
760 yy168:
761 yych = (YYCTYPE)*++YYCURSOR;
762 if (yych <= 0x00) goto yy176;
763 goto yy52;
764 yy169:
765 yych = (YYCTYPE)*++YYCURSOR;
766 if (yych <= 0x00) goto yy178;
767 goto yy52;
768 yy170:
769 yych = (YYCTYPE)*++YYCURSOR;
770 if (yych == '-') goto yy180;
771 goto yy52;
772 yy171:
773 yych = (YYCTYPE)*++YYCURSOR;
774 if (yych == 'i') goto yy181;
775 goto yy52;
776 yy172:
777 yych = (YYCTYPE)*++YYCURSOR;
778 if (yych == 'c') goto yy182;
779 goto yy52;
780 yy173:
781 yych = (YYCTYPE)*++YYCURSOR;
782 if (yych == 'r') goto yy183;
783 goto yy52;
784 yy174:
785 yych = (YYCTYPE)*++YYCURSOR;
786 if (yych == 'o') goto yy184;
787 goto yy52;
788 yy175:
789 yych = (YYCTYPE)*++YYCURSOR;
790 if (yych == 'e') goto yy185;
791 goto yy52;
792 yy176:
793 ++YYCURSOR;
794 #line 102 "../src/options/parse_opts.re"
795 { msg.warn.set (Warn::USELESS_ESCAPE, option); goto opt; }
796 #line 797 "src/options/parse_opts.cc"
797 yy178:
798 ++YYCURSOR;
799 #line 95 "../src/options/parse_opts.re"
800 { msg.warn.set (Warn::CONDITION_ORDER, option); goto opt; }
801 #line 802 "src/options/parse_opts.cc"
802 yy180:
803 yych = (YYCTYPE)*++YYCURSOR;
804 if (yych == 'c') goto yy186;
805 goto yy52;
806 yy181:
807 yych = (YYCTYPE)*++YYCURSOR;
808 if (yych == 'n') goto yy187;
809 goto yy52;
810 yy182:
811 yych = (YYCTYPE)*++YYCURSOR;
812 if (yych == '-') goto yy188;
813 goto yy52;
814 yy183:
815 yych = (YYCTYPE)*++YYCURSOR;
816 if (yych == 'u') goto yy189;
817 goto yy52;
818 yy184:
819 yych = (YYCTYPE)*++YYCURSOR;
820 if (yych == 'l') goto yy190;
821 goto yy52;
822 yy185:
823 yych = (YYCTYPE)*++YYCURSOR;
824 if (yych == 's') goto yy191;
825 goto yy52;
826 yy186:
827 yych = (YYCTYPE)*++YYCURSOR;
828 if (yych == 'l') goto yy192;
829 goto yy52;
830 yy187:
831 yych = (YYCTYPE)*++YYCURSOR;
832 if (yych == 'g') goto yy193;
833 goto yy52;
834 yy188:
835 yych = (YYCTYPE)*++YYCURSOR;
836 if (yych == 't') goto yy194;
837 goto yy52;
838 yy189:
839 yych = (YYCTYPE)*++YYCURSOR;
840 if (yych == 'l') goto yy195;
841 goto yy52;
842 yy190:
843 yych = (YYCTYPE)*++YYCURSOR;
844 if (yych == '-') goto yy196;
845 goto yy52;
846 yy191:
847 yych = (YYCTYPE)*++YYCURSOR;
848 if (yych <= 0x00) goto yy197;
849 goto yy52;
850 yy192:
851 yych = (YYCTYPE)*++YYCURSOR;
852 if (yych == 'a') goto yy199;
853 goto yy52;
854 yy193:
855 yych = (YYCTYPE)*++YYCURSOR;
856 if (yych <= 0x00) goto yy200;
857 goto yy52;
858 yy194:
859 yych = (YYCTYPE)*++YYCURSOR;
860 if (yych == 'a') goto yy202;
861 goto yy52;
862 yy195:
863 yych = (YYCTYPE)*++YYCURSOR;
864 if (yych == 'e') goto yy203;
865 goto yy52;
866 yy196:
867 yych = (YYCTYPE)*++YYCURSOR;
868 if (yych == 'f') goto yy204;
869 goto yy52;
870 yy197:
871 ++YYCURSOR;
872 #line 101 "../src/options/parse_opts.re"
873 { msg.warn.set (Warn::UNREACHABLE_RULES, option); goto opt; }
874 #line 875 "src/options/parse_opts.cc"
875 yy199:
876 yych = (YYCTYPE)*++YYCURSOR;
877 if (yych == 's') goto yy205;
878 goto yy52;
879 yy200:
880 ++YYCURSOR;
881 #line 97 "../src/options/parse_opts.re"
882 { msg.warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; }
883 #line 884 "src/options/parse_opts.cc"
884 yy202:
885 yych = (YYCTYPE)*++YYCURSOR;
886 if (yych == 'g') goto yy206;
887 goto yy52;
888 yy203:
889 yych = (YYCTYPE)*++YYCURSOR;
890 if (yych <= 0x00) goto yy207;
891 goto yy52;
892 yy204:
893 yych = (YYCTYPE)*++YYCURSOR;
894 if (yych == 'l') goto yy209;
895 goto yy52;
896 yy205:
897 yych = (YYCTYPE)*++YYCURSOR;
898 if (yych == 's') goto yy210;
899 goto yy52;
900 yy206:
901 yych = (YYCTYPE)*++YYCURSOR;
902 if (yych == 's') goto yy211;
903 goto yy52;
904 yy207:
905 ++YYCURSOR;
906 #line 103 "../src/options/parse_opts.re"
907 { msg.warn.set (Warn::SENTINEL_IN_MIDRULE, option); goto opt; }
908 #line 909 "src/options/parse_opts.cc"
909 yy209:
910 yych = (YYCTYPE)*++YYCURSOR;
911 if (yych == 'o') goto yy212;
912 goto yy52;
913 yy210:
914 yych = (YYCTYPE)*++YYCURSOR;
915 if (yych <= 0x00) goto yy213;
916 goto yy52;
917 yy211:
918 yych = (YYCTYPE)*++YYCURSOR;
919 if (yych <= 0x00) goto yy215;
920 goto yy52;
921 yy212:
922 yych = (YYCTYPE)*++YYCURSOR;
923 if (yych == 'w') goto yy217;
924 goto yy52;
925 yy213:
926 ++YYCURSOR;
927 #line 96 "../src/options/parse_opts.re"
928 { msg.warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; }
929 #line 930 "src/options/parse_opts.cc"
930 yy215:
931 ++YYCURSOR;
932 #line 98 "../src/options/parse_opts.re"
933 { msg.warn.set (Warn::NONDETERMINISTIC_TAGS, option); goto opt; }
934 #line 935 "src/options/parse_opts.cc"
935 yy217:
936 yych = (YYCTYPE)*++YYCURSOR;
937 if (yych >= 0x01) goto yy52;
938 ++YYCURSOR;
939 #line 100 "../src/options/parse_opts.re"
940 { msg.warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
941 #line 942 "src/options/parse_opts.cc"
942 }
943 #line 104 "../src/options/parse_opts.re"
944
945
946 opt_short:
947
948 #line 949 "src/options/parse_opts.cc"
949 {
950 YYCTYPE yych;
951 yych = (YYCTYPE)*YYCURSOR;
952 if (yych <= 'V') {
953 if (yych <= 'E') {
954 if (yych <= '8') {
955 if (yych <= '0') {
956 if (yych >= 0x01) goto yy224;
957 } else {
958 if (yych <= '1') goto yy226;
959 if (yych <= '7') goto yy224;
960 goto yy228;
961 }
962 } else {
963 if (yych <= '?') {
964 if (yych <= '>') goto yy224;
965 goto yy230;
966 } else {
967 if (yych == 'D') goto yy232;
968 goto yy224;
969 }
970 }
971 } else {
972 if (yych <= 'P') {
973 if (yych <= 'H') {
974 if (yych <= 'F') goto yy234;
975 goto yy224;
976 } else {
977 if (yych <= 'I') goto yy236;
978 if (yych <= 'O') goto yy224;
979 goto yy238;
980 }
981 } else {
982 if (yych <= 'S') {
983 if (yych <= 'R') goto yy224;
984 goto yy240;
985 } else {
986 if (yych <= 'T') goto yy242;
987 if (yych <= 'U') goto yy224;
988 goto yy244;
989 }
990 }
991 }
992 } else {
993 if (yych <= 'n') {
994 if (yych <= 'e') {
995 if (yych <= 'b') {
996 if (yych <= 'a') goto yy224;
997 goto yy246;
998 } else {
999 if (yych <= 'c') goto yy248;
1000 if (yych <= 'd') goto yy250;
1001 goto yy252;
1002 }
1003 } else {
1004 if (yych <= 'g') {
1005 if (yych <= 'f') goto yy254;
1006 goto yy256;
1007 } else {
1008 if (yych <= 'h') goto yy230;
1009 if (yych <= 'i') goto yy258;
1010 goto yy224;
1011 }
1012 }
1013 } else {
1014 if (yych <= 't') {
1015 if (yych <= 'q') {
1016 if (yych <= 'o') goto yy260;
1017 goto yy224;
1018 } else {
1019 if (yych <= 'r') goto yy262;
1020 if (yych <= 's') goto yy264;
1021 goto yy266;
1022 }
1023 } else {
1024 if (yych <= 'v') {
1025 if (yych <= 'u') goto yy268;
1026 goto yy270;
1027 } else {
1028 if (yych <= 'w') goto yy272;
1029 if (yych <= 'x') goto yy274;
1030 goto yy224;
1031 }
1032 }
1033 }
1034 }
1035 ++YYCURSOR;
1036 #line 110 "../src/options/parse_opts.re"
1037 { goto opt; }
1038 #line 1039 "src/options/parse_opts.cc"
1039 yy224:
1040 ++YYCURSOR;
1041 #line 108 "../src/options/parse_opts.re"
1042 { ERROR("bad short option: %s", *argv); }
1043 #line 1044 "src/options/parse_opts.cc"
1044 yy226:
1045 ++YYCURSOR;
1046 #line 149 "../src/options/parse_opts.re"
1047 { goto opt_short; }
1048 #line 1049 "src/options/parse_opts.cc"
1049 yy228:
1050 ++YYCURSOR;
1051 #line 131 "../src/options/parse_opts.re"
1052 { opts.set_encoding(Enc::UTF8); goto opt_short; }
1053 #line 1054 "src/options/parse_opts.cc"
1054 yy230:
1055 ++YYCURSOR;
1056 #line 111 "../src/options/parse_opts.re"
1057 { usage (); return EXIT_OK; }
1058 #line 1059 "src/options/parse_opts.cc"
1059 yy232:
1060 ++YYCURSOR;
1061 #line 116 "../src/options/parse_opts.re"
1062 { globopts.target = TARGET_DOT; goto opt_short; }
1063 #line 1064 "src/options/parse_opts.cc"
1064 yy234:
1065 ++YYCURSOR;
1066 #line 118 "../src/options/parse_opts.re"
1067 { globopts.FFlag = true; goto opt_short; }
1068 #line 1069 "src/options/parse_opts.cc"
1069 yy236:
1070 yych = (YYCTYPE)*++YYCURSOR;
1071 if (yych <= 0x00) goto yy276;
1072 #line 140 "../src/options/parse_opts.re"
1073 { *argv = YYCURSOR; goto opt_incpath; }
1074 #line 1075 "src/options/parse_opts.cc"
1075 yy238:
1076 ++YYCURSOR;
1077 #line 133 "../src/options/parse_opts.re"
1078 {
1079 opts.set_posix_syntax(true);
1080 opts.set_posix_semantics(true);
1081 goto opt_short;
1082 }
1083 #line 1084 "src/options/parse_opts.cc"
1084 yy240:
1085 ++YYCURSOR;
1086 #line 120 "../src/options/parse_opts.re"
1087 { globopts.target = TARGET_SKELETON; goto opt_short; }
1088 #line 1089 "src/options/parse_opts.cc"
1089 yy242:
1090 ++YYCURSOR;
1091 #line 126 "../src/options/parse_opts.re"
1092 { opts.set_tags(true); goto opt_short; }
1093 #line 1094 "src/options/parse_opts.cc"
1094 yy244:
1095 ++YYCURSOR;
1096 #line 113 "../src/options/parse_opts.re"
1097 { vernum (); return EXIT_OK; }
1098 #line 1099 "src/options/parse_opts.cc"
1099 yy246:
1100 ++YYCURSOR;
1101 #line 122 "../src/options/parse_opts.re"
1102 { opts.set_bFlag(true); goto opt_short; }
1103 #line 1104 "src/options/parse_opts.cc"
1104 yy248:
1105 ++YYCURSOR;
1106 #line 115 "../src/options/parse_opts.re"
1107 { globopts.cFlag = true; goto opt_short; }
1108 #line 1109 "src/options/parse_opts.cc"
1109 yy250:
1110 ++YYCURSOR;
1111 #line 123 "../src/options/parse_opts.re"
1112 { opts.set_dFlag(true); goto opt_short; }
1113 #line 1114 "src/options/parse_opts.cc"
1114 yy252:
1115 ++YYCURSOR;
1116 #line 127 "../src/options/parse_opts.re"
1117 { opts.set_encoding(Enc::EBCDIC); goto opt_short; }
1118 #line 1119 "src/options/parse_opts.cc"
1119 yy254:
1120 ++YYCURSOR;
1121 #line 117 "../src/options/parse_opts.re"
1122 { globopts.fFlag = true; goto opt_short; }
1123 #line 1124 "src/options/parse_opts.cc"
1124 yy256:
1125 ++YYCURSOR;
1126 #line 124 "../src/options/parse_opts.re"
1127 { opts.set_gFlag(true); goto opt_short; }
1128 #line 1129 "src/options/parse_opts.cc"
1129 yy258:
1130 ++YYCURSOR;
1131 #line 119 "../src/options/parse_opts.re"
1132 { globopts.iFlag = true; goto opt_short; }
1133 #line 1134 "src/options/parse_opts.cc"
1134 yy260:
1135 yych = (YYCTYPE)*++YYCURSOR;
1136 if (yych <= 0x00) goto yy278;
1137 #line 143 "../src/options/parse_opts.re"
1138 { *argv = YYCURSOR; goto opt_output; }
1139 #line 1140 "src/options/parse_opts.cc"
1140 yy262:
1141 ++YYCURSOR;
1142 #line 150 "../src/options/parse_opts.re"
1143 { goto opt_short; }
1144 #line 1145 "src/options/parse_opts.cc"
1145 yy264:
1146 ++YYCURSOR;
1147 #line 125 "../src/options/parse_opts.re"
1148 { opts.set_sFlag(true); goto opt_short; }
1149 #line 1150 "src/options/parse_opts.cc"
1150 yy266:
1151 yych = (YYCTYPE)*++YYCURSOR;
1152 if (yych <= 0x00) goto yy280;
1153 #line 146 "../src/options/parse_opts.re"
1154 { *argv = YYCURSOR; goto opt_header; }
1155 #line 1156 "src/options/parse_opts.cc"
1156 yy268:
1157 ++YYCURSOR;
1158 #line 128 "../src/options/parse_opts.re"
1159 { opts.set_encoding(Enc::UTF32); goto opt_short; }
1160 #line 1161 "src/options/parse_opts.cc"
1161 yy270:
1162 ++YYCURSOR;
1163 #line 112 "../src/options/parse_opts.re"
1164 { version (); return EXIT_OK; }
1165 #line 1166 "src/options/parse_opts.cc"
1166 yy272:
1167 ++YYCURSOR;
1168 #line 129 "../src/options/parse_opts.re"
1169 { opts.set_encoding(Enc::UCS2); goto opt_short; }
1170 #line 1171 "src/options/parse_opts.cc"
1171 yy274:
1172 ++YYCURSOR;
1173 #line 130 "../src/options/parse_opts.re"
1174 { opts.set_encoding(Enc::UTF16); goto opt_short; }
1175 #line 1176 "src/options/parse_opts.cc"
1176 yy276:
1177 ++YYCURSOR;
1178 #line 139 "../src/options/parse_opts.re"
1179 { NEXT_ARG("-I", opt_incpath); }
1180 #line 1181 "src/options/parse_opts.cc"
1181 yy278:
1182 ++YYCURSOR;
1183 #line 142 "../src/options/parse_opts.re"
1184 { NEXT_ARG("-o, --output", opt_output); }
1185 #line 1186 "src/options/parse_opts.cc"
1186 yy280:
1187 ++YYCURSOR;
1188 #line 145 "../src/options/parse_opts.re"
1189 { NEXT_ARG("-t, --type-header", opt_header); }
1190 #line 1191 "src/options/parse_opts.cc"
1191 }
1192 #line 151 "../src/options/parse_opts.re"
1193
1194
1195 opt_long:
1196
1197 #line 1198 "src/options/parse_opts.cc"
1198 {
1199 YYCTYPE yych;
1200 yych = (YYCTYPE)*YYCURSOR;
1201 switch (yych) {
1202 case 'b': goto yy286;
1203 case 'c': goto yy287;
1204 case 'd': goto yy288;
1205 case 'e': goto yy289;
1206 case 'f': goto yy290;
1207 case 'h': goto yy291;
1208 case 'i': goto yy292;
1209 case 'l': goto yy293;
1210 case 'n': goto yy294;
1211 case 'o': goto yy295;
1212 case 'p': goto yy296;
1213 case 'r': goto yy297;
1214 case 's': goto yy298;
1215 case 't': goto yy299;
1216 case 'u': goto yy300;
1217 case 'v': goto yy301;
1218 case 'w': goto yy302;
1219 default: goto yy284;
1220 }
1221 yy284:
1222 ++YYCURSOR;
1223 yy285:
1224 #line 155 "../src/options/parse_opts.re"
1225 { ERROR("bad long option: %s", *argv); }
1226 #line 1227 "src/options/parse_opts.cc"
1227 yy286:
1228 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1229 if (yych == 'i') goto yy303;
1230 goto yy285;
1231 yy287:
1232 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1233 if (yych == 'a') goto yy305;
1234 if (yych == 'o') goto yy306;
1235 goto yy285;
1236 yy288:
1237 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1238 if (yych <= 'f') {
1239 if (yych <= 'd') goto yy285;
1240 if (yych <= 'e') goto yy307;
1241 goto yy308;
1242 } else {
1243 if (yych == 'u') goto yy309;
1244 goto yy285;
1245 }
1246 yy289:
1247 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1248 if (yych <= 'c') {
1249 if (yych == 'a') goto yy310;
1250 if (yych <= 'b') goto yy285;
1251 goto yy311;
1252 } else {
1253 if (yych <= 'l') goto yy285;
1254 if (yych <= 'm') goto yy312;
1255 if (yych <= 'n') goto yy313;
1256 goto yy285;
1257 }
1258 yy290:
1259 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1260 if (yych == 'i') goto yy314;
1261 if (yych == 'l') goto yy315;
1262 goto yy285;
1263 yy291:
1264 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1265 if (yych == 'e') goto yy316;
1266 goto yy285;
1267 yy292:
1268 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1269 if (yych == 'n') goto yy317;
1270 goto yy285;
1271 yy293:
1272 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1273 if (yych == 'a') goto yy318;
1274 if (yych == 'o') goto yy319;
1275 goto yy285;
1276 yy294:
1277 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1278 if (yych == 'e') goto yy320;
1279 if (yych == 'o') goto yy321;
1280 goto yy285;
1281 yy295:
1282 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1283 if (yych == 'u') goto yy322;
1284 goto yy285;
1285 yy296:
1286 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1287 if (yych == 'o') goto yy323;
1288 goto yy285;
1289 yy297:
1290 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1291 if (yych == 'e') goto yy324;
1292 goto yy285;
1293 yy298:
1294 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1295 if (yych <= 'j') {
1296 if (yych == 'i') goto yy325;
1297 goto yy285;
1298 } else {
1299 if (yych <= 'k') goto yy326;
1300 if (yych == 't') goto yy327;
1301 goto yy285;
1302 }
1303 yy299:
1304 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1305 if (yych == 'a') goto yy328;
1306 if (yych == 'y') goto yy329;
1307 goto yy285;
1308 yy300:
1309 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1310 if (yych == 'n') goto yy330;
1311 if (yych == 't') goto yy331;
1312 goto yy285;
1313 yy301:
1314 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1315 if (yych == 'e') goto yy332;
1316 goto yy285;
1317 yy302:
1318 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1319 if (yych == 'i') goto yy333;
1320 goto yy285;
1321 yy303:
1322 yych = (YYCTYPE)*++YYCURSOR;
1323 if (yych == 't') goto yy334;
1324 yy304:
1325 YYCURSOR = YYMARKER;
1326 goto yy285;
1327 yy305:
1328 yych = (YYCTYPE)*++YYCURSOR;
1329 if (yych == 's') goto yy335;
1330 goto yy304;
1331 yy306:
1332 yych = (YYCTYPE)*++YYCURSOR;
1333 if (yych <= 'l') goto yy304;
1334 if (yych <= 'm') goto yy336;
1335 if (yych <= 'n') goto yy337;
1336 goto yy304;
1337 yy307:
1338 yych = (YYCTYPE)*++YYCURSOR;
1339 if (yych == 'b') goto yy338;
1340 if (yych == 'p') goto yy339;
1341 goto yy304;
1342 yy308:
1343 yych = (YYCTYPE)*++YYCURSOR;
1344 if (yych == 'a') goto yy340;
1345 goto yy304;
1346 yy309:
1347 yych = (YYCTYPE)*++YYCURSOR;
1348 if (yych == 'm') goto yy341;
1349 goto yy304;
1350 yy310:
1351 yych = (YYCTYPE)*++YYCURSOR;
1352 if (yych == 'g') goto yy342;
1353 goto yy304;
1354 yy311:
1355 yych = (YYCTYPE)*++YYCURSOR;
1356 if (yych == 'b') goto yy343;
1357 goto yy304;
1358 yy312:
1359 yych = (YYCTYPE)*++YYCURSOR;
1360 if (yych == 'i') goto yy344;
1361 if (yych == 'p') goto yy345;
1362 goto yy304;
1363 yy313:
1364 yych = (YYCTYPE)*++YYCURSOR;
1365 if (yych == 'c') goto yy346;
1366 goto yy304;
1367 yy314:
1368 yych = (YYCTYPE)*++YYCURSOR;
1369 if (yych == 'x') goto yy347;
1370 goto yy304;
1371 yy315:
1372 yych = (YYCTYPE)*++YYCURSOR;
1373 if (yych == 'e') goto yy348;
1374 goto yy304;
1375 yy316:
1376 yych = (YYCTYPE)*++YYCURSOR;
1377 if (yych == 'l') goto yy349;
1378 goto yy304;
1379 yy317:
1380 yych = (YYCTYPE)*++YYCURSOR;
1381 if (yych == 'p') goto yy350;
1382 goto yy304;
1383 yy318:
1384 yych = (YYCTYPE)*++YYCURSOR;
1385 if (yych == 'n') goto yy351;
1386 goto yy304;
1387 yy319:
1388 yych = (YYCTYPE)*++YYCURSOR;
1389 if (yych == 'c') goto yy352;
1390 goto yy304;
1391 yy320:
1392 yych = (YYCTYPE)*++YYCURSOR;
1393 if (yych == 's') goto yy353;
1394 goto yy304;
1395 yy321:
1396 yych = (YYCTYPE)*++YYCURSOR;
1397 if (yych == '-') goto yy354;
1398 goto yy304;
1399 yy322:
1400 yych = (YYCTYPE)*++YYCURSOR;
1401 if (yych == 't') goto yy355;
1402 goto yy304;
1403 yy323:
1404 yych = (YYCTYPE)*++YYCURSOR;
1405 if (yych == 's') goto yy356;
1406 goto yy304;
1407 yy324:
1408 yych = (YYCTYPE)*++YYCURSOR;
1409 if (yych == 'u') goto yy357;
1410 goto yy304;
1411 yy325:
1412 yych = (YYCTYPE)*++YYCURSOR;
1413 if (yych == 'n') goto yy358;
1414 goto yy304;
1415 yy326:
1416 yych = (YYCTYPE)*++YYCURSOR;
1417 if (yych == 'e') goto yy359;
1418 goto yy304;
1419 yy327:
1420 yych = (YYCTYPE)*++YYCURSOR;
1421 if (yych == 'a') goto yy360;
1422 if (yych == 'o') goto yy361;
1423 goto yy304;
1424 yy328:
1425 yych = (YYCTYPE)*++YYCURSOR;
1426 if (yych == 'g') goto yy362;
1427 goto yy304;
1428 yy329:
1429 yych = (YYCTYPE)*++YYCURSOR;
1430 if (yych == 'p') goto yy363;
1431 goto yy304;
1432 yy330:
1433 yych = (YYCTYPE)*++YYCURSOR;
1434 if (yych == 'i') goto yy364;
1435 goto yy304;
1436 yy331:
1437 yych = (YYCTYPE)*++YYCURSOR;
1438 if (yych == 'f') goto yy365;
1439 goto yy304;
1440 yy332:
1441 yych = (YYCTYPE)*++YYCURSOR;
1442 if (yych == 'r') goto yy366;
1443 goto yy304;
1444 yy333:
1445 yych = (YYCTYPE)*++YYCURSOR;
1446 if (yych == 'd') goto yy367;
1447 goto yy304;
1448 yy334:
1449 yych = (YYCTYPE)*++YYCURSOR;
1450 if (yych == '-') goto yy368;
1451 goto yy304;
1452 yy335:
1453 yych = (YYCTYPE)*++YYCURSOR;
1454 if (yych == 'e') goto yy369;
1455 goto yy304;
1456 yy336:
1457 yych = (YYCTYPE)*++YYCURSOR;
1458 if (yych == 'p') goto yy370;
1459 goto yy304;
1460 yy337:
1461 yych = (YYCTYPE)*++YYCURSOR;
1462 if (yych == 'd') goto yy371;
1463 goto yy304;
1464 yy338:
1465 yych = (YYCTYPE)*++YYCURSOR;
1466 if (yych == 'u') goto yy372;
1467 goto yy304;
1468 yy339:
1469 yych = (YYCTYPE)*++YYCURSOR;
1470 if (yych == 'f') goto yy373;
1471 goto yy304;
1472 yy340:
1473 yych = (YYCTYPE)*++YYCURSOR;
1474 if (yych == '-') goto yy374;
1475 goto yy304;
1476 yy341:
1477 yych = (YYCTYPE)*++YYCURSOR;
1478 if (yych == 'p') goto yy375;
1479 goto yy304;
1480 yy342:
1481 yych = (YYCTYPE)*++YYCURSOR;
1482 if (yych == 'e') goto yy376;
1483 goto yy304;
1484 yy343:
1485 yych = (YYCTYPE)*++YYCURSOR;
1486 if (yych <= 0x00) goto yy377;
1487 goto yy304;
1488 yy344:
1489 yych = (YYCTYPE)*++YYCURSOR;
1490 if (yych == 't') goto yy379;
1491 goto yy304;
1492 yy345:
1493 yych = (YYCTYPE)*++YYCURSOR;
1494 if (yych == 't') goto yy380;
1495 goto yy304;
1496 yy346:
1497 yych = (YYCTYPE)*++YYCURSOR;
1498 if (yych == 'o') goto yy381;
1499 goto yy304;
1500 yy347:
1501 yych = (YYCTYPE)*++YYCURSOR;
1502 if (yych == 'e') goto yy382;
1503 goto yy304;
1504 yy348:
1505 yych = (YYCTYPE)*++YYCURSOR;
1506 if (yych == 'x') goto yy383;
1507 goto yy304;
1508 yy349:
1509 yych = (YYCTYPE)*++YYCURSOR;
1510 if (yych == 'p') goto yy384;
1511 goto yy304;
1512 yy350:
1513 yych = (YYCTYPE)*++YYCURSOR;
1514 if (yych == 'u') goto yy385;
1515 goto yy304;
1516 yy351:
1517 yych = (YYCTYPE)*++YYCURSOR;
1518 if (yych == 'g') goto yy386;
1519 goto yy304;
1520 yy352:
1521 yych = (YYCTYPE)*++YYCURSOR;
1522 if (yych == 'a') goto yy387;
1523 goto yy304;
1524 yy353:
1525 yych = (YYCTYPE)*++YYCURSOR;
1526 if (yych == 't') goto yy388;
1527 goto yy304;
1528 yy354:
1529 yych = (YYCTYPE)*++YYCURSOR;
1530 switch (yych) {
1531 case 'd': goto yy389;
1532 case 'g': goto yy390;
1533 case 'l': goto yy391;
1534 case 'o': goto yy392;
1535 case 'v': goto yy393;
1536 default: goto yy304;
1537 }
1538 yy355:
1539 yych = (YYCTYPE)*++YYCURSOR;
1540 if (yych == 'p') goto yy394;
1541 goto yy304;
1542 yy356:
1543 yych = (YYCTYPE)*++YYCURSOR;
1544 if (yych == 'i') goto yy395;
1545 goto yy304;
1546 yy357:
1547 yych = (YYCTYPE)*++YYCURSOR;
1548 if (yych == 's') goto yy396;
1549 goto yy304;
1550 yy358:
1551 yych = (YYCTYPE)*++YYCURSOR;
1552 if (yych == 'g') goto yy397;
1553 goto yy304;
1554 yy359:
1555 yych = (YYCTYPE)*++YYCURSOR;
1556 if (yych == 'l') goto yy398;
1557 goto yy304;
1558 yy360:
1559 yych = (YYCTYPE)*++YYCURSOR;
1560 if (yych == 'd') goto yy399;
1561 if (yych == 'r') goto yy400;
1562 goto yy304;
1563 yy361:
1564 yych = (YYCTYPE)*++YYCURSOR;
1565 if (yych == 'r') goto yy401;
1566 goto yy304;
1567 yy362:
1568 yych = (YYCTYPE)*++YYCURSOR;
1569 if (yych == 's') goto yy402;
1570 goto yy304;
1571 yy363:
1572 yych = (YYCTYPE)*++YYCURSOR;
1573 if (yych == 'e') goto yy403;
1574 goto yy304;
1575 yy364:
1576 yych = (YYCTYPE)*++YYCURSOR;
1577 if (yych == 'c') goto yy404;
1578 goto yy304;
1579 yy365:
1580 yych = (YYCTYPE)*++YYCURSOR;
1581 if (yych == '-') goto yy405;
1582 goto yy304;
1583 yy366:
1584 yych = (YYCTYPE)*++YYCURSOR;
1585 if (yych <= 'm') {
1586 if (yych == 'b') goto yy406;
1587 goto yy304;
1588 } else {
1589 if (yych <= 'n') goto yy407;
1590 if (yych == 's') goto yy408;
1591 goto yy304;
1592 }
1593 yy367:
1594 yych = (YYCTYPE)*++YYCURSOR;
1595 if (yych == 'e') goto yy409;
1596 goto yy304;
1597 yy368:
1598 yych = (YYCTYPE)*++YYCURSOR;
1599 if (yych == 'v') goto yy410;
1600 goto yy304;
1601 yy369:
1602 yych = (YYCTYPE)*++YYCURSOR;
1603 if (yych == '-') goto yy411;
1604 goto yy304;
1605 yy370:
1606 yych = (YYCTYPE)*++YYCURSOR;
1607 if (yych == 'u') goto yy412;
1608 goto yy304;
1609 yy371:
1610 yych = (YYCTYPE)*++YYCURSOR;
1611 if (yych == 'i') goto yy413;
1612 goto yy304;
1613 yy372:
1614 yych = (YYCTYPE)*++YYCURSOR;
1615 if (yych == 'g') goto yy414;
1616 goto yy304;
1617 yy373:
1618 yych = (YYCTYPE)*++YYCURSOR;
1619 if (yych == 'i') goto yy415;
1620 goto yy304;
1621 yy374:
1622 yych = (YYCTYPE)*++YYCURSOR;
1623 if (yych == 'm') goto yy416;
1624 goto yy304;
1625 yy375:
1626 yych = (YYCTYPE)*++YYCURSOR;
1627 if (yych == '-') goto yy417;
1628 goto yy304;
1629 yy376:
1630 yych = (YYCTYPE)*++YYCURSOR;
1631 if (yych == 'r') goto yy418;
1632 goto yy304;
1633 yy377:
1634 ++YYCURSOR;
1635 #line 179 "../src/options/parse_opts.re"
1636 { opts.set_encoding(Enc::EBCDIC); goto opt; }
1637 #line 1638 "src/options/parse_opts.cc"
1638 yy379:
1639 yych = (YYCTYPE)*++YYCURSOR;
1640 if (yych == '-') goto yy419;
1641 goto yy304;
1642 yy380:
1643 yych = (YYCTYPE)*++YYCURSOR;
1644 if (yych == 'y') goto yy420;
1645 goto yy304;
1646 yy381:
1647 yych = (YYCTYPE)*++YYCURSOR;
1648 if (yych == 'd') goto yy421;
1649 goto yy304;
1650 yy382:
1651 yych = (YYCTYPE)*++YYCURSOR;
1652 if (yych == 'd') goto yy422;
1653 goto yy304;
1654 yy383:
1655 yych = (YYCTYPE)*++YYCURSOR;
1656 if (yych == '-') goto yy423;
1657 goto yy304;
1658 yy384:
1659 yych = (YYCTYPE)*++YYCURSOR;
1660 if (yych <= 0x00) goto yy424;
1661 goto yy304;
1662 yy385:
1663 yych = (YYCTYPE)*++YYCURSOR;
1664 if (yych == 't') goto yy426;
1665 goto yy304;
1666 yy386:
1667 yych = (YYCTYPE)*++YYCURSOR;
1668 if (yych <= 0x00) goto yy427;
1669 goto yy304;
1670 yy387:
1671 yych = (YYCTYPE)*++YYCURSOR;
1672 if (yych == 't') goto yy429;
1673 goto yy304;
1674 yy388:
1675 yych = (YYCTYPE)*++YYCURSOR;
1676 if (yych == 'e') goto yy430;
1677 goto yy304;
1678 yy389:
1679 yych = (YYCTYPE)*++YYCURSOR;
1680 if (yych == 'e') goto yy431;
1681 goto yy304;
1682 yy390:
1683 yych = (YYCTYPE)*++YYCURSOR;
1684 if (yych == 'e') goto yy432;
1685 goto yy304;
1686 yy391:
1687 yych = (YYCTYPE)*++YYCURSOR;
1688 if (yych == 'o') goto yy433;
1689 goto yy304;
1690 yy392:
1691 yych = (YYCTYPE)*++YYCURSOR;
1692 if (yych == 'p') goto yy434;
1693 goto yy304;
1694 yy393:
1695 yych = (YYCTYPE)*++YYCURSOR;
1696 if (yych == 'e') goto yy435;
1697 goto yy304;
1698 yy394:
1699 yych = (YYCTYPE)*++YYCURSOR;
1700 if (yych == 'u') goto yy436;
1701 goto yy304;
1702 yy395:
1703 yych = (YYCTYPE)*++YYCURSOR;
1704 if (yych == 'x') goto yy437;
1705 goto yy304;
1706 yy396:
1707 yych = (YYCTYPE)*++YYCURSOR;
1708 if (yych == 'a') goto yy438;
1709 goto yy304;
1710 yy397:
1711 yych = (YYCTYPE)*++YYCURSOR;
1712 if (yych == 'l') goto yy439;
1713 goto yy304;
1714 yy398:
1715 yych = (YYCTYPE)*++YYCURSOR;
1716 if (yych == 'e') goto yy440;
1717 goto yy304;
1718 yy399:
1719 yych = (YYCTYPE)*++YYCURSOR;
1720 if (yych == 'f') goto yy441;
1721 goto yy304;
1722 yy400:
1723 yych = (YYCTYPE)*++YYCURSOR;
1724 if (yych == 't') goto yy442;
1725 goto yy304;
1726 yy401:
1727 yych = (YYCTYPE)*++YYCURSOR;
1728 if (yych == 'a') goto yy443;
1729 goto yy304;
1730 yy402:
1731 yych = (YYCTYPE)*++YYCURSOR;
1732 if (yych <= 0x00) goto yy444;
1733 goto yy304;
1734 yy403:
1735 yych = (YYCTYPE)*++YYCURSOR;
1736 if (yych == '-') goto yy446;
1737 goto yy304;
1738 yy404:
1739 yych = (YYCTYPE)*++YYCURSOR;
1740 if (yych == 'o') goto yy447;
1741 goto yy304;
1742 yy405:
1743 yych = (YYCTYPE)*++YYCURSOR;
1744 if (yych == '1') goto yy448;
1745 if (yych == '8') goto yy449;
1746 goto yy304;
1747 yy406:
1748 yych = (YYCTYPE)*++YYCURSOR;
1749 if (yych == 'o') goto yy450;
1750 goto yy304;
1751 yy407:
1752 yych = (YYCTYPE)*++YYCURSOR;
1753 if (yych == 'u') goto yy451;
1754 goto yy304;
1755 yy408:
1756 yych = (YYCTYPE)*++YYCURSOR;
1757 if (yych == 'i') goto yy452;
1758 goto yy304;
1759 yy409:
1760 yych = (YYCTYPE)*++YYCURSOR;
1761 if (yych == '-') goto yy453;
1762 goto yy304;
1763 yy410:
1764 yych = (YYCTYPE)*++YYCURSOR;
1765 if (yych == 'e') goto yy454;
1766 goto yy304;
1767 yy411:
1768 yych = (YYCTYPE)*++YYCURSOR;
1769 if (yych == 'i') goto yy455;
1770 if (yych == 'r') goto yy456;
1771 goto yy304;
1772 yy412:
1773 yych = (YYCTYPE)*++YYCURSOR;
1774 if (yych == 't') goto yy457;
1775 goto yy304;
1776 yy413:
1777 yych = (YYCTYPE)*++YYCURSOR;
1778 if (yych == 't') goto yy458;
1779 goto yy304;
1780 yy414:
1781 yych = (YYCTYPE)*++YYCURSOR;
1782 if (yych == '-') goto yy459;
1783 goto yy304;
1784 yy415:
1785 yych = (YYCTYPE)*++YYCURSOR;
1786 if (yych == 'l') goto yy460;
1787 goto yy304;
1788 yy416:
1789 yych = (YYCTYPE)*++YYCURSOR;
1790 if (yych == 'i') goto yy461;
1791 goto yy304;
1792 yy417:
1793 yych = (YYCTYPE)*++YYCURSOR;
1794 switch (yych) {
1795 case 'a': goto yy462;
1796 case 'c': goto yy463;
1797 case 'd': goto yy464;
1798 case 'i': goto yy465;
1799 case 'n': goto yy466;
1800 default: goto yy304;
1801 }
1802 yy418:
1803 yych = (YYCTYPE)*++YYCURSOR;
1804 if (yych == '-') goto yy467;
1805 goto yy304;
1806 yy419:
1807 yych = (YYCTYPE)*++YYCURSOR;
1808 if (yych == 'd') goto yy468;
1809 goto yy304;
1810 yy420:
1811 yych = (YYCTYPE)*++YYCURSOR;
1812 if (yych == '-') goto yy469;
1813 goto yy304;
1814 yy421:
1815 yych = (YYCTYPE)*++YYCURSOR;
1816 if (yych == 'i') goto yy470;
1817 goto yy304;
1818 yy422:
1819 yych = (YYCTYPE)*++YYCURSOR;
1820 if (yych == '-') goto yy471;
1821 goto yy304;
1822 yy423:
1823 yych = (YYCTYPE)*++YYCURSOR;
1824 if (yych == 's') goto yy472;
1825 goto yy304;
1826 yy424:
1827 ++YYCURSOR;
1828 #line 157 "../src/options/parse_opts.re"
1829 { usage (); return EXIT_OK; }
1830 #line 1831 "src/options/parse_opts.cc"
1831 yy426:
1832 yych = (YYCTYPE)*++YYCURSOR;
1833 if (yych <= 0x00) goto yy473;
1834 if (yych == '-') goto yy475;
1835 goto yy304;
1836 yy427:
1837 ++YYCURSOR;
1838 #line 191 "../src/options/parse_opts.re"
1839 { NEXT_ARG("--lang", opt_lang); }
1840 #line 1841 "src/options/parse_opts.cc"
1841 yy429:
1842 yych = (YYCTYPE)*++YYCURSOR;
1843 if (yych == 'i') goto yy476;
1844 goto yy304;
1845 yy430:
1846 yych = (YYCTYPE)*++YYCURSOR;
1847 if (yych == 'd') goto yy477;
1848 goto yy304;
1849 yy431:
1850 yych = (YYCTYPE)*++YYCURSOR;
1851 if (yych == 'b') goto yy478;
1852 goto yy304;
1853 yy432:
1854 yych = (YYCTYPE)*++YYCURSOR;
1855 if (yych == 'n') goto yy479;
1856 goto yy304;
1857 yy433:
1858 yych = (YYCTYPE)*++YYCURSOR;
1859 if (yych == 'o') goto yy480;
1860 goto yy304;
1861 yy434:
1862 yych = (YYCTYPE)*++YYCURSOR;
1863 if (yych == 't') goto yy481;
1864 goto yy304;
1865 yy435:
1866 yych = (YYCTYPE)*++YYCURSOR;
1867 if (yych == 'r') goto yy482;
1868 goto yy304;
1869 yy436:
1870 yych = (YYCTYPE)*++YYCURSOR;
1871 if (yych == 't') goto yy483;
1872 goto yy304;
1873 yy437:
1874 yych = (YYCTYPE)*++YYCURSOR;
1875 if (yych == '-') goto yy484;
1876 goto yy304;
1877 yy438:
1878 yych = (YYCTYPE)*++YYCURSOR;
1879 if (yych == 'b') goto yy485;
1880 goto yy304;
1881 yy439:
1882 yych = (YYCTYPE)*++YYCURSOR;
1883 if (yych == 'e') goto yy486;
1884 goto yy304;
1885 yy440:
1886 yych = (YYCTYPE)*++YYCURSOR;
1887 if (yych == 't') goto yy487;
1888 goto yy304;
1889 yy441:
1890 yych = (YYCTYPE)*++YYCURSOR;
1891 if (yych == 'a') goto yy488;
1892 goto yy304;
1893 yy442:
1894 yych = (YYCTYPE)*++YYCURSOR;
1895 if (yych == '-') goto yy489;
1896 goto yy304;
1897 yy443:
1898 yych = (YYCTYPE)*++YYCURSOR;
1899 if (yych == 'b') goto yy490;
1900 goto yy304;
1901 yy444:
1902 ++YYCURSOR;
1903 #line 178 "../src/options/parse_opts.re"
1904 { opts.set_tags (true); goto opt; }
1905 #line 1906 "src/options/parse_opts.cc"
1906 yy446:
1907 yych = (YYCTYPE)*++YYCURSOR;
1908 if (yych == 'h') goto yy491;
1909 goto yy304;
1910 yy447:
1911 yych = (YYCTYPE)*++YYCURSOR;
1912 if (yych == 'd') goto yy492;
1913 goto yy304;
1914 yy448:
1915 yych = (YYCTYPE)*++YYCURSOR;
1916 if (yych == '6') goto yy493;
1917 goto yy304;
1918 yy449:
1919 yych = (YYCTYPE)*++YYCURSOR;
1920 if (yych <= 0x00) goto yy494;
1921 goto yy304;
1922 yy450:
1923 yych = (YYCTYPE)*++YYCURSOR;
1924 if (yych == 's') goto yy496;
1925 goto yy304;
1926 yy451:
1927 yych = (YYCTYPE)*++YYCURSOR;
1928 if (yych == 'm') goto yy497;
1929 goto yy304;
1930 yy452:
1931 yych = (YYCTYPE)*++YYCURSOR;
1932 if (yych == 'o') goto yy498;
1933 goto yy304;
1934 yy453:
1935 yych = (YYCTYPE)*++YYCURSOR;
1936 if (yych == 'c') goto yy499;
1937 goto yy304;
1938 yy454:
1939 yych = (YYCTYPE)*++YYCURSOR;
1940 if (yych == 'c') goto yy500;
1941 goto yy304;
1942 yy455:
1943 yych = (YYCTYPE)*++YYCURSOR;
1944 if (yych == 'n') goto yy501;
1945 goto yy304;
1946 yy456:
1947 yych = (YYCTYPE)*++YYCURSOR;
1948 if (yych == 'a') goto yy502;
1949 goto yy304;
1950 yy457:
1951 yych = (YYCTYPE)*++YYCURSOR;
1952 if (yych == 'e') goto yy503;
1953 goto yy304;
1954 yy458:
1955 yych = (YYCTYPE)*++YYCURSOR;
1956 if (yych == 'i') goto yy504;
1957 goto yy304;
1958 yy459:
1959 yych = (YYCTYPE)*++YYCURSOR;
1960 if (yych == 'o') goto yy505;
1961 goto yy304;
1962 yy460:
1963 yych = (YYCTYPE)*++YYCURSOR;
1964 if (yych == 'e') goto yy506;
1965 goto yy304;
1966 yy461:
1967 yych = (YYCTYPE)*++YYCURSOR;
1968 if (yych == 'n') goto yy507;
1969 goto yy304;
1970 yy462:
1971 yych = (YYCTYPE)*++YYCURSOR;
1972 if (yych == 'd') goto yy508;
1973 goto yy304;
1974 yy463:
1975 yych = (YYCTYPE)*++YYCURSOR;
1976 if (yych == 'f') goto yy509;
1977 if (yych == 'l') goto yy510;
1978 goto yy304;
1979 yy464:
1980 yych = (YYCTYPE)*++YYCURSOR;
1981 if (yych == 'f') goto yy511;
1982 goto yy304;
1983 yy465:
1984 yych = (YYCTYPE)*++YYCURSOR;
1985 if (yych == 'n') goto yy512;
1986 goto yy304;
1987 yy466:
1988 yych = (YYCTYPE)*++YYCURSOR;
1989 if (yych == 'f') goto yy513;
1990 goto yy304;
1991 yy467:
1992 yych = (YYCTYPE)*++YYCURSOR;
1993 if (yych == 's') goto yy514;
1994 goto yy304;
1995 yy468:
1996 yych = (YYCTYPE)*++YYCURSOR;
1997 if (yych == 'o') goto yy515;
1998 goto yy304;
1999 yy469:
2000 yych = (YYCTYPE)*++YYCURSOR;
2001 if (yych == 'c') goto yy516;
2002 goto yy304;
2003 yy470:
2004 yych = (YYCTYPE)*++YYCURSOR;
2005 if (yych == 'n') goto yy517;
2006 goto yy304;
2007 yy471:
2008 yych = (YYCTYPE)*++YYCURSOR;
2009 if (yych == 't') goto yy518;
2010 goto yy304;
2011 yy472:
2012 yych = (YYCTYPE)*++YYCURSOR;
2013 if (yych == 'y') goto yy519;
2014 goto yy304;
2015 yy473:
2016 ++YYCURSOR;
2017 #line 196 "../src/options/parse_opts.re"
2018 { NEXT_ARG("--input", opt_input); }
2019 #line 2020 "src/options/parse_opts.cc"
2020 yy475:
2021 yych = (YYCTYPE)*++YYCURSOR;
2022 if (yych == 'e') goto yy520;
2023 goto yy304;
2024 yy476:
2025 yych = (YYCTYPE)*++YYCURSOR;
2026 if (yych == 'o') goto yy521;
2027 goto yy304;
2028 yy477:
2029 yych = (YYCTYPE)*++YYCURSOR;
2030 if (yych == '-') goto yy522;
2031 goto yy304;
2032 yy478:
2033 yych = (YYCTYPE)*++YYCURSOR;
2034 if (yych == 'u') goto yy523;
2035 goto yy304;
2036 yy479:
2037 yych = (YYCTYPE)*++YYCURSOR;
2038 if (yych == 'e') goto yy524;
2039 goto yy304;
2040 yy480:
2041 yych = (YYCTYPE)*++YYCURSOR;
2042 if (yych == 'k') goto yy525;
2043 goto yy304;
2044 yy481:
2045 yych = (YYCTYPE)*++YYCURSOR;
2046 if (yych == 'i') goto yy526;
2047 goto yy304;
2048 yy482:
2049 yych = (YYCTYPE)*++YYCURSOR;
2050 if (yych == 's') goto yy527;
2051 goto yy304;
2052 yy483:
2053 yych = (YYCTYPE)*++YYCURSOR;
2054 if (yych <= 0x00) goto yy528;
2055 goto yy304;
2056 yy484:
2057 yych = (YYCTYPE)*++YYCURSOR;
2058 if (yych == 'c') goto yy530;
2059 if (yych == 'p') goto yy531;
2060 goto yy304;
2061 yy485:
2062 yych = (YYCTYPE)*++YYCURSOR;
2063 if (yych == 'l') goto yy532;
2064 goto yy304;
2065 yy486:
2066 yych = (YYCTYPE)*++YYCURSOR;
2067 if (yych == '-') goto yy533;
2068 goto yy304;
2069 yy487:
2070 yych = (YYCTYPE)*++YYCURSOR;
2071 if (yych == 'o') goto yy534;
2072 goto yy304;
2073 yy488:
2074 yych = (YYCTYPE)*++YYCURSOR;
2075 if (yych <= 0x00) goto yy535;
2076 goto yy304;
2077 yy489:
2078 yych = (YYCTYPE)*++YYCURSOR;
2079 if (yych == 'c') goto yy537;
2080 goto yy304;
2081 yy490:
2082 yych = (YYCTYPE)*++YYCURSOR;
2083 if (yych == 'l') goto yy538;
2084 goto yy304;
2085 yy491:
2086 yych = (YYCTYPE)*++YYCURSOR;
2087 if (yych == 'e') goto yy539;
2088 goto yy304;
2089 yy492:
2090 yych = (YYCTYPE)*++YYCURSOR;
2091 if (yych == 'e') goto yy540;
2092 goto yy304;
2093 yy493:
2094 yych = (YYCTYPE)*++YYCURSOR;
2095 if (yych <= 0x00) goto yy541;
2096 goto yy304;
2097 yy494:
2098 ++YYCURSOR;
2099 #line 183 "../src/options/parse_opts.re"
2100 { opts.set_encoding(Enc::UTF8); goto opt; }
2101 #line 2102 "src/options/parse_opts.cc"
2102 yy496:
2103 yych = (YYCTYPE)*++YYCURSOR;
2104 if (yych == 'e') goto yy543;
2105 goto yy304;
2106 yy497:
2107 yych = (YYCTYPE)*++YYCURSOR;
2108 if (yych <= 0x00) goto yy544;
2109 goto yy304;
2110 yy498:
2111 yych = (YYCTYPE)*++YYCURSOR;
2112 if (yych == 'n') goto yy546;
2113 goto yy304;
2114 yy499:
2115 yych = (YYCTYPE)*++YYCURSOR;
2116 if (yych == 'h') goto yy547;
2117 goto yy304;
2118 yy500:
2119 yych = (YYCTYPE)*++YYCURSOR;
2120 if (yych == 't') goto yy548;
2121 goto yy304;
2122 yy501:
2123 yych = (YYCTYPE)*++YYCURSOR;
2124 if (yych == 's') goto yy549;
2125 if (yych == 'v') goto yy550;
2126 goto yy304;
2127 yy502:
2128 yych = (YYCTYPE)*++YYCURSOR;
2129 if (yych == 'n') goto yy551;
2130 goto yy304;
2131 yy503:
2132 yych = (YYCTYPE)*++YYCURSOR;
2133 if (yych == 'd') goto yy552;
2134 goto yy304;
2135 yy504:
2136 yych = (YYCTYPE)*++YYCURSOR;
2137 if (yych == 'o') goto yy553;
2138 goto yy304;
2139 yy505:
2140 yych = (YYCTYPE)*++YYCURSOR;
2141 if (yych == 'u') goto yy554;
2142 goto yy304;
2143 yy506:
2144 yych = (YYCTYPE)*++YYCURSOR;
2145 if (yych <= 0x00) goto yy555;
2146 goto yy304;
2147 yy507:
2148 yych = (YYCTYPE)*++YYCURSOR;
2149 if (yych == 'i') goto yy557;
2150 goto yy304;
2151 yy508:
2152 yych = (YYCTYPE)*++YYCURSOR;
2153 if (yych == 'f') goto yy558;
2154 goto yy304;
2155 yy509:
2156 yych = (YYCTYPE)*++YYCURSOR;
2157 if (yych == 'g') goto yy559;
2158 goto yy304;
2159 yy510:
2160 yych = (YYCTYPE)*++YYCURSOR;
2161 if (yych == 'o') goto yy560;
2162 goto yy304;
2163 yy511:
2164 yych = (YYCTYPE)*++YYCURSOR;
2165 if (yych == 'a') goto yy561;
2166 goto yy304;
2167 yy512:
2168 yych = (YYCTYPE)*++YYCURSOR;
2169 if (yych == 't') goto yy562;
2170 goto yy304;
2171 yy513:
2172 yych = (YYCTYPE)*++YYCURSOR;
2173 if (yych == 'a') goto yy563;
2174 goto yy304;
2175 yy514:
2176 yych = (YYCTYPE)*++YYCURSOR;
2177 if (yych == 'k') goto yy564;
2178 goto yy304;
2179 yy515:
2180 yych = (YYCTYPE)*++YYCURSOR;
2181 if (yych == 't') goto yy565;
2182 goto yy304;
2183 yy516:
2184 yych = (YYCTYPE)*++YYCURSOR;
2185 if (yych == 'l') goto yy566;
2186 goto yy304;
2187 yy517:
2188 yych = (YYCTYPE)*++YYCURSOR;
2189 if (yych == 'g') goto yy567;
2190 goto yy304;
2191 yy518:
2192 yych = (YYCTYPE)*++YYCURSOR;
2193 if (yych == 'a') goto yy568;
2194 goto yy304;
2195 yy519:
2196 yych = (YYCTYPE)*++YYCURSOR;
2197 if (yych == 'n') goto yy569;
2198 goto yy304;
2199 yy520:
2200 yych = (YYCTYPE)*++YYCURSOR;
2201 if (yych == 'n') goto yy570;
2202 goto yy304;
2203 yy521:
2204 yych = (YYCTYPE)*++YYCURSOR;
2205 if (yych == 'n') goto yy571;
2206 goto yy304;
2207 yy522:
2208 yych = (YYCTYPE)*++YYCURSOR;
2209 if (yych == 'i') goto yy572;
2210 goto yy304;
2211 yy523:
2212 yych = (YYCTYPE)*++YYCURSOR;
2213 if (yych == 'g') goto yy573;
2214 goto yy304;
2215 yy524:
2216 yych = (YYCTYPE)*++YYCURSOR;
2217 if (yych == 'r') goto yy574;
2218 goto yy304;
2219 yy525:
2220 yych = (YYCTYPE)*++YYCURSOR;
2221 if (yych == 'a') goto yy575;
2222 goto yy304;
2223 yy526:
2224 yych = (YYCTYPE)*++YYCURSOR;
2225 if (yych == 'm') goto yy576;
2226 goto yy304;
2227 yy527:
2228 yych = (YYCTYPE)*++YYCURSOR;
2229 if (yych == 'i') goto yy577;
2230 goto yy304;
2231 yy528:
2232 ++YYCURSOR;
2233 #line 192 "../src/options/parse_opts.re"
2234 { NEXT_ARG("-o, --output", opt_output); }
2235 #line 2236 "src/options/parse_opts.cc"
2236 yy530:
2237 yych = (YYCTYPE)*++YYCURSOR;
2238 if (yych == 'a') goto yy578;
2239 if (yych == 'l') goto yy579;
2240 goto yy304;
2241 yy531:
2242 yych = (YYCTYPE)*++YYCURSOR;
2243 if (yych == 'r') goto yy580;
2244 goto yy304;
2245 yy532:
2246 yych = (YYCTYPE)*++YYCURSOR;
2247 if (yych == 'e') goto yy581;
2248 goto yy304;
2249 yy533:
2250 yych = (YYCTYPE)*++YYCURSOR;
2251 if (yych == 'p') goto yy582;
2252 goto yy304;
2253 yy534:
2254 yych = (YYCTYPE)*++YYCURSOR;
2255 if (yych == 'n') goto yy583;
2256 goto yy304;
2257 yy535:
2258 ++YYCURSOR;
2259 #line 213 "../src/options/parse_opts.re"
2260 { globopts.stadfa = true; goto opt; }
2261 #line 2262 "src/options/parse_opts.cc"
2262 yy537:
2263 yych = (YYCTYPE)*++YYCURSOR;
2264 if (yych == 'o') goto yy584;
2265 goto yy304;
2266 yy538:
2267 yych = (YYCTYPE)*++YYCURSOR;
2268 if (yych == 'e') goto yy585;
2269 goto yy304;
2270 yy539:
2271 yych = (YYCTYPE)*++YYCURSOR;
2272 if (yych == 'a') goto yy586;
2273 goto yy304;
2274 yy540:
2275 yych = (YYCTYPE)*++YYCURSOR;
2276 if (yych <= 0x00) goto yy587;
2277 goto yy304;
2278 yy541:
2279 ++YYCURSOR;
2280 #line 182 "../src/options/parse_opts.re"
2281 { opts.set_encoding(Enc::UTF16); goto opt; }
2282 #line 2283 "src/options/parse_opts.cc"
2283 yy543:
2284 yych = (YYCTYPE)*++YYCURSOR;
2285 if (yych <= 0x00) goto yy589;
2286 goto yy304;
2287 yy544:
2288 ++YYCURSOR;
2289 #line 159 "../src/options/parse_opts.re"
2290 { vernum (); return EXIT_OK; }
2291 #line 2292 "src/options/parse_opts.cc"
2292 yy546:
2293 yych = (YYCTYPE)*++YYCURSOR;
2294 if (yych <= 0x00) goto yy591;
2295 goto yy304;
2296 yy547:
2297 yych = (YYCTYPE)*++YYCURSOR;
2298 if (yych == 'a') goto yy593;
2299 goto yy304;
2300 yy548:
2301 yych = (YYCTYPE)*++YYCURSOR;
2302 if (yych == 'o') goto yy594;
2303 goto yy304;
2304 yy549:
2305 yych = (YYCTYPE)*++YYCURSOR;
2306 if (yych == 'e') goto yy595;
2307 goto yy304;
2308 yy550:
2309 yych = (YYCTYPE)*++YYCURSOR;
2310 if (yych == 'e') goto yy596;
2311 goto yy304;
2312 yy551:
2313 yych = (YYCTYPE)*++YYCURSOR;
2314 if (yych == 'g') goto yy597;
2315 goto yy304;
2316 yy552:
2317 yych = (YYCTYPE)*++YYCURSOR;
2318 if (yych == '-') goto yy598;
2319 goto yy304;
2320 yy553:
2321 yych = (YYCTYPE)*++YYCURSOR;
2322 if (yych == 'n') goto yy599;
2323 goto yy304;
2324 yy554:
2325 yych = (YYCTYPE)*++YYCURSOR;
2326 if (yych == 't') goto yy600;
2327 goto yy304;
2328 yy555:
2329 ++YYCURSOR;
2330 #line 194 "../src/options/parse_opts.re"
2331 { NEXT_ARG("--depfile", opt_depfile); }
2332 #line 2333 "src/options/parse_opts.cc"
2333 yy557:
2334 yych = (YYCTYPE)*++YYCURSOR;
2335 if (yych == 'm') goto yy601;
2336 goto yy304;
2337 yy558:
2338 yych = (YYCTYPE)*++YYCURSOR;
2339 if (yych == 'a') goto yy602;
2340 goto yy304;
2341 yy559:
2342 yych = (YYCTYPE)*++YYCURSOR;
2343 if (yych <= 0x00) goto yy603;
2344 goto yy304;
2345 yy560:
2346 yych = (YYCTYPE)*++YYCURSOR;
2347 if (yych == 's') goto yy605;
2348 goto yy304;
2349 yy561:
2350 yych = (YYCTYPE)*++YYCURSOR;
2351 if (yych == '-') goto yy606;
2352 goto yy304;
2353 yy562:
2354 yych = (YYCTYPE)*++YYCURSOR;
2355 if (yych == 'e') goto yy607;
2356 goto yy304;
2357 yy563:
2358 yych = (YYCTYPE)*++YYCURSOR;
2359 if (yych <= 0x00) goto yy608;
2360 goto yy304;
2361 yy564:
2362 yych = (YYCTYPE)*++YYCURSOR;
2363 if (yych == 'i') goto yy610;
2364 goto yy304;
2365 yy565:
2366 yych = (YYCTYPE)*++YYCURSOR;
2367 if (yych <= 0x00) goto yy611;
2368 goto yy304;
2369 yy566:
2370 yych = (YYCTYPE)*++YYCURSOR;
2371 if (yych == 'a') goto yy613;
2372 goto yy304;
2373 yy567:
2374 yych = (YYCTYPE)*++YYCURSOR;
2375 if (yych == '-') goto yy614;
2376 goto yy304;
2377 yy568:
2378 yych = (YYCTYPE)*++YYCURSOR;
2379 if (yych == 'g') goto yy615;
2380 goto yy304;
2381 yy569:
2382 yych = (YYCTYPE)*++YYCURSOR;
2383 if (yych == 't') goto yy616;
2384 goto yy304;
2385 yy570:
2386 yych = (YYCTYPE)*++YYCURSOR;
2387 if (yych == 'c') goto yy617;
2388 goto yy304;
2389 yy571:
2390 yych = (YYCTYPE)*++YYCURSOR;
2391 if (yych == '-') goto yy618;
2392 goto yy304;
2393 yy572:
2394 yych = (YYCTYPE)*++YYCURSOR;
2395 if (yych == 'f') goto yy619;
2396 goto yy304;
2397 yy573:
2398 yych = (YYCTYPE)*++YYCURSOR;
2399 if (yych == '-') goto yy620;
2400 goto yy304;
2401 yy574:
2402 yych = (YYCTYPE)*++YYCURSOR;
2403 if (yych == 'a') goto yy621;
2404 goto yy304;
2405 yy575:
2406 yych = (YYCTYPE)*++YYCURSOR;
2407 if (yych == 'h') goto yy622;
2408 goto yy304;
2409 yy576:
2410 yych = (YYCTYPE)*++YYCURSOR;
2411 if (yych == 'i') goto yy623;
2412 goto yy304;
2413 yy577:
2414 yych = (YYCTYPE)*++YYCURSOR;
2415 if (yych == 'o') goto yy624;
2416 goto yy304;
2417 yy578:
2418 yych = (YYCTYPE)*++YYCURSOR;
2419 if (yych == 'p') goto yy625;
2420 goto yy304;
2421 yy579:
2422 yych = (YYCTYPE)*++YYCURSOR;
2423 if (yych == 'o') goto yy626;
2424 goto yy304;
2425 yy580:
2426 yych = (YYCTYPE)*++YYCURSOR;
2427 if (yych == 'e') goto yy627;
2428 goto yy304;
2429 yy581:
2430 yych = (YYCTYPE)*++YYCURSOR;
2431 if (yych <= 0x00) goto yy628;
2432 goto yy304;
2433 yy582:
2434 yych = (YYCTYPE)*++YYCURSOR;
2435 if (yych == 'a') goto yy630;
2436 goto yy304;
2437 yy583:
2438 yych = (YYCTYPE)*++YYCURSOR;
2439 if (yych <= 0x00) goto yy631;
2440 goto yy304;
2441 yy584:
2442 yych = (YYCTYPE)*++YYCURSOR;
2443 if (yych == 'n') goto yy337;
2444 goto yy304;
2445 yy585:
2446 yych = (YYCTYPE)*++YYCURSOR;
2447 if (yych == '-') goto yy633;
2448 goto yy304;
2449 yy586:
2450 yych = (YYCTYPE)*++YYCURSOR;
2451 if (yych == 'd') goto yy634;
2452 goto yy304;
2453 yy587:
2454 ++YYCURSOR;
2455 #line 180 "../src/options/parse_opts.re"
2456 { opts.set_encoding(Enc::UTF32); goto opt; }
2457 #line 2458 "src/options/parse_opts.cc"
2458 yy589:
2459 ++YYCURSOR;
2460 #line 165 "../src/options/parse_opts.re"
2461 { globopts.verbose = true; goto opt; }
2462 #line 2463 "src/options/parse_opts.cc"
2463 yy591:
2464 ++YYCURSOR;
2465 #line 158 "../src/options/parse_opts.re"
2466 { version (); return EXIT_OK; }
2467 #line 2468 "src/options/parse_opts.cc"
2468 yy593:
2469 yych = (YYCTYPE)*++YYCURSOR;
2470 if (yych == 'r') goto yy635;
2471 goto yy304;
2472 yy594:
2473 yych = (YYCTYPE)*++YYCURSOR;
2474 if (yych == 'r') goto yy636;
2475 goto yy304;
2476 yy595:
2477 yych = (YYCTYPE)*++YYCURSOR;
2478 if (yych == 'n') goto yy637;
2479 goto yy304;
2480 yy596:
2481 yych = (YYCTYPE)*++YYCURSOR;
2482 if (yych == 'r') goto yy638;
2483 goto yy304;
2484 yy597:
2485 yych = (YYCTYPE)*++YYCURSOR;
2486 if (yych == 'e') goto yy639;
2487 goto yy304;
2488 yy598:
2489 yych = (YYCTYPE)*++YYCURSOR;
2490 if (yych == 'g') goto yy640;
2491 goto yy304;
2492 yy599:
2493 yych = (YYCTYPE)*++YYCURSOR;
2494 if (yych == 's') goto yy641;
2495 goto yy304;
2496 yy600:
2497 yych = (YYCTYPE)*++YYCURSOR;
2498 if (yych == 'p') goto yy642;
2499 goto yy304;
2500 yy601:
2501 yych = (YYCTYPE)*++YYCURSOR;
2502 if (yych == 'i') goto yy643;
2503 goto yy304;
2504 yy602:
2505 yych = (YYCTYPE)*++YYCURSOR;
2506 if (yych <= 0x00) goto yy644;
2507 goto yy304;
2508 yy603:
2509 ++YYCURSOR;
2510 #line 223 "../src/options/parse_opts.re"
2511 { globopts.dump_cfg = true; goto opt; }
2512 #line 2513 "src/options/parse_opts.cc"
2513 yy605:
2514 yych = (YYCTYPE)*++YYCURSOR;
2515 if (yych == 'u') goto yy646;
2516 goto yy304;
2517 yy606:
2518 yych = (YYCTYPE)*++YYCURSOR;
2519 switch (yych) {
2520 case 'd': goto yy647;
2521 case 'm': goto yy648;
2522 case 'r': goto yy649;
2523 case 't': goto yy650;
2524 default: goto yy304;
2525 }
2526 yy607:
2527 yych = (YYCTYPE)*++YYCURSOR;
2528 if (yych == 'r') goto yy651;
2529 goto yy304;
2530 yy608:
2531 ++YYCURSOR;
2532 #line 216 "../src/options/parse_opts.re"
2533 { globopts.dump_nfa = true; goto opt; }
2534 #line 2535 "src/options/parse_opts.cc"
2535 yy610:
2536 yych = (YYCTYPE)*++YYCURSOR;
2537 if (yych == 'p') goto yy652;
2538 goto yy304;
2539 yy611:
2540 ++YYCURSOR;
2541 #line 162 "../src/options/parse_opts.re"
2542 { globopts.target = TARGET_DOT; goto opt; }
2543 #line 2544 "src/options/parse_opts.cc"
2544 yy613:
2545 yych = (YYCTYPE)*++YYCURSOR;
2546 if (yych == 's') goto yy653;
2547 goto yy304;
2548 yy614:
2549 yych = (YYCTYPE)*++YYCURSOR;
2550 if (yych == 'p') goto yy654;
2551 goto yy304;
2552 yy615:
2553 yych = (YYCTYPE)*++YYCURSOR;
2554 if (yych == 's') goto yy655;
2555 goto yy304;
2556 yy616:
2557 yych = (YYCTYPE)*++YYCURSOR;
2558 if (yych == 'a') goto yy656;
2559 goto yy304;
2560 yy617:
2561 yych = (YYCTYPE)*++YYCURSOR;
2562 if (yych == 'o') goto yy657;
2563 goto yy304;
2564 yy618:
2565 yych = (YYCTYPE)*++YYCURSOR;
2566 if (yych == 'f') goto yy658;
2567 goto yy304;
2568 yy619:
2569 yych = (YYCTYPE)*++YYCURSOR;
2570 if (yych == 's') goto yy659;
2571 goto yy304;
2572 yy620:
2573 yych = (YYCTYPE)*++YYCURSOR;
2574 if (yych == 'i') goto yy660;
2575 goto yy304;
2576 yy621:
2577 yych = (YYCTYPE)*++YYCURSOR;
2578 if (yych == 't') goto yy661;
2579 goto yy304;
2580 yy622:
2581 yych = (YYCTYPE)*++YYCURSOR;
2582 if (yych == 'e') goto yy662;
2583 goto yy304;
2584 yy623:
2585 yych = (YYCTYPE)*++YYCURSOR;
2586 if (yych == 'z') goto yy663;
2587 goto yy304;
2588 yy624:
2589 yych = (YYCTYPE)*++YYCURSOR;
2590 if (yych == 'n') goto yy664;
2591 goto yy304;
2592 yy625:
2593 yych = (YYCTYPE)*++YYCURSOR;
2594 if (yych == 't') goto yy665;
2595 goto yy304;
2596 yy626:
2597 yych = (YYCTYPE)*++YYCURSOR;
2598 if (yych == 's') goto yy666;
2599 goto yy304;
2600 yy627:
2601 yych = (YYCTYPE)*++YYCURSOR;
2602 if (yych == 'c') goto yy667;
2603 goto yy304;
2604 yy628:
2605 ++YYCURSOR;
2606 #line 203 "../src/options/parse_opts.re"
2607 { goto opt; }
2608 #line 2609 "src/options/parse_opts.cc"
2609 yy630:
2610 yych = (YYCTYPE)*++YYCURSOR;
2611 if (yych == 's') goto yy668;
2612 goto yy304;
2613 yy631:
2614 ++YYCURSOR;
2615 #line 169 "../src/options/parse_opts.re"
2616 { globopts.target = TARGET_SKELETON; goto opt; }
2617 #line 2618 "src/options/parse_opts.cc"
2618 yy633:
2619 yych = (YYCTYPE)*++YYCURSOR;
2620 if (yych == 's') goto yy669;
2621 goto yy304;
2622 yy634:
2623 yych = (YYCTYPE)*++YYCURSOR;
2624 if (yych == 'e') goto yy670;
2625 goto yy304;
2626 yy635:
2627 yych = (YYCTYPE)*++YYCURSOR;
2628 if (yych == 's') goto yy671;
2629 goto yy304;
2630 yy636:
2631 yych = (YYCTYPE)*++YYCURSOR;
2632 if (yych == 's') goto yy672;
2633 goto yy304;
2634 yy637:
2635 yych = (YYCTYPE)*++YYCURSOR;
2636 if (yych == 's') goto yy673;
2637 goto yy304;
2638 yy638:
2639 yych = (YYCTYPE)*++YYCURSOR;
2640 if (yych == 't') goto yy674;
2641 goto yy304;
2642 yy639:
2643 yych = (YYCTYPE)*++YYCURSOR;
2644 if (yych == 's') goto yy675;
2645 goto yy304;
2646 yy640:
2647 yych = (YYCTYPE)*++YYCURSOR;
2648 if (yych == 'o') goto yy676;
2649 goto yy304;
2650 yy641:
2651 yych = (YYCTYPE)*++YYCURSOR;
2652 if (yych <= 0x00) goto yy677;
2653 goto yy304;
2654 yy642:
2655 yych = (YYCTYPE)*++YYCURSOR;
2656 if (yych == 'u') goto yy679;
2657 goto yy304;
2658 yy643:
2659 yych = (YYCTYPE)*++YYCURSOR;
2660 if (yych == 'z') goto yy680;
2661 goto yy304;
2662 yy644:
2663 ++YYCURSOR;
2664 #line 222 "../src/options/parse_opts.re"
2665 { globopts.dump_adfa = true; goto opt; }
2666 #line 2667 "src/options/parse_opts.cc"
2667 yy646:
2668 yych = (YYCTYPE)*++YYCURSOR;
2669 if (yych == 'r') goto yy681;
2670 goto yy304;
2671 yy647:
2672 yych = (YYCTYPE)*++YYCURSOR;
2673 if (yych == 'e') goto yy682;
2674 goto yy304;
2675 yy648:
2676 yych = (YYCTYPE)*++YYCURSOR;
2677 if (yych == 'i') goto yy683;
2678 goto yy304;
2679 yy649:
2680 yych = (YYCTYPE)*++YYCURSOR;
2681 if (yych == 'a') goto yy684;
2682 goto yy304;
2683 yy650:
2684 yych = (YYCTYPE)*++YYCURSOR;
2685 if (yych == 'a') goto yy685;
2686 if (yych == 'r') goto yy686;
2687 goto yy304;
2688 yy651:
2689 yych = (YYCTYPE)*++YYCURSOR;
2690 if (yych == 'f') goto yy687;
2691 goto yy304;
2692 yy652:
2693 yych = (YYCTYPE)*++YYCURSOR;
2694 if (yych <= 0x00) goto yy688;
2695 goto yy304;
2696 yy653:
2697 yych = (YYCTYPE)*++YYCURSOR;
2698 if (yych == 's') goto yy690;
2699 goto yy304;
2700 yy654:
2701 yych = (YYCTYPE)*++YYCURSOR;
2702 if (yych == 'o') goto yy691;
2703 goto yy304;
2704 yy655:
2705 yych = (YYCTYPE)*++YYCURSOR;
2706 if (yych <= 0x00) goto yy692;
2707 goto yy304;
2708 yy656:
2709 yych = (YYCTYPE)*++YYCURSOR;
2710 if (yych == 'x') goto yy694;
2711 goto yy304;
2712 yy657:
2713 yych = (YYCTYPE)*++YYCURSOR;
2714 if (yych == 'd') goto yy695;
2715 goto yy304;
2716 yy658:
2717 yych = (YYCTYPE)*++YYCURSOR;
2718 if (yych == 'o') goto yy696;
2719 goto yy304;
2720 yy659:
2721 yych = (YYCTYPE)*++YYCURSOR;
2722 if (yych <= 0x00) goto yy697;
2723 goto yy304;
2724 yy660:
2725 yych = (YYCTYPE)*++YYCURSOR;
2726 if (yych == 'n') goto yy699;
2727 goto yy304;
2728 yy661:
2729 yych = (YYCTYPE)*++YYCURSOR;
2730 if (yych == 'i') goto yy700;
2731 goto yy304;
2732 yy662:
2733 yych = (YYCTYPE)*++YYCURSOR;
2734 if (yych == 'a') goto yy701;
2735 goto yy304;
2736 yy663:
2737 yych = (YYCTYPE)*++YYCURSOR;
2738 if (yych == 'e') goto yy702;
2739 goto yy304;
2740 yy664:
2741 yych = (YYCTYPE)*++YYCURSOR;
2742 if (yych <= 0x00) goto yy703;
2743 goto yy304;
2744 yy665:
2745 yych = (YYCTYPE)*++YYCURSOR;
2746 if (yych == 'u') goto yy705;
2747 goto yy304;
2748 yy666:
2749 yych = (YYCTYPE)*++YYCURSOR;
2750 if (yych == 'u') goto yy706;
2751 goto yy304;
2752 yy667:
2753 yych = (YYCTYPE)*++YYCURSOR;
2754 if (yych == 't') goto yy707;
2755 goto yy304;
2756 yy668:
2757 yych = (YYCTYPE)*++YYCURSOR;
2758 if (yych == 's') goto yy708;
2759 goto yy304;
2760 yy669:
2761 yych = (YYCTYPE)*++YYCURSOR;
2762 if (yych == 't') goto yy709;
2763 goto yy304;
2764 yy670:
2765 yych = (YYCTYPE)*++YYCURSOR;
2766 if (yych == 'r') goto yy710;
2767 goto yy304;
2768 yy671:
2769 yych = (YYCTYPE)*++YYCURSOR;
2770 if (yych <= 0x00) goto yy711;
2771 goto yy304;
2772 yy672:
2773 yych = (YYCTYPE)*++YYCURSOR;
2774 if (yych <= 0x00) goto yy713;
2775 goto yy304;
2776 yy673:
2777 yych = (YYCTYPE)*++YYCURSOR;
2778 if (yych == 'i') goto yy715;
2779 goto yy304;
2780 yy674:
2781 yych = (YYCTYPE)*++YYCURSOR;
2782 if (yych == 'e') goto yy716;
2783 goto yy304;
2784 yy675:
2785 yych = (YYCTYPE)*++YYCURSOR;
2786 if (yych <= 0x00) goto yy717;
2787 goto yy304;
2788 yy676:
2789 yych = (YYCTYPE)*++YYCURSOR;
2790 if (yych == 't') goto yy719;
2791 goto yy304;
2792 yy677:
2793 ++YYCURSOR;
2794 #line 161 "../src/options/parse_opts.re"
2795 { globopts.cFlag = true; goto opt; }
2796 #line 2797 "src/options/parse_opts.cc"
2797 yy679:
2798 yych = (YYCTYPE)*++YYCURSOR;
2799 if (yych == 't') goto yy720;
2800 goto yy304;
2801 yy680:
2802 yych = (YYCTYPE)*++YYCURSOR;
2803 if (yych == 'a') goto yy721;
2804 goto yy304;
2805 yy681:
2806 yych = (YYCTYPE)*++YYCURSOR;
2807 if (yych == 'e') goto yy722;
2808 goto yy304;
2809 yy682:
2810 yych = (YYCTYPE)*++YYCURSOR;
2811 if (yych == 't') goto yy723;
2812 goto yy304;
2813 yy683:
2814 yych = (YYCTYPE)*++YYCURSOR;
2815 if (yych == 'n') goto yy724;
2816 goto yy304;
2817 yy684:
2818 yych = (YYCTYPE)*++YYCURSOR;
2819 if (yych == 'w') goto yy725;
2820 goto yy304;
2821 yy685:
2822 yych = (YYCTYPE)*++YYCURSOR;
2823 if (yych == 'g') goto yy726;
2824 goto yy304;
2825 yy686:
2826 yych = (YYCTYPE)*++YYCURSOR;
2827 if (yych == 'e') goto yy727;
2828 goto yy304;
2829 yy687:
2830 yych = (YYCTYPE)*++YYCURSOR;
2831 if (yych <= 0x00) goto yy728;
2832 goto yy304;
2833 yy688:
2834 ++YYCURSOR;
2835 #line 212 "../src/options/parse_opts.re"
2836 { globopts.eager_skip = true; goto opt; }
2837 #line 2838 "src/options/parse_opts.cc"
2838 yy690:
2839 yych = (YYCTYPE)*++YYCURSOR;
2840 if (yych <= 0x00) goto yy730;
2841 goto yy304;
2842 yy691:
2843 yych = (YYCTYPE)*++YYCURSOR;
2844 if (yych == 'l') goto yy732;
2845 goto yy304;
2846 yy692:
2847 ++YYCURSOR;
2848 #line 209 "../src/options/parse_opts.re"
2849 { NEXT_ARG("--fixed-tags", opt_fixed_tags); }
2850 #line 2851 "src/options/parse_opts.cc"
2851 yy694:
2852 yych = (YYCTYPE)*++YYCURSOR;
2853 if (yych <= 0x00) goto yy733;
2854 goto yy304;
2855 yy695:
2856 yych = (YYCTYPE)*++YYCURSOR;
2857 if (yych == 'i') goto yy735;
2858 goto yy304;
2859 yy696:
2860 yych = (YYCTYPE)*++YYCURSOR;
2861 if (yych == 'r') goto yy736;
2862 goto yy304;
2863 yy697:
2864 ++YYCURSOR;
2865 #line 175 "../src/options/parse_opts.re"
2866 { opts.set_sFlag (true); goto opt; }
2867 #line 2868 "src/options/parse_opts.cc"
2868 yy699:
2869 yych = (YYCTYPE)*++YYCURSOR;
2870 if (yych == 'f') goto yy737;
2871 goto yy304;
2872 yy700:
2873 yych = (YYCTYPE)*++YYCURSOR;
2874 if (yych == 'o') goto yy738;
2875 goto yy304;
2876 yy701:
2877 yych = (YYCTYPE)*++YYCURSOR;
2878 if (yych == 'd') goto yy739;
2879 goto yy304;
2880 yy702:
2881 yych = (YYCTYPE)*++YYCURSOR;
2882 if (yych == '-') goto yy740;
2883 goto yy304;
2884 yy703:
2885 ++YYCURSOR;
2886 #line 168 "../src/options/parse_opts.re"
2887 { globopts.version = false; goto opt; }
2888 #line 2889 "src/options/parse_opts.cc"
2889 yy705:
2890 yych = (YYCTYPE)*++YYCURSOR;
2891 if (yych == 'r') goto yy741;
2892 goto yy304;
2893 yy706:
2894 yych = (YYCTYPE)*++YYCURSOR;
2895 if (yych == 'r') goto yy742;
2896 goto yy304;
2897 yy707:
2898 yych = (YYCTYPE)*++YYCURSOR;
2899 if (yych == 'a') goto yy743;
2900 goto yy304;
2901 yy708:
2902 yych = (YYCTYPE)*++YYCURSOR;
2903 if (yych <= 0x00) goto yy744;
2904 goto yy304;
2905 yy709:
2906 yych = (YYCTYPE)*++YYCURSOR;
2907 if (yych == 'a') goto yy746;
2908 goto yy304;
2909 yy710:
2910 yych = (YYCTYPE)*++YYCURSOR;
2911 if (yych <= 0x00) goto yy747;
2912 goto yy304;
2913 yy711:
2914 ++YYCURSOR;
2915 #line 181 "../src/options/parse_opts.re"
2916 { opts.set_encoding(Enc::UCS2); goto opt; }
2917 #line 2918 "src/options/parse_opts.cc"
2918 yy713:
2919 ++YYCURSOR;
2920 #line 171 "../src/options/parse_opts.re"
2921 { opts.set_bFlag (true); goto opt; }
2922 #line 2923 "src/options/parse_opts.cc"
2923 yy715:
2924 yych = (YYCTYPE)*++YYCURSOR;
2925 if (yych == 't') goto yy749;
2926 goto yy304;
2927 yy716:
2928 yych = (YYCTYPE)*++YYCURSOR;
2929 if (yych == 'd') goto yy750;
2930 goto yy304;
2931 yy717:
2932 ++YYCURSOR;
2933 #line 173 "../src/options/parse_opts.re"
2934 { opts.set_case_ranges (true); goto opt; }
2935 #line 2936 "src/options/parse_opts.cc"
2936 yy719:
2937 yych = (YYCTYPE)*++YYCURSOR;
2938 if (yych == 'o') goto yy751;
2939 goto yy304;
2940 yy720:
2941 yych = (YYCTYPE)*++YYCURSOR;
2942 if (yych <= 0x00) goto yy752;
2943 goto yy304;
2944 yy721:
2945 yych = (YYCTYPE)*++YYCURSOR;
2946 if (yych == 't') goto yy754;
2947 goto yy304;
2948 yy722:
2949 yych = (YYCTYPE)*++YYCURSOR;
2950 if (yych == '-') goto yy755;
2951 goto yy304;
2952 yy723:
2953 yych = (YYCTYPE)*++YYCURSOR;
2954 if (yych <= 0x00) goto yy756;
2955 goto yy304;
2956 yy724:
2957 yych = (YYCTYPE)*++YYCURSOR;
2958 if (yych <= 0x00) goto yy758;
2959 goto yy304;
2960 yy725:
2961 yych = (YYCTYPE)*++YYCURSOR;
2962 if (yych <= 0x00) goto yy760;
2963 goto yy304;
2964 yy726:
2965 yych = (YYCTYPE)*++YYCURSOR;
2966 if (yych == 'o') goto yy762;
2967 goto yy304;
2968 yy727:
2969 yych = (YYCTYPE)*++YYCURSOR;
2970 if (yych == 'e') goto yy763;
2971 goto yy304;
2972 yy728:
2973 ++YYCURSOR;
2974 #line 224 "../src/options/parse_opts.re"
2975 { globopts.dump_interf = true; goto opt; }
2976 #line 2977 "src/options/parse_opts.cc"
2977 yy730:
2978 ++YYCURSOR;
2979 #line 197 "../src/options/parse_opts.re"
2980 { NEXT_ARG("--empty-class", opt_empty_class); }
2981 #line 2982 "src/options/parse_opts.cc"
2982 yy732:
2983 yych = (YYCTYPE)*++YYCURSOR;
2984 if (yych == 'i') goto yy764;
2985 goto yy304;
2986 yy733:
2987 ++YYCURSOR;
2988 #line 164 "../src/options/parse_opts.re"
2989 { globopts.FFlag = true; goto opt; }
2990 #line 2991 "src/options/parse_opts.cc"
2991 yy735:
2992 yych = (YYCTYPE)*++YYCURSOR;
2993 if (yych == 'n') goto yy765;
2994 goto yy304;
2995 yy736:
2996 yych = (YYCTYPE)*++YYCURSOR;
2997 if (yych == 'm') goto yy766;
2998 goto yy304;
2999 yy737:
3000 yych = (YYCTYPE)*++YYCURSOR;
3001 if (yych == 'o') goto yy767;
3002 goto yy304;
3003 yy738:
3004 yych = (YYCTYPE)*++YYCURSOR;
3005 if (yych == 'n') goto yy768;
3006 goto yy304;
3007 yy739:
3008 yych = (YYCTYPE)*++YYCURSOR;
3009 if (yych <= 0x00) goto yy769;
3010 goto yy304;
3011 yy740:
3012 yych = (YYCTYPE)*++YYCURSOR;
3013 if (yych == 't') goto yy771;
3014 goto yy304;
3015 yy741:
3016 yych = (YYCTYPE)*++YYCURSOR;
3017 if (yych == 'e') goto yy772;
3018 goto yy304;
3019 yy742:
3020 yych = (YYCTYPE)*++YYCURSOR;
3021 if (yych == 'e') goto yy773;
3022 goto yy304;
3023 yy743:
3024 yych = (YYCTYPE)*++YYCURSOR;
3025 if (yych == 'b') goto yy774;
3026 goto yy304;
3027 yy744:
3028 ++YYCURSOR;
3029 #line 202 "../src/options/parse_opts.re"
3030 { goto opt; }
3031 #line 3032 "src/options/parse_opts.cc"
3032 yy746:
3033 yych = (YYCTYPE)*++YYCURSOR;
3034 if (yych == 't') goto yy775;
3035 goto yy304;
3036 yy747:
3037 ++YYCURSOR;
3038 #line 193 "../src/options/parse_opts.re"
3039 { NEXT_ARG("-t, --type-header", opt_header); }
3040 #line 3041 "src/options/parse_opts.cc"
3041 yy749:
3042 yych = (YYCTYPE)*++YYCURSOR;
3043 if (yych == 'i') goto yy776;
3044 goto yy304;
3045 yy750:
3046 yych = (YYCTYPE)*++YYCURSOR;
3047 if (yych <= 0x00) goto yy777;
3048 goto yy304;
3049 yy751:
3050 yych = (YYCTYPE)*++YYCURSOR;
3051 if (yych == 's') goto yy779;
3052 goto yy304;
3053 yy752:
3054 ++YYCURSOR;
3055 #line 172 "../src/options/parse_opts.re"
3056 { opts.set_dFlag (true); goto opt; }
3057 #line 3058 "src/options/parse_opts.cc"
3058 yy754:
3059 yych = (YYCTYPE)*++YYCURSOR;
3060 if (yych == 'i') goto yy780;
3061 goto yy304;
3062 yy755:
3063 yych = (YYCTYPE)*++YYCURSOR;
3064 if (yych == 's') goto yy781;
3065 goto yy304;
3066 yy756:
3067 ++YYCURSOR;
3068 #line 219 "../src/options/parse_opts.re"
3069 { globopts.dump_dfa_det = true; goto opt; }
3070 #line 3071 "src/options/parse_opts.cc"
3071 yy758:
3072 ++YYCURSOR;
3073 #line 221 "../src/options/parse_opts.re"
3074 { globopts.dump_dfa_min = true; goto opt; }
3075 #line 3076 "src/options/parse_opts.cc"
3076 yy760:
3077 ++YYCURSOR;
3078 #line 218 "../src/options/parse_opts.re"
3079 { globopts.dump_dfa_raw = true; goto opt; }
3080 #line 3081 "src/options/parse_opts.cc"
3081 yy762:
3082 yych = (YYCTYPE)*++YYCURSOR;
3083 if (yych == 'p') goto yy782;
3084 goto yy304;
3085 yy763:
3086 yych = (YYCTYPE)*++YYCURSOR;
3087 if (yych <= 0x00) goto yy783;
3088 goto yy304;
3089 yy764:
3090 yych = (YYCTYPE)*++YYCURSOR;
3091 if (yych == 'c') goto yy785;
3092 goto yy304;
3093 yy765:
3094 yych = (YYCTYPE)*++YYCURSOR;
3095 if (yych == 'g') goto yy786;
3096 goto yy304;
3097 yy766:
3098 yych = (YYCTYPE)*++YYCURSOR;
3099 if (yych == 'a') goto yy787;
3100 goto yy304;
3101 yy767:
3102 yych = (YYCTYPE)*++YYCURSOR;
3103 if (yych <= 0x00) goto yy788;
3104 goto yy304;
3105 yy768:
3106 yych = (YYCTYPE)*++YYCURSOR;
3107 if (yych == '-') goto yy790;
3108 goto yy304;
3109 yy769:
3110 ++YYCURSOR;
3111 #line 210 "../src/options/parse_opts.re"
3112 { globopts.lookahead = false; goto opt; }
3113 #line 3114 "src/options/parse_opts.cc"
3114 yy771:
3115 yych = (YYCTYPE)*++YYCURSOR;
3116 if (yych == 'a') goto yy791;
3117 goto yy304;
3118 yy772:
3119 yych = (YYCTYPE)*++YYCURSOR;
3120 if (yych == 's') goto yy792;
3121 goto yy304;
3122 yy773:
3123 yych = (YYCTYPE)*++YYCURSOR;
3124 if (yych <= 0x00) goto yy793;
3125 goto yy304;
3126 yy774:
3127 yych = (YYCTYPE)*++YYCURSOR;
3128 if (yych == 'l') goto yy795;
3129 goto yy304;
3130 yy775:
3131 yych = (YYCTYPE)*++YYCURSOR;
3132 if (yych == 'e') goto yy796;
3133 goto yy304;
3134 yy776:
3135 yych = (YYCTYPE)*++YYCURSOR;
3136 if (yych == 'v') goto yy797;
3137 goto yy304;
3138 yy777:
3139 ++YYCURSOR;
3140 #line 177 "../src/options/parse_opts.re"
3141 { opts.set_bCaseInverted (true); goto opt; }
3142 #line 3143 "src/options/parse_opts.cc"
3143 yy779:
3144 yych = (YYCTYPE)*++YYCURSOR;
3145 if (yych <= 0x00) goto yy798;
3146 goto yy304;
3147 yy780:
3148 yych = (YYCTYPE)*++YYCURSOR;
3149 if (yych == 'o') goto yy800;
3150 goto yy304;
3151 yy781:
3152 yych = (YYCTYPE)*++YYCURSOR;
3153 if (yych == 't') goto yy801;
3154 goto yy304;
3155 yy782:
3156 yych = (YYCTYPE)*++YYCURSOR;
3157 if (yych == 't') goto yy802;
3158 goto yy304;
3159 yy783:
3160 ++YYCURSOR;
3161 #line 217 "../src/options/parse_opts.re"
3162 { globopts.dump_dfa_tree = true; goto opt; }
3163 #line 3164 "src/options/parse_opts.cc"
3164 yy785:
3165 yych = (YYCTYPE)*++YYCURSOR;
3166 if (yych == 'y') goto yy803;
3167 goto yy304;
3168 yy786:
3169 yych = (YYCTYPE)*++YYCURSOR;
3170 if (yych <= 0x00) goto yy804;
3171 goto yy304;
3172 yy787:
3173 yych = (YYCTYPE)*++YYCURSOR;
3174 if (yych == 't') goto yy806;
3175 goto yy304;
3176 yy788:
3177 ++YYCURSOR;
3178 #line 166 "../src/options/parse_opts.re"
3179 { globopts.iFlag = true; goto opt; }
3180 #line 3181 "src/options/parse_opts.cc"
3181 yy790:
3182 yych = (YYCTYPE)*++YYCURSOR;
3183 if (yych == 'd') goto yy807;
3184 goto yy304;
3185 yy791:
3186 yych = (YYCTYPE)*++YYCURSOR;
3187 if (yych == 'g') goto yy808;
3188 goto yy304;
3189 yy792:
3190 yych = (YYCTYPE)*++YYCURSOR;
3191 if (yych <= 0x00) goto yy809;
3192 goto yy304;
3193 yy793:
3194 ++YYCURSOR;
3195 #line 207 "../src/options/parse_opts.re"
3196 { NEXT_ARG("--posix-closure", opt_posix_closure); }
3197 #line 3198 "src/options/parse_opts.cc"
3198 yy795:
3199 yych = (YYCTYPE)*++YYCURSOR;
3200 if (yych == 'e') goto yy811;
3201 goto yy304;
3202 yy796:
3203 yych = (YYCTYPE)*++YYCURSOR;
3204 if (yych <= 0x00) goto yy812;
3205 goto yy304;
3206 yy797:
3207 yych = (YYCTYPE)*++YYCURSOR;
3208 if (yych == 'e') goto yy814;
3209 goto yy304;
3210 yy798:
3211 ++YYCURSOR;
3212 #line 174 "../src/options/parse_opts.re"
3213 { opts.set_gFlag (true); goto opt; }
3214 #line 3215 "src/options/parse_opts.cc"
3215 yy800:
3216 yych = (YYCTYPE)*++YYCURSOR;
3217 if (yych == 'n') goto yy815;
3218 goto yy304;
3219 yy801:
3220 yych = (YYCTYPE)*++YYCURSOR;
3221 if (yych == 'a') goto yy816;
3222 goto yy304;
3223 yy802:
3224 yych = (YYCTYPE)*++YYCURSOR;
3225 if (yych <= 0x00) goto yy817;
3226 goto yy304;
3227 yy803:
3228 yych = (YYCTYPE)*++YYCURSOR;
3229 if (yych <= 0x00) goto yy819;
3230 goto yy304;
3231 yy804:
3232 ++YYCURSOR;
3233 #line 199 "../src/options/parse_opts.re"
3234 { NEXT_ARG("--input-encoding", opt_input_encoding); }
3235 #line 3236 "src/options/parse_opts.cc"
3236 yy806:
3237 yych = (YYCTYPE)*++YYCURSOR;
3238 if (yych <= 0x00) goto yy821;
3239 goto yy304;
3240 yy807:
3241 yych = (YYCTYPE)*++YYCURSOR;
3242 if (yych == 'a') goto yy823;
3243 goto yy304;
3244 yy808:
3245 yych = (YYCTYPE)*++YYCURSOR;
3246 if (yych == 's') goto yy824;
3247 goto yy304;
3248 yy809:
3249 ++YYCURSOR;
3250 #line 185 "../src/options/parse_opts.re"
3251 {
3252 opts.set_posix_syntax(true);
3253 opts.set_posix_semantics(true);
3254 goto opt;
3255 }
3256 #line 3257 "src/options/parse_opts.cc"
3257 yy811:
3258 yych = (YYCTYPE)*++YYCURSOR;
3259 if (yych <= 0x00) goto yy825;
3260 goto yy304;
3261 yy812:
3262 ++YYCURSOR;
3263 #line 163 "../src/options/parse_opts.re"
3264 { globopts.fFlag = true; goto opt; }
3265 #line 3266 "src/options/parse_opts.cc"
3266 yy814:
3267 yych = (YYCTYPE)*++YYCURSOR;
3268 if (yych <= 0x00) goto yy827;
3269 goto yy304;
3270 yy815:
3271 yych = (YYCTYPE)*++YYCURSOR;
3272 if (yych <= 0x00) goto yy829;
3273 goto yy304;
3274 yy816:
3275 yych = (YYCTYPE)*++YYCURSOR;
3276 if (yych == 't') goto yy831;
3277 goto yy304;
3278 yy817:
3279 ++YYCURSOR;
3280 #line 220 "../src/options/parse_opts.re"
3281 { globopts.dump_dfa_tagopt = true; goto opt; }
3282 #line 3283 "src/options/parse_opts.cc"
3283 yy819:
3284 ++YYCURSOR;
3285 #line 195 "../src/options/parse_opts.re"
3286 { NEXT_ARG("--encoding-policy", opt_encoding_policy); }
3287 #line 3288 "src/options/parse_opts.cc"
3288 yy821:
3289 ++YYCURSOR;
3290 #line 198 "../src/options/parse_opts.re"
3291 { NEXT_ARG("--location-format", opt_location_format); }
3292 #line 3293 "src/options/parse_opts.cc"
3293 yy823:
3294 yych = (YYCTYPE)*++YYCURSOR;
3295 if (yych == 't') goto yy832;
3296 goto yy304;
3297 yy824:
3298 yych = (YYCTYPE)*++YYCURSOR;
3299 if (yych <= 0x00) goto yy833;
3300 goto yy304;
3301 yy825:
3302 ++YYCURSOR;
3303 #line 208 "../src/options/parse_opts.re"
3304 { NEXT_ARG("--posix-prectable", opt_posix_prectable); }
3305 #line 3306 "src/options/parse_opts.cc"
3306 yy827:
3307 ++YYCURSOR;
3308 #line 176 "../src/options/parse_opts.re"
3309 { opts.set_bCaseInsensitive (true); goto opt; }
3310 #line 3311 "src/options/parse_opts.cc"
3311 yy829:
3312 ++YYCURSOR;
3313 #line 206 "../src/options/parse_opts.re"
3314 { NEXT_ARG("--dfa-minimization", opt_dfa_minimization); }
3315 #line 3316 "src/options/parse_opts.cc"
3316 yy831:
3317 yych = (YYCTYPE)*++YYCURSOR;
3318 if (yych == 's') goto yy835;
3319 goto yy304;
3320 yy832:
3321 yych = (YYCTYPE)*++YYCURSOR;
3322 if (yych == 'e') goto yy836;
3323 goto yy304;
3324 yy833:
3325 ++YYCURSOR;
3326 #line 211 "../src/options/parse_opts.re"
3327 { globopts.optimize_tags = false; goto opt; }
3328 #line 3329 "src/options/parse_opts.cc"
3329 yy835:
3330 yych = (YYCTYPE)*++YYCURSOR;
3331 if (yych <= 0x00) goto yy837;
3332 goto yy304;
3333 yy836:
3334 yych = (YYCTYPE)*++YYCURSOR;
3335 if (yych <= 0x00) goto yy839;
3336 goto yy304;
3337 yy837:
3338 ++YYCURSOR;
3339 #line 225 "../src/options/parse_opts.re"
3340 { globopts.dump_closure_stats = true; goto opt; }
3341 #line 3342 "src/options/parse_opts.cc"
3342 yy839:
3343 ++YYCURSOR;
3344 #line 167 "../src/options/parse_opts.re"
3345 { globopts.bNoGenerationDate = true; goto opt; }
3346 #line 3347 "src/options/parse_opts.cc"
3347 }
3348 #line 226 "../src/options/parse_opts.re"
3349
3350
3351 opt_lang:
3352
3353 #line 3354 "src/options/parse_opts.cc"
3354 {
3355 YYCTYPE yych;
3356 yych = (YYCTYPE)*YYCURSOR;
3357 if (yych == 'c') goto yy845;
3358 if (yych == 'g') goto yy846;
3359 ++YYCURSOR;
3360 yy844:
3361 #line 230 "../src/options/parse_opts.re"
3362 { ERRARG("--lang", "c | go", *argv); }
3363 #line 3364 "src/options/parse_opts.cc"
3364 yy845:
3365 yych = (YYCTYPE)*++YYCURSOR;
3366 if (yych <= 0x00) goto yy847;
3367 goto yy844;
3368 yy846:
3369 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3370 if (yych == 'o') goto yy849;
3371 goto yy844;
3372 yy847:
3373 ++YYCURSOR;
3374 #line 231 "../src/options/parse_opts.re"
3375 { globopts.lang = LANG_C; goto opt; }
3376 #line 3377 "src/options/parse_opts.cc"
3377 yy849:
3378 yych = (YYCTYPE)*++YYCURSOR;
3379 if (yych <= 0x00) goto yy851;
3380 YYCURSOR = YYMARKER;
3381 goto yy844;
3382 yy851:
3383 ++YYCURSOR;
3384 #line 232 "../src/options/parse_opts.re"
3385 { globopts.lang = LANG_GO; goto opt; }
3386 #line 3387 "src/options/parse_opts.cc"
3387 }
3388 #line 233 "../src/options/parse_opts.re"
3389
3390
3391 opt_output:
3392
3393 #line 3394 "src/options/parse_opts.cc"
3394 {
3395 YYCTYPE yych;
3396 static const unsigned char yybm[] = {
3397 0, 128, 128, 128, 128, 128, 128, 128,
3398 128, 128, 128, 128, 128, 128, 128, 128,
3399 128, 128, 128, 128, 128, 128, 128, 128,
3400 128, 128, 128, 128, 128, 128, 128, 128,
3401 128, 128, 128, 128, 128, 128, 128, 128,
3402 128, 128, 128, 128, 128, 128, 128, 128,
3403 128, 128, 128, 128, 128, 128, 128, 128,
3404 128, 128, 128, 128, 128, 128, 128, 128,
3405 128, 128, 128, 128, 128, 128, 128, 128,
3406 128, 128, 128, 128, 128, 128, 128, 128,
3407 128, 128, 128, 128, 128, 128, 128, 128,
3408 128, 128, 128, 128, 128, 128, 128, 128,
3409 128, 128, 128, 128, 128, 128, 128, 128,
3410 128, 128, 128, 128, 128, 128, 128, 128,
3411 128, 128, 128, 128, 128, 128, 128, 128,
3412 128, 128, 128, 128, 128, 128, 128, 128,
3413 128, 128, 128, 128, 128, 128, 128, 128,
3414 128, 128, 128, 128, 128, 128, 128, 128,
3415 128, 128, 128, 128, 128, 128, 128, 128,
3416 128, 128, 128, 128, 128, 128, 128, 128,
3417 128, 128, 128, 128, 128, 128, 128, 128,
3418 128, 128, 128, 128, 128, 128, 128, 128,
3419 128, 128, 128, 128, 128, 128, 128, 128,
3420 128, 128, 128, 128, 128, 128, 128, 128,
3421 128, 128, 128, 128, 128, 128, 128, 128,
3422 128, 128, 128, 128, 128, 128, 128, 128,
3423 128, 128, 128, 128, 128, 128, 128, 128,
3424 128, 128, 128, 128, 128, 128, 128, 128,
3425 128, 128, 128, 128, 128, 128, 128, 128,
3426 128, 128, 128, 128, 128, 128, 128, 128,
3427 128, 128, 128, 128, 128, 128, 128, 128,
3428 128, 128, 128, 128, 128, 128, 128, 128,
3429 };
3430 yych = (YYCTYPE)*YYCURSOR;
3431 if (yych <= 0x00) goto yy855;
3432 if (yych != '-') goto yy857;
3433 yy855:
3434 ++YYCURSOR;
3435 #line 237 "../src/options/parse_opts.re"
3436 { ERRARG("-o, --output", "filename", *argv); }
3437 #line 3438 "src/options/parse_opts.cc"
3438 yy857:
3439 yych = (YYCTYPE)*++YYCURSOR;
3440 if (yybm[0+yych] & 128) {
3441 goto yy857;
3442 }
3443 ++YYCURSOR;
3444 #line 238 "../src/options/parse_opts.re"
3445 { globopts.output_file = *argv; goto opt; }
3446 #line 3447 "src/options/parse_opts.cc"
3447 }
3448 #line 239 "../src/options/parse_opts.re"
3449
3450
3451 opt_header:
3452
3453 #line 3454 "src/options/parse_opts.cc"
3454 {
3455 YYCTYPE yych;
3456 static const unsigned char yybm[] = {
3457 0, 128, 128, 128, 128, 128, 128, 128,
3458 128, 128, 128, 128, 128, 128, 128, 128,
3459 128, 128, 128, 128, 128, 128, 128, 128,
3460 128, 128, 128, 128, 128, 128, 128, 128,
3461 128, 128, 128, 128, 128, 128, 128, 128,
3462 128, 128, 128, 128, 128, 128, 128, 128,
3463 128, 128, 128, 128, 128, 128, 128, 128,
3464 128, 128, 128, 128, 128, 128, 128, 128,
3465 128, 128, 128, 128, 128, 128, 128, 128,
3466 128, 128, 128, 128, 128, 128, 128, 128,
3467 128, 128, 128, 128, 128, 128, 128, 128,
3468 128, 128, 128, 128, 128, 128, 128, 128,
3469 128, 128, 128, 128, 128, 128, 128, 128,
3470 128, 128, 128, 128, 128, 128, 128, 128,
3471 128, 128, 128, 128, 128, 128, 128, 128,
3472 128, 128, 128, 128, 128, 128, 128, 128,
3473 128, 128, 128, 128, 128, 128, 128, 128,
3474 128, 128, 128, 128, 128, 128, 128, 128,
3475 128, 128, 128, 128, 128, 128, 128, 128,
3476 128, 128, 128, 128, 128, 128, 128, 128,
3477 128, 128, 128, 128, 128, 128, 128, 128,
3478 128, 128, 128, 128, 128, 128, 128, 128,
3479 128, 128, 128, 128, 128, 128, 128, 128,
3480 128, 128, 128, 128, 128, 128, 128, 128,
3481 128, 128, 128, 128, 128, 128, 128, 128,
3482 128, 128, 128, 128, 128, 128, 128, 128,
3483 128, 128, 128, 128, 128, 128, 128, 128,
3484 128, 128, 128, 128, 128, 128, 128, 128,
3485 128, 128, 128, 128, 128, 128, 128, 128,
3486 128, 128, 128, 128, 128, 128, 128, 128,
3487 128, 128, 128, 128, 128, 128, 128, 128,
3488 128, 128, 128, 128, 128, 128, 128, 128,
3489 };
3490 yych = (YYCTYPE)*YYCURSOR;
3491 if (yych <= 0x00) goto yy863;
3492 if (yych != '-') goto yy865;
3493 yy863:
3494 ++YYCURSOR;
3495 #line 243 "../src/options/parse_opts.re"
3496 { ERRARG("-t, --type-header", "filename", *argv); }
3497 #line 3498 "src/options/parse_opts.cc"
3498 yy865:
3499 yych = (YYCTYPE)*++YYCURSOR;
3500 if (yybm[0+yych] & 128) {
3501 goto yy865;
3502 }
3503 ++YYCURSOR;
3504 #line 244 "../src/options/parse_opts.re"
3505 { opts.set_header_file (*argv); goto opt; }
3506 #line 3507 "src/options/parse_opts.cc"
3507 }
3508 #line 245 "../src/options/parse_opts.re"
3509
3510
3511 opt_depfile:
3512
3513 #line 3514 "src/options/parse_opts.cc"
3514 {
3515 YYCTYPE yych;
3516 static const unsigned char yybm[] = {
3517 0, 128, 128, 128, 128, 128, 128, 128,
3518 128, 128, 128, 128, 128, 128, 128, 128,
3519 128, 128, 128, 128, 128, 128, 128, 128,
3520 128, 128, 128, 128, 128, 128, 128, 128,
3521 128, 128, 128, 128, 128, 128, 128, 128,
3522 128, 128, 128, 128, 128, 128, 128, 128,
3523 128, 128, 128, 128, 128, 128, 128, 128,
3524 128, 128, 128, 128, 128, 128, 128, 128,
3525 128, 128, 128, 128, 128, 128, 128, 128,
3526 128, 128, 128, 128, 128, 128, 128, 128,
3527 128, 128, 128, 128, 128, 128, 128, 128,
3528 128, 128, 128, 128, 128, 128, 128, 128,
3529 128, 128, 128, 128, 128, 128, 128, 128,
3530 128, 128, 128, 128, 128, 128, 128, 128,
3531 128, 128, 128, 128, 128, 128, 128, 128,
3532 128, 128, 128, 128, 128, 128, 128, 128,
3533 128, 128, 128, 128, 128, 128, 128, 128,
3534 128, 128, 128, 128, 128, 128, 128, 128,
3535 128, 128, 128, 128, 128, 128, 128, 128,
3536 128, 128, 128, 128, 128, 128, 128, 128,
3537 128, 128, 128, 128, 128, 128, 128, 128,
3538 128, 128, 128, 128, 128, 128, 128, 128,
3539 128, 128, 128, 128, 128, 128, 128, 128,
3540 128, 128, 128, 128, 128, 128, 128, 128,
3541 128, 128, 128, 128, 128, 128, 128, 128,
3542 128, 128, 128, 128, 128, 128, 128, 128,
3543 128, 128, 128, 128, 128, 128, 128, 128,
3544 128, 128, 128, 128, 128, 128, 128, 128,
3545 128, 128, 128, 128, 128, 128, 128, 128,
3546 128, 128, 128, 128, 128, 128, 128, 128,
3547 128, 128, 128, 128, 128, 128, 128, 128,
3548 128, 128, 128, 128, 128, 128, 128, 128,
3549 };
3550 yych = (YYCTYPE)*YYCURSOR;
3551 if (yych <= 0x00) goto yy871;
3552 if (yych != '-') goto yy873;
3553 yy871:
3554 ++YYCURSOR;
3555 #line 249 "../src/options/parse_opts.re"
3556 { ERRARG("--depfile", "filename", *argv); }
3557 #line 3558 "src/options/parse_opts.cc"
3558 yy873:
3559 yych = (YYCTYPE)*++YYCURSOR;
3560 if (yybm[0+yych] & 128) {
3561 goto yy873;
3562 }
3563 ++YYCURSOR;
3564 #line 250 "../src/options/parse_opts.re"
3565 { globopts.dep_file = *argv; goto opt; }
3566 #line 3567 "src/options/parse_opts.cc"
3567 }
3568 #line 251 "../src/options/parse_opts.re"
3569
3570
3571 opt_incpath:
3572
3573 #line 3574 "src/options/parse_opts.cc"
3574 {
3575 YYCTYPE yych;
3576 static const unsigned char yybm[] = {
3577 0, 128, 128, 128, 128, 128, 128, 128,
3578 128, 128, 128, 128, 128, 128, 128, 128,
3579 128, 128, 128, 128, 128, 128, 128, 128,
3580 128, 128, 128, 128, 128, 128, 128, 128,
3581 128, 128, 128, 128, 128, 128, 128, 128,
3582 128, 128, 128, 128, 128, 128, 128, 128,
3583 128, 128, 128, 128, 128, 128, 128, 128,
3584 128, 128, 128, 128, 128, 128, 128, 128,
3585 128, 128, 128, 128, 128, 128, 128, 128,
3586 128, 128, 128, 128, 128, 128, 128, 128,
3587 128, 128, 128, 128, 128, 128, 128, 128,
3588 128, 128, 128, 128, 128, 128, 128, 128,
3589 128, 128, 128, 128, 128, 128, 128, 128,
3590 128, 128, 128, 128, 128, 128, 128, 128,
3591 128, 128, 128, 128, 128, 128, 128, 128,
3592 128, 128, 128, 128, 128, 128, 128, 128,
3593 128, 128, 128, 128, 128, 128, 128, 128,
3594 128, 128, 128, 128, 128, 128, 128, 128,
3595 128, 128, 128, 128, 128, 128, 128, 128,
3596 128, 128, 128, 128, 128, 128, 128, 128,
3597 128, 128, 128, 128, 128, 128, 128, 128,
3598 128, 128, 128, 128, 128, 128, 128, 128,
3599 128, 128, 128, 128, 128, 128, 128, 128,
3600 128, 128, 128, 128, 128, 128, 128, 128,
3601 128, 128, 128, 128, 128, 128, 128, 128,
3602 128, 128, 128, 128, 128, 128, 128, 128,
3603 128, 128, 128, 128, 128, 128, 128, 128,
3604 128, 128, 128, 128, 128, 128, 128, 128,
3605 128, 128, 128, 128, 128, 128, 128, 128,
3606 128, 128, 128, 128, 128, 128, 128, 128,
3607 128, 128, 128, 128, 128, 128, 128, 128,
3608 128, 128, 128, 128, 128, 128, 128, 128,
3609 };
3610 yych = (YYCTYPE)*YYCURSOR;
3611 if (yych <= 0x00) goto yy879;
3612 if (yych != '-') goto yy881;
3613 yy879:
3614 ++YYCURSOR;
3615 #line 255 "../src/options/parse_opts.re"
3616 { ERRARG("-I", "filename", *argv); }
3617 #line 3618 "src/options/parse_opts.cc"
3618 yy881:
3619 yych = (YYCTYPE)*++YYCURSOR;
3620 if (yybm[0+yych] & 128) {
3621 goto yy881;
3622 }
3623 ++YYCURSOR;
3624 #line 256 "../src/options/parse_opts.re"
3625 { globopts.incpaths.push_back(*argv); goto opt; }
3626 #line 3627 "src/options/parse_opts.cc"
3627 }
3628 #line 257 "../src/options/parse_opts.re"
3629
3630
3631 opt_encoding_policy:
3632
3633 #line 3634 "src/options/parse_opts.cc"
3634 {
3635 YYCTYPE yych;
3636 yych = (YYCTYPE)*YYCURSOR;
3637 if (yych <= 'h') {
3638 if (yych == 'f') goto yy889;
3639 } else {
3640 if (yych <= 'i') goto yy890;
3641 if (yych == 's') goto yy891;
3642 }
3643 ++YYCURSOR;
3644 yy888:
3645 #line 261 "../src/options/parse_opts.re"
3646 { ERRARG("--encoding-policy", "ignore | substitute | fail", *argv); }
3647 #line 3648 "src/options/parse_opts.cc"
3648 yy889:
3649 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3650 if (yych == 'a') goto yy892;
3651 goto yy888;
3652 yy890:
3653 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3654 if (yych == 'g') goto yy894;
3655 goto yy888;
3656 yy891:
3657 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3658 if (yych == 'u') goto yy895;
3659 goto yy888;
3660 yy892:
3661 yych = (YYCTYPE)*++YYCURSOR;
3662 if (yych == 'i') goto yy896;
3663 yy893:
3664 YYCURSOR = YYMARKER;
3665 goto yy888;
3666 yy894:
3667 yych = (YYCTYPE)*++YYCURSOR;
3668 if (yych == 'n') goto yy897;
3669 goto yy893;
3670 yy895:
3671 yych = (YYCTYPE)*++YYCURSOR;
3672 if (yych == 'b') goto yy898;
3673 goto yy893;
3674 yy896:
3675 yych = (YYCTYPE)*++YYCURSOR;
3676 if (yych == 'l') goto yy899;
3677 goto yy893;
3678 yy897:
3679 yych = (YYCTYPE)*++YYCURSOR;
3680 if (yych == 'o') goto yy900;
3681 goto yy893;
3682 yy898:
3683 yych = (YYCTYPE)*++YYCURSOR;
3684 if (yych == 's') goto yy901;
3685 goto yy893;
3686 yy899:
3687 yych = (YYCTYPE)*++YYCURSOR;
3688 if (yych <= 0x00) goto yy902;
3689 goto yy893;
3690 yy900:
3691 yych = (YYCTYPE)*++YYCURSOR;
3692 if (yych == 'r') goto yy904;
3693 goto yy893;
3694 yy901:
3695 yych = (YYCTYPE)*++YYCURSOR;
3696 if (yych == 't') goto yy905;
3697 goto yy893;
3698 yy902:
3699 ++YYCURSOR;
3700 #line 264 "../src/options/parse_opts.re"
3701 { opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; }
3702 #line 3703 "src/options/parse_opts.cc"
3703 yy904:
3704 yych = (YYCTYPE)*++YYCURSOR;
3705 if (yych == 'e') goto yy906;
3706 goto yy893;
3707 yy905:
3708 yych = (YYCTYPE)*++YYCURSOR;
3709 if (yych == 'i') goto yy907;
3710 goto yy893;
3711 yy906:
3712 yych = (YYCTYPE)*++YYCURSOR;
3713 if (yych <= 0x00) goto yy908;
3714 goto yy893;
3715 yy907:
3716 yych = (YYCTYPE)*++YYCURSOR;
3717 if (yych == 't') goto yy910;
3718 goto yy893;
3719 yy908:
3720 ++YYCURSOR;
3721 #line 262 "../src/options/parse_opts.re"
3722 { opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; }
3723 #line 3724 "src/options/parse_opts.cc"
3724 yy910:
3725 yych = (YYCTYPE)*++YYCURSOR;
3726 if (yych != 'u') goto yy893;
3727 yych = (YYCTYPE)*++YYCURSOR;
3728 if (yych != 't') goto yy893;
3729 yych = (YYCTYPE)*++YYCURSOR;
3730 if (yych != 'e') goto yy893;
3731 yych = (YYCTYPE)*++YYCURSOR;
3732 if (yych >= 0x01) goto yy893;
3733 ++YYCURSOR;
3734 #line 263 "../src/options/parse_opts.re"
3735 { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; }
3736 #line 3737 "src/options/parse_opts.cc"
3737 }
3738 #line 265 "../src/options/parse_opts.re"
3739
3740
3741 opt_input:
3742
3743 #line 3744 "src/options/parse_opts.cc"
3744 {
3745 YYCTYPE yych;
3746 yych = (YYCTYPE)*YYCURSOR;
3747 if (yych <= 'b') goto yy918;
3748 if (yych <= 'c') goto yy920;
3749 if (yych <= 'd') goto yy921;
3750 yy918:
3751 ++YYCURSOR;
3752 yy919:
3753 #line 269 "../src/options/parse_opts.re"
3754 { ERRARG("--input", "default | custom", *argv); }
3755 #line 3756 "src/options/parse_opts.cc"
3756 yy920:
3757 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3758 if (yych == 'u') goto yy922;
3759 goto yy919;
3760 yy921:
3761 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3762 if (yych == 'e') goto yy924;
3763 goto yy919;
3764 yy922:
3765 yych = (YYCTYPE)*++YYCURSOR;
3766 if (yych == 's') goto yy925;
3767 yy923:
3768 YYCURSOR = YYMARKER;
3769 goto yy919;
3770 yy924:
3771 yych = (YYCTYPE)*++YYCURSOR;
3772 if (yych == 'f') goto yy926;
3773 goto yy923;
3774 yy925:
3775 yych = (YYCTYPE)*++YYCURSOR;
3776 if (yych == 't') goto yy927;
3777 goto yy923;
3778 yy926:
3779 yych = (YYCTYPE)*++YYCURSOR;
3780 if (yych == 'a') goto yy928;
3781 goto yy923;
3782 yy927:
3783 yych = (YYCTYPE)*++YYCURSOR;
3784 if (yych == 'o') goto yy929;
3785 goto yy923;
3786 yy928:
3787 yych = (YYCTYPE)*++YYCURSOR;
3788 if (yych == 'u') goto yy930;
3789 goto yy923;
3790 yy929:
3791 yych = (YYCTYPE)*++YYCURSOR;
3792 if (yych == 'm') goto yy931;
3793 goto yy923;
3794 yy930:
3795 yych = (YYCTYPE)*++YYCURSOR;
3796 if (yych == 'l') goto yy932;
3797 goto yy923;
3798 yy931:
3799 yych = (YYCTYPE)*++YYCURSOR;
3800 if (yych <= 0x00) goto yy933;
3801 goto yy923;
3802 yy932:
3803 yych = (YYCTYPE)*++YYCURSOR;
3804 if (yych == 't') goto yy935;
3805 goto yy923;
3806 yy933:
3807 ++YYCURSOR;
3808 #line 271 "../src/options/parse_opts.re"
3809 { opts.set_input_api(INPUT_CUSTOM); goto opt; }
3810 #line 3811 "src/options/parse_opts.cc"
3811 yy935:
3812 yych = (YYCTYPE)*++YYCURSOR;
3813 if (yych >= 0x01) goto yy923;
3814 ++YYCURSOR;
3815 #line 270 "../src/options/parse_opts.re"
3816 { opts.set_input_api(INPUT_DEFAULT); goto opt; }
3817 #line 3818 "src/options/parse_opts.cc"
3818 }
3819 #line 272 "../src/options/parse_opts.re"
3820
3821
3822 opt_empty_class:
3823
3824 #line 3825 "src/options/parse_opts.cc"
3825 {
3826 YYCTYPE yych;
3827 yych = (YYCTYPE)*YYCURSOR;
3828 if (yych == 'e') goto yy942;
3829 if (yych == 'm') goto yy943;
3830 ++YYCURSOR;
3831 yy941:
3832 #line 276 "../src/options/parse_opts.re"
3833 { ERRARG("--empty-class", "match-empty | match-none | error", *argv); }
3834 #line 3835 "src/options/parse_opts.cc"
3835 yy942:
3836 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3837 if (yych == 'r') goto yy944;
3838 goto yy941;
3839 yy943:
3840 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3841 if (yych == 'a') goto yy946;
3842 goto yy941;
3843 yy944:
3844 yych = (YYCTYPE)*++YYCURSOR;
3845 if (yych == 'r') goto yy947;
3846 yy945:
3847 YYCURSOR = YYMARKER;
3848 goto yy941;
3849 yy946:
3850 yych = (YYCTYPE)*++YYCURSOR;
3851 if (yych == 't') goto yy948;
3852 goto yy945;
3853 yy947:
3854 yych = (YYCTYPE)*++YYCURSOR;
3855 if (yych == 'o') goto yy949;
3856 goto yy945;
3857 yy948:
3858 yych = (YYCTYPE)*++YYCURSOR;
3859 if (yych == 'c') goto yy950;
3860 goto yy945;
3861 yy949:
3862 yych = (YYCTYPE)*++YYCURSOR;
3863 if (yych == 'r') goto yy951;
3864 goto yy945;
3865 yy950:
3866 yych = (YYCTYPE)*++YYCURSOR;
3867 if (yych == 'h') goto yy952;
3868 goto yy945;
3869 yy951:
3870 yych = (YYCTYPE)*++YYCURSOR;
3871 if (yych <= 0x00) goto yy953;
3872 goto yy945;
3873 yy952:
3874 yych = (YYCTYPE)*++YYCURSOR;
3875 if (yych == '-') goto yy955;
3876 goto yy945;
3877 yy953:
3878 ++YYCURSOR;
3879 #line 279 "../src/options/parse_opts.re"
3880 { opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; }
3881 #line 3882 "src/options/parse_opts.cc"
3882 yy955:
3883 yych = (YYCTYPE)*++YYCURSOR;
3884 if (yych == 'e') goto yy956;
3885 if (yych == 'n') goto yy957;
3886 goto yy945;
3887 yy956:
3888 yych = (YYCTYPE)*++YYCURSOR;
3889 if (yych == 'm') goto yy958;
3890 goto yy945;
3891 yy957:
3892 yych = (YYCTYPE)*++YYCURSOR;
3893 if (yych == 'o') goto yy959;
3894 goto yy945;
3895 yy958:
3896 yych = (YYCTYPE)*++YYCURSOR;
3897 if (yych == 'p') goto yy960;
3898 goto yy945;
3899 yy959:
3900 yych = (YYCTYPE)*++YYCURSOR;
3901 if (yych == 'n') goto yy961;
3902 goto yy945;
3903 yy960:
3904 yych = (YYCTYPE)*++YYCURSOR;
3905 if (yych == 't') goto yy962;
3906 goto yy945;
3907 yy961:
3908 yych = (YYCTYPE)*++YYCURSOR;
3909 if (yych == 'e') goto yy963;
3910 goto yy945;
3911 yy962:
3912 yych = (YYCTYPE)*++YYCURSOR;
3913 if (yych == 'y') goto yy964;
3914 goto yy945;
3915 yy963:
3916 yych = (YYCTYPE)*++YYCURSOR;
3917 if (yych <= 0x00) goto yy965;
3918 goto yy945;
3919 yy964:
3920 yych = (YYCTYPE)*++YYCURSOR;
3921 if (yych <= 0x00) goto yy967;
3922 goto yy945;
3923 yy965:
3924 ++YYCURSOR;
3925 #line 278 "../src/options/parse_opts.re"
3926 { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; }
3927 #line 3928 "src/options/parse_opts.cc"
3928 yy967:
3929 ++YYCURSOR;
3930 #line 277 "../src/options/parse_opts.re"
3931 { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; }
3932 #line 3933 "src/options/parse_opts.cc"
3933 }
3934 #line 280 "../src/options/parse_opts.re"
3935
3936
3937 opt_location_format:
3938
3939 #line 3940 "src/options/parse_opts.cc"
3940 {
3941 YYCTYPE yych;
3942 yych = (YYCTYPE)*YYCURSOR;
3943 if (yych == 'g') goto yy973;
3944 if (yych == 'm') goto yy974;
3945 ++YYCURSOR;
3946 yy972:
3947 #line 284 "../src/options/parse_opts.re"
3948 { ERRARG("--location-format", "gnu | msvc", *argv); }
3949 #line 3950 "src/options/parse_opts.cc"
3950 yy973:
3951 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3952 if (yych == 'n') goto yy975;
3953 goto yy972;
3954 yy974:
3955 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
3956 if (yych == 's') goto yy977;
3957 goto yy972;
3958 yy975:
3959 yych = (YYCTYPE)*++YYCURSOR;
3960 if (yych == 'u') goto yy978;
3961 yy976:
3962 YYCURSOR = YYMARKER;
3963 goto yy972;
3964 yy977:
3965 yych = (YYCTYPE)*++YYCURSOR;
3966 if (yych == 'v') goto yy979;
3967 goto yy976;
3968 yy978:
3969 yych = (YYCTYPE)*++YYCURSOR;
3970 if (yych <= 0x00) goto yy980;
3971 goto yy976;
3972 yy979:
3973 yych = (YYCTYPE)*++YYCURSOR;
3974 if (yych == 'c') goto yy982;
3975 goto yy976;
3976 yy980:
3977 ++YYCURSOR;
3978 #line 285 "../src/options/parse_opts.re"
3979 { msg.locfmt = LOCFMT_GNU; goto opt; }
3980 #line 3981 "src/options/parse_opts.cc"
3981 yy982:
3982 yych = (YYCTYPE)*++YYCURSOR;
3983 if (yych >= 0x01) goto yy976;
3984 ++YYCURSOR;
3985 #line 286 "../src/options/parse_opts.re"
3986 { msg.locfmt = LOCFMT_MSVC; goto opt; }
3987 #line 3988 "src/options/parse_opts.cc"
3988 }
3989 #line 287 "../src/options/parse_opts.re"
3990
3991
3992 opt_input_encoding:
3993
3994 #line 3995 "src/options/parse_opts.cc"
3995 {
3996 YYCTYPE yych;
3997 yych = (YYCTYPE)*YYCURSOR;
3998 if (yych == 'a') goto yy989;
3999 if (yych == 'u') goto yy990;
4000 ++YYCURSOR;
4001 yy988:
4002 #line 291 "../src/options/parse_opts.re"
4003 { ERRARG("--input-encoding", "ascii | utf8", *argv); }
4004 #line 4005 "src/options/parse_opts.cc"
4005 yy989:
4006 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4007 if (yych == 's') goto yy991;
4008 goto yy988;
4009 yy990:
4010 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4011 if (yych == 't') goto yy993;
4012 goto yy988;
4013 yy991:
4014 yych = (YYCTYPE)*++YYCURSOR;
4015 if (yych == 'c') goto yy994;
4016 yy992:
4017 YYCURSOR = YYMARKER;
4018 goto yy988;
4019 yy993:
4020 yych = (YYCTYPE)*++YYCURSOR;
4021 if (yych == 'f') goto yy995;
4022 goto yy992;
4023 yy994:
4024 yych = (YYCTYPE)*++YYCURSOR;
4025 if (yych == 'i') goto yy996;
4026 goto yy992;
4027 yy995:
4028 yych = (YYCTYPE)*++YYCURSOR;
4029 if (yych == '8') goto yy997;
4030 goto yy992;
4031 yy996:
4032 yych = (YYCTYPE)*++YYCURSOR;
4033 if (yych == 'i') goto yy998;
4034 goto yy992;
4035 yy997:
4036 yych = (YYCTYPE)*++YYCURSOR;
4037 if (yych <= 0x00) goto yy999;
4038 goto yy992;
4039 yy998:
4040 yych = (YYCTYPE)*++YYCURSOR;
4041 if (yych <= 0x00) goto yy1001;
4042 goto yy992;
4043 yy999:
4044 ++YYCURSOR;
4045 #line 293 "../src/options/parse_opts.re"
4046 { globopts.input_encoding = Enc::UTF8; goto opt; }
4047 #line 4048 "src/options/parse_opts.cc"
4048 yy1001:
4049 ++YYCURSOR;
4050 #line 292 "../src/options/parse_opts.re"
4051 { globopts.input_encoding = Enc::ASCII; goto opt; }
4052 #line 4053 "src/options/parse_opts.cc"
4053 }
4054 #line 294 "../src/options/parse_opts.re"
4055
4056
4057 opt_dfa_minimization:
4058
4059 #line 4060 "src/options/parse_opts.cc"
4060 {
4061 YYCTYPE yych;
4062 yych = (YYCTYPE)*YYCURSOR;
4063 if (yych == 'm') goto yy1007;
4064 if (yych == 't') goto yy1008;
4065 ++YYCURSOR;
4066 yy1006:
4067 #line 298 "../src/options/parse_opts.re"
4068 { ERRARG("--dfa-minimization", "table | moore", *argv); }
4069 #line 4070 "src/options/parse_opts.cc"
4070 yy1007:
4071 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4072 if (yych == 'o') goto yy1009;
4073 goto yy1006;
4074 yy1008:
4075 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4076 if (yych == 'a') goto yy1011;
4077 goto yy1006;
4078 yy1009:
4079 yych = (YYCTYPE)*++YYCURSOR;
4080 if (yych == 'o') goto yy1012;
4081 yy1010:
4082 YYCURSOR = YYMARKER;
4083 goto yy1006;
4084 yy1011:
4085 yych = (YYCTYPE)*++YYCURSOR;
4086 if (yych == 'b') goto yy1013;
4087 goto yy1010;
4088 yy1012:
4089 yych = (YYCTYPE)*++YYCURSOR;
4090 if (yych == 'r') goto yy1014;
4091 goto yy1010;
4092 yy1013:
4093 yych = (YYCTYPE)*++YYCURSOR;
4094 if (yych == 'l') goto yy1015;
4095 goto yy1010;
4096 yy1014:
4097 yych = (YYCTYPE)*++YYCURSOR;
4098 if (yych == 'e') goto yy1016;
4099 goto yy1010;
4100 yy1015:
4101 yych = (YYCTYPE)*++YYCURSOR;
4102 if (yych == 'e') goto yy1017;
4103 goto yy1010;
4104 yy1016:
4105 yych = (YYCTYPE)*++YYCURSOR;
4106 if (yych <= 0x00) goto yy1018;
4107 goto yy1010;
4108 yy1017:
4109 yych = (YYCTYPE)*++YYCURSOR;
4110 if (yych <= 0x00) goto yy1020;
4111 goto yy1010;
4112 yy1018:
4113 ++YYCURSOR;
4114 #line 300 "../src/options/parse_opts.re"
4115 { globopts.dfa_minimization = DFA_MINIMIZATION_MOORE; goto opt; }
4116 #line 4117 "src/options/parse_opts.cc"
4117 yy1020:
4118 ++YYCURSOR;
4119 #line 299 "../src/options/parse_opts.re"
4120 { globopts.dfa_minimization = DFA_MINIMIZATION_TABLE; goto opt; }
4121 #line 4122 "src/options/parse_opts.cc"
4122 }
4123 #line 301 "../src/options/parse_opts.re"
4124
4125
4126 opt_posix_closure:
4127
4128 #line 4129 "src/options/parse_opts.cc"
4129 {
4130 YYCTYPE yych;
4131 yych = (YYCTYPE)*YYCURSOR;
4132 if (yych == 'g') goto yy1026;
4133 ++YYCURSOR;
4134 yy1025:
4135 #line 305 "../src/options/parse_opts.re"
4136 { ERRARG("--posix-closure", "gor1 | gtop", *argv); }
4137 #line 4138 "src/options/parse_opts.cc"
4138 yy1026:
4139 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4140 if (yych == 'o') goto yy1027;
4141 if (yych == 't') goto yy1029;
4142 goto yy1025;
4143 yy1027:
4144 yych = (YYCTYPE)*++YYCURSOR;
4145 if (yych == 'r') goto yy1030;
4146 yy1028:
4147 YYCURSOR = YYMARKER;
4148 goto yy1025;
4149 yy1029:
4150 yych = (YYCTYPE)*++YYCURSOR;
4151 if (yych == 'o') goto yy1031;
4152 goto yy1028;
4153 yy1030:
4154 yych = (YYCTYPE)*++YYCURSOR;
4155 if (yych == '1') goto yy1032;
4156 goto yy1028;
4157 yy1031:
4158 yych = (YYCTYPE)*++YYCURSOR;
4159 if (yych == 'p') goto yy1033;
4160 goto yy1028;
4161 yy1032:
4162 yych = (YYCTYPE)*++YYCURSOR;
4163 if (yych <= 0x00) goto yy1034;
4164 goto yy1028;
4165 yy1033:
4166 yych = (YYCTYPE)*++YYCURSOR;
4167 if (yych <= 0x00) goto yy1036;
4168 goto yy1028;
4169 yy1034:
4170 ++YYCURSOR;
4171 #line 306 "../src/options/parse_opts.re"
4172 { globopts.posix_closure = POSIX_CLOSURE_GOR1; goto opt; }
4173 #line 4174 "src/options/parse_opts.cc"
4174 yy1036:
4175 ++YYCURSOR;
4176 #line 307 "../src/options/parse_opts.re"
4177 { globopts.posix_closure = POSIX_CLOSURE_GTOP; goto opt; }
4178 #line 4179 "src/options/parse_opts.cc"
4179 }
4180 #line 308 "../src/options/parse_opts.re"
4181
4182
4183 opt_posix_prectable:
4184
4185 #line 4186 "src/options/parse_opts.cc"
4186 {
4187 YYCTYPE yych;
4188 yych = (YYCTYPE)*YYCURSOR;
4189 if (yych == 'c') goto yy1042;
4190 if (yych == 'n') goto yy1043;
4191 ++YYCURSOR;
4192 yy1041:
4193 #line 312 "../src/options/parse_opts.re"
4194 { ERRARG("--posix-prectable", "naive | complex", *argv); }
4195 #line 4196 "src/options/parse_opts.cc"
4196 yy1042:
4197 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4198 if (yych == 'o') goto yy1044;
4199 goto yy1041;
4200 yy1043:
4201 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4202 if (yych == 'a') goto yy1046;
4203 goto yy1041;
4204 yy1044:
4205 yych = (YYCTYPE)*++YYCURSOR;
4206 if (yych == 'm') goto yy1047;
4207 yy1045:
4208 YYCURSOR = YYMARKER;
4209 goto yy1041;
4210 yy1046:
4211 yych = (YYCTYPE)*++YYCURSOR;
4212 if (yych == 'i') goto yy1048;
4213 goto yy1045;
4214 yy1047:
4215 yych = (YYCTYPE)*++YYCURSOR;
4216 if (yych == 'p') goto yy1049;
4217 goto yy1045;
4218 yy1048:
4219 yych = (YYCTYPE)*++YYCURSOR;
4220 if (yych == 'v') goto yy1050;
4221 goto yy1045;
4222 yy1049:
4223 yych = (YYCTYPE)*++YYCURSOR;
4224 if (yych == 'l') goto yy1051;
4225 goto yy1045;
4226 yy1050:
4227 yych = (YYCTYPE)*++YYCURSOR;
4228 if (yych == 'e') goto yy1052;
4229 goto yy1045;
4230 yy1051:
4231 yych = (YYCTYPE)*++YYCURSOR;
4232 if (yych == 'e') goto yy1053;
4233 goto yy1045;
4234 yy1052:
4235 yych = (YYCTYPE)*++YYCURSOR;
4236 if (yych <= 0x00) goto yy1054;
4237 goto yy1045;
4238 yy1053:
4239 yych = (YYCTYPE)*++YYCURSOR;
4240 if (yych == 'x') goto yy1056;
4241 goto yy1045;
4242 yy1054:
4243 ++YYCURSOR;
4244 #line 313 "../src/options/parse_opts.re"
4245 { globopts.posix_prectable = POSIX_PRECTABLE_NAIVE; goto opt; }
4246 #line 4247 "src/options/parse_opts.cc"
4247 yy1056:
4248 yych = (YYCTYPE)*++YYCURSOR;
4249 if (yych >= 0x01) goto yy1045;
4250 ++YYCURSOR;
4251 #line 314 "../src/options/parse_opts.re"
4252 { globopts.posix_prectable = POSIX_PRECTABLE_COMPLEX; goto opt; }
4253 #line 4254 "src/options/parse_opts.cc"
4254 }
4255 #line 315 "../src/options/parse_opts.re"
4256
4257
4258 opt_fixed_tags:
4259
4260 #line 4261 "src/options/parse_opts.cc"
4261 {
4262 YYCTYPE yych;
4263 yych = (YYCTYPE)*YYCURSOR;
4264 if (yych <= 'm') {
4265 if (yych == 'a') goto yy1063;
4266 } else {
4267 if (yych <= 'n') goto yy1064;
4268 if (yych == 't') goto yy1065;
4269 }
4270 ++YYCURSOR;
4271 yy1062:
4272 #line 319 "../src/options/parse_opts.re"
4273 { ERRARG("--fixed-tags", "none | toplevel | all", *argv); }
4274 #line 4275 "src/options/parse_opts.cc"
4275 yy1063:
4276 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4277 if (yych == 'l') goto yy1066;
4278 goto yy1062;
4279 yy1064:
4280 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4281 if (yych == 'o') goto yy1068;
4282 goto yy1062;
4283 yy1065:
4284 yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
4285 if (yych == 'o') goto yy1069;
4286 goto yy1062;
4287 yy1066:
4288 yych = (YYCTYPE)*++YYCURSOR;
4289 if (yych == 'l') goto yy1070;
4290 yy1067:
4291 YYCURSOR = YYMARKER;
4292 goto yy1062;
4293 yy1068:
4294 yych = (YYCTYPE)*++YYCURSOR;
4295 if (yych == 'n') goto yy1071;
4296 goto yy1067;
4297 yy1069:
4298 yych = (YYCTYPE)*++YYCURSOR;
4299 if (yych == 'p') goto yy1072;
4300 goto yy1067;
4301 yy1070:
4302 yych = (YYCTYPE)*++YYCURSOR;
4303 if (yych <= 0x00) goto yy1073;
4304 goto yy1067;
4305 yy1071:
4306 yych = (YYCTYPE)*++YYCURSOR;
4307 if (yych == 'e') goto yy1075;
4308 goto yy1067;
4309 yy1072:
4310 yych = (YYCTYPE)*++YYCURSOR;
4311 if (yych == 'l') goto yy1076;
4312 goto yy1067;
4313 yy1073:
4314 ++YYCURSOR;
4315 #line 322 "../src/options/parse_opts.re"
4316 { globopts.fixed_tags = FIXTAG_ALL; goto opt; }
4317 #line 4318 "src/options/parse_opts.cc"
4318 yy1075:
4319 yych = (YYCTYPE)*++YYCURSOR;
4320 if (yych <= 0x00) goto yy1077;
4321 goto yy1067;
4322 yy1076:
4323 yych = (YYCTYPE)*++YYCURSOR;
4324 if (yych == 'e') goto yy1079;
4325 goto yy1067;
4326 yy1077:
4327 ++YYCURSOR;
4328 #line 320 "../src/options/parse_opts.re"
4329 { globopts.fixed_tags = FIXTAG_NONE; goto opt; }
4330 #line 4331 "src/options/parse_opts.cc"
4331 yy1079:
4332 yych = (YYCTYPE)*++YYCURSOR;
4333 if (yych != 'v') goto yy1067;
4334 yych = (YYCTYPE)*++YYCURSOR;
4335 if (yych != 'e') goto yy1067;
4336 yych = (YYCTYPE)*++YYCURSOR;
4337 if (yych != 'l') goto yy1067;
4338 yych = (YYCTYPE)*++YYCURSOR;
4339 if (yych >= 0x01) goto yy1067;
4340 ++YYCURSOR;
4341 #line 321 "../src/options/parse_opts.re"
4342 { globopts.fixed_tags = FIXTAG_TOPLEVEL; goto opt; }
4343 #line 4344 "src/options/parse_opts.cc"
4344 }
4345 #line 323 "../src/options/parse_opts.re"
4346
4347
4348 end:
4349 if (globopts.source_file.empty()) {
4350 error("no source file");
4351 return EXIT_FAIL;
4352 }
4353 opts.fix_global_and_defaults();
4354
4355 return OK;
4356
4357 #undef NEXT_ARG
4358 #undef ERROR
4359 #undef ERRARG
4360 #undef YYCTYPE
4361 }
4362
4363 } // namespace re2c
4364