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