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