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