Volksdata 1.0b7
RDF library
Loading...
Searching...
No Matches
parser_ttl.c
Go to the documentation of this file.
1/* Generated by re2c 4.5.1 on Fri Apr 24 21:46:29 2026 */
2#line 1 "lexer_ttl.re"
5
6#line 1 "../../include/volksdata/codec/parser_common.h"
12#ifndef VOLK_PARSER_COMMON_H
13#define VOLK_PARSER_COMMON_H
14
16
17
25#define YYCTYPE uint8_t
26#define YYCURSOR it->cur
27#define YYMARKER it->mar
28#define YYLIMIT it->lim
29#define YYFILL fill(it) == 0
30
31
32typedef struct parse_it_t {
33 FILE * fh;
34 const char * sh;
35 size_t buf_size;
36 YYCTYPE * buf,
37 * lim,
39 * cur,
40 * mar,
41 * tok,
42 * bol;
44 unsigned line;
45 unsigned ct;
46 bool eof;
47
48#line 49 "parser_ttl.c"
49#line 41 "../../include/volksdata/codec/parser_common.h"
50
52
53
54static inline void newline (ParseIterator *it) {
55 it->line ++;
56 it->bol = YYCURSOR;
57 log_trace ("New line: #%u.", it->line);
58}
59
60
61static int fill(ParseIterator *it);
62
63
73static void parse_init (ParseIterator *it, FILE *fh, const char *sh)
74{
75 if(fh) {
76 // Stream handling. It engages YYFILL and reads by chunks.
77 it->fh = fh;
78 it->sh = NULL;
79 it->buf_size = CHUNK_SIZE;
80 it->buf = malloc(it->buf_size);
81 if (!it->buf) log_error ("Error allocating lexer buffer.");
82 it->cur = it->mar = it->tok = it->lim = it->buf + it->buf_size - 1;
83 it->bol = it->buf;
84 it->eof = false;
85 it->lim[0] = 0;
86 } else {
87 // String handling. Uses the provided string as the buffer.
88 it->fh = NULL;
89 it->sh = sh;
90 it->buf_size = strlen(sh) + 1;
91 it->buf = NULL;
92 it->cur = it->tok = (YYCTYPE*)it->sh;
93 it->lim = it->mar = it->cur + it->buf_size - 1;
94 it->bol = it->cur;
95 it->eof = true;
96 }
97 it->line = 1;
98 it->ct = 0;
99
100#line 101 "parser_ttl.c"
101#line 90 "../../include/volksdata/codec/parser_common.h"
102
103}
104
105
106int
107fill(ParseIterator *it)
108{
109 log_debug ("Filling codec buffer @ %p.", it->buf);
110 if (it->eof) return 1;
111
112 size_t shift = it->tok - it->buf;
113 size_t used = it->lim - it->tok;
114
115 // If buffer is too small for the lexeme, double the capacity.
116 if (shift < 1) {
117 shift += it->buf_size;
118 it->buf_size *= 2;
119 // Store offsets to reapply to moved buffer.
120 size_t
121 cur_off = it->cur - it->buf,
122 tok_off = it->tok - it->buf,
123 lim_off = it->lim - it->buf,
124 mar_off = it->mar - it->buf;
125
126 log_debug ("Reallocating buffer to %zu bytes.", it->buf_size);
127 YYCTYPE *tmp = realloc (it->buf, it->buf_size);
128 if (!tmp) {
129 log_error ("Memory allocation error.");
130 return -1;
131 }
132 it->buf = tmp;
133 // Move all relative points if address changed.
134 it->cur = it->buf + cur_off;
135 it->tok = it->buf + tok_off;
136 it->lim = it->buf + lim_off;
137 it->mar = it->buf + mar_off;
138 } else {
139 log_debug ("Shifting bytes: %zu", shift);
140 memmove (it->buf, it->tok, used);
141 log_trace ("Limit offset before reading data: %zu", it->lim - it->tok);
142 it->lim -= shift;
143 it->cur -= shift;
144 it->mar -= shift;
145 it->tok -= shift;
146 }
147 it->lim += fread (it->lim, 1, it->buf_size - used - 1, it->fh);
148
149#line 150 "parser_ttl.c"
150#line 136 "../../include/volksdata/codec/parser_common.h"
151
152 log_trace ("Cursor offset from last token: %zu", it->cur - it->tok);
153 log_trace ("Limit offset from last token: %zu", it->lim - it->tok);
154 it->lim[0] = 0;
155 it->eof = it->lim < it->buf + it->buf_size - 1;
156 return 0;
157}
158
159
160#endif // VOLK_PARSER_COMMON_H
161#line 4 "lexer_ttl.re"
162
163
164typedef struct {
165 YYCTYPE * data;
166 size_t size;
168
169
170// Parser interface. Required here to silence linters.
172void TTLParse();
174#ifdef VOLK_CODEC_DEBUG
175void TTLParseTrace();
176#endif
177
178// Lexer.
179
180static int ttl_lex (ParseIterator *it, YYCTYPE **token_p)
181{
182 //const YYCTYPE *pfx;
183
184 #line 37 "lexer_ttl.re"
185
186
187loop: // Start new token.
188 it->tok = it->cur;
189
190 *token_p = NULL;
191
192
193#line 194 "parser_ttl.c"
194{
195 YYCTYPE yych;
196 unsigned int yyaccept = 0;
197yyFillLabel0:
198 yych = *YYCURSOR;
199 switch (yych) {
200 case '\t':
201 case ' ': goto yy3;
202 case '\n':
203 case '\r': goto yy5;
204 case '"': goto yy7;
205 case '#': goto yy8;
206 case '\'': goto yy10;
207 case '(': goto yy11;
208 case ')': goto yy13;
209 case '+':
210 case '-': goto yy14;
211 case ',': goto yy15;
212 case '.': goto yy17;
213 case '0' ... '9': goto yy19;
214 case ':': goto yy21;
215 case ';': goto yy23;
216 case '<': goto yy25;
217 case '@': goto yy26;
218 case 'A':
219 case 'C' ... 'O':
220 case 'Q' ... 'Z':
221 case 'c' ... 'e':
222 case 'g' ... 'o':
223 case 'q' ... 's':
224 case 'u' ... 'z': goto yy27;
225 case 'B':
226 case 'b': goto yy28;
227 case 'P':
228 case 'p': goto yy29;
229 case '[': goto yy30;
230 case ']': goto yy32;
231 case '^': goto yy33;
232 case '_': goto yy34;
233 case 'a': goto yy35;
234 case 'f': goto yy37;
235 case 't': goto yy38;
236 case 0xC3: goto yy39;
237 case 0xC4 ... 0xCB:
238 case 0xCE ... 0xDF: goto yy40;
239 case 0xCD: goto yy41;
240 case 0xE0: goto yy42;
241 case 0xE1:
242 case 0xE4 ... 0xEC: goto yy43;
243 case 0xE2: goto yy44;
244 case 0xE3: goto yy45;
245 case 0xED: goto yy46;
246 case 0xEF: goto yy47;
247 case 0xF0: goto yy48;
248 case 0xF1 ... 0xF2: goto yy49;
249 case 0xF3: goto yy50;
250 default:
251 if (YYLIMIT <= YYCURSOR) {
252 if (YYFILL) goto yyFillLabel0;
253 goto yy316;
254 }
255 goto yy1;
256 }
257yy1:
258 ++YYCURSOR;
259yy2:
260#line 163 "ttl_action_def.re.inc"
261 {
262 log_warn (
263 "Invalid token @ %lu: %s (\\x%x)",
264 YYCURSOR - it->buf - 1, it->tok, *it->tok);
265
266 return -1;
267}
268#line 269 "parser_ttl.c"
269yy3:
270 ++YYCURSOR;
271yyFillLabel1:
272 yych = *YYCURSOR;
273 switch (yych) {
274 case '\t' ... '\n':
275 case '\r':
276 case ' ': goto yy3;
277 case '#': goto yy51;
278 case ')': goto yy13;
279 case ',': goto yy15;
280 case '.': goto yy52;
281 case ';': goto yy23;
282 case ']': goto yy32;
283 default:
284 if (YYLIMIT <= YYCURSOR) {
285 if (YYFILL) goto yyFillLabel1;
286 }
287 goto yy4;
288 }
289yy4:
290#line 65 "ttl_action_def.re.inc"
291 {
292 uint8_t *ws = uint8_ndup (it->tok, YYCURSOR - it->tok);
293 log_trace ("Whitespace: '%s'", ws);
294 // Count newlines in mixed whitespace.
295 // That's not great because it scans through the whole whitespace again
296 // but it's the simplest and safest.
297 for (size_t i = 0; i < strlen ((char *)ws); i++)
298 if (ws[i] == '\n' || ws[i] == '\r') newline (it);
299 free (ws);
300
301 return T_WS;
302}
303#line 304 "parser_ttl.c"
304yy5:
305 ++YYCURSOR;
306yyFillLabel2:
307 yych = *YYCURSOR;
308 switch (yych) {
309 case '\t' ... '\n':
310 case '\r':
311 case ' ': goto yy3;
312 case '#': goto yy51;
313 case ')': goto yy13;
314 case ',': goto yy15;
315 case '.': goto yy52;
316 case ';': goto yy23;
317 case ']': goto yy32;
318 default:
319 if (YYLIMIT <= YYCURSOR) {
320 if (YYFILL) goto yyFillLabel2;
321 }
322 goto yy6;
323 }
324yy6:
325#line 60 "ttl_action_def.re.inc"
326 {
327 newline (it);
328 goto loop;
329}
330#line 331 "parser_ttl.c"
331yy7:
332 yyaccept = 0;
333 YYMARKER = ++YYCURSOR;
334yyFillLabel3:
335 yych = *YYCURSOR;
336 switch (yych) {
337 case 0x00:
338 if (YYLIMIT <= YYCURSOR) {
339 if (YYFILL) goto yyFillLabel3;
340 goto yy2;
341 }
342 goto yy53;
343 case 0x01 ... '\t':
344 case '\v' ... '\f':
345 case 0x0E ... '!':
346 case '#' ... 0x7F:
347 case 0xC2 ... 0xF4: goto yy54;
348 case '"': goto yy56;
349 default: goto yy2;
350 }
351yy8:
352 yyaccept = 1;
353 YYMARKER = ++YYCURSOR;
354yyFillLabel4:
355 yych = *YYCURSOR;
356 switch (yych) {
357 case 0x00:
358 case 0x01 ... '\t':
359 case '\v' ... '\f':
360 case 0x0E ... 0x7F:
361 if (YYLIMIT <= YYCURSOR) {
362 if (YYFILL) goto yyFillLabel4;
363 goto yy9;
364 }
365 goto yy8;
366 case '\n':
367 case '\r': goto yy3;
368 case 0xC2 ... 0xDF: goto yy65;
369 case 0xE0: goto yy66;
370 case 0xE1 ... 0xEF: goto yy67;
371 case 0xF0: goto yy68;
372 case 0xF1 ... 0xF3: goto yy69;
373 case 0xF4: goto yy70;
374 default: goto yy9;
375 }
376yy9:
377#line 55 "ttl_action_def.re.inc"
378 {
379 log_trace ("Comment: `%s`", it->tok);
380 goto loop;
381}
382#line 383 "parser_ttl.c"
383yy10:
384 yyaccept = 0;
385 YYMARKER = ++YYCURSOR;
386yyFillLabel5:
387 yych = *YYCURSOR;
388 switch (yych) {
389 case 0x00:
390 if (YYLIMIT <= YYCURSOR) {
391 if (YYFILL) goto yyFillLabel5;
392 goto yy2;
393 }
394 goto yy71;
395 case 0x01 ... '\t':
396 case '\v' ... '\f':
397 case 0x0E ... '&':
398 case '(' ... 0x7F:
399 case 0xC2 ... 0xF4: goto yy72;
400 case '\'': goto yy73;
401 default: goto yy2;
402 }
403yy11:
404 ++YYCURSOR;
405yyFillLabel6:
406 yych = *YYCURSOR;
407 switch (yych) {
408 case '\t' ... '\n':
409 case '\r':
410 case ' ': goto yy11;
411 case '#': goto yy81;
412 default:
413 if (YYLIMIT <= YYCURSOR) {
414 if (YYFILL) goto yyFillLabel6;
415 }
416 goto yy12;
417 }
418yy12:
419#line 127 "ttl_action_def.re.inc"
420 { return T_LPAREN; }
421#line 422 "parser_ttl.c"
422yy13:
423 ++YYCURSOR;
424#line 129 "ttl_action_def.re.inc"
425 { return T_RPAREN; }
426#line 427 "parser_ttl.c"
427yy14:
428 yyaccept = 0;
429 YYMARKER = ++YYCURSOR;
430yyFillLabel7:
431 yych = *YYCURSOR;
432 switch (yych) {
433 case '.': goto yy82;
434 case '0' ... '9': goto yy83;
435 default:
436 if (YYLIMIT <= YYCURSOR) {
437 if (YYFILL) goto yyFillLabel7;
438 }
439 goto yy2;
440 }
441yy15:
442 ++YYCURSOR;
443yyFillLabel8:
444 yych = *YYCURSOR;
445 switch (yych) {
446 case '\t' ... '\n':
447 case '\r':
448 case ' ': goto yy15;
449 case '#': goto yy84;
450 default:
451 if (YYLIMIT <= YYCURSOR) {
452 if (YYFILL) goto yyFillLabel8;
453 }
454 goto yy16;
455 }
456yy16:
457#line 143 "ttl_action_def.re.inc"
458 { return T_COMMA; }
459#line 460 "parser_ttl.c"
460yy17:
461 ++YYCURSOR;
462yyFillLabel9:
463 yych = *YYCURSOR;
464 switch (yych) {
465 case '0' ... '9': goto yy85;
466 default:
467 if (YYLIMIT <= YYCURSOR) {
468 if (YYFILL) goto yyFillLabel9;
469 }
470 goto yy18;
471 }
472yy18:
473#line 145 "ttl_action_def.re.inc"
474 {
475 log_trace ("End of statement #%u.", it->ct);
476 it->ct++;
477 return T_PERIOD;
478}
479#line 480 "parser_ttl.c"
480yy19:
481 yyaccept = 2;
482 YYMARKER = ++YYCURSOR;
483yyFillLabel10:
484 yych = *YYCURSOR;
485 switch (yych) {
486 case '.': goto yy85;
487 case '0' ... '9': goto yy19;
488 case 'E':
489 case 'e': goto yy87;
490 default:
491 if (YYLIMIT <= YYCURSOR) {
492 if (YYFILL) goto yyFillLabel10;
493 }
494 goto yy20;
495 }
496yy20:
497#line 85 "ttl_action_def.re.inc"
498 {
499 // Normalize sign.
500 size_t offset = *it->tok == '+' ? 1 : 0;
501
502 *token_p = uint8_ndup (it->tok + offset, YYCURSOR - it->tok - offset);
503 log_trace ("Integer: %s", *token_p);
504
505 return T_INTEGER;
506}
507#line 508 "parser_ttl.c"
508yy21:
509 yyaccept = 3;
510 YYMARKER = ++YYCURSOR;
511yyFillLabel11:
512 yych = *YYCURSOR;
513 switch (yych) {
514 case '%':
515 case '0' ... ':':
516 case 'A' ... 'Z':
517 case '\\':
518 case '_':
519 case 'a' ... 'z':
520 case 0xC3 ... 0xCB:
521 case 0xCE ... 0xE1:
522 case 0xE3 ... 0xED:
523 case 0xEF ... 0xF3: goto yy90;
524 case 0xCD: goto yy95;
525 case 0xE2: goto yy98;
526 default:
527 if (YYLIMIT <= YYCURSOR) {
528 if (YYFILL) goto yyFillLabel11;
529 }
530 goto yy22;
531 }
532yy22:
533#line 35 "ttl_action_def.re.inc"
534 {
535 *token_p = uint8_ndup (it->tok, YYCURSOR - it->tok - 1);
536 log_trace ("Prefix declaration: '%s'", *token_p);
537
538 return T_PFX_DECL;
539}
540#line 541 "parser_ttl.c"
541yy23:
542 ++YYCURSOR;
543yyFillLabel12:
544 yych = *YYCURSOR;
545 switch (yych) {
546 case '\t' ... '\n':
547 case '\r':
548 case ' ': goto yy23;
549 case '#': goto yy105;
550 default:
551 if (YYLIMIT <= YYCURSOR) {
552 if (YYFILL) goto yyFillLabel12;
553 }
554 goto yy24;
555 }
556yy24:
557#line 137 "ttl_action_def.re.inc"
558 {
559 log_trace ("End of object list.");
560
561 return T_SEMICOLON;
562}
563#line 564 "parser_ttl.c"
564yy25:
565 yyaccept = 0;
566 YYMARKER = ++YYCURSOR;
567yyFillLabel13:
568 yych = *YYCURSOR;
569 switch (yych) {
570 case '!':
571 case '#' ... ';':
572 case '=' ... ']':
573 case '_':
574 case 'a' ... 'z':
575 case '~' ... 0x7F:
576 case 0xC2 ... 0xF4: goto yy107;
577 default:
578 if (YYLIMIT <= YYCURSOR) {
579 if (YYFILL) goto yyFillLabel13;
580 }
581 goto yy2;
582 }
583yy26:
584 ++YYCURSOR;
585yyFillLabel14:
586 yych = *YYCURSOR;
587 switch (yych) {
588 case 'A' ... 'Z':
589 case 'a':
590 case 'c' ... 'o':
591 case 'q' ... 'z': goto yy116;
592 case 'b': goto yy119;
593 case 'p': goto yy120;
594 default:
595 if (YYLIMIT <= YYCURSOR) {
596 if (YYFILL) goto yyFillLabel14;
597 }
598 goto yy2;
599 }
600yy27:
601 yyaccept = 0;
602 YYMARKER = ++YYCURSOR;
603yyFillLabel15:
604 yych = *YYCURSOR;
605 switch (yych) {
606 case '-' ... '.':
607 case '0' ... ':':
608 case 'A' ... 'Z':
609 case '_':
610 case 'a' ... 'z':
611 case 0xC2 ... 0xED:
612 case 0xEF ... 0xF3: goto yy122;
613 default:
614 if (YYLIMIT <= YYCURSOR) {
615 if (YYFILL) goto yyFillLabel15;
616 }
617 goto yy2;
618 }
619yy28:
620 yyaccept = 0;
621 YYMARKER = ++YYCURSOR;
622yyFillLabel16:
623 yych = *YYCURSOR;
624 switch (yych) {
625 case '-' ... '.':
626 case '0' ... ':':
627 case 'B' ... 'Z':
628 case '_':
629 case 'b' ... 'z':
630 case 0xC2 ... 0xED:
631 case 0xEF ... 0xF3: goto yy122;
632 case 'A':
633 case 'a': goto yy137;
634 default:
635 if (YYLIMIT <= YYCURSOR) {
636 if (YYFILL) goto yyFillLabel16;
637 }
638 goto yy2;
639 }
640yy29:
641 yyaccept = 0;
642 YYMARKER = ++YYCURSOR;
643yyFillLabel17:
644 yych = *YYCURSOR;
645 switch (yych) {
646 case '-' ... '.':
647 case '0' ... ':':
648 case 'A' ... 'Q':
649 case 'S' ... 'Z':
650 case '_':
651 case 'a' ... 'q':
652 case 's' ... 'z':
653 case 0xC2 ... 0xED:
654 case 0xEF ... 0xF3: goto yy122;
655 case 'R':
656 case 'r': goto yy138;
657 default:
658 if (YYLIMIT <= YYCURSOR) {
659 if (YYFILL) goto yyFillLabel17;
660 }
661 goto yy2;
662 }
663yy30:
664 ++YYCURSOR;
665yyFillLabel18:
666 yych = *YYCURSOR;
667 switch (yych) {
668 case '\t' ... '\n':
669 case '\r':
670 case ' ': goto yy30;
671 case '#': goto yy139;
672 case ']': goto yy140;
673 default:
674 if (YYLIMIT <= YYCURSOR) {
675 if (YYFILL) goto yyFillLabel18;
676 }
677 goto yy31;
678 }
679yy31:
680#line 133 "ttl_action_def.re.inc"
681 { return T_LBRACKET; }
682#line 683 "parser_ttl.c"
683yy32:
684 ++YYCURSOR;
685#line 135 "ttl_action_def.re.inc"
686 { return T_RBRACKET; }
687#line 688 "parser_ttl.c"
688yy33:
689 ++YYCURSOR;
690yyFillLabel19:
691 yych = *YYCURSOR;
692 switch (yych) {
693 case '^': goto yy142;
694 default:
695 if (YYLIMIT <= YYCURSOR) {
696 if (YYFILL) goto yyFillLabel19;
697 }
698 goto yy2;
699 }
700yy34:
701 yyaccept = 0;
702 YYMARKER = ++YYCURSOR;
703yyFillLabel20:
704 yych = *YYCURSOR;
705 switch (yych) {
706 case ':': goto yy143;
707 default:
708 if (YYLIMIT <= YYCURSOR) {
709 if (YYFILL) goto yyFillLabel20;
710 }
711 goto yy2;
712 }
713yy35:
714 yyaccept = 4;
715 YYMARKER = ++YYCURSOR;
716yyFillLabel21:
717 yych = *YYCURSOR;
718 switch (yych) {
719 case '-' ... '.':
720 case '0' ... ':':
721 case 'A' ... 'Z':
722 case '_':
723 case 'a' ... 'z':
724 case 0xC2 ... 0xED:
725 case 0xEF ... 0xF3: goto yy122;
726 default:
727 if (YYLIMIT <= YYCURSOR) {
728 if (YYFILL) goto yyFillLabel21;
729 }
730 goto yy36;
731 }
732yy36:
733#line 153 "ttl_action_def.re.inc"
734 {
735 log_trace ("RDF type shorthand 'a'.");
736 return T_RDF_TYPE;
737}
738#line 739 "parser_ttl.c"
739yy37:
740 yyaccept = 0;
741 YYMARKER = ++YYCURSOR;
742yyFillLabel22:
743 yych = *YYCURSOR;
744 switch (yych) {
745 case '-' ... '.':
746 case '0' ... ':':
747 case 'A' ... 'Z':
748 case '_':
749 case 'b' ... 'z':
750 case 0xC2 ... 0xED:
751 case 0xEF ... 0xF3: goto yy122;
752 case 'a': goto yy144;
753 default:
754 if (YYLIMIT <= YYCURSOR) {
755 if (YYFILL) goto yyFillLabel22;
756 }
757 goto yy2;
758 }
759yy38:
760 yyaccept = 0;
761 YYMARKER = ++YYCURSOR;
762yyFillLabel23:
763 yych = *YYCURSOR;
764 switch (yych) {
765 case '-' ... '.':
766 case '0' ... ':':
767 case 'A' ... 'Z':
768 case '_':
769 case 'a' ... 'q':
770 case 's' ... 'z':
771 case 0xC2 ... 0xED:
772 case 0xEF ... 0xF3: goto yy122;
773 case 'r': goto yy145;
774 default:
775 if (YYLIMIT <= YYCURSOR) {
776 if (YYFILL) goto yyFillLabel23;
777 }
778 goto yy2;
779 }
780yy39:
781 yyaccept = 0;
782 YYMARKER = ++YYCURSOR;
783yyFillLabel24:
784 yych = *YYCURSOR;
785 switch (yych) {
786 case 0x80 ... 0x96:
787 case 0x98 ... 0xB6:
788 case 0xB8 ... 0xBF: goto yy121;
789 default:
790 if (YYLIMIT <= YYCURSOR) {
791 if (YYFILL) goto yyFillLabel24;
792 }
793 goto yy2;
794 }
795yy40:
796 yyaccept = 0;
797 YYMARKER = ++YYCURSOR;
798yyFillLabel25:
799 yych = *YYCURSOR;
800 switch (yych) {
801 case 0x80 ... 0xBF: goto yy121;
802 default:
803 if (YYLIMIT <= YYCURSOR) {
804 if (YYFILL) goto yyFillLabel25;
805 }
806 goto yy2;
807 }
808yy41:
809 yyaccept = 0;
810 YYMARKER = ++YYCURSOR;
811yyFillLabel26:
812 yych = *YYCURSOR;
813 switch (yych) {
814 case 0xB0 ... 0xBD:
815 case 0xBF: goto yy121;
816 default:
817 if (YYLIMIT <= YYCURSOR) {
818 if (YYFILL) goto yyFillLabel26;
819 }
820 goto yy2;
821 }
822yy42:
823 yyaccept = 0;
824 YYMARKER = ++YYCURSOR;
825yyFillLabel27:
826 yych = *YYCURSOR;
827 switch (yych) {
828 case 0xA0 ... 0xBF: goto yy126;
829 default:
830 if (YYLIMIT <= YYCURSOR) {
831 if (YYFILL) goto yyFillLabel27;
832 }
833 goto yy2;
834 }
835yy43:
836 yyaccept = 0;
837 YYMARKER = ++YYCURSOR;
838yyFillLabel28:
839 yych = *YYCURSOR;
840 switch (yych) {
841 case 0x80 ... 0xBF: goto yy126;
842 default:
843 if (YYLIMIT <= YYCURSOR) {
844 if (YYFILL) goto yyFillLabel28;
845 }
846 goto yy2;
847 }
848yy44:
849 yyaccept = 0;
850 YYMARKER = ++YYCURSOR;
851yyFillLabel29:
852 yych = *YYCURSOR;
853 switch (yych) {
854 case 0x80: goto yy146;
855 case 0x81: goto yy147;
856 case 0x82 ... 0x85:
857 case 0xB0 ... 0xBE: goto yy126;
858 case 0x86: goto yy148;
859 case 0xBF: goto yy149;
860 default:
861 if (YYLIMIT <= YYCURSOR) {
862 if (YYFILL) goto yyFillLabel29;
863 }
864 goto yy2;
865 }
866yy45:
867 yyaccept = 0;
868 YYMARKER = ++YYCURSOR;
869yyFillLabel30:
870 yych = *YYCURSOR;
871 switch (yych) {
872 case 0x80: goto yy150;
873 case 0x81 ... 0xBF: goto yy126;
874 default:
875 if (YYLIMIT <= YYCURSOR) {
876 if (YYFILL) goto yyFillLabel30;
877 }
878 goto yy2;
879 }
880yy46:
881 yyaccept = 0;
882 YYMARKER = ++YYCURSOR;
883yyFillLabel31:
884 yych = *YYCURSOR;
885 switch (yych) {
886 case 0x80 ... 0x9F: goto yy126;
887 default:
888 if (YYLIMIT <= YYCURSOR) {
889 if (YYFILL) goto yyFillLabel31;
890 }
891 goto yy2;
892 }
893yy47:
894 yyaccept = 0;
895 YYMARKER = ++YYCURSOR;
896yyFillLabel32:
897 yych = *YYCURSOR;
898 switch (yych) {
899 case 0xA4 ... 0xB6:
900 case 0xB8 ... 0xBE: goto yy126;
901 case 0xB7: goto yy151;
902 case 0xBF: goto yy152;
903 default:
904 if (YYLIMIT <= YYCURSOR) {
905 if (YYFILL) goto yyFillLabel32;
906 }
907 goto yy2;
908 }
909yy48:
910 yyaccept = 0;
911 YYMARKER = ++YYCURSOR;
912yyFillLabel33:
913 yych = *YYCURSOR;
914 switch (yych) {
915 case 0x90 ... 0xBF: goto yy129;
916 default:
917 if (YYLIMIT <= YYCURSOR) {
918 if (YYFILL) goto yyFillLabel33;
919 }
920 goto yy2;
921 }
922yy49:
923 yyaccept = 0;
924 YYMARKER = ++YYCURSOR;
925yyFillLabel34:
926 yych = *YYCURSOR;
927 switch (yych) {
928 case 0x80 ... 0xBF: goto yy129;
929 default:
930 if (YYLIMIT <= YYCURSOR) {
931 if (YYFILL) goto yyFillLabel34;
932 }
933 goto yy2;
934 }
935yy50:
936 yyaccept = 0;
937 YYMARKER = ++YYCURSOR;
938yyFillLabel35:
939 yych = *YYCURSOR;
940 switch (yych) {
941 case 0x80 ... 0xAF: goto yy129;
942 default:
943 if (YYLIMIT <= YYCURSOR) {
944 if (YYFILL) goto yyFillLabel35;
945 }
946 goto yy2;
947 }
948yy51:
949 yyaccept = 5;
950 YYMARKER = ++YYCURSOR;
951yyFillLabel36:
952 yych = *YYCURSOR;
953 switch (yych) {
954 case 0x00:
955 case 0x01 ... '\t':
956 case '\v' ... '\f':
957 case 0x0E ... 0x7F:
958 if (YYLIMIT <= YYCURSOR) {
959 if (YYFILL) goto yyFillLabel36;
960 goto yy4;
961 }
962 goto yy51;
963 case '\n':
964 case '\r': goto yy3;
965 case 0xC2 ... 0xDF: goto yy153;
966 case 0xE0: goto yy154;
967 case 0xE1 ... 0xEF: goto yy155;
968 case 0xF0: goto yy156;
969 case 0xF1 ... 0xF3: goto yy157;
970 case 0xF4: goto yy158;
971 default: goto yy4;
972 }
973yy52:
974 ++YYCURSOR;
975 goto yy18;
976yy53:
977 ++YYCURSOR;
978yyFillLabel37:
979 yych = *YYCURSOR;
980yy54:
981 switch (yych) {
982 case 0x00:
983 case 0x01 ... '\t':
984 case '\v' ... '\f':
985 case 0x0E ... '!':
986 case '#' ... '[':
987 case ']' ... 0x7F:
988 if (YYLIMIT <= YYCURSOR) {
989 if (YYFILL) goto yyFillLabel37;
990 goto yy55;
991 }
992 goto yy53;
993 case '"': goto yy159;
994 case '\\': goto yy58;
995 case 0xC2 ... 0xDF: goto yy59;
996 case 0xE0: goto yy60;
997 case 0xE1 ... 0xEF: goto yy61;
998 case 0xF0: goto yy62;
999 case 0xF1 ... 0xF3: goto yy63;
1000 case 0xF4: goto yy64;
1001 default: goto yy55;
1002 }
1003yy55:
1005 switch (yyaccept) {
1006 case 0: goto yy2;
1007 case 1: goto yy9;
1008 case 2: goto yy20;
1009 case 3: goto yy22;
1010 case 4: goto yy36;
1011 case 5: goto yy4;
1012 case 6: goto yy57;
1013 case 7: goto yy12;
1014 case 8: goto yy16;
1015 case 9: goto yy86;
1016 case 10: goto yy91;
1017 case 11: goto yy24;
1018 case 12: goto yy118;
1019 case 13: goto yy31;
1020 case 14: goto yy141;
1021 case 15: goto yy218;
1022 case 16: goto yy261;
1023 case 17: goto yy275;
1024 default: goto yy306;
1025 }
1026yy56:
1027 yyaccept = 6;
1028 YYMARKER = ++YYCURSOR;
1029yyFillLabel38:
1030 yych = *YYCURSOR;
1031 switch (yych) {
1032 case '"': goto yy160;
1033 default:
1034 if (YYLIMIT <= YYCURSOR) {
1035 if (YYFILL) goto yyFillLabel38;
1036 }
1037 goto yy57;
1038 }
1039yy57:
1040#line 8 "ttl_action_def.re.inc"
1041 {
1042 *token_p = unescape_unicode (it->tok + 1, YYCURSOR - it->tok - 2);
1043 log_trace ("String: %s", *token_p);
1044
1045 return T_STRING;
1046}
1047#line 1048 "parser_ttl.c"
1048yy58:
1049 ++YYCURSOR;
1050yyFillLabel39:
1051 yych = *YYCURSOR;
1052 switch (yych) {
1053 case '"':
1054 case '\'':
1055 case '\\':
1056 case 'b':
1057 case 'f':
1058 case 'n':
1059 case 'r':
1060 case 't': goto yy53;
1061 case 'U': goto yy161;
1062 case 'u': goto yy162;
1063 default:
1064 if (YYLIMIT <= YYCURSOR) {
1065 if (YYFILL) goto yyFillLabel39;
1066 }
1067 goto yy55;
1068 }
1069yy59:
1070 ++YYCURSOR;
1071yyFillLabel40:
1072 yych = *YYCURSOR;
1073 switch (yych) {
1074 case 0x80 ... 0xBF: goto yy53;
1075 default:
1076 if (YYLIMIT <= YYCURSOR) {
1077 if (YYFILL) goto yyFillLabel40;
1078 }
1079 goto yy55;
1080 }
1081yy60:
1082 ++YYCURSOR;
1083yyFillLabel41:
1084 yych = *YYCURSOR;
1085 switch (yych) {
1086 case 0xA0 ... 0xBF: goto yy59;
1087 default:
1088 if (YYLIMIT <= YYCURSOR) {
1089 if (YYFILL) goto yyFillLabel41;
1090 }
1091 goto yy55;
1092 }
1093yy61:
1094 ++YYCURSOR;
1095yyFillLabel42:
1096 yych = *YYCURSOR;
1097 switch (yych) {
1098 case 0x80 ... 0xBF: goto yy59;
1099 default:
1100 if (YYLIMIT <= YYCURSOR) {
1101 if (YYFILL) goto yyFillLabel42;
1102 }
1103 goto yy55;
1104 }
1105yy62:
1106 ++YYCURSOR;
1107yyFillLabel43:
1108 yych = *YYCURSOR;
1109 switch (yych) {
1110 case 0x90 ... 0xBF: goto yy61;
1111 default:
1112 if (YYLIMIT <= YYCURSOR) {
1113 if (YYFILL) goto yyFillLabel43;
1114 }
1115 goto yy55;
1116 }
1117yy63:
1118 ++YYCURSOR;
1119yyFillLabel44:
1120 yych = *YYCURSOR;
1121 switch (yych) {
1122 case 0x80 ... 0xBF: goto yy61;
1123 default:
1124 if (YYLIMIT <= YYCURSOR) {
1125 if (YYFILL) goto yyFillLabel44;
1126 }
1127 goto yy55;
1128 }
1129yy64:
1130 ++YYCURSOR;
1131yyFillLabel45:
1132 yych = *YYCURSOR;
1133 switch (yych) {
1134 case 0x80 ... 0x8F: goto yy61;
1135 default:
1136 if (YYLIMIT <= YYCURSOR) {
1137 if (YYFILL) goto yyFillLabel45;
1138 }
1139 goto yy55;
1140 }
1141yy65:
1142 ++YYCURSOR;
1143yyFillLabel46:
1144 yych = *YYCURSOR;
1145 switch (yych) {
1146 case 0x80 ... 0xBF: goto yy8;
1147 default:
1148 if (YYLIMIT <= YYCURSOR) {
1149 if (YYFILL) goto yyFillLabel46;
1150 }
1151 goto yy55;
1152 }
1153yy66:
1154 ++YYCURSOR;
1155yyFillLabel47:
1156 yych = *YYCURSOR;
1157 switch (yych) {
1158 case 0xA0 ... 0xBF: goto yy65;
1159 default:
1160 if (YYLIMIT <= YYCURSOR) {
1161 if (YYFILL) goto yyFillLabel47;
1162 }
1163 goto yy55;
1164 }
1165yy67:
1166 ++YYCURSOR;
1167yyFillLabel48:
1168 yych = *YYCURSOR;
1169 switch (yych) {
1170 case 0x80 ... 0xBF: goto yy65;
1171 default:
1172 if (YYLIMIT <= YYCURSOR) {
1173 if (YYFILL) goto yyFillLabel48;
1174 }
1175 goto yy55;
1176 }
1177yy68:
1178 ++YYCURSOR;
1179yyFillLabel49:
1180 yych = *YYCURSOR;
1181 switch (yych) {
1182 case 0x90 ... 0xBF: goto yy67;
1183 default:
1184 if (YYLIMIT <= YYCURSOR) {
1185 if (YYFILL) goto yyFillLabel49;
1186 }
1187 goto yy55;
1188 }
1189yy69:
1190 ++YYCURSOR;
1191yyFillLabel50:
1192 yych = *YYCURSOR;
1193 switch (yych) {
1194 case 0x80 ... 0xBF: goto yy67;
1195 default:
1196 if (YYLIMIT <= YYCURSOR) {
1197 if (YYFILL) goto yyFillLabel50;
1198 }
1199 goto yy55;
1200 }
1201yy70:
1202 ++YYCURSOR;
1203yyFillLabel51:
1204 yych = *YYCURSOR;
1205 switch (yych) {
1206 case 0x80 ... 0x8F: goto yy67;
1207 default:
1208 if (YYLIMIT <= YYCURSOR) {
1209 if (YYFILL) goto yyFillLabel51;
1210 }
1211 goto yy55;
1212 }
1213yy71:
1214 ++YYCURSOR;
1215yyFillLabel52:
1216 yych = *YYCURSOR;
1217yy72:
1218 switch (yych) {
1219 case 0x00:
1220 case 0x01 ... '\t':
1221 case '\v' ... '\f':
1222 case 0x0E ... '&':
1223 case '(' ... '[':
1224 case ']' ... 0x7F:
1225 if (YYLIMIT <= YYCURSOR) {
1226 if (YYFILL) goto yyFillLabel52;
1227 goto yy55;
1228 }
1229 goto yy71;
1230 case '\'': goto yy159;
1231 case '\\': goto yy74;
1232 case 0xC2 ... 0xDF: goto yy75;
1233 case 0xE0: goto yy76;
1234 case 0xE1 ... 0xEF: goto yy77;
1235 case 0xF0: goto yy78;
1236 case 0xF1 ... 0xF3: goto yy79;
1237 case 0xF4: goto yy80;
1238 default: goto yy55;
1239 }
1240yy73:
1241 yyaccept = 6;
1242 YYMARKER = ++YYCURSOR;
1243yyFillLabel53:
1244 yych = *YYCURSOR;
1245 switch (yych) {
1246 case '\'': goto yy163;
1247 default:
1248 if (YYLIMIT <= YYCURSOR) {
1249 if (YYFILL) goto yyFillLabel53;
1250 }
1251 goto yy57;
1252 }
1253yy74:
1254 ++YYCURSOR;
1255yyFillLabel54:
1256 yych = *YYCURSOR;
1257 switch (yych) {
1258 case '"':
1259 case '\'':
1260 case '\\':
1261 case 'b':
1262 case 'f':
1263 case 'n':
1264 case 'r':
1265 case 't': goto yy71;
1266 case 'U': goto yy164;
1267 case 'u': goto yy165;
1268 default:
1269 if (YYLIMIT <= YYCURSOR) {
1270 if (YYFILL) goto yyFillLabel54;
1271 }
1272 goto yy55;
1273 }
1274yy75:
1275 ++YYCURSOR;
1276yyFillLabel55:
1277 yych = *YYCURSOR;
1278 switch (yych) {
1279 case 0x80 ... 0xBF: goto yy71;
1280 default:
1281 if (YYLIMIT <= YYCURSOR) {
1282 if (YYFILL) goto yyFillLabel55;
1283 }
1284 goto yy55;
1285 }
1286yy76:
1287 ++YYCURSOR;
1288yyFillLabel56:
1289 yych = *YYCURSOR;
1290 switch (yych) {
1291 case 0xA0 ... 0xBF: goto yy75;
1292 default:
1293 if (YYLIMIT <= YYCURSOR) {
1294 if (YYFILL) goto yyFillLabel56;
1295 }
1296 goto yy55;
1297 }
1298yy77:
1299 ++YYCURSOR;
1300yyFillLabel57:
1301 yych = *YYCURSOR;
1302 switch (yych) {
1303 case 0x80 ... 0xBF: goto yy75;
1304 default:
1305 if (YYLIMIT <= YYCURSOR) {
1306 if (YYFILL) goto yyFillLabel57;
1307 }
1308 goto yy55;
1309 }
1310yy78:
1311 ++YYCURSOR;
1312yyFillLabel58:
1313 yych = *YYCURSOR;
1314 switch (yych) {
1315 case 0x90 ... 0xBF: goto yy77;
1316 default:
1317 if (YYLIMIT <= YYCURSOR) {
1318 if (YYFILL) goto yyFillLabel58;
1319 }
1320 goto yy55;
1321 }
1322yy79:
1323 ++YYCURSOR;
1324yyFillLabel59:
1325 yych = *YYCURSOR;
1326 switch (yych) {
1327 case 0x80 ... 0xBF: goto yy77;
1328 default:
1329 if (YYLIMIT <= YYCURSOR) {
1330 if (YYFILL) goto yyFillLabel59;
1331 }
1332 goto yy55;
1333 }
1334yy80:
1335 ++YYCURSOR;
1336yyFillLabel60:
1337 yych = *YYCURSOR;
1338 switch (yych) {
1339 case 0x80 ... 0x8F: goto yy77;
1340 default:
1341 if (YYLIMIT <= YYCURSOR) {
1342 if (YYFILL) goto yyFillLabel60;
1343 }
1344 goto yy55;
1345 }
1346yy81:
1347 yyaccept = 7;
1348 YYMARKER = ++YYCURSOR;
1349yyFillLabel61:
1350 yych = *YYCURSOR;
1351 switch (yych) {
1352 case 0x00:
1353 case 0x01 ... '\t':
1354 case '\v' ... '\f':
1355 case 0x0E ... 0x7F:
1356 if (YYLIMIT <= YYCURSOR) {
1357 if (YYFILL) goto yyFillLabel61;
1358 goto yy12;
1359 }
1360 goto yy81;
1361 case '\n':
1362 case '\r': goto yy11;
1363 case 0xC2 ... 0xDF: goto yy166;
1364 case 0xE0: goto yy167;
1365 case 0xE1 ... 0xEF: goto yy168;
1366 case 0xF0: goto yy169;
1367 case 0xF1 ... 0xF3: goto yy170;
1368 case 0xF4: goto yy171;
1369 default: goto yy12;
1370 }
1371yy82:
1372 ++YYCURSOR;
1373yyFillLabel62:
1374 yych = *YYCURSOR;
1375 switch (yych) {
1376 case '0' ... '9': goto yy85;
1377 default:
1378 if (YYLIMIT <= YYCURSOR) {
1379 if (YYFILL) goto yyFillLabel62;
1380 }
1381 goto yy55;
1382 }
1383yy83:
1384 yyaccept = 2;
1385 YYMARKER = ++YYCURSOR;
1386yyFillLabel63:
1387 yych = *YYCURSOR;
1388 switch (yych) {
1389 case '.': goto yy172;
1390 case '0' ... '9': goto yy83;
1391 case 'E':
1392 case 'e': goto yy87;
1393 default:
1394 if (YYLIMIT <= YYCURSOR) {
1395 if (YYFILL) goto yyFillLabel63;
1396 }
1397 goto yy20;
1398 }
1399yy84:
1400 yyaccept = 8;
1401 YYMARKER = ++YYCURSOR;
1402yyFillLabel64:
1403 yych = *YYCURSOR;
1404 switch (yych) {
1405 case 0x00:
1406 case 0x01 ... '\t':
1407 case '\v' ... '\f':
1408 case 0x0E ... 0x7F:
1409 if (YYLIMIT <= YYCURSOR) {
1410 if (YYFILL) goto yyFillLabel64;
1411 goto yy16;
1412 }
1413 goto yy84;
1414 case '\n':
1415 case '\r': goto yy15;
1416 case 0xC2 ... 0xDF: goto yy173;
1417 case 0xE0: goto yy174;
1418 case 0xE1 ... 0xEF: goto yy175;
1419 case 0xF0: goto yy176;
1420 case 0xF1 ... 0xF3: goto yy177;
1421 case 0xF4: goto yy178;
1422 default: goto yy16;
1423 }
1424yy85:
1425 yyaccept = 9;
1426 YYMARKER = ++YYCURSOR;
1427yyFillLabel65:
1428 yych = *YYCURSOR;
1429 switch (yych) {
1430 case '0' ... '9': goto yy85;
1431 case 'E':
1432 case 'e': goto yy87;
1433 default:
1434 if (YYLIMIT <= YYCURSOR) {
1435 if (YYFILL) goto yyFillLabel65;
1436 }
1437 goto yy86;
1438 }
1439yy86:
1440#line 105 "ttl_action_def.re.inc"
1441 {
1442 // Normalize sign.
1443 YYCTYPE offset = *it->tok == '+' ? 1 : 0;
1444
1445 // Normalize trailing zeros in fractional part.
1446 size_t size = YYCURSOR - it->tok - offset;
1447 if (strchr ((char *)it->tok, '.'))
1448 for (YYCTYPE *i = YYCURSOR; *i == '0'; i--) size--;
1449
1450 *token_p = uint8_ndup (it->tok + offset, size);
1451 log_trace ("Decimal: %s", *token_p);
1452
1453 return T_DECIMAL;
1454}
1455#line 1456 "parser_ttl.c"
1456yy87:
1457 ++YYCURSOR;
1458yyFillLabel66:
1459 yych = *YYCURSOR;
1460 switch (yych) {
1461 case '+':
1462 case '-': goto yy179;
1463 case '0' ... '9': goto yy180;
1464 default:
1465 if (YYLIMIT <= YYCURSOR) {
1466 if (YYFILL) goto yyFillLabel66;
1467 }
1468 goto yy55;
1469 }
1470yy88:
1471 ++YYCURSOR;
1472yyFillLabel67:
1473 yych = *YYCURSOR;
1474 switch (yych) {
1475 case '0' ... '9':
1476 case 'A' ... 'F':
1477 case 'a' ... 'f': goto yy182;
1478 default:
1479 if (YYLIMIT <= YYCURSOR) {
1480 if (YYFILL) goto yyFillLabel67;
1481 }
1482 goto yy55;
1483 }
1484yy89:
1485 yyaccept = 10;
1486 YYMARKER = ++YYCURSOR;
1487yyFillLabel68:
1488 yych = *YYCURSOR;
1489yy90:
1490 switch (yych) {
1491 case '%': goto yy88;
1492 case '-':
1493 case '0' ... ':':
1494 case 'A' ... 'Z':
1495 case '_':
1496 case 'a' ... 'z': goto yy89;
1497 case '.': goto yy183;
1498 case '\\': goto yy92;
1499 case 0xC2: goto yy184;
1500 case 0xC3: goto yy93;
1501 case 0xC4 ... 0xCC:
1502 case 0xCE ... 0xDF: goto yy94;
1503 case 0xCD: goto yy185;
1504 case 0xE0: goto yy96;
1505 case 0xE1:
1506 case 0xE4 ... 0xEC: goto yy97;
1507 case 0xE2: goto yy186;
1508 case 0xE3: goto yy99;
1509 case 0xED: goto yy100;
1510 case 0xEF: goto yy101;
1511 case 0xF0: goto yy102;
1512 case 0xF1 ... 0xF2: goto yy103;
1513 case 0xF3: goto yy104;
1514 default:
1515 if (YYLIMIT <= YYCURSOR) {
1516 if (YYFILL) goto yyFillLabel68;
1517 }
1518 goto yy91;
1519 }
1520yy91:
1521#line 22 "ttl_action_def.re.inc"
1522 {
1523 *token_p = uint8_ndup (it->tok, YYCURSOR - it->tok);
1524 log_trace ("ID name: %s", *token_p);
1525
1526 return T_NSIRI;
1527}
1528#line 1529 "parser_ttl.c"
1529yy92:
1530 ++YYCURSOR;
1531yyFillLabel69:
1532 yych = *YYCURSOR;
1533 switch (yych) {
1534 case '!':
1535 case '#' ... '/':
1536 case ';':
1537 case '=':
1538 case '?' ... '@':
1539 case '_':
1540 case '~': goto yy89;
1541 default:
1542 if (YYLIMIT <= YYCURSOR) {
1543 if (YYFILL) goto yyFillLabel69;
1544 }
1545 goto yy55;
1546 }
1547yy93:
1548 ++YYCURSOR;
1549yyFillLabel70:
1550 yych = *YYCURSOR;
1551 switch (yych) {
1552 case 0x80 ... 0x96:
1553 case 0x98 ... 0xB6:
1554 case 0xB8 ... 0xBF: goto yy89;
1555 default:
1556 if (YYLIMIT <= YYCURSOR) {
1557 if (YYFILL) goto yyFillLabel70;
1558 }
1559 goto yy55;
1560 }
1561yy94:
1562 ++YYCURSOR;
1563yyFillLabel71:
1564 yych = *YYCURSOR;
1565 switch (yych) {
1566 case 0x80 ... 0xBF: goto yy89;
1567 default:
1568 if (YYLIMIT <= YYCURSOR) {
1569 if (YYFILL) goto yyFillLabel71;
1570 }
1571 goto yy55;
1572 }
1573yy95:
1574 ++YYCURSOR;
1575yyFillLabel72:
1576 yych = *YYCURSOR;
1577 switch (yych) {
1578 case 0xB0 ... 0xBD:
1579 case 0xBF: goto yy89;
1580 default:
1581 if (YYLIMIT <= YYCURSOR) {
1582 if (YYFILL) goto yyFillLabel72;
1583 }
1584 goto yy55;
1585 }
1586yy96:
1587 ++YYCURSOR;
1588yyFillLabel73:
1589 yych = *YYCURSOR;
1590 switch (yych) {
1591 case 0xA0 ... 0xBF: goto yy94;
1592 default:
1593 if (YYLIMIT <= YYCURSOR) {
1594 if (YYFILL) goto yyFillLabel73;
1595 }
1596 goto yy55;
1597 }
1598yy97:
1599 ++YYCURSOR;
1600yyFillLabel74:
1601 yych = *YYCURSOR;
1602 switch (yych) {
1603 case 0x80 ... 0xBF: goto yy94;
1604 default:
1605 if (YYLIMIT <= YYCURSOR) {
1606 if (YYFILL) goto yyFillLabel74;
1607 }
1608 goto yy55;
1609 }
1610yy98:
1611 ++YYCURSOR;
1612yyFillLabel75:
1613 yych = *YYCURSOR;
1614 switch (yych) {
1615 case 0x80: goto yy187;
1616 case 0x81: goto yy188;
1617 case 0x82 ... 0x85:
1618 case 0xB0 ... 0xBE: goto yy94;
1619 case 0x86: goto yy189;
1620 case 0xBF: goto yy190;
1621 default:
1622 if (YYLIMIT <= YYCURSOR) {
1623 if (YYFILL) goto yyFillLabel75;
1624 }
1625 goto yy55;
1626 }
1627yy99:
1628 ++YYCURSOR;
1629yyFillLabel76:
1630 yych = *YYCURSOR;
1631 switch (yych) {
1632 case 0x80: goto yy191;
1633 case 0x81 ... 0xBF: goto yy94;
1634 default:
1635 if (YYLIMIT <= YYCURSOR) {
1636 if (YYFILL) goto yyFillLabel76;
1637 }
1638 goto yy55;
1639 }
1640yy100:
1641 ++YYCURSOR;
1642yyFillLabel77:
1643 yych = *YYCURSOR;
1644 switch (yych) {
1645 case 0x80 ... 0x9F: goto yy94;
1646 default:
1647 if (YYLIMIT <= YYCURSOR) {
1648 if (YYFILL) goto yyFillLabel77;
1649 }
1650 goto yy55;
1651 }
1652yy101:
1653 ++YYCURSOR;
1654yyFillLabel78:
1655 yych = *YYCURSOR;
1656 switch (yych) {
1657 case 0xA4 ... 0xB6:
1658 case 0xB8 ... 0xBE: goto yy94;
1659 case 0xB7: goto yy192;
1660 case 0xBF: goto yy193;
1661 default:
1662 if (YYLIMIT <= YYCURSOR) {
1663 if (YYFILL) goto yyFillLabel78;
1664 }
1665 goto yy55;
1666 }
1667yy102:
1668 ++YYCURSOR;
1669yyFillLabel79:
1670 yych = *YYCURSOR;
1671 switch (yych) {
1672 case 0x90 ... 0xBF: goto yy97;
1673 default:
1674 if (YYLIMIT <= YYCURSOR) {
1675 if (YYFILL) goto yyFillLabel79;
1676 }
1677 goto yy55;
1678 }
1679yy103:
1680 ++YYCURSOR;
1681yyFillLabel80:
1682 yych = *YYCURSOR;
1683 switch (yych) {
1684 case 0x80 ... 0xBF: goto yy97;
1685 default:
1686 if (YYLIMIT <= YYCURSOR) {
1687 if (YYFILL) goto yyFillLabel80;
1688 }
1689 goto yy55;
1690 }
1691yy104:
1692 ++YYCURSOR;
1693yyFillLabel81:
1694 yych = *YYCURSOR;
1695 switch (yych) {
1696 case 0x80 ... 0xAF: goto yy97;
1697 default:
1698 if (YYLIMIT <= YYCURSOR) {
1699 if (YYFILL) goto yyFillLabel81;
1700 }
1701 goto yy55;
1702 }
1703yy105:
1704 yyaccept = 11;
1705 YYMARKER = ++YYCURSOR;
1706yyFillLabel82:
1707 yych = *YYCURSOR;
1708 switch (yych) {
1709 case 0x00:
1710 case 0x01 ... '\t':
1711 case '\v' ... '\f':
1712 case 0x0E ... 0x7F:
1713 if (YYLIMIT <= YYCURSOR) {
1714 if (YYFILL) goto yyFillLabel82;
1715 goto yy24;
1716 }
1717 goto yy105;
1718 case '\n':
1719 case '\r': goto yy23;
1720 case 0xC2 ... 0xDF: goto yy194;
1721 case 0xE0: goto yy195;
1722 case 0xE1 ... 0xEF: goto yy196;
1723 case 0xF0: goto yy197;
1724 case 0xF1 ... 0xF3: goto yy198;
1725 case 0xF4: goto yy199;
1726 default: goto yy24;
1727 }
1728yy106:
1729 ++YYCURSOR;
1730yyFillLabel83:
1731 yych = *YYCURSOR;
1732yy107:
1733 switch (yych) {
1734 case '!':
1735 case '#' ... ';':
1736 case '=':
1737 case '?' ... '[':
1738 case ']':
1739 case '_':
1740 case 'a' ... 'z':
1741 case '~' ... 0x7F: goto yy106;
1742 case '>': goto yy108;
1743 case '\\': goto yy109;
1744 case 0xC2 ... 0xDF: goto yy110;
1745 case 0xE0: goto yy111;
1746 case 0xE1 ... 0xEF: goto yy112;
1747 case 0xF0: goto yy113;
1748 case 0xF1 ... 0xF3: goto yy114;
1749 case 0xF4: goto yy115;
1750 default:
1751 if (YYLIMIT <= YYCURSOR) {
1752 if (YYFILL) goto yyFillLabel83;
1753 }
1754 goto yy55;
1755 }
1756yy108:
1757 ++YYCURSOR;
1758#line 15 "ttl_action_def.re.inc"
1759 {
1760 *token_p = uint8_ndup (it->tok + 1, YYCURSOR - it->tok - 2);
1761 log_trace ("URI data: %s", *token_p);
1762
1763 return T_IRIREF;
1764}
1765#line 1766 "parser_ttl.c"
1766yy109:
1767 ++YYCURSOR;
1768yyFillLabel84:
1769 yych = *YYCURSOR;
1770 switch (yych) {
1771 case 'U': goto yy200;
1772 case 'u': goto yy201;
1773 default:
1774 if (YYLIMIT <= YYCURSOR) {
1775 if (YYFILL) goto yyFillLabel84;
1776 }
1777 goto yy55;
1778 }
1779yy110:
1780 ++YYCURSOR;
1781yyFillLabel85:
1782 yych = *YYCURSOR;
1783 switch (yych) {
1784 case 0x80 ... 0xBF: goto yy106;
1785 default:
1786 if (YYLIMIT <= YYCURSOR) {
1787 if (YYFILL) goto yyFillLabel85;
1788 }
1789 goto yy55;
1790 }
1791yy111:
1792 ++YYCURSOR;
1793yyFillLabel86:
1794 yych = *YYCURSOR;
1795 switch (yych) {
1796 case 0xA0 ... 0xBF: goto yy110;
1797 default:
1798 if (YYLIMIT <= YYCURSOR) {
1799 if (YYFILL) goto yyFillLabel86;
1800 }
1801 goto yy55;
1802 }
1803yy112:
1804 ++YYCURSOR;
1805yyFillLabel87:
1806 yych = *YYCURSOR;
1807 switch (yych) {
1808 case 0x80 ... 0xBF: goto yy110;
1809 default:
1810 if (YYLIMIT <= YYCURSOR) {
1811 if (YYFILL) goto yyFillLabel87;
1812 }
1813 goto yy55;
1814 }
1815yy113:
1816 ++YYCURSOR;
1817yyFillLabel88:
1818 yych = *YYCURSOR;
1819 switch (yych) {
1820 case 0x90 ... 0xBF: goto yy112;
1821 default:
1822 if (YYLIMIT <= YYCURSOR) {
1823 if (YYFILL) goto yyFillLabel88;
1824 }
1825 goto yy55;
1826 }
1827yy114:
1828 ++YYCURSOR;
1829yyFillLabel89:
1830 yych = *YYCURSOR;
1831 switch (yych) {
1832 case 0x80 ... 0xBF: goto yy112;
1833 default:
1834 if (YYLIMIT <= YYCURSOR) {
1835 if (YYFILL) goto yyFillLabel89;
1836 }
1837 goto yy55;
1838 }
1839yy115:
1840 ++YYCURSOR;
1841yyFillLabel90:
1842 yych = *YYCURSOR;
1843 switch (yych) {
1844 case 0x80 ... 0x8F: goto yy112;
1845 default:
1846 if (YYLIMIT <= YYCURSOR) {
1847 if (YYFILL) goto yyFillLabel90;
1848 }
1849 goto yy55;
1850 }
1851yy116:
1852 yyaccept = 12;
1853 YYMARKER = ++YYCURSOR;
1854yyFillLabel91:
1855 yych = *YYCURSOR;
1856yy117:
1857 switch (yych) {
1858 case '-': goto yy202;
1859 case 'A' ... 'Z':
1860 case 'a' ... 'z': goto yy116;
1861 default:
1862 if (YYLIMIT <= YYCURSOR) {
1863 if (YYFILL) goto yyFillLabel91;
1864 }
1865 goto yy118;
1866 }
1867yy118:
1868#line 78 "ttl_action_def.re.inc"
1869 {
1870 *token_p = uint8_ndup (it->tok + 1, YYCURSOR - it->tok - 1);
1871 log_trace ("Lang tag: '%s'", *token_p);
1872
1873 return T_LANGTAG;
1874}
1875#line 1876 "parser_ttl.c"
1876yy119:
1877 yyaccept = 12;
1878 YYMARKER = ++YYCURSOR;
1879yyFillLabel92:
1880 yych = *YYCURSOR;
1881 switch (yych) {
1882 case 0x00:
1883 if (YYLIMIT <= YYCURSOR) {
1884 if (YYFILL) goto yyFillLabel92;
1885 }
1886 goto yy118;
1887 case 'a': goto yy203;
1888 default: goto yy117;
1889 }
1890yy120:
1891 yyaccept = 12;
1892 YYMARKER = ++YYCURSOR;
1893yyFillLabel93:
1894 yych = *YYCURSOR;
1895 switch (yych) {
1896 case 0x00:
1897 if (YYLIMIT <= YYCURSOR) {
1898 if (YYFILL) goto yyFillLabel93;
1899 }
1900 goto yy118;
1901 case 'r': goto yy204;
1902 default: goto yy117;
1903 }
1904yy121:
1905 ++YYCURSOR;
1906yyFillLabel94:
1907 yych = *YYCURSOR;
1908yy122:
1909 switch (yych) {
1910 case '-':
1911 case '0' ... '9':
1912 case 'A' ... 'Z':
1913 case '_':
1914 case 'a' ... 'z': goto yy121;
1915 case '.': goto yy123;
1916 case ':': goto yy21;
1917 case 0xC2: goto yy124;
1918 case 0xC3: goto yy125;
1919 case 0xC4 ... 0xCC:
1920 case 0xCE ... 0xDF: goto yy126;
1921 case 0xCD: goto yy127;
1922 case 0xE0: goto yy128;
1923 case 0xE1:
1924 case 0xE4 ... 0xEC: goto yy129;
1925 case 0xE2: goto yy130;
1926 case 0xE3: goto yy131;
1927 case 0xED: goto yy132;
1928 case 0xEF: goto yy133;
1929 case 0xF0: goto yy134;
1930 case 0xF1 ... 0xF2: goto yy135;
1931 case 0xF3: goto yy136;
1932 default:
1933 if (YYLIMIT <= YYCURSOR) {
1934 if (YYFILL) goto yyFillLabel94;
1935 }
1936 goto yy55;
1937 }
1938yy123:
1939 ++YYCURSOR;
1940yyFillLabel95:
1941 yych = *YYCURSOR;
1942 switch (yych) {
1943 case '-':
1944 case '0' ... '9':
1945 case 'A' ... 'Z':
1946 case '_':
1947 case 'a' ... 'z': goto yy121;
1948 case '.': goto yy123;
1949 case 0xC2: goto yy124;
1950 case 0xC3: goto yy125;
1951 case 0xC4 ... 0xCC:
1952 case 0xCE ... 0xDF: goto yy126;
1953 case 0xCD: goto yy127;
1954 case 0xE0: goto yy128;
1955 case 0xE1:
1956 case 0xE4 ... 0xEC: goto yy129;
1957 case 0xE2: goto yy130;
1958 case 0xE3: goto yy131;
1959 case 0xED: goto yy132;
1960 case 0xEF: goto yy133;
1961 case 0xF0: goto yy134;
1962 case 0xF1 ... 0xF2: goto yy135;
1963 case 0xF3: goto yy136;
1964 default:
1965 if (YYLIMIT <= YYCURSOR) {
1966 if (YYFILL) goto yyFillLabel95;
1967 }
1968 goto yy55;
1969 }
1970yy124:
1971 ++YYCURSOR;
1972yyFillLabel96:
1973 yych = *YYCURSOR;
1974 switch (yych) {
1975 case 0xB7: goto yy121;
1976 default:
1977 if (YYLIMIT <= YYCURSOR) {
1978 if (YYFILL) goto yyFillLabel96;
1979 }
1980 goto yy55;
1981 }
1982yy125:
1983 ++YYCURSOR;
1984yyFillLabel97:
1985 yych = *YYCURSOR;
1986 switch (yych) {
1987 case 0x80 ... 0x96:
1988 case 0x98 ... 0xB6:
1989 case 0xB8 ... 0xBF: goto yy121;
1990 default:
1991 if (YYLIMIT <= YYCURSOR) {
1992 if (YYFILL) goto yyFillLabel97;
1993 }
1994 goto yy55;
1995 }
1996yy126:
1997 ++YYCURSOR;
1998yyFillLabel98:
1999 yych = *YYCURSOR;
2000 switch (yych) {
2001 case 0x80 ... 0xBF: goto yy121;
2002 default:
2003 if (YYLIMIT <= YYCURSOR) {
2004 if (YYFILL) goto yyFillLabel98;
2005 }
2006 goto yy55;
2007 }
2008yy127:
2009 ++YYCURSOR;
2010yyFillLabel99:
2011 yych = *YYCURSOR;
2012 switch (yych) {
2013 case 0x80 ... 0xBD:
2014 case 0xBF: goto yy121;
2015 default:
2016 if (YYLIMIT <= YYCURSOR) {
2017 if (YYFILL) goto yyFillLabel99;
2018 }
2019 goto yy55;
2020 }
2021yy128:
2022 ++YYCURSOR;
2023yyFillLabel100:
2024 yych = *YYCURSOR;
2025 switch (yych) {
2026 case 0xA0 ... 0xBF: goto yy126;
2027 default:
2028 if (YYLIMIT <= YYCURSOR) {
2029 if (YYFILL) goto yyFillLabel100;
2030 }
2031 goto yy55;
2032 }
2033yy129:
2034 ++YYCURSOR;
2035yyFillLabel101:
2036 yych = *YYCURSOR;
2037 switch (yych) {
2038 case 0x80 ... 0xBF: goto yy126;
2039 default:
2040 if (YYLIMIT <= YYCURSOR) {
2041 if (YYFILL) goto yyFillLabel101;
2042 }
2043 goto yy55;
2044 }
2045yy130:
2046 ++YYCURSOR;
2047yyFillLabel102:
2048 yych = *YYCURSOR;
2049 switch (yych) {
2050 case 0x80: goto yy205;
2051 case 0x81: goto yy206;
2052 case 0x82 ... 0x85:
2053 case 0xB0 ... 0xBE: goto yy126;
2054 case 0x86: goto yy148;
2055 case 0xBF: goto yy149;
2056 default:
2057 if (YYLIMIT <= YYCURSOR) {
2058 if (YYFILL) goto yyFillLabel102;
2059 }
2060 goto yy55;
2061 }
2062yy131:
2063 ++YYCURSOR;
2064yyFillLabel103:
2065 yych = *YYCURSOR;
2066 switch (yych) {
2067 case 0x80: goto yy150;
2068 case 0x81 ... 0xBF: goto yy126;
2069 default:
2070 if (YYLIMIT <= YYCURSOR) {
2071 if (YYFILL) goto yyFillLabel103;
2072 }
2073 goto yy55;
2074 }
2075yy132:
2076 ++YYCURSOR;
2077yyFillLabel104:
2078 yych = *YYCURSOR;
2079 switch (yych) {
2080 case 0x80 ... 0x9F: goto yy126;
2081 default:
2082 if (YYLIMIT <= YYCURSOR) {
2083 if (YYFILL) goto yyFillLabel104;
2084 }
2085 goto yy55;
2086 }
2087yy133:
2088 ++YYCURSOR;
2089yyFillLabel105:
2090 yych = *YYCURSOR;
2091 switch (yych) {
2092 case 0xA4 ... 0xB6:
2093 case 0xB8 ... 0xBE: goto yy126;
2094 case 0xB7: goto yy151;
2095 case 0xBF: goto yy152;
2096 default:
2097 if (YYLIMIT <= YYCURSOR) {
2098 if (YYFILL) goto yyFillLabel105;
2099 }
2100 goto yy55;
2101 }
2102yy134:
2103 ++YYCURSOR;
2104yyFillLabel106:
2105 yych = *YYCURSOR;
2106 switch (yych) {
2107 case 0x90 ... 0xBF: goto yy129;
2108 default:
2109 if (YYLIMIT <= YYCURSOR) {
2110 if (YYFILL) goto yyFillLabel106;
2111 }
2112 goto yy55;
2113 }
2114yy135:
2115 ++YYCURSOR;
2116yyFillLabel107:
2117 yych = *YYCURSOR;
2118 switch (yych) {
2119 case 0x80 ... 0xBF: goto yy129;
2120 default:
2121 if (YYLIMIT <= YYCURSOR) {
2122 if (YYFILL) goto yyFillLabel107;
2123 }
2124 goto yy55;
2125 }
2126yy136:
2127 ++YYCURSOR;
2128yyFillLabel108:
2129 yych = *YYCURSOR;
2130 switch (yych) {
2131 case 0x80 ... 0xAF: goto yy129;
2132 default:
2133 if (YYLIMIT <= YYCURSOR) {
2134 if (YYFILL) goto yyFillLabel108;
2135 }
2136 goto yy55;
2137 }
2138yy137:
2139 ++YYCURSOR;
2140yyFillLabel109:
2141 yych = *YYCURSOR;
2142 switch (yych) {
2143 case 0x00:
2144 if (YYLIMIT <= YYCURSOR) {
2145 if (YYFILL) goto yyFillLabel109;
2146 }
2147 goto yy55;
2148 case 'S':
2149 case 's': goto yy207;
2150 default: goto yy122;
2151 }
2152yy138:
2153 ++YYCURSOR;
2154yyFillLabel110:
2155 yych = *YYCURSOR;
2156 switch (yych) {
2157 case 0x00:
2158 if (YYLIMIT <= YYCURSOR) {
2159 if (YYFILL) goto yyFillLabel110;
2160 }
2161 goto yy55;
2162 case 'E':
2163 case 'e': goto yy208;
2164 default: goto yy122;
2165 }
2166yy139:
2167 yyaccept = 13;
2168 YYMARKER = ++YYCURSOR;
2169yyFillLabel111:
2170 yych = *YYCURSOR;
2171 switch (yych) {
2172 case 0x00:
2173 case 0x01 ... '\t':
2174 case '\v' ... '\f':
2175 case 0x0E ... '\\':
2176 case '^' ... 0x7F:
2177 if (YYLIMIT <= YYCURSOR) {
2178 if (YYFILL) goto yyFillLabel111;
2179 goto yy31;
2180 }
2181 goto yy139;
2182 case '\n':
2183 case '\r': goto yy30;
2184 case ']': goto yy209;
2185 case 0xC2 ... 0xDF: goto yy210;
2186 case 0xE0: goto yy211;
2187 case 0xE1 ... 0xEF: goto yy212;
2188 case 0xF0: goto yy213;
2189 case 0xF1 ... 0xF3: goto yy214;
2190 case 0xF4: goto yy215;
2191 default: goto yy31;
2192 }
2193yy140:
2194 ++YYCURSOR;
2195yy141:
2196#line 131 "ttl_action_def.re.inc"
2197 { return T_ANON; }
2198#line 2199 "parser_ttl.c"
2199yy142:
2200 ++YYCURSOR;
2201#line 151 "ttl_action_def.re.inc"
2202 { return T_DTYPE_MARKER; }
2203#line 2204 "parser_ttl.c"
2204yy143:
2205 ++YYCURSOR;
2206yyFillLabel112:
2207 yych = *YYCURSOR;
2208 switch (yych) {
2209 case '0' ... '9':
2210 case 'A' ... 'Z':
2211 case '_':
2212 case 'a' ... 'z':
2213 case 0xC3 ... 0xCB:
2214 case 0xCE ... 0xE1:
2215 case 0xE3 ... 0xED:
2216 case 0xEF ... 0xF3: goto yy217;
2217 case 0xCD: goto yy221;
2218 case 0xE2: goto yy224;
2219 default:
2220 if (YYLIMIT <= YYCURSOR) {
2221 if (YYFILL) goto yyFillLabel112;
2222 }
2223 goto yy55;
2224 }
2225yy144:
2226 ++YYCURSOR;
2227yyFillLabel113:
2228 yych = *YYCURSOR;
2229 switch (yych) {
2230 case 0x00:
2231 if (YYLIMIT <= YYCURSOR) {
2232 if (YYFILL) goto yyFillLabel113;
2233 }
2234 goto yy55;
2235 case 'l': goto yy231;
2236 default: goto yy122;
2237 }
2238yy145:
2239 ++YYCURSOR;
2240yyFillLabel114:
2241 yych = *YYCURSOR;
2242 switch (yych) {
2243 case 0x00:
2244 if (YYLIMIT <= YYCURSOR) {
2245 if (YYFILL) goto yyFillLabel114;
2246 }
2247 goto yy55;
2248 case 'u': goto yy232;
2249 default: goto yy122;
2250 }
2251yy146:
2252 ++YYCURSOR;
2253yyFillLabel115:
2254 yych = *YYCURSOR;
2255 switch (yych) {
2256 case 0x8C ... 0x8D: goto yy121;
2257 default:
2258 if (YYLIMIT <= YYCURSOR) {
2259 if (YYFILL) goto yyFillLabel115;
2260 }
2261 goto yy55;
2262 }
2263yy147:
2264 ++YYCURSOR;
2265yyFillLabel116:
2266 yych = *YYCURSOR;
2267 switch (yych) {
2268 case 0xB0 ... 0xBF: goto yy121;
2269 default:
2270 if (YYLIMIT <= YYCURSOR) {
2271 if (YYFILL) goto yyFillLabel116;
2272 }
2273 goto yy55;
2274 }
2275yy148:
2276 ++YYCURSOR;
2277yyFillLabel117:
2278 yych = *YYCURSOR;
2279 switch (yych) {
2280 case 0x80 ... 0x8F: goto yy121;
2281 default:
2282 if (YYLIMIT <= YYCURSOR) {
2283 if (YYFILL) goto yyFillLabel117;
2284 }
2285 goto yy55;
2286 }
2287yy149:
2288 ++YYCURSOR;
2289yyFillLabel118:
2290 yych = *YYCURSOR;
2291 switch (yych) {
2292 case 0x80 ... 0xAF: goto yy121;
2293 default:
2294 if (YYLIMIT <= YYCURSOR) {
2295 if (YYFILL) goto yyFillLabel118;
2296 }
2297 goto yy55;
2298 }
2299yy150:
2300 ++YYCURSOR;
2301yyFillLabel119:
2302 yych = *YYCURSOR;
2303 switch (yych) {
2304 case 0x81 ... 0xBF: goto yy121;
2305 default:
2306 if (YYLIMIT <= YYCURSOR) {
2307 if (YYFILL) goto yyFillLabel119;
2308 }
2309 goto yy55;
2310 }
2311yy151:
2312 ++YYCURSOR;
2313yyFillLabel120:
2314 yych = *YYCURSOR;
2315 switch (yych) {
2316 case 0x80 ... 0x8F:
2317 case 0xB0 ... 0xBF: goto yy121;
2318 default:
2319 if (YYLIMIT <= YYCURSOR) {
2320 if (YYFILL) goto yyFillLabel120;
2321 }
2322 goto yy55;
2323 }
2324yy152:
2325 ++YYCURSOR;
2326yyFillLabel121:
2327 yych = *YYCURSOR;
2328 switch (yych) {
2329 case 0x80 ... 0xBD: goto yy121;
2330 default:
2331 if (YYLIMIT <= YYCURSOR) {
2332 if (YYFILL) goto yyFillLabel121;
2333 }
2334 goto yy55;
2335 }
2336yy153:
2337 ++YYCURSOR;
2338yyFillLabel122:
2339 yych = *YYCURSOR;
2340 switch (yych) {
2341 case 0x80 ... 0xBF: goto yy51;
2342 default:
2343 if (YYLIMIT <= YYCURSOR) {
2344 if (YYFILL) goto yyFillLabel122;
2345 }
2346 goto yy55;
2347 }
2348yy154:
2349 ++YYCURSOR;
2350yyFillLabel123:
2351 yych = *YYCURSOR;
2352 switch (yych) {
2353 case 0xA0 ... 0xBF: goto yy153;
2354 default:
2355 if (YYLIMIT <= YYCURSOR) {
2356 if (YYFILL) goto yyFillLabel123;
2357 }
2358 goto yy55;
2359 }
2360yy155:
2361 ++YYCURSOR;
2362yyFillLabel124:
2363 yych = *YYCURSOR;
2364 switch (yych) {
2365 case 0x80 ... 0xBF: goto yy153;
2366 default:
2367 if (YYLIMIT <= YYCURSOR) {
2368 if (YYFILL) goto yyFillLabel124;
2369 }
2370 goto yy55;
2371 }
2372yy156:
2373 ++YYCURSOR;
2374yyFillLabel125:
2375 yych = *YYCURSOR;
2376 switch (yych) {
2377 case 0x90 ... 0xBF: goto yy155;
2378 default:
2379 if (YYLIMIT <= YYCURSOR) {
2380 if (YYFILL) goto yyFillLabel125;
2381 }
2382 goto yy55;
2383 }
2384yy157:
2385 ++YYCURSOR;
2386yyFillLabel126:
2387 yych = *YYCURSOR;
2388 switch (yych) {
2389 case 0x80 ... 0xBF: goto yy155;
2390 default:
2391 if (YYLIMIT <= YYCURSOR) {
2392 if (YYFILL) goto yyFillLabel126;
2393 }
2394 goto yy55;
2395 }
2396yy158:
2397 ++YYCURSOR;
2398yyFillLabel127:
2399 yych = *YYCURSOR;
2400 switch (yych) {
2401 case 0x80 ... 0x8F: goto yy155;
2402 default:
2403 if (YYLIMIT <= YYCURSOR) {
2404 if (YYFILL) goto yyFillLabel127;
2405 }
2406 goto yy55;
2407 }
2408yy159:
2409 ++YYCURSOR;
2410 goto yy57;
2411yy160:
2412 ++YYCURSOR;
2413yyFillLabel128:
2414 yych = *YYCURSOR;
2415 switch (yych) {
2416 case 0x00:
2417 case 0x01 ... '!':
2418 case '#' ... '[':
2419 case ']' ... 0x7F:
2420 if (YYLIMIT <= YYCURSOR) {
2421 if (YYFILL) goto yyFillLabel128;
2422 goto yy55;
2423 }
2424 goto yy160;
2425 case '"': goto yy233;
2426 case '\\': goto yy234;
2427 case 0xC2 ... 0xDF: goto yy235;
2428 case 0xE0: goto yy236;
2429 case 0xE1 ... 0xEF: goto yy237;
2430 case 0xF0: goto yy238;
2431 case 0xF1 ... 0xF3: goto yy239;
2432 case 0xF4: goto yy240;
2433 default: goto yy55;
2434 }
2435yy161:
2436 ++YYCURSOR;
2437yyFillLabel129:
2438 yych = *YYCURSOR;
2439 switch (yych) {
2440 case '0' ... '9':
2441 case 'A' ... 'F':
2442 case 'a' ... 'f': goto yy241;
2443 default:
2444 if (YYLIMIT <= YYCURSOR) {
2445 if (YYFILL) goto yyFillLabel129;
2446 }
2447 goto yy55;
2448 }
2449yy162:
2450 ++YYCURSOR;
2451yyFillLabel130:
2452 yych = *YYCURSOR;
2453 switch (yych) {
2454 case '0' ... '9':
2455 case 'A' ... 'F':
2456 case 'a' ... 'f': goto yy242;
2457 default:
2458 if (YYLIMIT <= YYCURSOR) {
2459 if (YYFILL) goto yyFillLabel130;
2460 }
2461 goto yy55;
2462 }
2463yy163:
2464 ++YYCURSOR;
2465yyFillLabel131:
2466 yych = *YYCURSOR;
2467 switch (yych) {
2468 case 0x00:
2469 case 0x01 ... '&':
2470 case '(' ... '[':
2471 case ']' ... 0x7F:
2472 if (YYLIMIT <= YYCURSOR) {
2473 if (YYFILL) goto yyFillLabel131;
2474 goto yy55;
2475 }
2476 goto yy163;
2477 case '\'': goto yy243;
2478 case '\\': goto yy244;
2479 case 0xC2 ... 0xDF: goto yy245;
2480 case 0xE0: goto yy246;
2481 case 0xE1 ... 0xEF: goto yy247;
2482 case 0xF0: goto yy248;
2483 case 0xF1 ... 0xF3: goto yy249;
2484 case 0xF4: goto yy250;
2485 default: goto yy55;
2486 }
2487yy164:
2488 ++YYCURSOR;
2489yyFillLabel132:
2490 yych = *YYCURSOR;
2491 switch (yych) {
2492 case '0' ... '9':
2493 case 'A' ... 'F':
2494 case 'a' ... 'f': goto yy251;
2495 default:
2496 if (YYLIMIT <= YYCURSOR) {
2497 if (YYFILL) goto yyFillLabel132;
2498 }
2499 goto yy55;
2500 }
2501yy165:
2502 ++YYCURSOR;
2503yyFillLabel133:
2504 yych = *YYCURSOR;
2505 switch (yych) {
2506 case '0' ... '9':
2507 case 'A' ... 'F':
2508 case 'a' ... 'f': goto yy252;
2509 default:
2510 if (YYLIMIT <= YYCURSOR) {
2511 if (YYFILL) goto yyFillLabel133;
2512 }
2513 goto yy55;
2514 }
2515yy166:
2516 ++YYCURSOR;
2517yyFillLabel134:
2518 yych = *YYCURSOR;
2519 switch (yych) {
2520 case 0x80 ... 0xBF: goto yy81;
2521 default:
2522 if (YYLIMIT <= YYCURSOR) {
2523 if (YYFILL) goto yyFillLabel134;
2524 }
2525 goto yy55;
2526 }
2527yy167:
2528 ++YYCURSOR;
2529yyFillLabel135:
2530 yych = *YYCURSOR;
2531 switch (yych) {
2532 case 0xA0 ... 0xBF: goto yy166;
2533 default:
2534 if (YYLIMIT <= YYCURSOR) {
2535 if (YYFILL) goto yyFillLabel135;
2536 }
2537 goto yy55;
2538 }
2539yy168:
2540 ++YYCURSOR;
2541yyFillLabel136:
2542 yych = *YYCURSOR;
2543 switch (yych) {
2544 case 0x80 ... 0xBF: goto yy166;
2545 default:
2546 if (YYLIMIT <= YYCURSOR) {
2547 if (YYFILL) goto yyFillLabel136;
2548 }
2549 goto yy55;
2550 }
2551yy169:
2552 ++YYCURSOR;
2553yyFillLabel137:
2554 yych = *YYCURSOR;
2555 switch (yych) {
2556 case 0x90 ... 0xBF: goto yy168;
2557 default:
2558 if (YYLIMIT <= YYCURSOR) {
2559 if (YYFILL) goto yyFillLabel137;
2560 }
2561 goto yy55;
2562 }
2563yy170:
2564 ++YYCURSOR;
2565yyFillLabel138:
2566 yych = *YYCURSOR;
2567 switch (yych) {
2568 case 0x80 ... 0xBF: goto yy168;
2569 default:
2570 if (YYLIMIT <= YYCURSOR) {
2571 if (YYFILL) goto yyFillLabel138;
2572 }
2573 goto yy55;
2574 }
2575yy171:
2576 ++YYCURSOR;
2577yyFillLabel139:
2578 yych = *YYCURSOR;
2579 switch (yych) {
2580 case 0x80 ... 0x8F: goto yy168;
2581 default:
2582 if (YYLIMIT <= YYCURSOR) {
2583 if (YYFILL) goto yyFillLabel139;
2584 }
2585 goto yy55;
2586 }
2587yy172:
2588 ++YYCURSOR;
2589yyFillLabel140:
2590 yych = *YYCURSOR;
2591 switch (yych) {
2592 case '0' ... '9': goto yy85;
2593 case 'E':
2594 case 'e': goto yy87;
2595 default:
2596 if (YYLIMIT <= YYCURSOR) {
2597 if (YYFILL) goto yyFillLabel140;
2598 }
2599 goto yy55;
2600 }
2601yy173:
2602 ++YYCURSOR;
2603yyFillLabel141:
2604 yych = *YYCURSOR;
2605 switch (yych) {
2606 case 0x80 ... 0xBF: goto yy84;
2607 default:
2608 if (YYLIMIT <= YYCURSOR) {
2609 if (YYFILL) goto yyFillLabel141;
2610 }
2611 goto yy55;
2612 }
2613yy174:
2614 ++YYCURSOR;
2615yyFillLabel142:
2616 yych = *YYCURSOR;
2617 switch (yych) {
2618 case 0xA0 ... 0xBF: goto yy173;
2619 default:
2620 if (YYLIMIT <= YYCURSOR) {
2621 if (YYFILL) goto yyFillLabel142;
2622 }
2623 goto yy55;
2624 }
2625yy175:
2626 ++YYCURSOR;
2627yyFillLabel143:
2628 yych = *YYCURSOR;
2629 switch (yych) {
2630 case 0x80 ... 0xBF: goto yy173;
2631 default:
2632 if (YYLIMIT <= YYCURSOR) {
2633 if (YYFILL) goto yyFillLabel143;
2634 }
2635 goto yy55;
2636 }
2637yy176:
2638 ++YYCURSOR;
2639yyFillLabel144:
2640 yych = *YYCURSOR;
2641 switch (yych) {
2642 case 0x90 ... 0xBF: goto yy175;
2643 default:
2644 if (YYLIMIT <= YYCURSOR) {
2645 if (YYFILL) goto yyFillLabel144;
2646 }
2647 goto yy55;
2648 }
2649yy177:
2650 ++YYCURSOR;
2651yyFillLabel145:
2652 yych = *YYCURSOR;
2653 switch (yych) {
2654 case 0x80 ... 0xBF: goto yy175;
2655 default:
2656 if (YYLIMIT <= YYCURSOR) {
2657 if (YYFILL) goto yyFillLabel145;
2658 }
2659 goto yy55;
2660 }
2661yy178:
2662 ++YYCURSOR;
2663yyFillLabel146:
2664 yych = *YYCURSOR;
2665 switch (yych) {
2666 case 0x80 ... 0x8F: goto yy175;
2667 default:
2668 if (YYLIMIT <= YYCURSOR) {
2669 if (YYFILL) goto yyFillLabel146;
2670 }
2671 goto yy55;
2672 }
2673yy179:
2674 ++YYCURSOR;
2675yyFillLabel147:
2676 yych = *YYCURSOR;
2677 switch (yych) {
2678 case '0' ... '9': goto yy180;
2679 default:
2680 if (YYLIMIT <= YYCURSOR) {
2681 if (YYFILL) goto yyFillLabel147;
2682 }
2683 goto yy55;
2684 }
2685yy180:
2686 ++YYCURSOR;
2687yyFillLabel148:
2688 yych = *YYCURSOR;
2689 switch (yych) {
2690 case '0' ... '9': goto yy180;
2691 default:
2692 if (YYLIMIT <= YYCURSOR) {
2693 if (YYFILL) goto yyFillLabel148;
2694 }
2695 goto yy181;
2696 }
2697yy181:
2698#line 95 "ttl_action_def.re.inc"
2699 {
2700 // Normalize sign.
2701 size_t offset = *it->tok == '+' ? 1 : 0;
2702
2703 *token_p = uint8_ndup (it->tok + offset, YYCURSOR - it->tok - offset);
2704 log_trace ("Double: %s", *token_p);
2705
2706 return T_DOUBLE;
2707}
2708#line 2709 "parser_ttl.c"
2709yy182:
2710 ++YYCURSOR;
2711yyFillLabel149:
2712 yych = *YYCURSOR;
2713 switch (yych) {
2714 case '0' ... '9':
2715 case 'A' ... 'F':
2716 case 'a' ... 'f': goto yy89;
2717 default:
2718 if (YYLIMIT <= YYCURSOR) {
2719 if (YYFILL) goto yyFillLabel149;
2720 }
2721 goto yy55;
2722 }
2723yy183:
2724 ++YYCURSOR;
2725yyFillLabel150:
2726 yych = *YYCURSOR;
2727 switch (yych) {
2728 case '%': goto yy88;
2729 case '-':
2730 case '0' ... ':':
2731 case 'A' ... 'Z':
2732 case '_':
2733 case 'a' ... 'z': goto yy89;
2734 case '.': goto yy183;
2735 case '\\': goto yy92;
2736 case 0xC2: goto yy184;
2737 case 0xC3: goto yy93;
2738 case 0xC4 ... 0xCC:
2739 case 0xCE ... 0xDF: goto yy94;
2740 case 0xCD: goto yy185;
2741 case 0xE0: goto yy96;
2742 case 0xE1:
2743 case 0xE4 ... 0xEC: goto yy97;
2744 case 0xE2: goto yy186;
2745 case 0xE3: goto yy99;
2746 case 0xED: goto yy100;
2747 case 0xEF: goto yy101;
2748 case 0xF0: goto yy102;
2749 case 0xF1 ... 0xF2: goto yy103;
2750 case 0xF3: goto yy104;
2751 default:
2752 if (YYLIMIT <= YYCURSOR) {
2753 if (YYFILL) goto yyFillLabel150;
2754 }
2755 goto yy55;
2756 }
2757yy184:
2758 ++YYCURSOR;
2759yyFillLabel151:
2760 yych = *YYCURSOR;
2761 switch (yych) {
2762 case 0xB7: goto yy89;
2763 default:
2764 if (YYLIMIT <= YYCURSOR) {
2765 if (YYFILL) goto yyFillLabel151;
2766 }
2767 goto yy55;
2768 }
2769yy185:
2770 ++YYCURSOR;
2771yyFillLabel152:
2772 yych = *YYCURSOR;
2773 switch (yych) {
2774 case 0x80 ... 0xBD:
2775 case 0xBF: goto yy89;
2776 default:
2777 if (YYLIMIT <= YYCURSOR) {
2778 if (YYFILL) goto yyFillLabel152;
2779 }
2780 goto yy55;
2781 }
2782yy186:
2783 ++YYCURSOR;
2784yyFillLabel153:
2785 yych = *YYCURSOR;
2786 switch (yych) {
2787 case 0x80: goto yy253;
2788 case 0x81: goto yy254;
2789 case 0x82 ... 0x85:
2790 case 0xB0 ... 0xBE: goto yy94;
2791 case 0x86: goto yy189;
2792 case 0xBF: goto yy190;
2793 default:
2794 if (YYLIMIT <= YYCURSOR) {
2795 if (YYFILL) goto yyFillLabel153;
2796 }
2797 goto yy55;
2798 }
2799yy187:
2800 ++YYCURSOR;
2801yyFillLabel154:
2802 yych = *YYCURSOR;
2803 switch (yych) {
2804 case 0x8C ... 0x8D: goto yy89;
2805 default:
2806 if (YYLIMIT <= YYCURSOR) {
2807 if (YYFILL) goto yyFillLabel154;
2808 }
2809 goto yy55;
2810 }
2811yy188:
2812 ++YYCURSOR;
2813yyFillLabel155:
2814 yych = *YYCURSOR;
2815 switch (yych) {
2816 case 0xB0 ... 0xBF: goto yy89;
2817 default:
2818 if (YYLIMIT <= YYCURSOR) {
2819 if (YYFILL) goto yyFillLabel155;
2820 }
2821 goto yy55;
2822 }
2823yy189:
2824 ++YYCURSOR;
2825yyFillLabel156:
2826 yych = *YYCURSOR;
2827 switch (yych) {
2828 case 0x80 ... 0x8F: goto yy89;
2829 default:
2830 if (YYLIMIT <= YYCURSOR) {
2831 if (YYFILL) goto yyFillLabel156;
2832 }
2833 goto yy55;
2834 }
2835yy190:
2836 ++YYCURSOR;
2837yyFillLabel157:
2838 yych = *YYCURSOR;
2839 switch (yych) {
2840 case 0x80 ... 0xAF: goto yy89;
2841 default:
2842 if (YYLIMIT <= YYCURSOR) {
2843 if (YYFILL) goto yyFillLabel157;
2844 }
2845 goto yy55;
2846 }
2847yy191:
2848 ++YYCURSOR;
2849yyFillLabel158:
2850 yych = *YYCURSOR;
2851 switch (yych) {
2852 case 0x81 ... 0xBF: goto yy89;
2853 default:
2854 if (YYLIMIT <= YYCURSOR) {
2855 if (YYFILL) goto yyFillLabel158;
2856 }
2857 goto yy55;
2858 }
2859yy192:
2860 ++YYCURSOR;
2861yyFillLabel159:
2862 yych = *YYCURSOR;
2863 switch (yych) {
2864 case 0x80 ... 0x8F:
2865 case 0xB0 ... 0xBF: goto yy89;
2866 default:
2867 if (YYLIMIT <= YYCURSOR) {
2868 if (YYFILL) goto yyFillLabel159;
2869 }
2870 goto yy55;
2871 }
2872yy193:
2873 ++YYCURSOR;
2874yyFillLabel160:
2875 yych = *YYCURSOR;
2876 switch (yych) {
2877 case 0x80 ... 0xBD: goto yy89;
2878 default:
2879 if (YYLIMIT <= YYCURSOR) {
2880 if (YYFILL) goto yyFillLabel160;
2881 }
2882 goto yy55;
2883 }
2884yy194:
2885 ++YYCURSOR;
2886yyFillLabel161:
2887 yych = *YYCURSOR;
2888 switch (yych) {
2889 case 0x80 ... 0xBF: goto yy105;
2890 default:
2891 if (YYLIMIT <= YYCURSOR) {
2892 if (YYFILL) goto yyFillLabel161;
2893 }
2894 goto yy55;
2895 }
2896yy195:
2897 ++YYCURSOR;
2898yyFillLabel162:
2899 yych = *YYCURSOR;
2900 switch (yych) {
2901 case 0xA0 ... 0xBF: goto yy194;
2902 default:
2903 if (YYLIMIT <= YYCURSOR) {
2904 if (YYFILL) goto yyFillLabel162;
2905 }
2906 goto yy55;
2907 }
2908yy196:
2909 ++YYCURSOR;
2910yyFillLabel163:
2911 yych = *YYCURSOR;
2912 switch (yych) {
2913 case 0x80 ... 0xBF: goto yy194;
2914 default:
2915 if (YYLIMIT <= YYCURSOR) {
2916 if (YYFILL) goto yyFillLabel163;
2917 }
2918 goto yy55;
2919 }
2920yy197:
2921 ++YYCURSOR;
2922yyFillLabel164:
2923 yych = *YYCURSOR;
2924 switch (yych) {
2925 case 0x90 ... 0xBF: goto yy196;
2926 default:
2927 if (YYLIMIT <= YYCURSOR) {
2928 if (YYFILL) goto yyFillLabel164;
2929 }
2930 goto yy55;
2931 }
2932yy198:
2933 ++YYCURSOR;
2934yyFillLabel165:
2935 yych = *YYCURSOR;
2936 switch (yych) {
2937 case 0x80 ... 0xBF: goto yy196;
2938 default:
2939 if (YYLIMIT <= YYCURSOR) {
2940 if (YYFILL) goto yyFillLabel165;
2941 }
2942 goto yy55;
2943 }
2944yy199:
2945 ++YYCURSOR;
2946yyFillLabel166:
2947 yych = *YYCURSOR;
2948 switch (yych) {
2949 case 0x80 ... 0x8F: goto yy196;
2950 default:
2951 if (YYLIMIT <= YYCURSOR) {
2952 if (YYFILL) goto yyFillLabel166;
2953 }
2954 goto yy55;
2955 }
2956yy200:
2957 ++YYCURSOR;
2958yyFillLabel167:
2959 yych = *YYCURSOR;
2960 switch (yych) {
2961 case '0' ... '9':
2962 case 'A' ... 'F':
2963 case 'a' ... 'f': goto yy255;
2964 default:
2965 if (YYLIMIT <= YYCURSOR) {
2966 if (YYFILL) goto yyFillLabel167;
2967 }
2968 goto yy55;
2969 }
2970yy201:
2971 ++YYCURSOR;
2972yyFillLabel168:
2973 yych = *YYCURSOR;
2974 switch (yych) {
2975 case '0' ... '9':
2976 case 'A' ... 'F':
2977 case 'a' ... 'f': goto yy256;
2978 default:
2979 if (YYLIMIT <= YYCURSOR) {
2980 if (YYFILL) goto yyFillLabel168;
2981 }
2982 goto yy55;
2983 }
2984yy202:
2985 ++YYCURSOR;
2986yyFillLabel169:
2987 yych = *YYCURSOR;
2988 switch (yych) {
2989 case '0' ... '9':
2990 case 'A' ... 'Z':
2991 case 'a' ... 'z': goto yy257;
2992 default:
2993 if (YYLIMIT <= YYCURSOR) {
2994 if (YYFILL) goto yyFillLabel169;
2995 }
2996 goto yy55;
2997 }
2998yy203:
2999 yyaccept = 12;
3000 YYMARKER = ++YYCURSOR;
3001yyFillLabel170:
3002 yych = *YYCURSOR;
3003 switch (yych) {
3004 case 0x00:
3005 if (YYLIMIT <= YYCURSOR) {
3006 if (YYFILL) goto yyFillLabel170;
3007 }
3008 goto yy118;
3009 case 's': goto yy258;
3010 default: goto yy117;
3011 }
3012yy204:
3013 yyaccept = 12;
3014 YYMARKER = ++YYCURSOR;
3015yyFillLabel171:
3016 yych = *YYCURSOR;
3017 switch (yych) {
3018 case 0x00:
3019 if (YYLIMIT <= YYCURSOR) {
3020 if (YYFILL) goto yyFillLabel171;
3021 }
3022 goto yy118;
3023 case 'e': goto yy259;
3024 default: goto yy117;
3025 }
3026yy205:
3027 ++YYCURSOR;
3028yyFillLabel172:
3029 yych = *YYCURSOR;
3030 switch (yych) {
3031 case 0x8C ... 0x8D:
3032 case 0xBF: goto yy121;
3033 default:
3034 if (YYLIMIT <= YYCURSOR) {
3035 if (YYFILL) goto yyFillLabel172;
3036 }
3037 goto yy55;
3038 }
3039yy206:
3040 ++YYCURSOR;
3041yyFillLabel173:
3042 yych = *YYCURSOR;
3043 switch (yych) {
3044 case 0x80:
3045 case 0xB0 ... 0xBF: goto yy121;
3046 default:
3047 if (YYLIMIT <= YYCURSOR) {
3048 if (YYFILL) goto yyFillLabel173;
3049 }
3050 goto yy55;
3051 }
3052yy207:
3053 ++YYCURSOR;
3054yyFillLabel174:
3055 yych = *YYCURSOR;
3056 switch (yych) {
3057 case 0x00:
3058 if (YYLIMIT <= YYCURSOR) {
3059 if (YYFILL) goto yyFillLabel174;
3060 }
3061 goto yy55;
3062 case 'E':
3063 case 'e': goto yy260;
3064 default: goto yy122;
3065 }
3066yy208:
3067 ++YYCURSOR;
3068yyFillLabel175:
3069 yych = *YYCURSOR;
3070 switch (yych) {
3071 case 0x00:
3072 if (YYLIMIT <= YYCURSOR) {
3073 if (YYFILL) goto yyFillLabel175;
3074 }
3075 goto yy55;
3076 case 'F':
3077 case 'f': goto yy262;
3078 default: goto yy122;
3079 }
3080yy209:
3081 yyaccept = 14;
3082 YYMARKER = ++YYCURSOR;
3083yyFillLabel176:
3084 yych = *YYCURSOR;
3085 switch (yych) {
3086 case 0x00:
3087 case 0x01 ... '\t':
3088 case '\v' ... '\f':
3089 case 0x0E ... '\\':
3090 case '^' ... 0x7F:
3091 if (YYLIMIT <= YYCURSOR) {
3092 if (YYFILL) goto yyFillLabel176;
3093 goto yy141;
3094 }
3095 goto yy139;
3096 case '\n':
3097 case '\r': goto yy30;
3098 case ']': goto yy209;
3099 case 0xC2 ... 0xDF: goto yy210;
3100 case 0xE0: goto yy211;
3101 case 0xE1 ... 0xEF: goto yy212;
3102 case 0xF0: goto yy213;
3103 case 0xF1 ... 0xF3: goto yy214;
3104 case 0xF4: goto yy215;
3105 default: goto yy141;
3106 }
3107yy210:
3108 ++YYCURSOR;
3109yyFillLabel177:
3110 yych = *YYCURSOR;
3111 switch (yych) {
3112 case 0x80 ... 0xBF: goto yy139;
3113 default:
3114 if (YYLIMIT <= YYCURSOR) {
3115 if (YYFILL) goto yyFillLabel177;
3116 }
3117 goto yy55;
3118 }
3119yy211:
3120 ++YYCURSOR;
3121yyFillLabel178:
3122 yych = *YYCURSOR;
3123 switch (yych) {
3124 case 0xA0 ... 0xBF: goto yy210;
3125 default:
3126 if (YYLIMIT <= YYCURSOR) {
3127 if (YYFILL) goto yyFillLabel178;
3128 }
3129 goto yy55;
3130 }
3131yy212:
3132 ++YYCURSOR;
3133yyFillLabel179:
3134 yych = *YYCURSOR;
3135 switch (yych) {
3136 case 0x80 ... 0xBF: goto yy210;
3137 default:
3138 if (YYLIMIT <= YYCURSOR) {
3139 if (YYFILL) goto yyFillLabel179;
3140 }
3141 goto yy55;
3142 }
3143yy213:
3144 ++YYCURSOR;
3145yyFillLabel180:
3146 yych = *YYCURSOR;
3147 switch (yych) {
3148 case 0x90 ... 0xBF: goto yy212;
3149 default:
3150 if (YYLIMIT <= YYCURSOR) {
3151 if (YYFILL) goto yyFillLabel180;
3152 }
3153 goto yy55;
3154 }
3155yy214:
3156 ++YYCURSOR;
3157yyFillLabel181:
3158 yych = *YYCURSOR;
3159 switch (yych) {
3160 case 0x80 ... 0xBF: goto yy212;
3161 default:
3162 if (YYLIMIT <= YYCURSOR) {
3163 if (YYFILL) goto yyFillLabel181;
3164 }
3165 goto yy55;
3166 }
3167yy215:
3168 ++YYCURSOR;
3169yyFillLabel182:
3170 yych = *YYCURSOR;
3171 switch (yych) {
3172 case 0x80 ... 0x8F: goto yy212;
3173 default:
3174 if (YYLIMIT <= YYCURSOR) {
3175 if (YYFILL) goto yyFillLabel182;
3176 }
3177 goto yy55;
3178 }
3179yy216:
3180 yyaccept = 15;
3181 YYMARKER = ++YYCURSOR;
3182yyFillLabel183:
3183 yych = *YYCURSOR;
3184yy217:
3185 switch (yych) {
3186 case '-':
3187 case '0' ... '9':
3188 case 'A' ... 'Z':
3189 case '_':
3190 case 'a' ... 'z': goto yy216;
3191 case '.': goto yy263;
3192 case 0xC2: goto yy264;
3193 case 0xC3: goto yy219;
3194 case 0xC4 ... 0xCC:
3195 case 0xCE ... 0xDF: goto yy220;
3196 case 0xCD: goto yy265;
3197 case 0xE0: goto yy222;
3198 case 0xE1:
3199 case 0xE4 ... 0xEC: goto yy223;
3200 case 0xE2: goto yy266;
3201 case 0xE3: goto yy225;
3202 case 0xED: goto yy226;
3203 case 0xEF: goto yy227;
3204 case 0xF0: goto yy228;
3205 case 0xF1 ... 0xF2: goto yy229;
3206 case 0xF3: goto yy230;
3207 default:
3208 if (YYLIMIT <= YYCURSOR) {
3209 if (YYFILL) goto yyFillLabel183;
3210 }
3211 goto yy218;
3212 }
3213yy218:
3214#line 42 "ttl_action_def.re.inc"
3215 {
3216 *token_p = uint8_ndup (it->tok + 2, YYCURSOR - it->tok - 2);
3217 log_trace ("BNode name: %s", *token_p);
3218
3219 return T_BNODE_ID;
3220}
3221#line 3222 "parser_ttl.c"
3222yy219:
3223 ++YYCURSOR;
3224yyFillLabel184:
3225 yych = *YYCURSOR;
3226 switch (yych) {
3227 case 0x80 ... 0x96:
3228 case 0x98 ... 0xB6:
3229 case 0xB8 ... 0xBF: goto yy216;
3230 default:
3231 if (YYLIMIT <= YYCURSOR) {
3232 if (YYFILL) goto yyFillLabel184;
3233 }
3234 goto yy55;
3235 }
3236yy220:
3237 ++YYCURSOR;
3238yyFillLabel185:
3239 yych = *YYCURSOR;
3240 switch (yych) {
3241 case 0x80 ... 0xBF: goto yy216;
3242 default:
3243 if (YYLIMIT <= YYCURSOR) {
3244 if (YYFILL) goto yyFillLabel185;
3245 }
3246 goto yy55;
3247 }
3248yy221:
3249 ++YYCURSOR;
3250yyFillLabel186:
3251 yych = *YYCURSOR;
3252 switch (yych) {
3253 case 0xB0 ... 0xBD:
3254 case 0xBF: goto yy216;
3255 default:
3256 if (YYLIMIT <= YYCURSOR) {
3257 if (YYFILL) goto yyFillLabel186;
3258 }
3259 goto yy55;
3260 }
3261yy222:
3262 ++YYCURSOR;
3263yyFillLabel187:
3264 yych = *YYCURSOR;
3265 switch (yych) {
3266 case 0xA0 ... 0xBF: goto yy220;
3267 default:
3268 if (YYLIMIT <= YYCURSOR) {
3269 if (YYFILL) goto yyFillLabel187;
3270 }
3271 goto yy55;
3272 }
3273yy223:
3274 ++YYCURSOR;
3275yyFillLabel188:
3276 yych = *YYCURSOR;
3277 switch (yych) {
3278 case 0x80 ... 0xBF: goto yy220;
3279 default:
3280 if (YYLIMIT <= YYCURSOR) {
3281 if (YYFILL) goto yyFillLabel188;
3282 }
3283 goto yy55;
3284 }
3285yy224:
3286 ++YYCURSOR;
3287yyFillLabel189:
3288 yych = *YYCURSOR;
3289 switch (yych) {
3290 case 0x80: goto yy267;
3291 case 0x81: goto yy268;
3292 case 0x82 ... 0x85:
3293 case 0xB0 ... 0xBE: goto yy220;
3294 case 0x86: goto yy269;
3295 case 0xBF: goto yy270;
3296 default:
3297 if (YYLIMIT <= YYCURSOR) {
3298 if (YYFILL) goto yyFillLabel189;
3299 }
3300 goto yy55;
3301 }
3302yy225:
3303 ++YYCURSOR;
3304yyFillLabel190:
3305 yych = *YYCURSOR;
3306 switch (yych) {
3307 case 0x80: goto yy271;
3308 case 0x81 ... 0xBF: goto yy220;
3309 default:
3310 if (YYLIMIT <= YYCURSOR) {
3311 if (YYFILL) goto yyFillLabel190;
3312 }
3313 goto yy55;
3314 }
3315yy226:
3316 ++YYCURSOR;
3317yyFillLabel191:
3318 yych = *YYCURSOR;
3319 switch (yych) {
3320 case 0x80 ... 0x9F: goto yy220;
3321 default:
3322 if (YYLIMIT <= YYCURSOR) {
3323 if (YYFILL) goto yyFillLabel191;
3324 }
3325 goto yy55;
3326 }
3327yy227:
3328 ++YYCURSOR;
3329yyFillLabel192:
3330 yych = *YYCURSOR;
3331 switch (yych) {
3332 case 0xA4 ... 0xB6:
3333 case 0xB8 ... 0xBE: goto yy220;
3334 case 0xB7: goto yy272;
3335 case 0xBF: goto yy273;
3336 default:
3337 if (YYLIMIT <= YYCURSOR) {
3338 if (YYFILL) goto yyFillLabel192;
3339 }
3340 goto yy55;
3341 }
3342yy228:
3343 ++YYCURSOR;
3344yyFillLabel193:
3345 yych = *YYCURSOR;
3346 switch (yych) {
3347 case 0x90 ... 0xBF: goto yy223;
3348 default:
3349 if (YYLIMIT <= YYCURSOR) {
3350 if (YYFILL) goto yyFillLabel193;
3351 }
3352 goto yy55;
3353 }
3354yy229:
3355 ++YYCURSOR;
3356yyFillLabel194:
3357 yych = *YYCURSOR;
3358 switch (yych) {
3359 case 0x80 ... 0xBF: goto yy223;
3360 default:
3361 if (YYLIMIT <= YYCURSOR) {
3362 if (YYFILL) goto yyFillLabel194;
3363 }
3364 goto yy55;
3365 }
3366yy230:
3367 ++YYCURSOR;
3368yyFillLabel195:
3369 yych = *YYCURSOR;
3370 switch (yych) {
3371 case 0x80 ... 0xAF: goto yy223;
3372 default:
3373 if (YYLIMIT <= YYCURSOR) {
3374 if (YYFILL) goto yyFillLabel195;
3375 }
3376 goto yy55;
3377 }
3378yy231:
3379 ++YYCURSOR;
3380yyFillLabel196:
3381 yych = *YYCURSOR;
3382 switch (yych) {
3383 case 0x00:
3384 if (YYLIMIT <= YYCURSOR) {
3385 if (YYFILL) goto yyFillLabel196;
3386 }
3387 goto yy55;
3388 case 's': goto yy232;
3389 default: goto yy122;
3390 }
3391yy232:
3392 ++YYCURSOR;
3393yyFillLabel197:
3394 yych = *YYCURSOR;
3395 switch (yych) {
3396 case 0x00:
3397 if (YYLIMIT <= YYCURSOR) {
3398 if (YYFILL) goto yyFillLabel197;
3399 }
3400 goto yy55;
3401 case 'e': goto yy274;
3402 default: goto yy122;
3403 }
3404yy233:
3405 ++YYCURSOR;
3406yyFillLabel198:
3407 yych = *YYCURSOR;
3408 switch (yych) {
3409 case 0x00:
3410 case 0x01 ... '!':
3411 case '#' ... '[':
3412 case ']' ... 0x7F:
3413 if (YYLIMIT <= YYCURSOR) {
3414 if (YYFILL) goto yyFillLabel198;
3415 goto yy55;
3416 }
3417 goto yy160;
3418 case '"': goto yy276;
3419 case '\\': goto yy234;
3420 case 0xC2 ... 0xDF: goto yy235;
3421 case 0xE0: goto yy236;
3422 case 0xE1 ... 0xEF: goto yy237;
3423 case 0xF0: goto yy238;
3424 case 0xF1 ... 0xF3: goto yy239;
3425 case 0xF4: goto yy240;
3426 default: goto yy55;
3427 }
3428yy234:
3429 ++YYCURSOR;
3430yyFillLabel199:
3431 yych = *YYCURSOR;
3432 switch (yych) {
3433 case '"':
3434 case '\'':
3435 case '\\':
3436 case 'b':
3437 case 'f':
3438 case 'n':
3439 case 'r':
3440 case 't': goto yy160;
3441 case 'U': goto yy277;
3442 case 'u': goto yy278;
3443 default:
3444 if (YYLIMIT <= YYCURSOR) {
3445 if (YYFILL) goto yyFillLabel199;
3446 }
3447 goto yy55;
3448 }
3449yy235:
3450 ++YYCURSOR;
3451yyFillLabel200:
3452 yych = *YYCURSOR;
3453 switch (yych) {
3454 case 0x80 ... 0xBF: goto yy160;
3455 default:
3456 if (YYLIMIT <= YYCURSOR) {
3457 if (YYFILL) goto yyFillLabel200;
3458 }
3459 goto yy55;
3460 }
3461yy236:
3462 ++YYCURSOR;
3463yyFillLabel201:
3464 yych = *YYCURSOR;
3465 switch (yych) {
3466 case 0xA0 ... 0xBF: goto yy235;
3467 default:
3468 if (YYLIMIT <= YYCURSOR) {
3469 if (YYFILL) goto yyFillLabel201;
3470 }
3471 goto yy55;
3472 }
3473yy237:
3474 ++YYCURSOR;
3475yyFillLabel202:
3476 yych = *YYCURSOR;
3477 switch (yych) {
3478 case 0x80 ... 0xBF: goto yy235;
3479 default:
3480 if (YYLIMIT <= YYCURSOR) {
3481 if (YYFILL) goto yyFillLabel202;
3482 }
3483 goto yy55;
3484 }
3485yy238:
3486 ++YYCURSOR;
3487yyFillLabel203:
3488 yych = *YYCURSOR;
3489 switch (yych) {
3490 case 0x90 ... 0xBF: goto yy237;
3491 default:
3492 if (YYLIMIT <= YYCURSOR) {
3493 if (YYFILL) goto yyFillLabel203;
3494 }
3495 goto yy55;
3496 }
3497yy239:
3498 ++YYCURSOR;
3499yyFillLabel204:
3500 yych = *YYCURSOR;
3501 switch (yych) {
3502 case 0x80 ... 0xBF: goto yy237;
3503 default:
3504 if (YYLIMIT <= YYCURSOR) {
3505 if (YYFILL) goto yyFillLabel204;
3506 }
3507 goto yy55;
3508 }
3509yy240:
3510 ++YYCURSOR;
3511yyFillLabel205:
3512 yych = *YYCURSOR;
3513 switch (yych) {
3514 case 0x80 ... 0x8F: goto yy237;
3515 default:
3516 if (YYLIMIT <= YYCURSOR) {
3517 if (YYFILL) goto yyFillLabel205;
3518 }
3519 goto yy55;
3520 }
3521yy241:
3522 ++YYCURSOR;
3523yyFillLabel206:
3524 yych = *YYCURSOR;
3525 switch (yych) {
3526 case '0' ... '9':
3527 case 'A' ... 'F':
3528 case 'a' ... 'f': goto yy279;
3529 default:
3530 if (YYLIMIT <= YYCURSOR) {
3531 if (YYFILL) goto yyFillLabel206;
3532 }
3533 goto yy55;
3534 }
3535yy242:
3536 ++YYCURSOR;
3537yyFillLabel207:
3538 yych = *YYCURSOR;
3539 switch (yych) {
3540 case '0' ... '9':
3541 case 'A' ... 'F':
3542 case 'a' ... 'f': goto yy280;
3543 default:
3544 if (YYLIMIT <= YYCURSOR) {
3545 if (YYFILL) goto yyFillLabel207;
3546 }
3547 goto yy55;
3548 }
3549yy243:
3550 ++YYCURSOR;
3551yyFillLabel208:
3552 yych = *YYCURSOR;
3553 switch (yych) {
3554 case 0x00:
3555 case 0x01 ... '&':
3556 case '(' ... '[':
3557 case ']' ... 0x7F:
3558 if (YYLIMIT <= YYCURSOR) {
3559 if (YYFILL) goto yyFillLabel208;
3560 goto yy55;
3561 }
3562 goto yy163;
3563 case '\'': goto yy281;
3564 case '\\': goto yy244;
3565 case 0xC2 ... 0xDF: goto yy245;
3566 case 0xE0: goto yy246;
3567 case 0xE1 ... 0xEF: goto yy247;
3568 case 0xF0: goto yy248;
3569 case 0xF1 ... 0xF3: goto yy249;
3570 case 0xF4: goto yy250;
3571 default: goto yy55;
3572 }
3573yy244:
3574 ++YYCURSOR;
3575yyFillLabel209:
3576 yych = *YYCURSOR;
3577 switch (yych) {
3578 case '"':
3579 case '\'':
3580 case '\\':
3581 case 'b':
3582 case 'f':
3583 case 'n':
3584 case 'r':
3585 case 't': goto yy163;
3586 case 'U': goto yy282;
3587 case 'u': goto yy283;
3588 default:
3589 if (YYLIMIT <= YYCURSOR) {
3590 if (YYFILL) goto yyFillLabel209;
3591 }
3592 goto yy55;
3593 }
3594yy245:
3595 ++YYCURSOR;
3596yyFillLabel210:
3597 yych = *YYCURSOR;
3598 switch (yych) {
3599 case 0x80 ... 0xBF: goto yy163;
3600 default:
3601 if (YYLIMIT <= YYCURSOR) {
3602 if (YYFILL) goto yyFillLabel210;
3603 }
3604 goto yy55;
3605 }
3606yy246:
3607 ++YYCURSOR;
3608yyFillLabel211:
3609 yych = *YYCURSOR;
3610 switch (yych) {
3611 case 0xA0 ... 0xBF: goto yy245;
3612 default:
3613 if (YYLIMIT <= YYCURSOR) {
3614 if (YYFILL) goto yyFillLabel211;
3615 }
3616 goto yy55;
3617 }
3618yy247:
3619 ++YYCURSOR;
3620yyFillLabel212:
3621 yych = *YYCURSOR;
3622 switch (yych) {
3623 case 0x80 ... 0xBF: goto yy245;
3624 default:
3625 if (YYLIMIT <= YYCURSOR) {
3626 if (YYFILL) goto yyFillLabel212;
3627 }
3628 goto yy55;
3629 }
3630yy248:
3631 ++YYCURSOR;
3632yyFillLabel213:
3633 yych = *YYCURSOR;
3634 switch (yych) {
3635 case 0x90 ... 0xBF: goto yy247;
3636 default:
3637 if (YYLIMIT <= YYCURSOR) {
3638 if (YYFILL) goto yyFillLabel213;
3639 }
3640 goto yy55;
3641 }
3642yy249:
3643 ++YYCURSOR;
3644yyFillLabel214:
3645 yych = *YYCURSOR;
3646 switch (yych) {
3647 case 0x80 ... 0xBF: goto yy247;
3648 default:
3649 if (YYLIMIT <= YYCURSOR) {
3650 if (YYFILL) goto yyFillLabel214;
3651 }
3652 goto yy55;
3653 }
3654yy250:
3655 ++YYCURSOR;
3656yyFillLabel215:
3657 yych = *YYCURSOR;
3658 switch (yych) {
3659 case 0x80 ... 0x8F: goto yy247;
3660 default:
3661 if (YYLIMIT <= YYCURSOR) {
3662 if (YYFILL) goto yyFillLabel215;
3663 }
3664 goto yy55;
3665 }
3666yy251:
3667 ++YYCURSOR;
3668yyFillLabel216:
3669 yych = *YYCURSOR;
3670 switch (yych) {
3671 case '0' ... '9':
3672 case 'A' ... 'F':
3673 case 'a' ... 'f': goto yy284;
3674 default:
3675 if (YYLIMIT <= YYCURSOR) {
3676 if (YYFILL) goto yyFillLabel216;
3677 }
3678 goto yy55;
3679 }
3680yy252:
3681 ++YYCURSOR;
3682yyFillLabel217:
3683 yych = *YYCURSOR;
3684 switch (yych) {
3685 case '0' ... '9':
3686 case 'A' ... 'F':
3687 case 'a' ... 'f': goto yy285;
3688 default:
3689 if (YYLIMIT <= YYCURSOR) {
3690 if (YYFILL) goto yyFillLabel217;
3691 }
3692 goto yy55;
3693 }
3694yy253:
3695 ++YYCURSOR;
3696yyFillLabel218:
3697 yych = *YYCURSOR;
3698 switch (yych) {
3699 case 0x8C ... 0x8D:
3700 case 0xBF: goto yy89;
3701 default:
3702 if (YYLIMIT <= YYCURSOR) {
3703 if (YYFILL) goto yyFillLabel218;
3704 }
3705 goto yy55;
3706 }
3707yy254:
3708 ++YYCURSOR;
3709yyFillLabel219:
3710 yych = *YYCURSOR;
3711 switch (yych) {
3712 case 0x80:
3713 case 0xB0 ... 0xBF: goto yy89;
3714 default:
3715 if (YYLIMIT <= YYCURSOR) {
3716 if (YYFILL) goto yyFillLabel219;
3717 }
3718 goto yy55;
3719 }
3720yy255:
3721 ++YYCURSOR;
3722yyFillLabel220:
3723 yych = *YYCURSOR;
3724 switch (yych) {
3725 case '0' ... '9':
3726 case 'A' ... 'F':
3727 case 'a' ... 'f': goto yy286;
3728 default:
3729 if (YYLIMIT <= YYCURSOR) {
3730 if (YYFILL) goto yyFillLabel220;
3731 }
3732 goto yy55;
3733 }
3734yy256:
3735 ++YYCURSOR;
3736yyFillLabel221:
3737 yych = *YYCURSOR;
3738 switch (yych) {
3739 case '0' ... '9':
3740 case 'A' ... 'F':
3741 case 'a' ... 'f': goto yy287;
3742 default:
3743 if (YYLIMIT <= YYCURSOR) {
3744 if (YYFILL) goto yyFillLabel221;
3745 }
3746 goto yy55;
3747 }
3748yy257:
3749 yyaccept = 12;
3750 YYMARKER = ++YYCURSOR;
3751yyFillLabel222:
3752 yych = *YYCURSOR;
3753 switch (yych) {
3754 case '-': goto yy202;
3755 case '0' ... '9':
3756 case 'A' ... 'Z':
3757 case 'a' ... 'z': goto yy257;
3758 default:
3759 if (YYLIMIT <= YYCURSOR) {
3760 if (YYFILL) goto yyFillLabel222;
3761 }
3762 goto yy118;
3763 }
3764yy258:
3765 yyaccept = 12;
3766 YYMARKER = ++YYCURSOR;
3767yyFillLabel223:
3768 yych = *YYCURSOR;
3769 switch (yych) {
3770 case 0x00:
3771 if (YYLIMIT <= YYCURSOR) {
3772 if (YYFILL) goto yyFillLabel223;
3773 }
3774 goto yy118;
3775 case 'e': goto yy288;
3776 default: goto yy117;
3777 }
3778yy259:
3779 yyaccept = 12;
3780 YYMARKER = ++YYCURSOR;
3781yyFillLabel224:
3782 yych = *YYCURSOR;
3783 switch (yych) {
3784 case 0x00:
3785 if (YYLIMIT <= YYCURSOR) {
3786 if (YYFILL) goto yyFillLabel224;
3787 }
3788 goto yy118;
3789 case 'f': goto yy289;
3790 default: goto yy117;
3791 }
3792yy260:
3793 yyaccept = 16;
3794 YYMARKER = ++YYCURSOR;
3795yyFillLabel225:
3796 yych = *YYCURSOR;
3797 switch (yych) {
3798 case '-' ... '.':
3799 case '0' ... ':':
3800 case 'A' ... 'Z':
3801 case '_':
3802 case 'a' ... 'z':
3803 case 0xC2 ... 0xED:
3804 case 0xEF ... 0xF3: goto yy122;
3805 default:
3806 if (YYLIMIT <= YYCURSOR) {
3807 if (YYFILL) goto yyFillLabel225;
3808 }
3809 goto yy261;
3810 }
3811yy261:
3812#line 49 "ttl_action_def.re.inc"
3813 {
3814 log_trace ("'@base' keyword.");
3815
3816 return T_BASE;
3817}
3818#line 3819 "parser_ttl.c"
3819yy262:
3820 ++YYCURSOR;
3821yyFillLabel226:
3822 yych = *YYCURSOR;
3823 switch (yych) {
3824 case 0x00:
3825 if (YYLIMIT <= YYCURSOR) {
3826 if (YYFILL) goto yyFillLabel226;
3827 }
3828 goto yy55;
3829 case 'I':
3830 case 'i': goto yy290;
3831 default: goto yy122;
3832 }
3833yy263:
3834 ++YYCURSOR;
3835yyFillLabel227:
3836 yych = *YYCURSOR;
3837 switch (yych) {
3838 case '-':
3839 case '0' ... '9':
3840 case 'A' ... 'Z':
3841 case '_':
3842 case 'a' ... 'z': goto yy216;
3843 case '.': goto yy263;
3844 case 0xC2: goto yy264;
3845 case 0xC3: goto yy219;
3846 case 0xC4 ... 0xCC:
3847 case 0xCE ... 0xDF: goto yy220;
3848 case 0xCD: goto yy265;
3849 case 0xE0: goto yy222;
3850 case 0xE1:
3851 case 0xE4 ... 0xEC: goto yy223;
3852 case 0xE2: goto yy266;
3853 case 0xE3: goto yy225;
3854 case 0xED: goto yy226;
3855 case 0xEF: goto yy227;
3856 case 0xF0: goto yy228;
3857 case 0xF1 ... 0xF2: goto yy229;
3858 case 0xF3: goto yy230;
3859 default:
3860 if (YYLIMIT <= YYCURSOR) {
3861 if (YYFILL) goto yyFillLabel227;
3862 }
3863 goto yy55;
3864 }
3865yy264:
3866 ++YYCURSOR;
3867yyFillLabel228:
3868 yych = *YYCURSOR;
3869 switch (yych) {
3870 case 0xB7: goto yy216;
3871 default:
3872 if (YYLIMIT <= YYCURSOR) {
3873 if (YYFILL) goto yyFillLabel228;
3874 }
3875 goto yy55;
3876 }
3877yy265:
3878 ++YYCURSOR;
3879yyFillLabel229:
3880 yych = *YYCURSOR;
3881 switch (yych) {
3882 case 0x80 ... 0xBD:
3883 case 0xBF: goto yy216;
3884 default:
3885 if (YYLIMIT <= YYCURSOR) {
3886 if (YYFILL) goto yyFillLabel229;
3887 }
3888 goto yy55;
3889 }
3890yy266:
3891 ++YYCURSOR;
3892yyFillLabel230:
3893 yych = *YYCURSOR;
3894 switch (yych) {
3895 case 0x80: goto yy291;
3896 case 0x81: goto yy292;
3897 case 0x82 ... 0x85:
3898 case 0xB0 ... 0xBE: goto yy220;
3899 case 0x86: goto yy269;
3900 case 0xBF: goto yy270;
3901 default:
3902 if (YYLIMIT <= YYCURSOR) {
3903 if (YYFILL) goto yyFillLabel230;
3904 }
3905 goto yy55;
3906 }
3907yy267:
3908 ++YYCURSOR;
3909yyFillLabel231:
3910 yych = *YYCURSOR;
3911 switch (yych) {
3912 case 0x8C ... 0x8D: goto yy216;
3913 default:
3914 if (YYLIMIT <= YYCURSOR) {
3915 if (YYFILL) goto yyFillLabel231;
3916 }
3917 goto yy55;
3918 }
3919yy268:
3920 ++YYCURSOR;
3921yyFillLabel232:
3922 yych = *YYCURSOR;
3923 switch (yych) {
3924 case 0xB0 ... 0xBF: goto yy216;
3925 default:
3926 if (YYLIMIT <= YYCURSOR) {
3927 if (YYFILL) goto yyFillLabel232;
3928 }
3929 goto yy55;
3930 }
3931yy269:
3932 ++YYCURSOR;
3933yyFillLabel233:
3934 yych = *YYCURSOR;
3935 switch (yych) {
3936 case 0x80 ... 0x8F: goto yy216;
3937 default:
3938 if (YYLIMIT <= YYCURSOR) {
3939 if (YYFILL) goto yyFillLabel233;
3940 }
3941 goto yy55;
3942 }
3943yy270:
3944 ++YYCURSOR;
3945yyFillLabel234:
3946 yych = *YYCURSOR;
3947 switch (yych) {
3948 case 0x80 ... 0xAF: goto yy216;
3949 default:
3950 if (YYLIMIT <= YYCURSOR) {
3951 if (YYFILL) goto yyFillLabel234;
3952 }
3953 goto yy55;
3954 }
3955yy271:
3956 ++YYCURSOR;
3957yyFillLabel235:
3958 yych = *YYCURSOR;
3959 switch (yych) {
3960 case 0x81 ... 0xBF: goto yy216;
3961 default:
3962 if (YYLIMIT <= YYCURSOR) {
3963 if (YYFILL) goto yyFillLabel235;
3964 }
3965 goto yy55;
3966 }
3967yy272:
3968 ++YYCURSOR;
3969yyFillLabel236:
3970 yych = *YYCURSOR;
3971 switch (yych) {
3972 case 0x80 ... 0x8F:
3973 case 0xB0 ... 0xBF: goto yy216;
3974 default:
3975 if (YYLIMIT <= YYCURSOR) {
3976 if (YYFILL) goto yyFillLabel236;
3977 }
3978 goto yy55;
3979 }
3980yy273:
3981 ++YYCURSOR;
3982yyFillLabel237:
3983 yych = *YYCURSOR;
3984 switch (yych) {
3985 case 0x80 ... 0xBD: goto yy216;
3986 default:
3987 if (YYLIMIT <= YYCURSOR) {
3988 if (YYFILL) goto yyFillLabel237;
3989 }
3990 goto yy55;
3991 }
3992yy274:
3993 yyaccept = 17;
3994 YYMARKER = ++YYCURSOR;
3995yyFillLabel238:
3996 yych = *YYCURSOR;
3997 switch (yych) {
3998 case '-' ... '.':
3999 case '0' ... ':':
4000 case 'A' ... 'Z':
4001 case '_':
4002 case 'a' ... 'z':
4003 case 0xC2 ... 0xED:
4004 case 0xEF ... 0xF3: goto yy122;
4005 default:
4006 if (YYLIMIT <= YYCURSOR) {
4007 if (YYFILL) goto yyFillLabel238;
4008 }
4009 goto yy275;
4010 }
4011yy275:
4012#line 120 "ttl_action_def.re.inc"
4013 {
4014 *token_p = uint8_ndup (it->tok, YYCURSOR - it->tok);
4015 log_trace ("Boolean: %s", *token_p);
4016
4017 return T_BOOLEAN;
4018}
4019#line 4020 "parser_ttl.c"
4020yy276:
4021 ++YYCURSOR;
4022yyFillLabel239:
4023 yych = *YYCURSOR;
4024 switch (yych) {
4025 case 0x00:
4026 case 0x01 ... '!':
4027 case '#' ... '[':
4028 case ']' ... 0x7F:
4029 if (YYLIMIT <= YYCURSOR) {
4030 if (YYFILL) goto yyFillLabel239;
4031 goto yy55;
4032 }
4033 goto yy160;
4034 case '"': goto yy293;
4035 case '\\': goto yy234;
4036 case 0xC2 ... 0xDF: goto yy235;
4037 case 0xE0: goto yy236;
4038 case 0xE1 ... 0xEF: goto yy237;
4039 case 0xF0: goto yy238;
4040 case 0xF1 ... 0xF3: goto yy239;
4041 case 0xF4: goto yy240;
4042 default: goto yy55;
4043 }
4044yy277:
4045 ++YYCURSOR;
4046yyFillLabel240:
4047 yych = *YYCURSOR;
4048 switch (yych) {
4049 case '0' ... '9':
4050 case 'A' ... 'F':
4051 case 'a' ... 'f': goto yy294;
4052 default:
4053 if (YYLIMIT <= YYCURSOR) {
4054 if (YYFILL) goto yyFillLabel240;
4055 }
4056 goto yy55;
4057 }
4058yy278:
4059 ++YYCURSOR;
4060yyFillLabel241:
4061 yych = *YYCURSOR;
4062 switch (yych) {
4063 case '0' ... '9':
4064 case 'A' ... 'F':
4065 case 'a' ... 'f': goto yy295;
4066 default:
4067 if (YYLIMIT <= YYCURSOR) {
4068 if (YYFILL) goto yyFillLabel241;
4069 }
4070 goto yy55;
4071 }
4072yy279:
4073 ++YYCURSOR;
4074yyFillLabel242:
4075 yych = *YYCURSOR;
4076 switch (yych) {
4077 case '0' ... '9':
4078 case 'A' ... 'F':
4079 case 'a' ... 'f': goto yy296;
4080 default:
4081 if (YYLIMIT <= YYCURSOR) {
4082 if (YYFILL) goto yyFillLabel242;
4083 }
4084 goto yy55;
4085 }
4086yy280:
4087 ++YYCURSOR;
4088yyFillLabel243:
4089 yych = *YYCURSOR;
4090 switch (yych) {
4091 case '0' ... '9':
4092 case 'A' ... 'F':
4093 case 'a' ... 'f': goto yy297;
4094 default:
4095 if (YYLIMIT <= YYCURSOR) {
4096 if (YYFILL) goto yyFillLabel243;
4097 }
4098 goto yy55;
4099 }
4100yy281:
4101 ++YYCURSOR;
4102yyFillLabel244:
4103 yych = *YYCURSOR;
4104 switch (yych) {
4105 case 0x00:
4106 case 0x01 ... '&':
4107 case '(' ... '[':
4108 case ']' ... 0x7F:
4109 if (YYLIMIT <= YYCURSOR) {
4110 if (YYFILL) goto yyFillLabel244;
4111 goto yy55;
4112 }
4113 goto yy163;
4114 case '\'': goto yy293;
4115 case '\\': goto yy244;
4116 case 0xC2 ... 0xDF: goto yy245;
4117 case 0xE0: goto yy246;
4118 case 0xE1 ... 0xEF: goto yy247;
4119 case 0xF0: goto yy248;
4120 case 0xF1 ... 0xF3: goto yy249;
4121 case 0xF4: goto yy250;
4122 default: goto yy55;
4123 }
4124yy282:
4125 ++YYCURSOR;
4126yyFillLabel245:
4127 yych = *YYCURSOR;
4128 switch (yych) {
4129 case '0' ... '9':
4130 case 'A' ... 'F':
4131 case 'a' ... 'f': goto yy298;
4132 default:
4133 if (YYLIMIT <= YYCURSOR) {
4134 if (YYFILL) goto yyFillLabel245;
4135 }
4136 goto yy55;
4137 }
4138yy283:
4139 ++YYCURSOR;
4140yyFillLabel246:
4141 yych = *YYCURSOR;
4142 switch (yych) {
4143 case '0' ... '9':
4144 case 'A' ... 'F':
4145 case 'a' ... 'f': goto yy299;
4146 default:
4147 if (YYLIMIT <= YYCURSOR) {
4148 if (YYFILL) goto yyFillLabel246;
4149 }
4150 goto yy55;
4151 }
4152yy284:
4153 ++YYCURSOR;
4154yyFillLabel247:
4155 yych = *YYCURSOR;
4156 switch (yych) {
4157 case '0' ... '9':
4158 case 'A' ... 'F':
4159 case 'a' ... 'f': goto yy300;
4160 default:
4161 if (YYLIMIT <= YYCURSOR) {
4162 if (YYFILL) goto yyFillLabel247;
4163 }
4164 goto yy55;
4165 }
4166yy285:
4167 ++YYCURSOR;
4168yyFillLabel248:
4169 yych = *YYCURSOR;
4170 switch (yych) {
4171 case '0' ... '9':
4172 case 'A' ... 'F':
4173 case 'a' ... 'f': goto yy301;
4174 default:
4175 if (YYLIMIT <= YYCURSOR) {
4176 if (YYFILL) goto yyFillLabel248;
4177 }
4178 goto yy55;
4179 }
4180yy286:
4181 ++YYCURSOR;
4182yyFillLabel249:
4183 yych = *YYCURSOR;
4184 switch (yych) {
4185 case '0' ... '9':
4186 case 'A' ... 'F':
4187 case 'a' ... 'f': goto yy302;
4188 default:
4189 if (YYLIMIT <= YYCURSOR) {
4190 if (YYFILL) goto yyFillLabel249;
4191 }
4192 goto yy55;
4193 }
4194yy287:
4195 ++YYCURSOR;
4196yyFillLabel250:
4197 yych = *YYCURSOR;
4198 switch (yych) {
4199 case '0' ... '9':
4200 case 'A' ... 'F':
4201 case 'a' ... 'f': goto yy303;
4202 default:
4203 if (YYLIMIT <= YYCURSOR) {
4204 if (YYFILL) goto yyFillLabel250;
4205 }
4206 goto yy55;
4207 }
4208yy288:
4209 yyaccept = 16;
4210 YYMARKER = ++YYCURSOR;
4211yyFillLabel251:
4212 yych = *YYCURSOR;
4213 switch (yych) {
4214 case '-': goto yy202;
4215 case 'A' ... 'Z':
4216 case 'a' ... 'z': goto yy116;
4217 default:
4218 if (YYLIMIT <= YYCURSOR) {
4219 if (YYFILL) goto yyFillLabel251;
4220 }
4221 goto yy261;
4222 }
4223yy289:
4224 yyaccept = 12;
4225 YYMARKER = ++YYCURSOR;
4226yyFillLabel252:
4227 yych = *YYCURSOR;
4228 switch (yych) {
4229 case 0x00:
4230 if (YYLIMIT <= YYCURSOR) {
4231 if (YYFILL) goto yyFillLabel252;
4232 }
4233 goto yy118;
4234 case 'i': goto yy304;
4235 default: goto yy117;
4236 }
4237yy290:
4238 ++YYCURSOR;
4239yyFillLabel253:
4240 yych = *YYCURSOR;
4241 switch (yych) {
4242 case 0x00:
4243 if (YYLIMIT <= YYCURSOR) {
4244 if (YYFILL) goto yyFillLabel253;
4245 }
4246 goto yy55;
4247 case 'X':
4248 case 'x': goto yy305;
4249 default: goto yy122;
4250 }
4251yy291:
4252 ++YYCURSOR;
4253yyFillLabel254:
4254 yych = *YYCURSOR;
4255 switch (yych) {
4256 case 0x8C ... 0x8D:
4257 case 0xBF: goto yy216;
4258 default:
4259 if (YYLIMIT <= YYCURSOR) {
4260 if (YYFILL) goto yyFillLabel254;
4261 }
4262 goto yy55;
4263 }
4264yy292:
4265 ++YYCURSOR;
4266yyFillLabel255:
4267 yych = *YYCURSOR;
4268 switch (yych) {
4269 case 0x80:
4270 case 0xB0 ... 0xBF: goto yy216;
4271 default:
4272 if (YYLIMIT <= YYCURSOR) {
4273 if (YYFILL) goto yyFillLabel255;
4274 }
4275 goto yy55;
4276 }
4277yy293:
4278 ++YYCURSOR;
4279#line 1 "ttl_action_def.re.inc"
4280 {
4281 *token_p = unescape_unicode (it->tok + 3, YYCURSOR - it->tok - 6);
4282 log_trace ("Long string: %s", it->tok);
4283
4284 return T_STRING;
4285}
4286#line 4287 "parser_ttl.c"
4287yy294:
4288 ++YYCURSOR;
4289yyFillLabel256:
4290 yych = *YYCURSOR;
4291 switch (yych) {
4292 case '0' ... '9':
4293 case 'A' ... 'F':
4294 case 'a' ... 'f': goto yy307;
4295 default:
4296 if (YYLIMIT <= YYCURSOR) {
4297 if (YYFILL) goto yyFillLabel256;
4298 }
4299 goto yy55;
4300 }
4301yy295:
4302 ++YYCURSOR;
4303yyFillLabel257:
4304 yych = *YYCURSOR;
4305 switch (yych) {
4306 case '0' ... '9':
4307 case 'A' ... 'F':
4308 case 'a' ... 'f': goto yy308;
4309 default:
4310 if (YYLIMIT <= YYCURSOR) {
4311 if (YYFILL) goto yyFillLabel257;
4312 }
4313 goto yy55;
4314 }
4315yy296:
4316 ++YYCURSOR;
4317yyFillLabel258:
4318 yych = *YYCURSOR;
4319 switch (yych) {
4320 case '0' ... '9':
4321 case 'A' ... 'F':
4322 case 'a' ... 'f': goto yy162;
4323 default:
4324 if (YYLIMIT <= YYCURSOR) {
4325 if (YYFILL) goto yyFillLabel258;
4326 }
4327 goto yy55;
4328 }
4329yy297:
4330 ++YYCURSOR;
4331yyFillLabel259:
4332 yych = *YYCURSOR;
4333 switch (yych) {
4334 case '0' ... '9':
4335 case 'A' ... 'F':
4336 case 'a' ... 'f': goto yy53;
4337 default:
4338 if (YYLIMIT <= YYCURSOR) {
4339 if (YYFILL) goto yyFillLabel259;
4340 }
4341 goto yy55;
4342 }
4343yy298:
4344 ++YYCURSOR;
4345yyFillLabel260:
4346 yych = *YYCURSOR;
4347 switch (yych) {
4348 case '0' ... '9':
4349 case 'A' ... 'F':
4350 case 'a' ... 'f': goto yy309;
4351 default:
4352 if (YYLIMIT <= YYCURSOR) {
4353 if (YYFILL) goto yyFillLabel260;
4354 }
4355 goto yy55;
4356 }
4357yy299:
4358 ++YYCURSOR;
4359yyFillLabel261:
4360 yych = *YYCURSOR;
4361 switch (yych) {
4362 case '0' ... '9':
4363 case 'A' ... 'F':
4364 case 'a' ... 'f': goto yy310;
4365 default:
4366 if (YYLIMIT <= YYCURSOR) {
4367 if (YYFILL) goto yyFillLabel261;
4368 }
4369 goto yy55;
4370 }
4371yy300:
4372 ++YYCURSOR;
4373yyFillLabel262:
4374 yych = *YYCURSOR;
4375 switch (yych) {
4376 case '0' ... '9':
4377 case 'A' ... 'F':
4378 case 'a' ... 'f': goto yy165;
4379 default:
4380 if (YYLIMIT <= YYCURSOR) {
4381 if (YYFILL) goto yyFillLabel262;
4382 }
4383 goto yy55;
4384 }
4385yy301:
4386 ++YYCURSOR;
4387yyFillLabel263:
4388 yych = *YYCURSOR;
4389 switch (yych) {
4390 case '0' ... '9':
4391 case 'A' ... 'F':
4392 case 'a' ... 'f': goto yy71;
4393 default:
4394 if (YYLIMIT <= YYCURSOR) {
4395 if (YYFILL) goto yyFillLabel263;
4396 }
4397 goto yy55;
4398 }
4399yy302:
4400 ++YYCURSOR;
4401yyFillLabel264:
4402 yych = *YYCURSOR;
4403 switch (yych) {
4404 case '0' ... '9':
4405 case 'A' ... 'F':
4406 case 'a' ... 'f': goto yy201;
4407 default:
4408 if (YYLIMIT <= YYCURSOR) {
4409 if (YYFILL) goto yyFillLabel264;
4410 }
4411 goto yy55;
4412 }
4413yy303:
4414 ++YYCURSOR;
4415yyFillLabel265:
4416 yych = *YYCURSOR;
4417 switch (yych) {
4418 case '0' ... '9':
4419 case 'A' ... 'F':
4420 case 'a' ... 'f': goto yy106;
4421 default:
4422 if (YYLIMIT <= YYCURSOR) {
4423 if (YYFILL) goto yyFillLabel265;
4424 }
4425 goto yy55;
4426 }
4427yy304:
4428 yyaccept = 12;
4429 YYMARKER = ++YYCURSOR;
4430yyFillLabel266:
4431 yych = *YYCURSOR;
4432 switch (yych) {
4433 case 0x00:
4434 if (YYLIMIT <= YYCURSOR) {
4435 if (YYFILL) goto yyFillLabel266;
4436 }
4437 goto yy118;
4438 case 'x': goto yy311;
4439 default: goto yy117;
4440 }
4441yy305:
4442 yyaccept = 18;
4443 YYMARKER = ++YYCURSOR;
4444yyFillLabel267:
4445 yych = *YYCURSOR;
4446 switch (yych) {
4447 case '-' ... '.':
4448 case '0' ... ':':
4449 case 'A' ... 'Z':
4450 case '_':
4451 case 'a' ... 'z':
4452 case 0xC2 ... 0xED:
4453 case 0xEF ... 0xF3: goto yy122;
4454 default:
4455 if (YYLIMIT <= YYCURSOR) {
4456 if (YYFILL) goto yyFillLabel267;
4457 }
4458 goto yy306;
4459 }
4460yy306:
4461#line 29 "ttl_action_def.re.inc"
4462 {
4463 log_trace ("'@prefix' keyword");
4464
4465 return T_PFX_KW;
4466}
4467#line 4468 "parser_ttl.c"
4468yy307:
4469 ++YYCURSOR;
4470yyFillLabel268:
4471 yych = *YYCURSOR;
4472 switch (yych) {
4473 case '0' ... '9':
4474 case 'A' ... 'F':
4475 case 'a' ... 'f': goto yy312;
4476 default:
4477 if (YYLIMIT <= YYCURSOR) {
4478 if (YYFILL) goto yyFillLabel268;
4479 }
4480 goto yy55;
4481 }
4482yy308:
4483 ++YYCURSOR;
4484yyFillLabel269:
4485 yych = *YYCURSOR;
4486 switch (yych) {
4487 case '0' ... '9':
4488 case 'A' ... 'F':
4489 case 'a' ... 'f': goto yy313;
4490 default:
4491 if (YYLIMIT <= YYCURSOR) {
4492 if (YYFILL) goto yyFillLabel269;
4493 }
4494 goto yy55;
4495 }
4496yy309:
4497 ++YYCURSOR;
4498yyFillLabel270:
4499 yych = *YYCURSOR;
4500 switch (yych) {
4501 case '0' ... '9':
4502 case 'A' ... 'F':
4503 case 'a' ... 'f': goto yy314;
4504 default:
4505 if (YYLIMIT <= YYCURSOR) {
4506 if (YYFILL) goto yyFillLabel270;
4507 }
4508 goto yy55;
4509 }
4510yy310:
4511 ++YYCURSOR;
4512yyFillLabel271:
4513 yych = *YYCURSOR;
4514 switch (yych) {
4515 case '0' ... '9':
4516 case 'A' ... 'F':
4517 case 'a' ... 'f': goto yy315;
4518 default:
4519 if (YYLIMIT <= YYCURSOR) {
4520 if (YYFILL) goto yyFillLabel271;
4521 }
4522 goto yy55;
4523 }
4524yy311:
4525 yyaccept = 18;
4526 YYMARKER = ++YYCURSOR;
4527yyFillLabel272:
4528 yych = *YYCURSOR;
4529 switch (yych) {
4530 case '-': goto yy202;
4531 case 'A' ... 'Z':
4532 case 'a' ... 'z': goto yy116;
4533 default:
4534 if (YYLIMIT <= YYCURSOR) {
4535 if (YYFILL) goto yyFillLabel272;
4536 }
4537 goto yy306;
4538 }
4539yy312:
4540 ++YYCURSOR;
4541yyFillLabel273:
4542 yych = *YYCURSOR;
4543 switch (yych) {
4544 case '0' ... '9':
4545 case 'A' ... 'F':
4546 case 'a' ... 'f': goto yy278;
4547 default:
4548 if (YYLIMIT <= YYCURSOR) {
4549 if (YYFILL) goto yyFillLabel273;
4550 }
4551 goto yy55;
4552 }
4553yy313:
4554 ++YYCURSOR;
4555yyFillLabel274:
4556 yych = *YYCURSOR;
4557 switch (yych) {
4558 case '0' ... '9':
4559 case 'A' ... 'F':
4560 case 'a' ... 'f': goto yy160;
4561 default:
4562 if (YYLIMIT <= YYCURSOR) {
4563 if (YYFILL) goto yyFillLabel274;
4564 }
4565 goto yy55;
4566 }
4567yy314:
4568 ++YYCURSOR;
4569yyFillLabel275:
4570 yych = *YYCURSOR;
4571 switch (yych) {
4572 case '0' ... '9':
4573 case 'A' ... 'F':
4574 case 'a' ... 'f': goto yy283;
4575 default:
4576 if (YYLIMIT <= YYCURSOR) {
4577 if (YYFILL) goto yyFillLabel275;
4578 }
4579 goto yy55;
4580 }
4581yy315:
4582 ++YYCURSOR;
4583yyFillLabel276:
4584 yych = *YYCURSOR;
4585 switch (yych) {
4586 case '0' ... '9':
4587 case 'A' ... 'F':
4588 case 'a' ... 'f': goto yy163;
4589 default:
4590 if (YYLIMIT <= YYCURSOR) {
4591 if (YYFILL) goto yyFillLabel276;
4592 }
4593 goto yy55;
4594 }
4595yy316:
4596#line 158 "ttl_action_def.re.inc"
4597 {
4598 log_trace ("End of document.");
4599 return T_EOF;
4600}
4601#line 4602 "parser_ttl.c"
4602}
4603#line 46 "lexer_ttl.re"
4604
4605}
4606
4607
4608VOLK_rc
4610 FILE *fh, const char *sh, VOLK_Graph *gr, size_t *ct, char **err_p)
4611{
4612 *err_p = NULL;
4613
4614 if (!fh && !sh) {
4615 log_error ("Neither file handle nor string input provided.");
4616 return VOLK_VALUE_ERR;
4617 }
4618
4619 VOLK_TTLParserState *state = calloc (1, sizeof (*state));
4620 if (UNLIKELY (!state)) return VOLK_MEM_ERR;
4621 state->rc = VOLK_NORESULT;
4622
4623 ParseIterator parse_it;
4624 parse_init (&parse_it, fh, sh);
4625
4626 void *parser = TTLParseAlloc (malloc);
4627
4628 state->it = VOLK_graph_add_init (gr);
4629 NLRCCK (state->it, VOLK_MEM_ERR);
4630
4631 YYCTYPE *token;
4632
4633#ifdef VOLK_CODEC_DEBUG
4634 TTLParseTrace (stderr, "TTL Parser > ");
4635#endif
4636
4637 for (;;) {
4638 int ttype = ttl_lex (&parse_it, &token);
4639
4640 if (ttype == -1) {
4641 char err_token[16] = {'\0'};
4642 strncpy (err_token, (const char *)parse_it.tok, 15);
4643
4644 char *err_start = "Lexical error near token `";
4645
4646 char err_info [64];
4647 sprintf(
4648 err_info, "[...]' at line %u, character %ld.\n",
4649 parse_it.line, parse_it.cur - parse_it.bol);
4650
4651 size_t err_size = strlen (err_start) + 16 + strlen(err_info);
4652 char *err_str = malloc (err_size);
4653 sprintf (err_str, "%s%s%s", err_start, err_token, err_info);
4654 log_error (err_str);
4655
4656 state->rc = VOLK_PARSE_ERR;
4657 *err_p = err_str;
4658
4659 goto finally;
4660 }
4661
4662 TTLParse (parser, ttype, token, state);
4663
4664 if (ttype == T_EOF) break;
4665 };
4666
4667 if (ct) *ct = state->ct;
4668
4669 log_info ("Parsed %u triples.", state->ct);
4670 log_debug ("Graph size: %lu", VOLK_graph_size (gr));
4671
4672finally: ;
4673 VOLK_rc rc = state->rc;
4674 log_trace ("rc is %d", rc);
4675
4676 free (parse_it.buf);
4677 TTLParseFree (parser, free);
4678
4679 VOLK_graph_iter_free (state->it);
4680 VOLK_term_free (state->base);
4681 free (state);
4682
4683 return rc;
4684}
4685
Codec interface definition and basic elements common to all codecs.
#define UNLIKELY(x)
Definition core.h:39
#define T_IRIREF
Definition grammar_nt.c:19
#define T_EOF
Lemon parser grammar for N-Triples.
Definition grammar_nt.c:17
#define T_WS
Definition grammar_nt.c:23
#define T_STRING
#define T_RPAREN
#define T_DECIMAL
#define T_PFX_KW
#define T_DOUBLE
#define T_RBRACKET
#define T_PERIOD
#define T_LPAREN
#define T_ANON
#define T_SEMICOLON
#define T_LANGTAG
#define T_COMMA
#define T_NSIRI
#define T_LBRACKET
#define T_BOOLEAN
#define T_RDF_TYPE
#define T_BNODE_ID
#define T_DTYPE_MARKER
#define T_BASE
#define T_PFX_DECL
#define T_INTEGER
void TTLParseTrace(FILE *TraceFILE, char *zTracePrompt)
uint8_t * uint8_ndup(const uint8_t *str, size_t size)
strndup() for unsigned char.
#define CHUNK_SIZE
uint8_t * unescape_unicode(const uint8_t *esc_str, size_t size)
Replace \uxxxx and \Uxxxxxxxx with Unicode bytes.
#define VOLK_graph_add_init(...)
Non-transactional version of VOLK_graph_add_init_txn().
Definition graph.h:320
#define VOLK_graph_size(...)
Non-transactional version of VOLK_graph_size_txn().
Definition graph.h:285
void VOLK_graph_iter_free(VOLK_GraphIterator *it)
Free a graph iterator.
Definition graph.c:605
#define log_debug(...)
Definition core.h:273
#define NLRCCK(exp, _rc)
Return rc return code if exp is NULL.
Definition core.h:344
#define log_trace(...)
Definition core.h:275
#define VOLK_VALUE_ERR
An invalid input value was provided.
Definition core.h:129
#define VOLK_MEM_ERR
Memory allocation error.
Definition core.h:144
#define VOLK_NORESULT
No result yielded.
Definition core.h:100
#define VOLK_PARSE_ERR
Codec parser error.
Definition core.h:126
int VOLK_rc
Definition core.h:79
void VOLK_term_free(VOLK_Term *term)
Definition term.c:387
#define YYCURSOR
Definition parser_nt.c:26
#define YYLIMIT
Definition parser_nt.c:28
#define YYFILL
Definition parser_nt.c:29
#define YYMARKER
Definition parser_nt.c:27
#define YYCTYPE
TTL is UTF-8 encoded.
Definition parser_nt.c:25
void * TTLParseAlloc()
void TTLParse()
void TTLParseFree()
VOLK_rc ttl_parse_doc(FILE *fh, const char *sh, VOLK_Graph *gr, size_t *ct, char **err_p)
Parse an RDF document in Turtle format.
FILE * fh
Input file handle.
Definition parser_nt.c:33
size_t buf_size
Initial allocation for buffer.
Definition parser_nt.c:35
unsigned line
Current line no. (for debugging).
Definition parser_nt.c:44
YYCTYPE * cur
Next input character to be read (YYCURSOR).
Definition parser_nt.c:39
const char * sh
Input string. Exclusive with fh.
Definition parser_nt.c:34
bool eof
if we have reached EOF.
Definition parser_nt.c:46
YYCTYPE * buf
Start of buffer.
Definition parser_nt.c:36
YYCTYPE * bol
Definition parser_nt.c:42
YYCTYPE * lim
Definition parser_nt.c:38
unsigned ct
Number of statements parsed.
Definition parser_nt.c:45
YYCTYPE * mar
Most recent match (YYMARKER).
Definition parser_nt.c:40
YYCTYPE * tok
Start of current token.
Definition parser_nt.c:41
Parser state.
Definition parser_ttl.h:8
VOLK_GraphIterator * it
Iterator used to build the graph.
Definition parser_ttl.h:9
VOLK_rc rc
Internal return code.
Definition parser_ttl.h:13
size_t ct
Statements parsed.
Definition parser_ttl.h:12
VOLK_Term * base
Base IRI used in the document.
Definition parser_ttl.h:10