]> granicus.if.org Git - re2c/blob - re2c/bootstrap/src/conf/parse_opts.cc
Release 0.15.1.
[re2c] / re2c / bootstrap / src / conf / parse_opts.cc
1 /* Generated by re2c 0.14.3 on Sun Nov 22 21:02:24 2015 */
2 #line 1 "../src/conf/parse_opts.re"
3 #include <stdio.h>
4
5 #include "src/conf/msg.h"
6 #include "src/conf/opt.h"
7 #include "src/globals.h"
8
9 namespace re2c
10 {
11
12 static inline bool next (char * & arg, char ** & argv)
13 {
14         arg = *++argv;
15         return arg != NULL;
16 }
17
18 parse_opts_t parse_opts (char ** argv, Opt & opts)
19 {
20 #define YYCTYPE unsigned char
21         char * YYCURSOR;
22         char * YYMARKER;
23         Warn::option_t option;
24
25 #line 29 "../src/conf/parse_opts.re"
26
27
28 opt:
29         if (!next (YYCURSOR, argv))
30         {
31                 goto end;
32         }
33
34 #line 35 "src/conf/parse_opts.cc"
35 {
36         YYCTYPE yych;
37         unsigned int yyaccept = 0;
38         static const unsigned char yybm[] = {
39                   0, 128, 128, 128, 128, 128, 128, 128, 
40                 128, 128, 128, 128, 128, 128, 128, 128, 
41                 128, 128, 128, 128, 128, 128, 128, 128, 
42                 128, 128, 128, 128, 128, 128, 128, 128, 
43                 128, 128, 128, 128, 128, 128, 128, 128, 
44                 128, 128, 128, 128, 128, 128, 128, 128, 
45                 128, 128, 128, 128, 128, 128, 128, 128, 
46                 128, 128, 128, 128, 128, 128, 128, 128, 
47                 128, 128, 128, 128, 128, 128, 128, 128, 
48                 128, 128, 128, 128, 128, 128, 128, 128, 
49                 128, 128, 128, 128, 128, 128, 128, 128, 
50                 128, 128, 128, 128, 128, 128, 128, 128, 
51                 128, 128, 128, 128, 128, 128, 128, 128, 
52                 128, 128, 128, 128, 128, 128, 128, 128, 
53                 128, 128, 128, 128, 128, 128, 128, 128, 
54                 128, 128, 128, 128, 128, 128, 128, 128, 
55                 128, 128, 128, 128, 128, 128, 128, 128, 
56                 128, 128, 128, 128, 128, 128, 128, 128, 
57                 128, 128, 128, 128, 128, 128, 128, 128, 
58                 128, 128, 128, 128, 128, 128, 128, 128, 
59                 128, 128, 128, 128, 128, 128, 128, 128, 
60                 128, 128, 128, 128, 128, 128, 128, 128, 
61                 128, 128, 128, 128, 128, 128, 128, 128, 
62                 128, 128, 128, 128, 128, 128, 128, 128, 
63                 128, 128, 128, 128, 128, 128, 128, 128, 
64                 128, 128, 128, 128, 128, 128, 128, 128, 
65                 128, 128, 128, 128, 128, 128, 128, 128, 
66                 128, 128, 128, 128, 128, 128, 128, 128, 
67                 128, 128, 128, 128, 128, 128, 128, 128, 
68                 128, 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         };
72
73         yych = (YYCTYPE)*YYCURSOR;
74         if (yych <= 0x00) goto yy2;
75         if (yych == '-') goto yy5;
76         goto yy4;
77 yy2:
78         ++YYCURSOR;
79 yy3:
80 #line 38 "../src/conf/parse_opts.re"
81         {
82                 error ("bad option: %s", *argv);
83                 return EXIT_FAIL;
84         }
85 #line 86 "src/conf/parse_opts.cc"
86 yy4:
87         yyaccept = 0;
88         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
89         goto yy39;
90 yy5:
91         ++YYCURSOR;
92         if ((yych = (YYCTYPE)*YYCURSOR) <= '-') {
93                 if (yych <= 0x00) goto yy11;
94                 if (yych >= '-') goto yy9;
95         } else {
96                 if (yych == 'W') goto yy7;
97         }
98 #line 61 "../src/conf/parse_opts.re"
99         { goto opt_short; }
100 #line 101 "src/conf/parse_opts.cc"
101 yy7:
102         yyaccept = 1;
103         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
104         if (yych <= 'e') {
105                 if (yych <= 0x00) goto yy15;
106                 if (yych >= 'e') goto yy17;
107         } else {
108                 if (yych == 'n') goto yy19;
109         }
110 yy8:
111 #line 66 "../src/conf/parse_opts.re"
112         { option = Warn::W;        goto opt_warn; }
113 #line 114 "src/conf/parse_opts.cc"
114 yy9:
115         ++YYCURSOR;
116         if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy13;
117 #line 62 "../src/conf/parse_opts.re"
118         { goto opt_long; }
119 #line 120 "src/conf/parse_opts.cc"
120 yy11:
121         ++YYCURSOR;
122 #line 58 "../src/conf/parse_opts.re"
123         { if (!opts.source ("<stdin>")) return EXIT_FAIL; goto opt; }
124 #line 125 "src/conf/parse_opts.cc"
125 yy13:
126         ++YYCURSOR;
127 #line 44 "../src/conf/parse_opts.re"
128         {
129                 // all remaining arguments are non-options
130                 // so they must be input files
131                 // re2c expects exactly one input file
132                 for (char * f; next (f, argv);)
133                 {
134                         if (!opts.source (f))
135                         {
136                                 return EXIT_FAIL;
137                         }
138                 }
139                 goto end;
140         }
141 #line 142 "src/conf/parse_opts.cc"
142 yy15:
143         ++YYCURSOR;
144 #line 64 "../src/conf/parse_opts.re"
145         { warn.set_all ();       goto opt; }
146 #line 147 "src/conf/parse_opts.cc"
147 yy17:
148         yych = (YYCTYPE)*++YYCURSOR;
149         if (yych == 'r') goto yy30;
150 yy18:
151         YYCURSOR = YYMARKER;
152         if (yyaccept <= 1) {
153                 if (yyaccept == 0) {
154                         goto yy3;
155                 } else {
156                         goto yy8;
157                 }
158         } else {
159                 goto yy22;
160         }
161 yy19:
162         yych = (YYCTYPE)*++YYCURSOR;
163         if (yych != 'o') goto yy18;
164         yych = (YYCTYPE)*++YYCURSOR;
165         if (yych != '-') goto yy18;
166         yyaccept = 2;
167         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
168         if (yych == 'e') goto yy23;
169 yy22:
170 #line 67 "../src/conf/parse_opts.re"
171         { option = Warn::WNO;      goto opt_warn; }
172 #line 173 "src/conf/parse_opts.cc"
173 yy23:
174         yych = (YYCTYPE)*++YYCURSOR;
175         if (yych != 'r') goto yy18;
176         yych = (YYCTYPE)*++YYCURSOR;
177         if (yych != 'r') goto yy18;
178         yych = (YYCTYPE)*++YYCURSOR;
179         if (yych != 'o') goto yy18;
180         yych = (YYCTYPE)*++YYCURSOR;
181         if (yych != 'r') goto yy18;
182         yych = (YYCTYPE)*++YYCURSOR;
183         if (yych != '-') goto yy18;
184         ++YYCURSOR;
185 #line 69 "../src/conf/parse_opts.re"
186         { option = Warn::WNOERROR; goto opt_warn; }
187 #line 188 "src/conf/parse_opts.cc"
188 yy30:
189         yych = (YYCTYPE)*++YYCURSOR;
190         if (yych != 'r') goto yy18;
191         yych = (YYCTYPE)*++YYCURSOR;
192         if (yych != 'o') goto yy18;
193         yych = (YYCTYPE)*++YYCURSOR;
194         if (yych != 'r') goto yy18;
195         yych = (YYCTYPE)*++YYCURSOR;
196         if (yych <= 0x00) goto yy36;
197         if (yych != '-') goto yy18;
198         ++YYCURSOR;
199 #line 68 "../src/conf/parse_opts.re"
200         { option = Warn::WERROR;   goto opt_warn; }
201 #line 202 "src/conf/parse_opts.cc"
202 yy36:
203         ++YYCURSOR;
204 #line 65 "../src/conf/parse_opts.re"
205         { warn.set_all_error (); goto opt; }
206 #line 207 "src/conf/parse_opts.cc"
207 yy38:
208         ++YYCURSOR;
209         yych = (YYCTYPE)*YYCURSOR;
210 yy39:
211         if (yybm[0+yych] & 128) {
212                 goto yy38;
213         }
214         ++YYCURSOR;
215 #line 59 "../src/conf/parse_opts.re"
216         { if (!opts.source (*argv))     return EXIT_FAIL; goto opt; }
217 #line 218 "src/conf/parse_opts.cc"
218 }
219 #line 70 "../src/conf/parse_opts.re"
220
221
222 opt_warn:
223
224 #line 225 "src/conf/parse_opts.cc"
225 {
226         YYCTYPE yych;
227         yych = (YYCTYPE)*YYCURSOR;
228         switch (yych) {
229         case 'c':       goto yy46;
230         case 'e':       goto yy47;
231         case 'm':       goto yy48;
232         case 's':       goto yy49;
233         case 'u':       goto yy50;
234         default:        goto yy44;
235         }
236 yy44:
237         ++YYCURSOR;
238 yy45:
239 #line 75 "../src/conf/parse_opts.re"
240         {
241                 error ("bad warning: %s", *argv);
242                 return EXIT_FAIL;
243         }
244 #line 245 "src/conf/parse_opts.cc"
245 yy46:
246         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
247         if (yych == 'o') goto yy162;
248         goto yy45;
249 yy47:
250         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
251         if (yych == 'm') goto yy140;
252         goto yy45;
253 yy48:
254         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
255         if (yych == 'a') goto yy121;
256         goto yy45;
257 yy49:
258         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
259         if (yych == 'w') goto yy107;
260         goto yy45;
261 yy50:
262         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
263         if (yych == 'n') goto yy53;
264         if (yych != 's') goto yy45;
265         yych = (YYCTYPE)*++YYCURSOR;
266         if (yych == 'e') goto yy93;
267 yy52:
268         YYCURSOR = YYMARKER;
269         goto yy45;
270 yy53:
271         yych = (YYCTYPE)*++YYCURSOR;
272         if (yych == 'd') goto yy54;
273         if (yych == 'r') goto yy55;
274         goto yy52;
275 yy54:
276         yych = (YYCTYPE)*++YYCURSOR;
277         if (yych == 'e') goto yy72;
278         goto yy52;
279 yy55:
280         yych = (YYCTYPE)*++YYCURSOR;
281         if (yych != 'e') goto yy52;
282         yych = (YYCTYPE)*++YYCURSOR;
283         if (yych != 'a') goto yy52;
284         yych = (YYCTYPE)*++YYCURSOR;
285         if (yych != 'c') goto yy52;
286         yych = (YYCTYPE)*++YYCURSOR;
287         if (yych != 'h') goto yy52;
288         yych = (YYCTYPE)*++YYCURSOR;
289         if (yych != 'a') goto yy52;
290         yych = (YYCTYPE)*++YYCURSOR;
291         if (yych != 'b') goto yy52;
292         yych = (YYCTYPE)*++YYCURSOR;
293         if (yych != 'l') goto yy52;
294         yych = (YYCTYPE)*++YYCURSOR;
295         if (yych != 'e') goto yy52;
296         yych = (YYCTYPE)*++YYCURSOR;
297         if (yych != '-') goto yy52;
298         yych = (YYCTYPE)*++YYCURSOR;
299         if (yych != 'r') goto yy52;
300         yych = (YYCTYPE)*++YYCURSOR;
301         if (yych != 'u') goto yy52;
302         yych = (YYCTYPE)*++YYCURSOR;
303         if (yych != 'l') goto yy52;
304         yych = (YYCTYPE)*++YYCURSOR;
305         if (yych != 'e') goto yy52;
306         yych = (YYCTYPE)*++YYCURSOR;
307         if (yych != 's') goto yy52;
308         yych = (YYCTYPE)*++YYCURSOR;
309         if (yych >= 0x01) goto yy52;
310         ++YYCURSOR;
311 #line 84 "../src/conf/parse_opts.re"
312         { warn.set (Warn::UNREACHABLE_RULES,      option); goto opt; }
313 #line 314 "src/conf/parse_opts.cc"
314 yy72:
315         yych = (YYCTYPE)*++YYCURSOR;
316         if (yych != 'f') goto yy52;
317         yych = (YYCTYPE)*++YYCURSOR;
318         if (yych != 'i') goto yy52;
319         yych = (YYCTYPE)*++YYCURSOR;
320         if (yych != 'n') goto yy52;
321         yych = (YYCTYPE)*++YYCURSOR;
322         if (yych != 'e') goto yy52;
323         yych = (YYCTYPE)*++YYCURSOR;
324         if (yych != 'd') goto yy52;
325         yych = (YYCTYPE)*++YYCURSOR;
326         if (yych != '-') goto yy52;
327         yych = (YYCTYPE)*++YYCURSOR;
328         if (yych != 'c') goto yy52;
329         yych = (YYCTYPE)*++YYCURSOR;
330         if (yych != 'o') goto yy52;
331         yych = (YYCTYPE)*++YYCURSOR;
332         if (yych != 'n') goto yy52;
333         yych = (YYCTYPE)*++YYCURSOR;
334         if (yych != 't') goto yy52;
335         yych = (YYCTYPE)*++YYCURSOR;
336         if (yych != 'r') goto yy52;
337         yych = (YYCTYPE)*++YYCURSOR;
338         if (yych != 'o') goto yy52;
339         yych = (YYCTYPE)*++YYCURSOR;
340         if (yych != 'l') goto yy52;
341         yych = (YYCTYPE)*++YYCURSOR;
342         if (yych != '-') goto yy52;
343         yych = (YYCTYPE)*++YYCURSOR;
344         if (yych != 'f') goto yy52;
345         yych = (YYCTYPE)*++YYCURSOR;
346         if (yych != 'l') goto yy52;
347         yych = (YYCTYPE)*++YYCURSOR;
348         if (yych != 'o') goto yy52;
349         yych = (YYCTYPE)*++YYCURSOR;
350         if (yych != 'w') goto yy52;
351         yych = (YYCTYPE)*++YYCURSOR;
352         if (yych >= 0x01) goto yy52;
353         ++YYCURSOR;
354 #line 83 "../src/conf/parse_opts.re"
355         { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
356 #line 357 "src/conf/parse_opts.cc"
357 yy93:
358         yych = (YYCTYPE)*++YYCURSOR;
359         if (yych != 'l') goto yy52;
360         yych = (YYCTYPE)*++YYCURSOR;
361         if (yych != 'e') goto yy52;
362         yych = (YYCTYPE)*++YYCURSOR;
363         if (yych != 's') goto yy52;
364         yych = (YYCTYPE)*++YYCURSOR;
365         if (yych != 's') goto yy52;
366         yych = (YYCTYPE)*++YYCURSOR;
367         if (yych != '-') goto yy52;
368         yych = (YYCTYPE)*++YYCURSOR;
369         if (yych != 'e') goto yy52;
370         yych = (YYCTYPE)*++YYCURSOR;
371         if (yych != 's') goto yy52;
372         yych = (YYCTYPE)*++YYCURSOR;
373         if (yych != 'c') goto yy52;
374         yych = (YYCTYPE)*++YYCURSOR;
375         if (yych != 'a') goto yy52;
376         yych = (YYCTYPE)*++YYCURSOR;
377         if (yych != 'p') goto yy52;
378         yych = (YYCTYPE)*++YYCURSOR;
379         if (yych != 'e') goto yy52;
380         yych = (YYCTYPE)*++YYCURSOR;
381         if (yych >= 0x01) goto yy52;
382         ++YYCURSOR;
383 #line 85 "../src/conf/parse_opts.re"
384         { warn.set (Warn::USELESS_ESCAPE,         option); goto opt; }
385 #line 386 "src/conf/parse_opts.cc"
386 yy107:
387         yych = (YYCTYPE)*++YYCURSOR;
388         if (yych != 'a') goto yy52;
389         yych = (YYCTYPE)*++YYCURSOR;
390         if (yych != 'p') goto yy52;
391         yych = (YYCTYPE)*++YYCURSOR;
392         if (yych != 'p') goto yy52;
393         yych = (YYCTYPE)*++YYCURSOR;
394         if (yych != 'e') goto yy52;
395         yych = (YYCTYPE)*++YYCURSOR;
396         if (yych != 'd') goto yy52;
397         yych = (YYCTYPE)*++YYCURSOR;
398         if (yych != '-') goto yy52;
399         yych = (YYCTYPE)*++YYCURSOR;
400         if (yych != 'r') goto yy52;
401         yych = (YYCTYPE)*++YYCURSOR;
402         if (yych != 'a') goto yy52;
403         yych = (YYCTYPE)*++YYCURSOR;
404         if (yych != 'n') goto yy52;
405         yych = (YYCTYPE)*++YYCURSOR;
406         if (yych != 'g') goto yy52;
407         yych = (YYCTYPE)*++YYCURSOR;
408         if (yych != 'e') goto yy52;
409         yych = (YYCTYPE)*++YYCURSOR;
410         if (yych >= 0x01) goto yy52;
411         ++YYCURSOR;
412 #line 82 "../src/conf/parse_opts.re"
413         { warn.set (Warn::SWAPPED_RANGE,          option); goto opt; }
414 #line 415 "src/conf/parse_opts.cc"
415 yy121:
416         yych = (YYCTYPE)*++YYCURSOR;
417         if (yych != 't') goto yy52;
418         yych = (YYCTYPE)*++YYCURSOR;
419         if (yych != 'c') goto yy52;
420         yych = (YYCTYPE)*++YYCURSOR;
421         if (yych != 'h') goto yy52;
422         yych = (YYCTYPE)*++YYCURSOR;
423         if (yych != '-') goto yy52;
424         yych = (YYCTYPE)*++YYCURSOR;
425         if (yych != 'e') goto yy52;
426         yych = (YYCTYPE)*++YYCURSOR;
427         if (yych != 'm') goto yy52;
428         yych = (YYCTYPE)*++YYCURSOR;
429         if (yych != 'p') goto yy52;
430         yych = (YYCTYPE)*++YYCURSOR;
431         if (yych != 't') goto yy52;
432         yych = (YYCTYPE)*++YYCURSOR;
433         if (yych != 'y') goto yy52;
434         yych = (YYCTYPE)*++YYCURSOR;
435         if (yych != '-') goto yy52;
436         yych = (YYCTYPE)*++YYCURSOR;
437         if (yych != 's') goto yy52;
438         yych = (YYCTYPE)*++YYCURSOR;
439         if (yych != 't') goto yy52;
440         yych = (YYCTYPE)*++YYCURSOR;
441         if (yych != 'r') goto yy52;
442         yych = (YYCTYPE)*++YYCURSOR;
443         if (yych != 'i') goto yy52;
444         yych = (YYCTYPE)*++YYCURSOR;
445         if (yych != 'n') goto yy52;
446         yych = (YYCTYPE)*++YYCURSOR;
447         if (yych != 'g') goto yy52;
448         yych = (YYCTYPE)*++YYCURSOR;
449         if (yych >= 0x01) goto yy52;
450         ++YYCURSOR;
451 #line 81 "../src/conf/parse_opts.re"
452         { warn.set (Warn::MATCH_EMPTY_STRING,     option); goto opt; }
453 #line 454 "src/conf/parse_opts.cc"
454 yy140:
455         yych = (YYCTYPE)*++YYCURSOR;
456         if (yych != 'p') goto yy52;
457         yych = (YYCTYPE)*++YYCURSOR;
458         if (yych != 't') goto yy52;
459         yych = (YYCTYPE)*++YYCURSOR;
460         if (yych != 'y') goto yy52;
461         yych = (YYCTYPE)*++YYCURSOR;
462         if (yych != '-') goto yy52;
463         yych = (YYCTYPE)*++YYCURSOR;
464         if (yych != 'c') goto yy52;
465         yych = (YYCTYPE)*++YYCURSOR;
466         if (yych != 'h') goto yy52;
467         yych = (YYCTYPE)*++YYCURSOR;
468         if (yych != 'a') goto yy52;
469         yych = (YYCTYPE)*++YYCURSOR;
470         if (yych != 'r') goto yy52;
471         yych = (YYCTYPE)*++YYCURSOR;
472         if (yych != 'a') goto yy52;
473         yych = (YYCTYPE)*++YYCURSOR;
474         if (yych != 'c') goto yy52;
475         yych = (YYCTYPE)*++YYCURSOR;
476         if (yych != 't') goto yy52;
477         yych = (YYCTYPE)*++YYCURSOR;
478         if (yych != 'e') goto yy52;
479         yych = (YYCTYPE)*++YYCURSOR;
480         if (yych != 'r') goto yy52;
481         yych = (YYCTYPE)*++YYCURSOR;
482         if (yych != '-') goto yy52;
483         yych = (YYCTYPE)*++YYCURSOR;
484         if (yych != 'c') goto yy52;
485         yych = (YYCTYPE)*++YYCURSOR;
486         if (yych != 'l') goto yy52;
487         yych = (YYCTYPE)*++YYCURSOR;
488         if (yych != 'a') goto yy52;
489         yych = (YYCTYPE)*++YYCURSOR;
490         if (yych != 's') goto yy52;
491         yych = (YYCTYPE)*++YYCURSOR;
492         if (yych != 's') goto yy52;
493         yych = (YYCTYPE)*++YYCURSOR;
494         if (yych >= 0x01) goto yy52;
495         ++YYCURSOR;
496 #line 80 "../src/conf/parse_opts.re"
497         { warn.set (Warn::EMPTY_CHARACTER_CLASS,  option); goto opt; }
498 #line 499 "src/conf/parse_opts.cc"
499 yy162:
500         yych = (YYCTYPE)*++YYCURSOR;
501         if (yych != 'n') goto yy52;
502         yych = (YYCTYPE)*++YYCURSOR;
503         if (yych != 'd') goto yy52;
504         yych = (YYCTYPE)*++YYCURSOR;
505         if (yych != 'i') goto yy52;
506         yych = (YYCTYPE)*++YYCURSOR;
507         if (yych != 't') goto yy52;
508         yych = (YYCTYPE)*++YYCURSOR;
509         if (yych != 'i') goto yy52;
510         yych = (YYCTYPE)*++YYCURSOR;
511         if (yych != 'o') goto yy52;
512         yych = (YYCTYPE)*++YYCURSOR;
513         if (yych != 'n') goto yy52;
514         yych = (YYCTYPE)*++YYCURSOR;
515         if (yych != '-') goto yy52;
516         yych = (YYCTYPE)*++YYCURSOR;
517         if (yych != 'o') goto yy52;
518         yych = (YYCTYPE)*++YYCURSOR;
519         if (yych != 'r') goto yy52;
520         yych = (YYCTYPE)*++YYCURSOR;
521         if (yych != 'd') goto yy52;
522         yych = (YYCTYPE)*++YYCURSOR;
523         if (yych != 'e') goto yy52;
524         yych = (YYCTYPE)*++YYCURSOR;
525         if (yych != 'r') goto yy52;
526         yych = (YYCTYPE)*++YYCURSOR;
527         if (yych >= 0x01) goto yy52;
528         ++YYCURSOR;
529 #line 79 "../src/conf/parse_opts.re"
530         { warn.set (Warn::CONDITION_ORDER,        option); goto opt; }
531 #line 532 "src/conf/parse_opts.cc"
532 }
533 #line 86 "../src/conf/parse_opts.re"
534
535
536 opt_short:
537
538 #line 539 "src/conf/parse_opts.cc"
539 {
540         YYCTYPE yych;
541         yych = (YYCTYPE)*YYCURSOR;
542         if (yych <= 'b') {
543                 if (yych <= 'C') {
544                         if (yych <= '7') {
545                                 if (yych <= 0x00) goto yy180;
546                                 if (yych == '1') goto yy184;
547                                 goto yy182;
548                         } else {
549                                 if (yych <= '8') goto yy186;
550                                 if (yych == '?') goto yy188;
551                                 goto yy182;
552                         }
553                 } else {
554                         if (yych <= 'R') {
555                                 if (yych <= 'D') goto yy190;
556                                 if (yych == 'F') goto yy192;
557                                 goto yy182;
558                         } else {
559                                 if (yych <= 'U') {
560                                         if (yych <= 'S') goto yy194;
561                                         goto yy182;
562                                 } else {
563                                         if (yych <= 'V') goto yy196;
564                                         if (yych <= 'a') goto yy182;
565                                         goto yy198;
566                                 }
567                         }
568                 }
569         } else {
570                 if (yych <= 'o') {
571                         if (yych <= 'f') {
572                                 if (yych <= 'c') goto yy200;
573                                 if (yych <= 'd') goto yy202;
574                                 if (yych <= 'e') goto yy204;
575                                 goto yy206;
576                         } else {
577                                 if (yych <= 'h') {
578                                         if (yych <= 'g') goto yy208;
579                                         goto yy188;
580                                 } else {
581                                         if (yych <= 'i') goto yy210;
582                                         if (yych <= 'n') goto yy182;
583                                         goto yy212;
584                                 }
585                         }
586                 } else {
587                         if (yych <= 't') {
588                                 if (yych <= 'q') goto yy182;
589                                 if (yych <= 'r') goto yy214;
590                                 if (yych <= 's') goto yy216;
591                                 goto yy218;
592                         } else {
593                                 if (yych <= 'v') {
594                                         if (yych <= 'u') goto yy220;
595                                         goto yy222;
596                                 } else {
597                                         if (yych <= 'w') goto yy224;
598                                         if (yych <= 'x') goto yy226;
599                                         goto yy182;
600                                 }
601                         }
602                 }
603         }
604 yy180:
605         ++YYCURSOR;
606 #line 95 "../src/conf/parse_opts.re"
607         { goto opt; }
608 #line 609 "src/conf/parse_opts.cc"
609 yy182:
610         ++YYCURSOR;
611 #line 91 "../src/conf/parse_opts.re"
612         {
613                 error ("bad short option: %s", *argv);
614                 return EXIT_FAIL;
615         }
616 #line 617 "src/conf/parse_opts.cc"
617 yy184:
618         ++YYCURSOR;
619 #line 119 "../src/conf/parse_opts.re"
620         { goto opt_short; }
621 #line 622 "src/conf/parse_opts.cc"
622 yy186:
623         ++YYCURSOR;
624 #line 114 "../src/conf/parse_opts.re"
625         { if (!opts.set_encoding (Enc::UTF8))   { error_encoding (); return EXIT_FAIL; } goto opt_short; }
626 #line 627 "src/conf/parse_opts.cc"
627 yy188:
628         ++YYCURSOR;
629 #line 96 "../src/conf/parse_opts.re"
630         { usage ();   return EXIT_OK; }
631 #line 632 "src/conf/parse_opts.cc"
632 yy190:
633         ++YYCURSOR;
634 #line 102 "../src/conf/parse_opts.re"
635         { opts.set_target (opt_t::DOT);      goto opt_short; }
636 #line 637 "src/conf/parse_opts.cc"
637 yy192:
638         ++YYCURSOR;
639 #line 104 "../src/conf/parse_opts.re"
640         { opts.set_FFlag (true);             goto opt_short; }
641 #line 642 "src/conf/parse_opts.cc"
642 yy194:
643         ++YYCURSOR;
644 #line 109 "../src/conf/parse_opts.re"
645         { opts.set_target (opt_t::SKELETON); goto opt_short; }
646 #line 647 "src/conf/parse_opts.cc"
647 yy196:
648         ++YYCURSOR;
649 #line 98 "../src/conf/parse_opts.re"
650         { vernum ();  return EXIT_OK; }
651 #line 652 "src/conf/parse_opts.cc"
652 yy198:
653         ++YYCURSOR;
654 #line 99 "../src/conf/parse_opts.re"
655         { opts.set_bFlag (true);             goto opt_short; }
656 #line 657 "src/conf/parse_opts.cc"
657 yy200:
658         ++YYCURSOR;
659 #line 100 "../src/conf/parse_opts.re"
660         { opts.set_cFlag (true);             goto opt_short; }
661 #line 662 "src/conf/parse_opts.cc"
662 yy202:
663         ++YYCURSOR;
664 #line 101 "../src/conf/parse_opts.re"
665         { opts.set_dFlag (true);             goto opt_short; }
666 #line 667 "src/conf/parse_opts.cc"
667 yy204:
668         ++YYCURSOR;
669 #line 110 "../src/conf/parse_opts.re"
670         { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
671 #line 672 "src/conf/parse_opts.cc"
672 yy206:
673         ++YYCURSOR;
674 #line 103 "../src/conf/parse_opts.re"
675         { opts.set_fFlag (true);             goto opt_short; }
676 #line 677 "src/conf/parse_opts.cc"
677 yy208:
678         ++YYCURSOR;
679 #line 105 "../src/conf/parse_opts.re"
680         { opts.set_gFlag (true);             goto opt_short; }
681 #line 682 "src/conf/parse_opts.cc"
682 yy210:
683         ++YYCURSOR;
684 #line 106 "../src/conf/parse_opts.re"
685         { opts.set_iFlag (true);             goto opt_short; }
686 #line 687 "src/conf/parse_opts.cc"
687 yy212:
688         ++YYCURSOR;
689         if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy230;
690 #line 116 "../src/conf/parse_opts.re"
691         { *argv = YYCURSOR;                                                             goto opt_output; }
692 #line 693 "src/conf/parse_opts.cc"
693 yy214:
694         ++YYCURSOR;
695 #line 107 "../src/conf/parse_opts.re"
696         { opts.set_rFlag (true);             goto opt_short; }
697 #line 698 "src/conf/parse_opts.cc"
698 yy216:
699         ++YYCURSOR;
700 #line 108 "../src/conf/parse_opts.re"
701         { opts.set_sFlag (true);             goto opt_short; }
702 #line 703 "src/conf/parse_opts.cc"
703 yy218:
704         ++YYCURSOR;
705         if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy228;
706 #line 118 "../src/conf/parse_opts.re"
707         { *argv = YYCURSOR;                                                                  goto opt_header; }
708 #line 709 "src/conf/parse_opts.cc"
709 yy220:
710         ++YYCURSOR;
711 #line 111 "../src/conf/parse_opts.re"
712         { if (!opts.set_encoding (Enc::UTF32))  { error_encoding (); return EXIT_FAIL; } goto opt_short; }
713 #line 714 "src/conf/parse_opts.cc"
714 yy222:
715         ++YYCURSOR;
716 #line 97 "../src/conf/parse_opts.re"
717         { version (); return EXIT_OK; }
718 #line 719 "src/conf/parse_opts.cc"
719 yy224:
720         ++YYCURSOR;
721 #line 112 "../src/conf/parse_opts.re"
722         { if (!opts.set_encoding (Enc::UCS2))   { error_encoding (); return EXIT_FAIL; } goto opt_short; }
723 #line 724 "src/conf/parse_opts.cc"
724 yy226:
725         ++YYCURSOR;
726 #line 113 "../src/conf/parse_opts.re"
727         { if (!opts.set_encoding (Enc::UTF16))  { error_encoding (); return EXIT_FAIL; } goto opt_short; }
728 #line 729 "src/conf/parse_opts.cc"
729 yy228:
730         ++YYCURSOR;
731 #line 117 "../src/conf/parse_opts.re"
732         { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
733 #line 734 "src/conf/parse_opts.cc"
734 yy230:
735         ++YYCURSOR;
736 #line 115 "../src/conf/parse_opts.re"
737         { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
738 #line 739 "src/conf/parse_opts.cc"
739 }
740 #line 120 "../src/conf/parse_opts.re"
741
742
743 opt_long:
744
745 #line 746 "src/conf/parse_opts.cc"
746 {
747         YYCTYPE yych;
748         yych = (YYCTYPE)*YYCURSOR;
749         switch (yych) {
750         case 'b':       goto yy236;
751         case 'c':       goto yy237;
752         case 'd':       goto yy238;
753         case 'e':       goto yy239;
754         case 'f':       goto yy240;
755         case 'h':       goto yy241;
756         case 'i':       goto yy242;
757         case 'n':       goto yy243;
758         case 'o':       goto yy244;
759         case 'r':       goto yy245;
760         case 's':       goto yy246;
761         case 't':       goto yy247;
762         case 'u':       goto yy248;
763         case 'v':       goto yy249;
764         case 'w':       goto yy250;
765         default:        goto yy234;
766         }
767 yy234:
768         ++YYCURSOR;
769 yy235:
770 #line 125 "../src/conf/parse_opts.re"
771         {
772                 error ("bad long option: %s", *argv);
773                 return EXIT_FAIL;
774         }
775 #line 776 "src/conf/parse_opts.cc"
776 yy236:
777         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
778         if (yych == 'i') goto yy532;
779         goto yy235;
780 yy237:
781         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
782         if (yych == 'a') goto yy492;
783         if (yych == 'o') goto yy493;
784         goto yy235;
785 yy238:
786         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
787         if (yych == 'e') goto yy479;
788         goto yy235;
789 yy239:
790         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
791         if (yych <= 'l') {
792                 if (yych == 'c') goto yy441;
793                 goto yy235;
794         } else {
795                 if (yych <= 'm') goto yy439;
796                 if (yych <= 'n') goto yy440;
797                 goto yy235;
798         }
799 yy240:
800         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
801         if (yych == 'l') goto yy427;
802         goto yy235;
803 yy241:
804         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
805         if (yych == 'e') goto yy422;
806         goto yy235;
807 yy242:
808         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
809         if (yych == 'n') goto yy416;
810         goto yy235;
811 yy243:
812         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
813         if (yych == 'e') goto yy375;
814         if (yych == 'o') goto yy374;
815         goto yy235;
816 yy244:
817         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
818         if (yych == 'u') goto yy367;
819         goto yy235;
820 yy245:
821         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
822         if (yych == 'e') goto yy358;
823         goto yy235;
824 yy246:
825         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
826         if (yych <= 'j') {
827                 if (yych == 'i') goto yy306;
828                 goto yy235;
829         } else {
830                 if (yych <= 'k') goto yy307;
831                 if (yych == 't') goto yy308;
832                 goto yy235;
833         }
834 yy247:
835         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
836         if (yych == 'y') goto yy294;
837         goto yy235;
838 yy248:
839         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
840         if (yych == 'n') goto yy277;
841         if (yych == 't') goto yy276;
842         goto yy235;
843 yy249:
844         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
845         if (yych == 'e') goto yy263;
846         goto yy235;
847 yy250:
848         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
849         if (yych != 'i') goto yy235;
850         yych = (YYCTYPE)*++YYCURSOR;
851         if (yych == 'd') goto yy253;
852 yy252:
853         YYCURSOR = YYMARKER;
854         goto yy235;
855 yy253:
856         yych = (YYCTYPE)*++YYCURSOR;
857         if (yych != 'e') goto yy252;
858         yych = (YYCTYPE)*++YYCURSOR;
859         if (yych != '-') goto yy252;
860         yych = (YYCTYPE)*++YYCURSOR;
861         if (yych != 'c') goto yy252;
862         yych = (YYCTYPE)*++YYCURSOR;
863         if (yych != 'h') goto yy252;
864         yych = (YYCTYPE)*++YYCURSOR;
865         if (yych != 'a') goto yy252;
866         yych = (YYCTYPE)*++YYCURSOR;
867         if (yych != 'r') goto yy252;
868         yych = (YYCTYPE)*++YYCURSOR;
869         if (yych != 's') goto yy252;
870         yych = (YYCTYPE)*++YYCURSOR;
871         if (yych >= 0x01) goto yy252;
872         ++YYCURSOR;
873 #line 148 "../src/conf/parse_opts.re"
874         { if (!opts.set_encoding (Enc::UCS2))   { error_encoding (); return EXIT_FAIL; } goto opt; }
875 #line 876 "src/conf/parse_opts.cc"
876 yy263:
877         yych = (YYCTYPE)*++YYCURSOR;
878         if (yych != 'r') goto yy252;
879         yych = (YYCTYPE)*++YYCURSOR;
880         if (yych == 'n') goto yy265;
881         if (yych == 's') goto yy266;
882         goto yy252;
883 yy265:
884         yych = (YYCTYPE)*++YYCURSOR;
885         if (yych == 'u') goto yy272;
886         goto yy252;
887 yy266:
888         yych = (YYCTYPE)*++YYCURSOR;
889         if (yych != 'i') goto yy252;
890         yych = (YYCTYPE)*++YYCURSOR;
891         if (yych != 'o') goto yy252;
892         yych = (YYCTYPE)*++YYCURSOR;
893         if (yych != 'n') goto yy252;
894         yych = (YYCTYPE)*++YYCURSOR;
895         if (yych >= 0x01) goto yy252;
896         ++YYCURSOR;
897 #line 130 "../src/conf/parse_opts.re"
898         { version (); return EXIT_OK; }
899 #line 900 "src/conf/parse_opts.cc"
900 yy272:
901         yych = (YYCTYPE)*++YYCURSOR;
902         if (yych != 'm') goto yy252;
903         yych = (YYCTYPE)*++YYCURSOR;
904         if (yych >= 0x01) goto yy252;
905         ++YYCURSOR;
906 #line 131 "../src/conf/parse_opts.re"
907         { vernum ();  return EXIT_OK; }
908 #line 909 "src/conf/parse_opts.cc"
909 yy276:
910         yych = (YYCTYPE)*++YYCURSOR;
911         if (yych == 'f') goto yy285;
912         goto yy252;
913 yy277:
914         yych = (YYCTYPE)*++YYCURSOR;
915         if (yych != 'i') goto yy252;
916         yych = (YYCTYPE)*++YYCURSOR;
917         if (yych != 'c') goto yy252;
918         yych = (YYCTYPE)*++YYCURSOR;
919         if (yych != 'o') goto yy252;
920         yych = (YYCTYPE)*++YYCURSOR;
921         if (yych != 'd') goto yy252;
922         yych = (YYCTYPE)*++YYCURSOR;
923         if (yych != 'e') goto yy252;
924         yych = (YYCTYPE)*++YYCURSOR;
925         if (yych >= 0x01) goto yy252;
926         ++YYCURSOR;
927 #line 147 "../src/conf/parse_opts.re"
928         { if (!opts.set_encoding (Enc::UTF32))  { error_encoding (); return EXIT_FAIL; } goto opt; }
929 #line 930 "src/conf/parse_opts.cc"
930 yy285:
931         yych = (YYCTYPE)*++YYCURSOR;
932         if (yych != '-') goto yy252;
933         yych = (YYCTYPE)*++YYCURSOR;
934         if (yych == '1') goto yy287;
935         if (yych == '8') goto yy288;
936         goto yy252;
937 yy287:
938         yych = (YYCTYPE)*++YYCURSOR;
939         if (yych == '6') goto yy291;
940         goto yy252;
941 yy288:
942         yych = (YYCTYPE)*++YYCURSOR;
943         if (yych >= 0x01) goto yy252;
944         ++YYCURSOR;
945 #line 150 "../src/conf/parse_opts.re"
946         { if (!opts.set_encoding (Enc::UTF8))   { error_encoding (); return EXIT_FAIL; } goto opt; }
947 #line 948 "src/conf/parse_opts.cc"
948 yy291:
949         yych = (YYCTYPE)*++YYCURSOR;
950         if (yych >= 0x01) goto yy252;
951         ++YYCURSOR;
952 #line 149 "../src/conf/parse_opts.re"
953         { if (!opts.set_encoding (Enc::UTF16))  { error_encoding (); return EXIT_FAIL; } goto opt; }
954 #line 955 "src/conf/parse_opts.cc"
955 yy294:
956         yych = (YYCTYPE)*++YYCURSOR;
957         if (yych != 'p') goto yy252;
958         yych = (YYCTYPE)*++YYCURSOR;
959         if (yych != 'e') goto yy252;
960         yych = (YYCTYPE)*++YYCURSOR;
961         if (yych != '-') goto yy252;
962         yych = (YYCTYPE)*++YYCURSOR;
963         if (yych != 'h') goto yy252;
964         yych = (YYCTYPE)*++YYCURSOR;
965         if (yych != 'e') goto yy252;
966         yych = (YYCTYPE)*++YYCURSOR;
967         if (yych != 'a') goto yy252;
968         yych = (YYCTYPE)*++YYCURSOR;
969         if (yych != 'd') goto yy252;
970         yych = (YYCTYPE)*++YYCURSOR;
971         if (yych != 'e') goto yy252;
972         yych = (YYCTYPE)*++YYCURSOR;
973         if (yych != 'r') goto yy252;
974         yych = (YYCTYPE)*++YYCURSOR;
975         if (yych >= 0x01) goto yy252;
976         ++YYCURSOR;
977 #line 152 "../src/conf/parse_opts.re"
978         { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
979 #line 980 "src/conf/parse_opts.cc"
980 yy306:
981         yych = (YYCTYPE)*++YYCURSOR;
982         if (yych == 'n') goto yy347;
983         goto yy252;
984 yy307:
985         yych = (YYCTYPE)*++YYCURSOR;
986         if (yych == 'e') goto yy339;
987         goto yy252;
988 yy308:
989         yych = (YYCTYPE)*++YYCURSOR;
990         if (yych == 'a') goto yy309;
991         if (yych == 'o') goto yy310;
992         goto yy252;
993 yy309:
994         yych = (YYCTYPE)*++YYCURSOR;
995         if (yych == 'r') goto yy324;
996         goto yy252;
997 yy310:
998         yych = (YYCTYPE)*++YYCURSOR;
999         if (yych != 'r') goto yy252;
1000         yych = (YYCTYPE)*++YYCURSOR;
1001         if (yych != 'a') goto yy252;
1002         yych = (YYCTYPE)*++YYCURSOR;
1003         if (yych != 'b') goto yy252;
1004         yych = (YYCTYPE)*++YYCURSOR;
1005         if (yych != 'l') goto yy252;
1006         yych = (YYCTYPE)*++YYCURSOR;
1007         if (yych != 'e') goto yy252;
1008         yych = (YYCTYPE)*++YYCURSOR;
1009         if (yych != '-') goto yy252;
1010         yych = (YYCTYPE)*++YYCURSOR;
1011         if (yych != 's') goto yy252;
1012         yych = (YYCTYPE)*++YYCURSOR;
1013         if (yych != 't') goto yy252;
1014         yych = (YYCTYPE)*++YYCURSOR;
1015         if (yych != 'a') goto yy252;
1016         yych = (YYCTYPE)*++YYCURSOR;
1017         if (yych != 't') goto yy252;
1018         yych = (YYCTYPE)*++YYCURSOR;
1019         if (yych != 'e') goto yy252;
1020         yych = (YYCTYPE)*++YYCURSOR;
1021         if (yych >= 0x01) goto yy252;
1022         ++YYCURSOR;
1023 #line 136 "../src/conf/parse_opts.re"
1024         { opts.set_fFlag (true);             goto opt; }
1025 #line 1026 "src/conf/parse_opts.cc"
1026 yy324:
1027         yych = (YYCTYPE)*++YYCURSOR;
1028         if (yych != 't') goto yy252;
1029         yych = (YYCTYPE)*++YYCURSOR;
1030         if (yych != '-') goto yy252;
1031         yych = (YYCTYPE)*++YYCURSOR;
1032         if (yych != 'c') goto yy252;
1033         yych = (YYCTYPE)*++YYCURSOR;
1034         if (yych != 'o') goto yy252;
1035         yych = (YYCTYPE)*++YYCURSOR;
1036         if (yych != 'n') goto yy252;
1037         yych = (YYCTYPE)*++YYCURSOR;
1038         if (yych != 'd') goto yy252;
1039         yych = (YYCTYPE)*++YYCURSOR;
1040         if (yych != 'i') goto yy252;
1041         yych = (YYCTYPE)*++YYCURSOR;
1042         if (yych != 't') goto yy252;
1043         yych = (YYCTYPE)*++YYCURSOR;
1044         if (yych != 'i') goto yy252;
1045         yych = (YYCTYPE)*++YYCURSOR;
1046         if (yych != 'o') goto yy252;
1047         yych = (YYCTYPE)*++YYCURSOR;
1048         if (yych != 'n') goto yy252;
1049         yych = (YYCTYPE)*++YYCURSOR;
1050         if (yych != 's') goto yy252;
1051         yych = (YYCTYPE)*++YYCURSOR;
1052         if (yych >= 0x01) goto yy252;
1053         ++YYCURSOR;
1054 #line 133 "../src/conf/parse_opts.re"
1055         { opts.set_cFlag (true);             goto opt; }
1056 #line 1057 "src/conf/parse_opts.cc"
1057 yy339:
1058         yych = (YYCTYPE)*++YYCURSOR;
1059         if (yych != 'l') goto yy252;
1060         yych = (YYCTYPE)*++YYCURSOR;
1061         if (yych != 'e') goto yy252;
1062         yych = (YYCTYPE)*++YYCURSOR;
1063         if (yych != 't') goto yy252;
1064         yych = (YYCTYPE)*++YYCURSOR;
1065         if (yych != 'o') goto yy252;
1066         yych = (YYCTYPE)*++YYCURSOR;
1067         if (yych != 'n') goto yy252;
1068         yych = (YYCTYPE)*++YYCURSOR;
1069         if (yych >= 0x01) goto yy252;
1070         ++YYCURSOR;
1071 #line 145 "../src/conf/parse_opts.re"
1072         { opts.set_target (opt_t::SKELETON); goto opt; }
1073 #line 1074 "src/conf/parse_opts.cc"
1074 yy347:
1075         yych = (YYCTYPE)*++YYCURSOR;
1076         if (yych != 'g') goto yy252;
1077         yych = (YYCTYPE)*++YYCURSOR;
1078         if (yych != 'l') goto yy252;
1079         yych = (YYCTYPE)*++YYCURSOR;
1080         if (yych != 'e') goto yy252;
1081         yych = (YYCTYPE)*++YYCURSOR;
1082         if (yych != '-') goto yy252;
1083         yych = (YYCTYPE)*++YYCURSOR;
1084         if (yych != 'p') goto yy252;
1085         yych = (YYCTYPE)*++YYCURSOR;
1086         if (yych != 'a') goto yy252;
1087         yych = (YYCTYPE)*++YYCURSOR;
1088         if (yych != 's') goto yy252;
1089         yych = (YYCTYPE)*++YYCURSOR;
1090         if (yych != 's') goto yy252;
1091         yych = (YYCTYPE)*++YYCURSOR;
1092         if (yych >= 0x01) goto yy252;
1093         ++YYCURSOR;
1094 #line 156 "../src/conf/parse_opts.re"
1095         { goto opt; }
1096 #line 1097 "src/conf/parse_opts.cc"
1097 yy358:
1098         yych = (YYCTYPE)*++YYCURSOR;
1099         if (yych != 'u') goto yy252;
1100         yych = (YYCTYPE)*++YYCURSOR;
1101         if (yych != 's') goto yy252;
1102         yych = (YYCTYPE)*++YYCURSOR;
1103         if (yych != 'a') goto yy252;
1104         yych = (YYCTYPE)*++YYCURSOR;
1105         if (yych != 'b') goto yy252;
1106         yych = (YYCTYPE)*++YYCURSOR;
1107         if (yych != 'l') goto yy252;
1108         yych = (YYCTYPE)*++YYCURSOR;
1109         if (yych != 'e') goto yy252;
1110         yych = (YYCTYPE)*++YYCURSOR;
1111         if (yych >= 0x01) goto yy252;
1112         ++YYCURSOR;
1113 #line 140 "../src/conf/parse_opts.re"
1114         { opts.set_rFlag (true);             goto opt; }
1115 #line 1116 "src/conf/parse_opts.cc"
1116 yy367:
1117         yych = (YYCTYPE)*++YYCURSOR;
1118         if (yych != 't') goto yy252;
1119         yych = (YYCTYPE)*++YYCURSOR;
1120         if (yych != 'p') goto yy252;
1121         yych = (YYCTYPE)*++YYCURSOR;
1122         if (yych != 'u') goto yy252;
1123         yych = (YYCTYPE)*++YYCURSOR;
1124         if (yych != 't') goto yy252;
1125         yych = (YYCTYPE)*++YYCURSOR;
1126         if (yych >= 0x01) goto yy252;
1127         ++YYCURSOR;
1128 #line 151 "../src/conf/parse_opts.re"
1129         { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
1130 #line 1131 "src/conf/parse_opts.cc"
1131 yy374:
1132         yych = (YYCTYPE)*++YYCURSOR;
1133         if (yych == '-') goto yy386;
1134         goto yy252;
1135 yy375:
1136         yych = (YYCTYPE)*++YYCURSOR;
1137         if (yych != 's') goto yy252;
1138         yych = (YYCTYPE)*++YYCURSOR;
1139         if (yych != 't') goto yy252;
1140         yych = (YYCTYPE)*++YYCURSOR;
1141         if (yych != 'e') goto yy252;
1142         yych = (YYCTYPE)*++YYCURSOR;
1143         if (yych != 'd') goto yy252;
1144         yych = (YYCTYPE)*++YYCURSOR;
1145         if (yych != '-') goto yy252;
1146         yych = (YYCTYPE)*++YYCURSOR;
1147         if (yych != 'i') goto yy252;
1148         yych = (YYCTYPE)*++YYCURSOR;
1149         if (yych != 'f') goto yy252;
1150         yych = (YYCTYPE)*++YYCURSOR;
1151         if (yych != 's') goto yy252;
1152         yych = (YYCTYPE)*++YYCURSOR;
1153         if (yych >= 0x01) goto yy252;
1154         ++YYCURSOR;
1155 #line 141 "../src/conf/parse_opts.re"
1156         { opts.set_sFlag (true);             goto opt; }
1157 #line 1158 "src/conf/parse_opts.cc"
1158 yy386:
1159         yych = (YYCTYPE)*++YYCURSOR;
1160         if (yych == 'd') goto yy388;
1161         if (yych != 'g') goto yy252;
1162         yych = (YYCTYPE)*++YYCURSOR;
1163         if (yych == 'e') goto yy400;
1164         goto yy252;
1165 yy388:
1166         yych = (YYCTYPE)*++YYCURSOR;
1167         if (yych != 'e') goto yy252;
1168         yych = (YYCTYPE)*++YYCURSOR;
1169         if (yych != 'b') goto yy252;
1170         yych = (YYCTYPE)*++YYCURSOR;
1171         if (yych != 'u') goto yy252;
1172         yych = (YYCTYPE)*++YYCURSOR;
1173         if (yych != 'g') goto yy252;
1174         yych = (YYCTYPE)*++YYCURSOR;
1175         if (yych != '-') goto yy252;
1176         yych = (YYCTYPE)*++YYCURSOR;
1177         if (yych != 'i') goto yy252;
1178         yych = (YYCTYPE)*++YYCURSOR;
1179         if (yych != 'n') goto yy252;
1180         yych = (YYCTYPE)*++YYCURSOR;
1181         if (yych != 'f') goto yy252;
1182         yych = (YYCTYPE)*++YYCURSOR;
1183         if (yych != 'o') goto yy252;
1184         yych = (YYCTYPE)*++YYCURSOR;
1185         if (yych >= 0x01) goto yy252;
1186         ++YYCURSOR;
1187 #line 139 "../src/conf/parse_opts.re"
1188         { opts.set_iFlag (true);             goto opt; }
1189 #line 1190 "src/conf/parse_opts.cc"
1190 yy400:
1191         yych = (YYCTYPE)*++YYCURSOR;
1192         if (yych != 'n') goto yy252;
1193         yych = (YYCTYPE)*++YYCURSOR;
1194         if (yych != 'e') goto yy252;
1195         yych = (YYCTYPE)*++YYCURSOR;
1196         if (yych != 'r') goto yy252;
1197         yych = (YYCTYPE)*++YYCURSOR;
1198         if (yych != 'a') goto yy252;
1199         yych = (YYCTYPE)*++YYCURSOR;
1200         if (yych != 't') goto yy252;
1201         yych = (YYCTYPE)*++YYCURSOR;
1202         if (yych != 'i') goto yy252;
1203         yych = (YYCTYPE)*++YYCURSOR;
1204         if (yych != 'o') goto yy252;
1205         yych = (YYCTYPE)*++YYCURSOR;
1206         if (yych != 'n') goto yy252;
1207         yych = (YYCTYPE)*++YYCURSOR;
1208         if (yych != '-') goto yy252;
1209         yych = (YYCTYPE)*++YYCURSOR;
1210         if (yych != 'd') goto yy252;
1211         yych = (YYCTYPE)*++YYCURSOR;
1212         if (yych != 'a') goto yy252;
1213         yych = (YYCTYPE)*++YYCURSOR;
1214         if (yych != 't') goto yy252;
1215         yych = (YYCTYPE)*++YYCURSOR;
1216         if (yych != 'e') goto yy252;
1217         yych = (YYCTYPE)*++YYCURSOR;
1218         if (yych >= 0x01) goto yy252;
1219         ++YYCURSOR;
1220 #line 142 "../src/conf/parse_opts.re"
1221         { opts.set_bNoGenerationDate (true); goto opt; }
1222 #line 1223 "src/conf/parse_opts.cc"
1223 yy416:
1224         yych = (YYCTYPE)*++YYCURSOR;
1225         if (yych != 'p') goto yy252;
1226         yych = (YYCTYPE)*++YYCURSOR;
1227         if (yych != 'u') goto yy252;
1228         yych = (YYCTYPE)*++YYCURSOR;
1229         if (yych != 't') goto yy252;
1230         yych = (YYCTYPE)*++YYCURSOR;
1231         if (yych >= 0x01) goto yy252;
1232         ++YYCURSOR;
1233 #line 154 "../src/conf/parse_opts.re"
1234         { goto opt_input; }
1235 #line 1236 "src/conf/parse_opts.cc"
1236 yy422:
1237         yych = (YYCTYPE)*++YYCURSOR;
1238         if (yych != 'l') goto yy252;
1239         yych = (YYCTYPE)*++YYCURSOR;
1240         if (yych != 'p') goto yy252;
1241         yych = (YYCTYPE)*++YYCURSOR;
1242         if (yych >= 0x01) goto yy252;
1243         ++YYCURSOR;
1244 #line 129 "../src/conf/parse_opts.re"
1245         { usage ();   return EXIT_OK; }
1246 #line 1247 "src/conf/parse_opts.cc"
1247 yy427:
1248         yych = (YYCTYPE)*++YYCURSOR;
1249         if (yych != 'e') goto yy252;
1250         yych = (YYCTYPE)*++YYCURSOR;
1251         if (yych != 'x') goto yy252;
1252         yych = (YYCTYPE)*++YYCURSOR;
1253         if (yych != '-') goto yy252;
1254         yych = (YYCTYPE)*++YYCURSOR;
1255         if (yych != 's') goto yy252;
1256         yych = (YYCTYPE)*++YYCURSOR;
1257         if (yych != 'y') goto yy252;
1258         yych = (YYCTYPE)*++YYCURSOR;
1259         if (yych != 'n') goto yy252;
1260         yych = (YYCTYPE)*++YYCURSOR;
1261         if (yych != 't') goto yy252;
1262         yych = (YYCTYPE)*++YYCURSOR;
1263         if (yych != 'a') goto yy252;
1264         yych = (YYCTYPE)*++YYCURSOR;
1265         if (yych != 'x') goto yy252;
1266         yych = (YYCTYPE)*++YYCURSOR;
1267         if (yych >= 0x01) goto yy252;
1268         ++YYCURSOR;
1269 #line 137 "../src/conf/parse_opts.re"
1270         { opts.set_FFlag (true);             goto opt; }
1271 #line 1272 "src/conf/parse_opts.cc"
1272 yy439:
1273         yych = (YYCTYPE)*++YYCURSOR;
1274         if (yych == 'i') goto yy460;
1275         if (yych == 'p') goto yy461;
1276         goto yy252;
1277 yy440:
1278         yych = (YYCTYPE)*++YYCURSOR;
1279         if (yych == 'c') goto yy445;
1280         goto yy252;
1281 yy441:
1282         yych = (YYCTYPE)*++YYCURSOR;
1283         if (yych != 'b') goto yy252;
1284         yych = (YYCTYPE)*++YYCURSOR;
1285         if (yych >= 0x01) goto yy252;
1286         ++YYCURSOR;
1287 #line 146 "../src/conf/parse_opts.re"
1288         { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
1289 #line 1290 "src/conf/parse_opts.cc"
1290 yy445:
1291         yych = (YYCTYPE)*++YYCURSOR;
1292         if (yych != 'o') goto yy252;
1293         yych = (YYCTYPE)*++YYCURSOR;
1294         if (yych != 'd') goto yy252;
1295         yych = (YYCTYPE)*++YYCURSOR;
1296         if (yych != 'i') goto yy252;
1297         yych = (YYCTYPE)*++YYCURSOR;
1298         if (yych != 'n') goto yy252;
1299         yych = (YYCTYPE)*++YYCURSOR;
1300         if (yych != 'g') goto yy252;
1301         yych = (YYCTYPE)*++YYCURSOR;
1302         if (yych != '-') goto yy252;
1303         yych = (YYCTYPE)*++YYCURSOR;
1304         if (yych != 'p') goto yy252;
1305         yych = (YYCTYPE)*++YYCURSOR;
1306         if (yych != 'o') goto yy252;
1307         yych = (YYCTYPE)*++YYCURSOR;
1308         if (yych != 'l') goto yy252;
1309         yych = (YYCTYPE)*++YYCURSOR;
1310         if (yych != 'i') goto yy252;
1311         yych = (YYCTYPE)*++YYCURSOR;
1312         if (yych != 'c') goto yy252;
1313         yych = (YYCTYPE)*++YYCURSOR;
1314         if (yych != 'y') goto yy252;
1315         yych = (YYCTYPE)*++YYCURSOR;
1316         if (yych >= 0x01) goto yy252;
1317         ++YYCURSOR;
1318 #line 153 "../src/conf/parse_opts.re"
1319         { goto opt_encoding_policy; }
1320 #line 1321 "src/conf/parse_opts.cc"
1321 yy460:
1322         yych = (YYCTYPE)*++YYCURSOR;
1323         if (yych == 't') goto yy472;
1324         goto yy252;
1325 yy461:
1326         yych = (YYCTYPE)*++YYCURSOR;
1327         if (yych != 't') goto yy252;
1328         yych = (YYCTYPE)*++YYCURSOR;
1329         if (yych != 'y') goto yy252;
1330         yych = (YYCTYPE)*++YYCURSOR;
1331         if (yych != '-') goto yy252;
1332         yych = (YYCTYPE)*++YYCURSOR;
1333         if (yych != 'c') goto yy252;
1334         yych = (YYCTYPE)*++YYCURSOR;
1335         if (yych != 'l') goto yy252;
1336         yych = (YYCTYPE)*++YYCURSOR;
1337         if (yych != 'a') goto yy252;
1338         yych = (YYCTYPE)*++YYCURSOR;
1339         if (yych != 's') goto yy252;
1340         yych = (YYCTYPE)*++YYCURSOR;
1341         if (yych != 's') goto yy252;
1342         yych = (YYCTYPE)*++YYCURSOR;
1343         if (yych >= 0x01) goto yy252;
1344         ++YYCURSOR;
1345 #line 155 "../src/conf/parse_opts.re"
1346         { goto opt_empty_class; }
1347 #line 1348 "src/conf/parse_opts.cc"
1348 yy472:
1349         yych = (YYCTYPE)*++YYCURSOR;
1350         if (yych != '-') goto yy252;
1351         yych = (YYCTYPE)*++YYCURSOR;
1352         if (yych != 'd') goto yy252;
1353         yych = (YYCTYPE)*++YYCURSOR;
1354         if (yych != 'o') goto yy252;
1355         yych = (YYCTYPE)*++YYCURSOR;
1356         if (yych != 't') goto yy252;
1357         yych = (YYCTYPE)*++YYCURSOR;
1358         if (yych >= 0x01) goto yy252;
1359         ++YYCURSOR;
1360 #line 135 "../src/conf/parse_opts.re"
1361         { opts.set_target (opt_t::DOT);      goto opt; }
1362 #line 1363 "src/conf/parse_opts.cc"
1363 yy479:
1364         yych = (YYCTYPE)*++YYCURSOR;
1365         if (yych != 'b') goto yy252;
1366         yych = (YYCTYPE)*++YYCURSOR;
1367         if (yych != 'u') goto yy252;
1368         yych = (YYCTYPE)*++YYCURSOR;
1369         if (yych != 'g') goto yy252;
1370         yych = (YYCTYPE)*++YYCURSOR;
1371         if (yych != '-') goto yy252;
1372         yych = (YYCTYPE)*++YYCURSOR;
1373         if (yych != 'o') goto yy252;
1374         yych = (YYCTYPE)*++YYCURSOR;
1375         if (yych != 'u') goto yy252;
1376         yych = (YYCTYPE)*++YYCURSOR;
1377         if (yych != 't') goto yy252;
1378         yych = (YYCTYPE)*++YYCURSOR;
1379         if (yych != 'p') goto yy252;
1380         yych = (YYCTYPE)*++YYCURSOR;
1381         if (yych != 'u') goto yy252;
1382         yych = (YYCTYPE)*++YYCURSOR;
1383         if (yych != 't') goto yy252;
1384         yych = (YYCTYPE)*++YYCURSOR;
1385         if (yych >= 0x01) goto yy252;
1386         ++YYCURSOR;
1387 #line 134 "../src/conf/parse_opts.re"
1388         { opts.set_dFlag (true);             goto opt; }
1389 #line 1390 "src/conf/parse_opts.cc"
1390 yy492:
1391         yych = (YYCTYPE)*++YYCURSOR;
1392         if (yych == 's') goto yy508;
1393         goto yy252;
1394 yy493:
1395         yych = (YYCTYPE)*++YYCURSOR;
1396         if (yych != 'm') goto yy252;
1397         yych = (YYCTYPE)*++YYCURSOR;
1398         if (yych != 'p') goto yy252;
1399         yych = (YYCTYPE)*++YYCURSOR;
1400         if (yych != 'u') goto yy252;
1401         yych = (YYCTYPE)*++YYCURSOR;
1402         if (yych != 't') goto yy252;
1403         yych = (YYCTYPE)*++YYCURSOR;
1404         if (yych != 'e') goto yy252;
1405         yych = (YYCTYPE)*++YYCURSOR;
1406         if (yych != 'd') goto yy252;
1407         yych = (YYCTYPE)*++YYCURSOR;
1408         if (yych != '-') goto yy252;
1409         yych = (YYCTYPE)*++YYCURSOR;
1410         if (yych != 'g') goto yy252;
1411         yych = (YYCTYPE)*++YYCURSOR;
1412         if (yych != 'o') goto yy252;
1413         yych = (YYCTYPE)*++YYCURSOR;
1414         if (yych != 't') goto yy252;
1415         yych = (YYCTYPE)*++YYCURSOR;
1416         if (yych != 'o') goto yy252;
1417         yych = (YYCTYPE)*++YYCURSOR;
1418         if (yych != 's') goto yy252;
1419         yych = (YYCTYPE)*++YYCURSOR;
1420         if (yych >= 0x01) goto yy252;
1421         ++YYCURSOR;
1422 #line 138 "../src/conf/parse_opts.re"
1423         { opts.set_gFlag (true);             goto opt; }
1424 #line 1425 "src/conf/parse_opts.cc"
1425 yy508:
1426         yych = (YYCTYPE)*++YYCURSOR;
1427         if (yych != 'e') goto yy252;
1428         yych = (YYCTYPE)*++YYCURSOR;
1429         if (yych != '-') goto yy252;
1430         yych = (YYCTYPE)*++YYCURSOR;
1431         if (yych != 'i') goto yy252;
1432         yych = (YYCTYPE)*++YYCURSOR;
1433         if (yych != 'n') goto yy252;
1434         yych = (YYCTYPE)*++YYCURSOR;
1435         if (yych == 's') goto yy514;
1436         if (yych != 'v') goto yy252;
1437         yych = (YYCTYPE)*++YYCURSOR;
1438         if (yych == 'e') goto yy525;
1439         goto yy252;
1440 yy514:
1441         yych = (YYCTYPE)*++YYCURSOR;
1442         if (yych != 'e') goto yy252;
1443         yych = (YYCTYPE)*++YYCURSOR;
1444         if (yych != 'n') goto yy252;
1445         yych = (YYCTYPE)*++YYCURSOR;
1446         if (yych != 's') goto yy252;
1447         yych = (YYCTYPE)*++YYCURSOR;
1448         if (yych != 'i') goto yy252;
1449         yych = (YYCTYPE)*++YYCURSOR;
1450         if (yych != 't') goto yy252;
1451         yych = (YYCTYPE)*++YYCURSOR;
1452         if (yych != 'i') goto yy252;
1453         yych = (YYCTYPE)*++YYCURSOR;
1454         if (yych != 'v') goto yy252;
1455         yych = (YYCTYPE)*++YYCURSOR;
1456         if (yych != 'e') goto yy252;
1457         yych = (YYCTYPE)*++YYCURSOR;
1458         if (yych >= 0x01) goto yy252;
1459         ++YYCURSOR;
1460 #line 143 "../src/conf/parse_opts.re"
1461         { opts.set_bCaseInsensitive (true);  goto opt; }
1462 #line 1463 "src/conf/parse_opts.cc"
1463 yy525:
1464         yych = (YYCTYPE)*++YYCURSOR;
1465         if (yych != 'r') goto yy252;
1466         yych = (YYCTYPE)*++YYCURSOR;
1467         if (yych != 't') goto yy252;
1468         yych = (YYCTYPE)*++YYCURSOR;
1469         if (yych != 'e') goto yy252;
1470         yych = (YYCTYPE)*++YYCURSOR;
1471         if (yych != 'd') goto yy252;
1472         yych = (YYCTYPE)*++YYCURSOR;
1473         if (yych >= 0x01) goto yy252;
1474         ++YYCURSOR;
1475 #line 144 "../src/conf/parse_opts.re"
1476         { opts.set_bCaseInverted (true);     goto opt; }
1477 #line 1478 "src/conf/parse_opts.cc"
1478 yy532:
1479         yych = (YYCTYPE)*++YYCURSOR;
1480         if (yych != 't') goto yy252;
1481         yych = (YYCTYPE)*++YYCURSOR;
1482         if (yych != '-') goto yy252;
1483         yych = (YYCTYPE)*++YYCURSOR;
1484         if (yych != 'v') goto yy252;
1485         yych = (YYCTYPE)*++YYCURSOR;
1486         if (yych != 'e') goto yy252;
1487         yych = (YYCTYPE)*++YYCURSOR;
1488         if (yych != 'c') goto yy252;
1489         yych = (YYCTYPE)*++YYCURSOR;
1490         if (yych != 't') goto yy252;
1491         yych = (YYCTYPE)*++YYCURSOR;
1492         if (yych != 'o') goto yy252;
1493         yych = (YYCTYPE)*++YYCURSOR;
1494         if (yych != 'r') goto yy252;
1495         yych = (YYCTYPE)*++YYCURSOR;
1496         if (yych != 's') goto yy252;
1497         yych = (YYCTYPE)*++YYCURSOR;
1498         if (yych >= 0x01) goto yy252;
1499         ++YYCURSOR;
1500 #line 132 "../src/conf/parse_opts.re"
1501         { opts.set_bFlag (true);             goto opt; }
1502 #line 1503 "src/conf/parse_opts.cc"
1503 }
1504 #line 157 "../src/conf/parse_opts.re"
1505
1506
1507 opt_output:
1508
1509 #line 1510 "src/conf/parse_opts.cc"
1510 {
1511         YYCTYPE yych;
1512         static const unsigned char yybm[] = {
1513                   0, 128, 128, 128, 128, 128, 128, 128, 
1514                 128, 128, 128, 128, 128, 128, 128, 128, 
1515                 128, 128, 128, 128, 128, 128, 128, 128, 
1516                 128, 128, 128, 128, 128, 128, 128, 128, 
1517                 128, 128, 128, 128, 128, 128, 128, 128, 
1518                 128, 128, 128, 128, 128, 128, 128, 128, 
1519                 128, 128, 128, 128, 128, 128, 128, 128, 
1520                 128, 128, 128, 128, 128, 128, 128, 128, 
1521                 128, 128, 128, 128, 128, 128, 128, 128, 
1522                 128, 128, 128, 128, 128, 128, 128, 128, 
1523                 128, 128, 128, 128, 128, 128, 128, 128, 
1524                 128, 128, 128, 128, 128, 128, 128, 128, 
1525                 128, 128, 128, 128, 128, 128, 128, 128, 
1526                 128, 128, 128, 128, 128, 128, 128, 128, 
1527                 128, 128, 128, 128, 128, 128, 128, 128, 
1528                 128, 128, 128, 128, 128, 128, 128, 128, 
1529                 128, 128, 128, 128, 128, 128, 128, 128, 
1530                 128, 128, 128, 128, 128, 128, 128, 128, 
1531                 128, 128, 128, 128, 128, 128, 128, 128, 
1532                 128, 128, 128, 128, 128, 128, 128, 128, 
1533                 128, 128, 128, 128, 128, 128, 128, 128, 
1534                 128, 128, 128, 128, 128, 128, 128, 128, 
1535                 128, 128, 128, 128, 128, 128, 128, 128, 
1536                 128, 128, 128, 128, 128, 128, 128, 128, 
1537                 128, 128, 128, 128, 128, 128, 128, 128, 
1538                 128, 128, 128, 128, 128, 128, 128, 128, 
1539                 128, 128, 128, 128, 128, 128, 128, 128, 
1540                 128, 128, 128, 128, 128, 128, 128, 128, 
1541                 128, 128, 128, 128, 128, 128, 128, 128, 
1542                 128, 128, 128, 128, 128, 128, 128, 128, 
1543                 128, 128, 128, 128, 128, 128, 128, 128, 
1544                 128, 128, 128, 128, 128, 128, 128, 128, 
1545         };
1546         yych = (YYCTYPE)*YYCURSOR;
1547         if (yych <= 0x00) goto yy546;
1548         if (yych != '-') goto yy548;
1549 yy546:
1550         ++YYCURSOR;
1551 #line 162 "../src/conf/parse_opts.re"
1552         {
1553                 error ("bad argument to option -o, --output: %s", *argv);
1554                 return EXIT_FAIL;
1555         }
1556 #line 1557 "src/conf/parse_opts.cc"
1557 yy548:
1558         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1559         goto yy550;
1560 yy549:
1561         ++YYCURSOR;
1562         yych = (YYCTYPE)*YYCURSOR;
1563 yy550:
1564         if (yybm[0+yych] & 128) {
1565                 goto yy549;
1566         }
1567         ++YYCURSOR;
1568 #line 166 "../src/conf/parse_opts.re"
1569         { if (!opts.output (*argv)) return EXIT_FAIL; goto opt; }
1570 #line 1571 "src/conf/parse_opts.cc"
1571 }
1572 #line 167 "../src/conf/parse_opts.re"
1573
1574
1575 opt_header:
1576
1577 #line 1578 "src/conf/parse_opts.cc"
1578 {
1579         YYCTYPE yych;
1580         static const unsigned char yybm[] = {
1581                   0, 128, 128, 128, 128, 128, 128, 128, 
1582                 128, 128, 128, 128, 128, 128, 128, 128, 
1583                 128, 128, 128, 128, 128, 128, 128, 128, 
1584                 128, 128, 128, 128, 128, 128, 128, 128, 
1585                 128, 128, 128, 128, 128, 128, 128, 128, 
1586                 128, 128, 128, 128, 128, 128, 128, 128, 
1587                 128, 128, 128, 128, 128, 128, 128, 128, 
1588                 128, 128, 128, 128, 128, 128, 128, 128, 
1589                 128, 128, 128, 128, 128, 128, 128, 128, 
1590                 128, 128, 128, 128, 128, 128, 128, 128, 
1591                 128, 128, 128, 128, 128, 128, 128, 128, 
1592                 128, 128, 128, 128, 128, 128, 128, 128, 
1593                 128, 128, 128, 128, 128, 128, 128, 128, 
1594                 128, 128, 128, 128, 128, 128, 128, 128, 
1595                 128, 128, 128, 128, 128, 128, 128, 128, 
1596                 128, 128, 128, 128, 128, 128, 128, 128, 
1597                 128, 128, 128, 128, 128, 128, 128, 128, 
1598                 128, 128, 128, 128, 128, 128, 128, 128, 
1599                 128, 128, 128, 128, 128, 128, 128, 128, 
1600                 128, 128, 128, 128, 128, 128, 128, 128, 
1601                 128, 128, 128, 128, 128, 128, 128, 128, 
1602                 128, 128, 128, 128, 128, 128, 128, 128, 
1603                 128, 128, 128, 128, 128, 128, 128, 128, 
1604                 128, 128, 128, 128, 128, 128, 128, 128, 
1605                 128, 128, 128, 128, 128, 128, 128, 128, 
1606                 128, 128, 128, 128, 128, 128, 128, 128, 
1607                 128, 128, 128, 128, 128, 128, 128, 128, 
1608                 128, 128, 128, 128, 128, 128, 128, 128, 
1609                 128, 128, 128, 128, 128, 128, 128, 128, 
1610                 128, 128, 128, 128, 128, 128, 128, 128, 
1611                 128, 128, 128, 128, 128, 128, 128, 128, 
1612                 128, 128, 128, 128, 128, 128, 128, 128, 
1613         };
1614         yych = (YYCTYPE)*YYCURSOR;
1615         if (yych <= 0x00) goto yy555;
1616         if (yych != '-') goto yy557;
1617 yy555:
1618         ++YYCURSOR;
1619 #line 172 "../src/conf/parse_opts.re"
1620         {
1621                 error ("bad argument to option -t, --type-header: %s", *argv);
1622                 return EXIT_FAIL;
1623         }
1624 #line 1625 "src/conf/parse_opts.cc"
1625 yy557:
1626         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1627         goto yy559;
1628 yy558:
1629         ++YYCURSOR;
1630         yych = (YYCTYPE)*YYCURSOR;
1631 yy559:
1632         if (yybm[0+yych] & 128) {
1633                 goto yy558;
1634         }
1635         ++YYCURSOR;
1636 #line 176 "../src/conf/parse_opts.re"
1637         { opts.set_header_file (*argv); goto opt; }
1638 #line 1639 "src/conf/parse_opts.cc"
1639 }
1640 #line 177 "../src/conf/parse_opts.re"
1641
1642
1643 opt_encoding_policy:
1644         if (!next (YYCURSOR, argv))
1645         {
1646                 error_arg ("--encoding-policy");
1647                 return EXIT_FAIL;
1648         }
1649
1650 #line 1651 "src/conf/parse_opts.cc"
1651 {
1652         YYCTYPE yych;
1653         yych = (YYCTYPE)*YYCURSOR;
1654         if (yych <= 'h') {
1655                 if (yych == 'f') goto yy566;
1656         } else {
1657                 if (yych <= 'i') goto yy567;
1658                 if (yych == 's') goto yy568;
1659         }
1660         ++YYCURSOR;
1661 yy565:
1662 #line 187 "../src/conf/parse_opts.re"
1663         {
1664                 error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv);
1665                 return EXIT_FAIL;
1666         }
1667 #line 1668 "src/conf/parse_opts.cc"
1668 yy566:
1669         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1670         if (yych == 'a') goto yy588;
1671         goto yy565;
1672 yy567:
1673         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1674         if (yych == 'g') goto yy581;
1675         goto yy565;
1676 yy568:
1677         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1678         if (yych != 'u') goto yy565;
1679         yych = (YYCTYPE)*++YYCURSOR;
1680         if (yych == 'b') goto yy571;
1681 yy570:
1682         YYCURSOR = YYMARKER;
1683         goto yy565;
1684 yy571:
1685         yych = (YYCTYPE)*++YYCURSOR;
1686         if (yych != 's') goto yy570;
1687         yych = (YYCTYPE)*++YYCURSOR;
1688         if (yych != 't') goto yy570;
1689         yych = (YYCTYPE)*++YYCURSOR;
1690         if (yych != 'i') goto yy570;
1691         yych = (YYCTYPE)*++YYCURSOR;
1692         if (yych != 't') goto yy570;
1693         yych = (YYCTYPE)*++YYCURSOR;
1694         if (yych != 'u') goto yy570;
1695         yych = (YYCTYPE)*++YYCURSOR;
1696         if (yych != 't') goto yy570;
1697         yych = (YYCTYPE)*++YYCURSOR;
1698         if (yych != 'e') goto yy570;
1699         yych = (YYCTYPE)*++YYCURSOR;
1700         if (yych >= 0x01) goto yy570;
1701         ++YYCURSOR;
1702 #line 192 "../src/conf/parse_opts.re"
1703         { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; }
1704 #line 1705 "src/conf/parse_opts.cc"
1705 yy581:
1706         yych = (YYCTYPE)*++YYCURSOR;
1707         if (yych != 'n') goto yy570;
1708         yych = (YYCTYPE)*++YYCURSOR;
1709         if (yych != 'o') goto yy570;
1710         yych = (YYCTYPE)*++YYCURSOR;
1711         if (yych != 'r') goto yy570;
1712         yych = (YYCTYPE)*++YYCURSOR;
1713         if (yych != 'e') goto yy570;
1714         yych = (YYCTYPE)*++YYCURSOR;
1715         if (yych >= 0x01) goto yy570;
1716         ++YYCURSOR;
1717 #line 191 "../src/conf/parse_opts.re"
1718         { opts.set_encoding_policy (Enc::POLICY_IGNORE);     goto opt; }
1719 #line 1720 "src/conf/parse_opts.cc"
1720 yy588:
1721         yych = (YYCTYPE)*++YYCURSOR;
1722         if (yych != 'i') goto yy570;
1723         yych = (YYCTYPE)*++YYCURSOR;
1724         if (yych != 'l') goto yy570;
1725         yych = (YYCTYPE)*++YYCURSOR;
1726         if (yych >= 0x01) goto yy570;
1727         ++YYCURSOR;
1728 #line 193 "../src/conf/parse_opts.re"
1729         { opts.set_encoding_policy (Enc::POLICY_FAIL);       goto opt; }
1730 #line 1731 "src/conf/parse_opts.cc"
1731 }
1732 #line 194 "../src/conf/parse_opts.re"
1733
1734
1735 opt_input:
1736         if (!next (YYCURSOR, argv))
1737         {
1738                 error_arg ("--input");
1739                 return EXIT_FAIL;
1740         }
1741
1742 #line 1743 "src/conf/parse_opts.cc"
1743 {
1744         YYCTYPE yych;
1745         yych = (YYCTYPE)*YYCURSOR;
1746         if (yych <= 'b') goto yy595;
1747         if (yych <= 'c') goto yy597;
1748         if (yych <= 'd') goto yy598;
1749 yy595:
1750         ++YYCURSOR;
1751 yy596:
1752 #line 204 "../src/conf/parse_opts.re"
1753         {
1754                 error ("bad argument to option --input (expected: default | custom): %s", *argv);
1755                 return EXIT_FAIL;
1756         }
1757 #line 1758 "src/conf/parse_opts.cc"
1758 yy597:
1759         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1760         if (yych == 'u') goto yy608;
1761         goto yy596;
1762 yy598:
1763         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1764         if (yych != 'e') goto yy596;
1765         yych = (YYCTYPE)*++YYCURSOR;
1766         if (yych == 'f') goto yy601;
1767 yy600:
1768         YYCURSOR = YYMARKER;
1769         goto yy596;
1770 yy601:
1771         yych = (YYCTYPE)*++YYCURSOR;
1772         if (yych != 'a') goto yy600;
1773         yych = (YYCTYPE)*++YYCURSOR;
1774         if (yych != 'u') goto yy600;
1775         yych = (YYCTYPE)*++YYCURSOR;
1776         if (yych != 'l') goto yy600;
1777         yych = (YYCTYPE)*++YYCURSOR;
1778         if (yych != 't') goto yy600;
1779         yych = (YYCTYPE)*++YYCURSOR;
1780         if (yych >= 0x01) goto yy600;
1781         ++YYCURSOR;
1782 #line 208 "../src/conf/parse_opts.re"
1783         { opts.set_input_api (InputAPI::DEFAULT); goto opt; }
1784 #line 1785 "src/conf/parse_opts.cc"
1785 yy608:
1786         yych = (YYCTYPE)*++YYCURSOR;
1787         if (yych != 's') goto yy600;
1788         yych = (YYCTYPE)*++YYCURSOR;
1789         if (yych != 't') goto yy600;
1790         yych = (YYCTYPE)*++YYCURSOR;
1791         if (yych != 'o') goto yy600;
1792         yych = (YYCTYPE)*++YYCURSOR;
1793         if (yych != 'm') goto yy600;
1794         yych = (YYCTYPE)*++YYCURSOR;
1795         if (yych >= 0x01) goto yy600;
1796         ++YYCURSOR;
1797 #line 209 "../src/conf/parse_opts.re"
1798         { opts.set_input_api (InputAPI::CUSTOM);  goto opt; }
1799 #line 1800 "src/conf/parse_opts.cc"
1800 }
1801 #line 210 "../src/conf/parse_opts.re"
1802
1803
1804 opt_empty_class:
1805         if (!next (YYCURSOR, argv))
1806         {
1807                 error_arg ("--empty-class");
1808                 return EXIT_FAIL;
1809         }
1810
1811 #line 1812 "src/conf/parse_opts.cc"
1812 {
1813         YYCTYPE yych;
1814         yych = (YYCTYPE)*YYCURSOR;
1815         if (yych == 'e') goto yy619;
1816         if (yych == 'm') goto yy620;
1817         ++YYCURSOR;
1818 yy618:
1819 #line 220 "../src/conf/parse_opts.re"
1820         {
1821                 error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv);
1822                 return EXIT_FAIL;
1823         }
1824 #line 1825 "src/conf/parse_opts.cc"
1825 yy619:
1826         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1827         if (yych == 'r') goto yy640;
1828         goto yy618;
1829 yy620:
1830         yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
1831         if (yych != 'a') goto yy618;
1832         yych = (YYCTYPE)*++YYCURSOR;
1833         if (yych == 't') goto yy623;
1834 yy622:
1835         YYCURSOR = YYMARKER;
1836         goto yy618;
1837 yy623:
1838         yych = (YYCTYPE)*++YYCURSOR;
1839         if (yych != 'c') goto yy622;
1840         yych = (YYCTYPE)*++YYCURSOR;
1841         if (yych != 'h') goto yy622;
1842         yych = (YYCTYPE)*++YYCURSOR;
1843         if (yych != '-') goto yy622;
1844         yych = (YYCTYPE)*++YYCURSOR;
1845         if (yych == 'e') goto yy627;
1846         if (yych == 'n') goto yy628;
1847         goto yy622;
1848 yy627:
1849         yych = (YYCTYPE)*++YYCURSOR;
1850         if (yych == 'm') goto yy634;
1851         goto yy622;
1852 yy628:
1853         yych = (YYCTYPE)*++YYCURSOR;
1854         if (yych != 'o') goto yy622;
1855         yych = (YYCTYPE)*++YYCURSOR;
1856         if (yych != 'n') goto yy622;
1857         yych = (YYCTYPE)*++YYCURSOR;
1858         if (yych != 'e') goto yy622;
1859         yych = (YYCTYPE)*++YYCURSOR;
1860         if (yych >= 0x01) goto yy622;
1861         ++YYCURSOR;
1862 #line 225 "../src/conf/parse_opts.re"
1863         { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE);  goto opt; }
1864 #line 1865 "src/conf/parse_opts.cc"
1865 yy634:
1866         yych = (YYCTYPE)*++YYCURSOR;
1867         if (yych != 'p') goto yy622;
1868         yych = (YYCTYPE)*++YYCURSOR;
1869         if (yych != 't') goto yy622;
1870         yych = (YYCTYPE)*++YYCURSOR;
1871         if (yych != 'y') goto yy622;
1872         yych = (YYCTYPE)*++YYCURSOR;
1873         if (yych >= 0x01) goto yy622;
1874         ++YYCURSOR;
1875 #line 224 "../src/conf/parse_opts.re"
1876         { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; }
1877 #line 1878 "src/conf/parse_opts.cc"
1878 yy640:
1879         yych = (YYCTYPE)*++YYCURSOR;
1880         if (yych != 'r') goto yy622;
1881         yych = (YYCTYPE)*++YYCURSOR;
1882         if (yych != 'o') goto yy622;
1883         yych = (YYCTYPE)*++YYCURSOR;
1884         if (yych != 'r') goto yy622;
1885         yych = (YYCTYPE)*++YYCURSOR;
1886         if (yych >= 0x01) goto yy622;
1887         ++YYCURSOR;
1888 #line 226 "../src/conf/parse_opts.re"
1889         { opts.set_empty_class_policy (EMPTY_CLASS_ERROR);       goto opt; }
1890 #line 1891 "src/conf/parse_opts.cc"
1891 }
1892 #line 227 "../src/conf/parse_opts.re"
1893
1894
1895 end:
1896         if (!opts.source_file)
1897         {
1898                 error ("no source file");
1899                 return EXIT_FAIL;
1900         }
1901
1902         return OK;
1903
1904 #undef YYCTYPE
1905 }
1906
1907 } // namespace re2c