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