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