1use parol_runtime::{
8 ParolError, ParseTree, TokenStream,
9 parser::{
10 LLKParser, LookaheadDFA, ParseType, Production, Trans, parse_tree_type::TreeConstruct,
11 },
12};
13use scnr2::scanner;
14use std::path::Path;
15
16use crate::grammar::Grammar;
17use crate::grammar_trait::GrammarAuto;
18
19pub const TERMINAL_NAMES: &[&str; 67] = &[
20 "EndOfInput",
21 "Newline",
22 "Whitespace",
23 "LineComment",
24 "BlockComment",
25 "Hash",
26 "MapBind",
27 "Integer",
28 "Float",
29 "Inf",
30 "NaN",
31 "True",
32 "False",
33 "Null",
34 "Hole",
35 "Str",
36 "LitStr",
37 "Text",
38 "InlineCode1",
39 "LitStr3Start",
40 "LitStr2Start",
41 "LitStr1Start",
42 "DelimCodeStart3",
43 "DelimCodeStart2",
44 "DelimCodeStart1",
45 "CodeBlockStart3",
46 "CodeBlockStart4",
47 "CodeBlockStart5",
48 "CodeBlockStart6",
49 "CodeBlockEnd3",
50 "Backtick2",
51 "CodeBlockEnd4",
52 "Backtick3",
53 "CodeBlockEnd5",
54 "Backtick4",
55 "CodeBlockEnd6",
56 "Backtick5",
57 "NoBacktick",
58 "LitStr3End",
59 "LitStr2End",
60 "LitStr1End",
61 "SQuote",
62 "NoSQuote",
63 "DelimCodeEnd3",
64 "DelimCodeEnd2",
65 "DelimCodeEnd1",
66 "BacktickDelim",
67 "GrammarNewline",
68 "Ws",
69 "At",
70 "Ext",
71 "Dot",
72 "Begin",
73 "End",
74 "ArrayBegin",
75 "ArrayEnd",
76 "Caret",
77 "LParen",
78 "RParen",
79 "NewlineBind",
80 "Bind",
81 "Comma",
82 "Continue",
83 "NewlineTextStart",
84 "TextStart",
85 "Ident",
86 "Error",
87];
88
89scanner! {
90 GrammarScanner {
91 mode INITIAL {
92 token r"\r\n|\r|\n" => 1; token r"[\s--\r\n]+" => 2; token r"//.*(\r\n|\r|\n)?" => 3; token r"/\*/?([^/]|[^*]/)*\*/" => 4; token r"\#" => 5; token r"=>" => 6; token r"[-+]?\d[\d_]*" => 7; token r"[-+]?\d[\d_]*\.\d+([eE][-+]?\d+)?(f32|f64)?|[-+]?\d[\d_]*[eE][-+]?\d+(f32|f64)?" => 8; token r"[-+]?[Ii]nf" => 9; token r"[Nn]a[Nn]" => 10; token r"true" => 11; token r"false" => 12; token r"null" => 13; token r"![\p{XID_Start}_]?[\p{XID_Continue}-]*" => 14; token r#""([^"]|\\")*""# => 15; token r"'[^']*'" => 16; token r"[a-zA-Z0-9-_]*`[^`\r\n]*`" => 18; token r"<<<'" => 19; token r"<<'" => 20; token r"<'" => 21; token r"[a-zA-Z0-9-_]*<<<`" => 22; token r"[a-zA-Z0-9-_]*<<`" => 23; token r"[a-zA-Z0-9-_]*<`" => 24; token r"`{3}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 25; token r"`{4}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 26; token r"`{5}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 27; token r"`{6}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 28; token r"@" => 49; token r"\$" => 50; token r"\." => 51; token r"\{" => 52; token r"\}" => 53; token r"\[" => 54; token r"\]" => 55; token r"\^" => 56; token r"\(" => 57; token r"\)" => 58; token r"=" => 60; token r"," => 61; token r"\\" => 62; token r":" => 64; token r"[\p{XID_Start}_][\p{XID_Continue}-]*" => 65; token r"." => 66; on 19 push InLitStr3;
136 on 20 push InLitStr2;
137 on 21 push InLitStr1;
138 on 22 enter InDelimCode3;
139 on 23 enter InDelimCode2;
140 on 24 enter InDelimCode1;
141 on 25 enter InCodeBlock3;
142 on 26 enter InCodeBlock4;
143 on 27 enter InCodeBlock5;
144 on 28 enter InCodeBlock6;
145 on 49 enter Header;
146 on 64 enter Text;
147 }
148 mode Header {
149 token r"[\s--\r\n]+" => 2; token r"[-+]?\d[\d_]*" => 7; token r"[-+]?\d[\d_]*\.\d+([eE][-+]?\d+)?(f32|f64)?|[-+]?\d[\d_]*[eE][-+]?\d+(f32|f64)?" => 8; token r"true" => 11; token r"false" => 12; token r"null" => 13; token r"![\p{XID_Start}_]?[\p{XID_Continue}-]*" => 14; token r#""([^"]|\\")*""# => 15; token r"'[^']*'" => 16; token r"<<<'" => 19; token r"<<'" => 20; token r"<'" => 21; token r"\r\n|\r|\n" => 47; token r"@" => 49; token r"\$" => 50; token r"\." => 51; token r"\{" => 52; token r"\[" => 54; token r"\]" => 55; token r"\^" => 56; token r"\(" => 57; token r"\)" => 58; token r"(\r\n|\r|\n)*=" => 59; token r"," => 61; token r"(\r\n|\r|\n)*:" => 63; token r"[\p{XID_Start}_][\p{XID_Continue}-]*" => 65; token r"." => 66; on 19 push InLitStr3;
177 on 20 push InLitStr2;
178 on 21 push InLitStr1;
179 on 47 enter INITIAL;
180 on 52 enter INITIAL;
181 on 59 enter INITIAL;
182 on 63 enter Text;
183 }
184 mode Text {
185 token r"[^\r\n]*" => 17; token r"\r\n|\r|\n" => 47; token r"[\s--\r\n]+" => 48; token r"." => 66; on 17 enter INITIAL;
190 on 47 enter INITIAL;
191 }
192 mode InCodeBlock3 {
193 token r"`{3}" => 29; token r"`{1,2}" => 30; token r"[^`]+" => 37; token r"." => 66; on 29 enter INITIAL;
198 }
199 mode InCodeBlock4 {
200 token r"`{4}" => 31; token r"`{1,3}" => 32; token r"[^`]+" => 37; token r"." => 66; on 31 enter INITIAL;
205 }
206 mode InCodeBlock5 {
207 token r"`{5}" => 33; token r"`{1,4}" => 34; token r"[^`]+" => 37; token r"." => 66; on 33 enter INITIAL;
212 }
213 mode InCodeBlock6 {
214 token r"`{6}" => 35; token r"`{1,5}" => 36; token r"[^`]+" => 37; token r"." => 66; on 35 enter INITIAL;
219 }
220 mode InLitStr1 {
221 token r"'>" => 40; token r"'" => 41; token r"[^']+" => 42; token r"." => 66; on 40 pop;
226 }
227 mode InLitStr2 {
228 token r"'>>" => 39; token r"'" => 41; token r"[^']+" => 42; token r"." => 66; on 39 pop;
233 }
234 mode InLitStr3 {
235 token r"'>>>" => 38; token r"'" => 41; token r"[^']+" => 42; token r"." => 66; on 38 pop;
240 }
241 mode InDelimCode1 {
242 token r"[^`]+" => 37; token r"`>" => 45; token r"`" => 46; token r"." => 66; on 45 enter INITIAL;
247 }
248 mode InDelimCode2 {
249 token r"[^`]+" => 37; token r"`>>" => 44; token r"`" => 46; token r"." => 66; on 44 enter INITIAL;
254 }
255 mode InDelimCode3 {
256 token r"[^`]+" => 37; token r"`>>>" => 43; token r"`" => 46; token r"." => 66; on 43 enter INITIAL;
261 }
262 }
263}
264
265const MAX_K: usize = 1;
266
267pub const NON_TERMINALS: &[&str; 164] = &[
268 "Array",
269 "ArrayBegin",
270 "ArrayElements",
271 "ArrayElementsOpt",
272 "ArrayElementsTail",
273 "ArrayElementsTailOpt",
274 "ArrayEnd",
275 "ArrayMarker",
276 "ArrayMarkerOpt",
277 "ArrayMarkerOptGroup",
278 "ArrayOpt",
279 "At",
280 "Backtick2",
281 "Backtick3",
282 "Backtick4",
283 "Backtick5",
284 "BacktickDelim",
285 "Begin",
286 "Bind",
287 "Binding",
288 "BindingRhs",
289 "BlockBody",
290 "Boolean",
291 "Caret",
292 "CodeBlock",
293 "CodeBlock3",
294 "CodeBlock3List",
295 "CodeBlock3ListGroup",
296 "CodeBlock4",
297 "CodeBlock4List",
298 "CodeBlock4ListGroup",
299 "CodeBlock5",
300 "CodeBlock5List",
301 "CodeBlock5ListGroup",
302 "CodeBlock6",
303 "CodeBlock6List",
304 "CodeBlock6ListGroup",
305 "CodeBlockEnd3",
306 "CodeBlockEnd4",
307 "CodeBlockEnd5",
308 "CodeBlockEnd6",
309 "CodeBlockStart3",
310 "CodeBlockStart4",
311 "CodeBlockStart5",
312 "CodeBlockStart6",
313 "Comma",
314 "Continue",
315 "DelimCode",
316 "DelimCode1",
317 "DelimCode1List",
318 "DelimCode1ListGroup",
319 "DelimCode2",
320 "DelimCode2List",
321 "DelimCode2ListGroup",
322 "DelimCode3",
323 "DelimCode3List",
324 "DelimCode3ListGroup",
325 "DelimCodeEnd1",
326 "DelimCodeEnd2",
327 "DelimCodeEnd3",
328 "DelimCodeStart1",
329 "DelimCodeStart2",
330 "DelimCodeStart3",
331 "Dot",
332 "DotKey",
333 "End",
334 "Eure",
335 "EureList",
336 "EureList0",
337 "EureOpt",
338 "Ext",
339 "ExtensionNameSpace",
340 "False",
341 "FirstKey",
342 "FlatBody",
343 "FlatBodyList",
344 "FlatRootBinding",
345 "Float",
346 "GrammarNewline",
347 "Hole",
348 "Ident",
349 "Inf",
350 "InlineCode",
351 "InlineCode1",
352 "Integer",
353 "Key",
354 "KeyIdent",
355 "KeyTail",
356 "KeyTuple",
357 "KeyTupleElements",
358 "KeyTupleElementsOpt",
359 "KeyTupleElementsTail",
360 "KeyTupleElementsTailOpt",
361 "KeyTupleOpt",
362 "KeyValue",
363 "Keys",
364 "KeysList",
365 "LParen",
366 "LitStr",
367 "LitStr1",
368 "LitStr1End",
369 "LitStr1List",
370 "LitStr1ListGroup",
371 "LitStr1Start",
372 "LitStr2",
373 "LitStr2End",
374 "LitStr2List",
375 "LitStr2ListGroup",
376 "LitStr2Start",
377 "LitStr3",
378 "LitStr3End",
379 "LitStr3List",
380 "LitStr3ListGroup",
381 "LitStr3Start",
382 "MapBind",
383 "NaN",
384 "NewlineBind",
385 "NewlineHead",
386 "NewlineHeadOpt",
387 "NewlineTextStart",
388 "NoBacktick",
389 "NoSQuote",
390 "Null",
391 "Number",
392 "Object",
393 "ObjectList",
394 "ObjectOpt",
395 "ObjectOpt0",
396 "ObjectOpt1",
397 "RParen",
398 "RootBinding",
399 "RootTextBinding",
400 "RootTextBindingOpt",
401 "RootTextBindingOpt0",
402 "RootTextBindingOpt1",
403 "RootValueBinding",
404 "SQuote",
405 "Section",
406 "SectionBinding",
407 "SectionBody",
408 "SectionBodyOpt",
409 "SectionHead",
410 "Str",
411 "String",
412 "Strings",
413 "StringsList",
414 "Text",
415 "TextBinding",
416 "TextBindingOpt",
417 "TextBindingOpt0",
418 "TextBindingOpt1",
419 "TextStart",
420 "TopLevelBinding",
421 "True",
422 "Tuple",
423 "TupleElements",
424 "TupleElementsOpt",
425 "TupleElementsTail",
426 "TupleElementsTailOpt",
427 "TupleIndex",
428 "TupleOpt",
429 "Value",
430 "ValueBinding",
431 "Ws",
432];
433
434pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 164] = &[
435 LookaheadDFA {
437 prod0: 109,
438 transitions: &[],
439 k: 0,
440 },
441 LookaheadDFA {
443 prod0: 247,
444 transitions: &[],
445 k: 0,
446 },
447 LookaheadDFA {
449 prod0: 112,
450 transitions: &[],
451 k: 0,
452 },
453 LookaheadDFA {
455 prod0: -1,
456 transitions: &[Trans(0, 55, 2, 114), Trans(0, 61, 1, 113)],
457 k: 1,
458 },
459 LookaheadDFA {
461 prod0: 115,
462 transitions: &[],
463 k: 0,
464 },
465 LookaheadDFA {
467 prod0: -1,
468 transitions: &[
469 Trans(0, 7, 1, 116),
470 Trans(0, 8, 1, 116),
471 Trans(0, 9, 1, 116),
472 Trans(0, 10, 1, 116),
473 Trans(0, 11, 1, 116),
474 Trans(0, 12, 1, 116),
475 Trans(0, 13, 1, 116),
476 Trans(0, 14, 1, 116),
477 Trans(0, 15, 1, 116),
478 Trans(0, 16, 1, 116),
479 Trans(0, 18, 1, 116),
480 Trans(0, 19, 1, 116),
481 Trans(0, 20, 1, 116),
482 Trans(0, 21, 1, 116),
483 Trans(0, 22, 1, 116),
484 Trans(0, 23, 1, 116),
485 Trans(0, 24, 1, 116),
486 Trans(0, 25, 1, 116),
487 Trans(0, 26, 1, 116),
488 Trans(0, 27, 1, 116),
489 Trans(0, 28, 1, 116),
490 Trans(0, 52, 1, 116),
491 Trans(0, 54, 1, 116),
492 Trans(0, 55, 2, 117),
493 Trans(0, 57, 1, 116),
494 ],
495 k: 1,
496 },
497 LookaheadDFA {
499 prod0: 248,
500 transitions: &[],
501 k: 0,
502 },
503 LookaheadDFA {
505 prod0: 56,
506 transitions: &[],
507 k: 0,
508 },
509 LookaheadDFA {
511 prod0: -1,
512 transitions: &[Trans(0, 7, 1, 57), Trans(0, 55, 2, 60), Trans(0, 56, 1, 57)],
513 k: 1,
514 },
515 LookaheadDFA {
517 prod0: -1,
518 transitions: &[Trans(0, 7, 1, 58), Trans(0, 56, 2, 59)],
519 k: 1,
520 },
521 LookaheadDFA {
523 prod0: -1,
524 transitions: &[
525 Trans(0, 7, 1, 110),
526 Trans(0, 8, 1, 110),
527 Trans(0, 9, 1, 110),
528 Trans(0, 10, 1, 110),
529 Trans(0, 11, 1, 110),
530 Trans(0, 12, 1, 110),
531 Trans(0, 13, 1, 110),
532 Trans(0, 14, 1, 110),
533 Trans(0, 15, 1, 110),
534 Trans(0, 16, 1, 110),
535 Trans(0, 18, 1, 110),
536 Trans(0, 19, 1, 110),
537 Trans(0, 20, 1, 110),
538 Trans(0, 21, 1, 110),
539 Trans(0, 22, 1, 110),
540 Trans(0, 23, 1, 110),
541 Trans(0, 24, 1, 110),
542 Trans(0, 25, 1, 110),
543 Trans(0, 26, 1, 110),
544 Trans(0, 27, 1, 110),
545 Trans(0, 28, 1, 110),
546 Trans(0, 52, 1, 110),
547 Trans(0, 54, 1, 110),
548 Trans(0, 55, 2, 111),
549 Trans(0, 57, 1, 110),
550 ],
551 k: 1,
552 },
553 LookaheadDFA {
555 prod0: 242,
556 transitions: &[],
557 k: 0,
558 },
559 LookaheadDFA {
561 prod0: 223,
562 transitions: &[],
563 k: 0,
564 },
565 LookaheadDFA {
567 prod0: 225,
568 transitions: &[],
569 k: 0,
570 },
571 LookaheadDFA {
573 prod0: 227,
574 transitions: &[],
575 k: 0,
576 },
577 LookaheadDFA {
579 prod0: 229,
580 transitions: &[],
581 k: 0,
582 },
583 LookaheadDFA {
585 prod0: 239,
586 transitions: &[],
587 k: 0,
588 },
589 LookaheadDFA {
591 prod0: 245,
592 transitions: &[],
593 k: 0,
594 },
595 LookaheadDFA {
597 prod0: 253,
598 transitions: &[],
599 k: 0,
600 },
601 LookaheadDFA {
603 prod0: 19,
604 transitions: &[],
605 k: 0,
606 },
607 LookaheadDFA {
609 prod0: -1,
610 transitions: &[
611 Trans(0, 52, 2, 21),
612 Trans(0, 60, 1, 20),
613 Trans(0, 64, 3, 22),
614 ],
615 k: 1,
616 },
617 LookaheadDFA {
619 prod0: 47,
620 transitions: &[],
621 k: 0,
622 },
623 LookaheadDFA {
625 prod0: -1,
626 transitions: &[Trans(0, 11, 1, 135), Trans(0, 12, 2, 136)],
627 k: 1,
628 },
629 LookaheadDFA {
631 prod0: 249,
632 transitions: &[],
633 k: 0,
634 },
635 LookaheadDFA {
637 prod0: -1,
638 transitions: &[
639 Trans(0, 25, 1, 188),
640 Trans(0, 26, 2, 189),
641 Trans(0, 27, 3, 190),
642 Trans(0, 28, 4, 191),
643 ],
644 k: 1,
645 },
646 LookaheadDFA {
648 prod0: 192,
649 transitions: &[],
650 k: 0,
651 },
652 LookaheadDFA {
654 prod0: -1,
655 transitions: &[
656 Trans(0, 29, 2, 196),
657 Trans(0, 30, 1, 193),
658 Trans(0, 37, 1, 193),
659 ],
660 k: 1,
661 },
662 LookaheadDFA {
664 prod0: -1,
665 transitions: &[Trans(0, 30, 2, 195), Trans(0, 37, 1, 194)],
666 k: 1,
667 },
668 LookaheadDFA {
670 prod0: 197,
671 transitions: &[],
672 k: 0,
673 },
674 LookaheadDFA {
676 prod0: -1,
677 transitions: &[
678 Trans(0, 31, 2, 201),
679 Trans(0, 32, 1, 198),
680 Trans(0, 37, 1, 198),
681 ],
682 k: 1,
683 },
684 LookaheadDFA {
686 prod0: -1,
687 transitions: &[Trans(0, 32, 2, 200), Trans(0, 37, 1, 199)],
688 k: 1,
689 },
690 LookaheadDFA {
692 prod0: 202,
693 transitions: &[],
694 k: 0,
695 },
696 LookaheadDFA {
698 prod0: -1,
699 transitions: &[
700 Trans(0, 33, 2, 206),
701 Trans(0, 34, 1, 203),
702 Trans(0, 37, 1, 203),
703 ],
704 k: 1,
705 },
706 LookaheadDFA {
708 prod0: -1,
709 transitions: &[Trans(0, 34, 2, 205), Trans(0, 37, 1, 204)],
710 k: 1,
711 },
712 LookaheadDFA {
714 prod0: 207,
715 transitions: &[],
716 k: 0,
717 },
718 LookaheadDFA {
720 prod0: -1,
721 transitions: &[
722 Trans(0, 35, 2, 211),
723 Trans(0, 36, 1, 208),
724 Trans(0, 37, 1, 208),
725 ],
726 k: 1,
727 },
728 LookaheadDFA {
730 prod0: -1,
731 transitions: &[Trans(0, 36, 2, 210), Trans(0, 37, 1, 209)],
732 k: 1,
733 },
734 LookaheadDFA {
736 prod0: 222,
737 transitions: &[],
738 k: 0,
739 },
740 LookaheadDFA {
742 prod0: 224,
743 transitions: &[],
744 k: 0,
745 },
746 LookaheadDFA {
748 prod0: 226,
749 transitions: &[],
750 k: 0,
751 },
752 LookaheadDFA {
754 prod0: 228,
755 transitions: &[],
756 k: 0,
757 },
758 LookaheadDFA {
760 prod0: 218,
761 transitions: &[],
762 k: 0,
763 },
764 LookaheadDFA {
766 prod0: 219,
767 transitions: &[],
768 k: 0,
769 },
770 LookaheadDFA {
772 prod0: 220,
773 transitions: &[],
774 k: 0,
775 },
776 LookaheadDFA {
778 prod0: 221,
779 transitions: &[],
780 k: 0,
781 },
782 LookaheadDFA {
784 prod0: 254,
785 transitions: &[],
786 k: 0,
787 },
788 LookaheadDFA {
790 prod0: 255,
791 transitions: &[],
792 k: 0,
793 },
794 LookaheadDFA {
796 prod0: -1,
797 transitions: &[
798 Trans(0, 22, 1, 170),
799 Trans(0, 23, 2, 171),
800 Trans(0, 24, 3, 172),
801 ],
802 k: 1,
803 },
804 LookaheadDFA {
806 prod0: 173,
807 transitions: &[],
808 k: 0,
809 },
810 LookaheadDFA {
812 prod0: -1,
813 transitions: &[
814 Trans(0, 37, 1, 174),
815 Trans(0, 45, 2, 177),
816 Trans(0, 46, 1, 174),
817 ],
818 k: 1,
819 },
820 LookaheadDFA {
822 prod0: -1,
823 transitions: &[Trans(0, 37, 1, 175), Trans(0, 46, 2, 176)],
824 k: 1,
825 },
826 LookaheadDFA {
828 prod0: 178,
829 transitions: &[],
830 k: 0,
831 },
832 LookaheadDFA {
834 prod0: -1,
835 transitions: &[
836 Trans(0, 37, 1, 179),
837 Trans(0, 44, 2, 182),
838 Trans(0, 46, 1, 179),
839 ],
840 k: 1,
841 },
842 LookaheadDFA {
844 prod0: -1,
845 transitions: &[Trans(0, 37, 1, 180), Trans(0, 46, 2, 181)],
846 k: 1,
847 },
848 LookaheadDFA {
850 prod0: 183,
851 transitions: &[],
852 k: 0,
853 },
854 LookaheadDFA {
856 prod0: -1,
857 transitions: &[
858 Trans(0, 37, 1, 184),
859 Trans(0, 43, 2, 187),
860 Trans(0, 46, 1, 184),
861 ],
862 k: 1,
863 },
864 LookaheadDFA {
866 prod0: -1,
867 transitions: &[Trans(0, 37, 1, 185), Trans(0, 46, 2, 186)],
868 k: 1,
869 },
870 LookaheadDFA {
872 prod0: 238,
873 transitions: &[],
874 k: 0,
875 },
876 LookaheadDFA {
878 prod0: 237,
879 transitions: &[],
880 k: 0,
881 },
882 LookaheadDFA {
884 prod0: 236,
885 transitions: &[],
886 k: 0,
887 },
888 LookaheadDFA {
890 prod0: 217,
891 transitions: &[],
892 k: 0,
893 },
894 LookaheadDFA {
896 prod0: 216,
897 transitions: &[],
898 k: 0,
899 },
900 LookaheadDFA {
902 prod0: 215,
903 transitions: &[],
904 k: 0,
905 },
906 LookaheadDFA {
908 prod0: 244,
909 transitions: &[],
910 k: 0,
911 },
912 LookaheadDFA {
914 prod0: 55,
915 transitions: &[],
916 k: 0,
917 },
918 LookaheadDFA {
920 prod0: 246,
921 transitions: &[],
922 k: 0,
923 },
924 LookaheadDFA {
926 prod0: 0,
927 transitions: &[],
928 k: 0,
929 },
930 LookaheadDFA {
932 prod0: -1,
933 transitions: &[
934 Trans(0, 0, 2, 4),
935 Trans(0, 5, 1, 3),
936 Trans(0, 7, 1, 3),
937 Trans(0, 8, 1, 3),
938 Trans(0, 11, 1, 3),
939 Trans(0, 12, 1, 3),
940 Trans(0, 13, 1, 3),
941 Trans(0, 14, 1, 3),
942 Trans(0, 15, 1, 3),
943 Trans(0, 16, 1, 3),
944 Trans(0, 19, 1, 3),
945 Trans(0, 20, 1, 3),
946 Trans(0, 21, 1, 3),
947 Trans(0, 49, 2, 4),
948 Trans(0, 50, 1, 3),
949 Trans(0, 53, 2, 4),
950 Trans(0, 54, 1, 3),
951 Trans(0, 57, 1, 3),
952 Trans(0, 65, 1, 3),
953 ],
954 k: 1,
955 },
956 LookaheadDFA {
958 prod0: -1,
959 transitions: &[Trans(0, 0, 2, 2), Trans(0, 49, 1, 1), Trans(0, 53, 2, 2)],
960 k: 1,
961 },
962 LookaheadDFA {
964 prod0: -1,
965 transitions: &[
966 Trans(0, 0, 2, 6),
967 Trans(0, 5, 2, 6),
968 Trans(0, 7, 2, 6),
969 Trans(0, 8, 2, 6),
970 Trans(0, 11, 2, 6),
971 Trans(0, 12, 2, 6),
972 Trans(0, 13, 2, 6),
973 Trans(0, 14, 2, 6),
974 Trans(0, 15, 2, 6),
975 Trans(0, 16, 2, 6),
976 Trans(0, 19, 2, 6),
977 Trans(0, 20, 2, 6),
978 Trans(0, 21, 2, 6),
979 Trans(0, 49, 2, 6),
980 Trans(0, 50, 2, 6),
981 Trans(0, 53, 2, 6),
982 Trans(0, 54, 2, 6),
983 Trans(0, 57, 2, 6),
984 Trans(0, 60, 1, 5),
985 Trans(0, 64, 1, 5),
986 Trans(0, 65, 2, 6),
987 ],
988 k: 1,
989 },
990 LookaheadDFA {
992 prod0: 243,
993 transitions: &[],
994 k: 0,
995 },
996 LookaheadDFA {
998 prod0: 70,
999 transitions: &[],
1000 k: 0,
1001 },
1002 LookaheadDFA {
1004 prod0: 138,
1005 transitions: &[],
1006 k: 0,
1007 },
1008 LookaheadDFA {
1010 prod0: -1,
1011 transitions: &[
1012 Trans(0, 5, 1, 51),
1013 Trans(0, 7, 1, 51),
1014 Trans(0, 8, 1, 51),
1015 Trans(0, 11, 1, 51),
1016 Trans(0, 12, 1, 51),
1017 Trans(0, 13, 1, 51),
1018 Trans(0, 14, 1, 51),
1019 Trans(0, 15, 1, 51),
1020 Trans(0, 16, 1, 51),
1021 Trans(0, 19, 1, 51),
1022 Trans(0, 20, 1, 51),
1023 Trans(0, 21, 1, 51),
1024 Trans(0, 50, 1, 51),
1025 Trans(0, 54, 2, 52),
1026 Trans(0, 57, 1, 51),
1027 Trans(0, 65, 1, 51),
1028 ],
1029 k: 1,
1030 },
1031 LookaheadDFA {
1033 prod0: 37,
1034 transitions: &[],
1035 k: 0,
1036 },
1037 LookaheadDFA {
1039 prod0: -1,
1040 transitions: &[
1041 Trans(0, 0, 2, 39),
1042 Trans(0, 5, 1, 38),
1043 Trans(0, 7, 1, 38),
1044 Trans(0, 8, 1, 38),
1045 Trans(0, 11, 1, 38),
1046 Trans(0, 12, 1, 38),
1047 Trans(0, 13, 1, 38),
1048 Trans(0, 14, 1, 38),
1049 Trans(0, 15, 1, 38),
1050 Trans(0, 16, 1, 38),
1051 Trans(0, 19, 1, 38),
1052 Trans(0, 20, 1, 38),
1053 Trans(0, 21, 1, 38),
1054 Trans(0, 49, 2, 39),
1055 Trans(0, 50, 1, 38),
1056 Trans(0, 53, 2, 39),
1057 Trans(0, 54, 1, 38),
1058 Trans(0, 57, 1, 38),
1059 Trans(0, 65, 1, 38),
1060 ],
1061 k: 1,
1062 },
1063 LookaheadDFA {
1065 prod0: -1,
1066 transitions: &[Trans(0, 60, 1, 45), Trans(0, 64, 2, 46)],
1067 k: 1,
1068 },
1069 LookaheadDFA {
1071 prod0: 132,
1072 transitions: &[],
1073 k: 0,
1074 },
1075 LookaheadDFA {
1077 prod0: 240,
1078 transitions: &[],
1079 k: 0,
1080 },
1081 LookaheadDFA {
1083 prod0: 140,
1084 transitions: &[],
1085 k: 0,
1086 },
1087 LookaheadDFA {
1089 prod0: 258,
1090 transitions: &[],
1091 k: 0,
1092 },
1093 LookaheadDFA {
1095 prod0: 133,
1096 transitions: &[],
1097 k: 0,
1098 },
1099 LookaheadDFA {
1101 prod0: -1,
1102 transitions: &[
1103 Trans(0, 18, 2, 153),
1104 Trans(0, 22, 1, 152),
1105 Trans(0, 23, 1, 152),
1106 Trans(0, 24, 1, 152),
1107 ],
1108 k: 1,
1109 },
1110 LookaheadDFA {
1112 prod0: 154,
1113 transitions: &[],
1114 k: 0,
1115 },
1116 LookaheadDFA {
1118 prod0: 131,
1119 transitions: &[],
1120 k: 0,
1121 },
1122 LookaheadDFA {
1124 prod0: -1,
1125 transitions: &[
1126 Trans(0, 5, 7, 67),
1127 Trans(0, 7, 4, 64),
1128 Trans(0, 8, 5, 65),
1129 Trans(0, 11, 1, 61),
1130 Trans(0, 12, 1, 61),
1131 Trans(0, 13, 1, 61),
1132 Trans(0, 14, 8, 68),
1133 Trans(0, 15, 3, 63),
1134 Trans(0, 16, 3, 63),
1135 Trans(0, 19, 3, 63),
1136 Trans(0, 20, 3, 63),
1137 Trans(0, 21, 3, 63),
1138 Trans(0, 50, 2, 62),
1139 Trans(0, 57, 6, 66),
1140 Trans(0, 65, 1, 61),
1141 ],
1142 k: 1,
1143 },
1144 LookaheadDFA {
1146 prod0: -1,
1147 transitions: &[
1148 Trans(0, 11, 2, 86),
1149 Trans(0, 12, 3, 87),
1150 Trans(0, 13, 4, 88),
1151 Trans(0, 65, 1, 85),
1152 ],
1153 k: 1,
1154 },
1155 LookaheadDFA {
1157 prod0: -1,
1158 transitions: &[Trans(0, 51, 1, 53), Trans(0, 54, 2, 54)],
1159 k: 1,
1160 },
1161 LookaheadDFA {
1163 prod0: 71,
1164 transitions: &[],
1165 k: 0,
1166 },
1167 LookaheadDFA {
1169 prod0: 74,
1170 transitions: &[],
1171 k: 0,
1172 },
1173 LookaheadDFA {
1175 prod0: -1,
1176 transitions: &[Trans(0, 58, 2, 76), Trans(0, 61, 1, 75)],
1177 k: 1,
1178 },
1179 LookaheadDFA {
1181 prod0: 77,
1182 transitions: &[],
1183 k: 0,
1184 },
1185 LookaheadDFA {
1187 prod0: -1,
1188 transitions: &[
1189 Trans(0, 7, 1, 78),
1190 Trans(0, 11, 1, 78),
1191 Trans(0, 12, 1, 78),
1192 Trans(0, 14, 1, 78),
1193 Trans(0, 15, 1, 78),
1194 Trans(0, 57, 1, 78),
1195 Trans(0, 58, 2, 79),
1196 ],
1197 k: 1,
1198 },
1199 LookaheadDFA {
1201 prod0: -1,
1202 transitions: &[
1203 Trans(0, 7, 1, 72),
1204 Trans(0, 11, 1, 72),
1205 Trans(0, 12, 1, 72),
1206 Trans(0, 14, 1, 72),
1207 Trans(0, 15, 1, 72),
1208 Trans(0, 57, 1, 72),
1209 Trans(0, 58, 2, 73),
1210 ],
1211 k: 1,
1212 },
1213 LookaheadDFA {
1215 prod0: -1,
1216 transitions: &[
1217 Trans(0, 7, 1, 80),
1218 Trans(0, 11, 2, 81),
1219 Trans(0, 12, 2, 81),
1220 Trans(0, 14, 5, 84),
1221 Trans(0, 15, 3, 82),
1222 Trans(0, 57, 4, 83),
1223 ],
1224 k: 1,
1225 },
1226 LookaheadDFA {
1228 prod0: 48,
1229 transitions: &[],
1230 k: 0,
1231 },
1232 LookaheadDFA {
1234 prod0: -1,
1235 transitions: &[
1236 Trans(0, 0, 2, 50),
1237 Trans(0, 6, 2, 50),
1238 Trans(0, 47, 2, 50),
1239 Trans(0, 49, 2, 50),
1240 Trans(0, 51, 1, 49),
1241 Trans(0, 52, 2, 50),
1242 Trans(0, 53, 2, 50),
1243 Trans(0, 54, 1, 49),
1244 Trans(0, 59, 2, 50),
1245 Trans(0, 60, 2, 50),
1246 Trans(0, 63, 2, 50),
1247 Trans(0, 64, 2, 50),
1248 ],
1249 k: 1,
1250 },
1251 LookaheadDFA {
1253 prod0: 250,
1254 transitions: &[],
1255 k: 0,
1256 },
1257 LookaheadDFA {
1259 prod0: 150,
1260 transitions: &[],
1261 k: 0,
1262 },
1263 LookaheadDFA {
1265 prod0: 155,
1266 transitions: &[],
1267 k: 0,
1268 },
1269 LookaheadDFA {
1271 prod0: 233,
1272 transitions: &[],
1273 k: 0,
1274 },
1275 LookaheadDFA {
1277 prod0: -1,
1278 transitions: &[
1279 Trans(0, 40, 2, 159),
1280 Trans(0, 41, 1, 156),
1281 Trans(0, 42, 1, 156),
1282 ],
1283 k: 1,
1284 },
1285 LookaheadDFA {
1287 prod0: -1,
1288 transitions: &[Trans(0, 41, 2, 158), Trans(0, 42, 1, 157)],
1289 k: 1,
1290 },
1291 LookaheadDFA {
1293 prod0: 214,
1294 transitions: &[],
1295 k: 0,
1296 },
1297 LookaheadDFA {
1299 prod0: 160,
1300 transitions: &[],
1301 k: 0,
1302 },
1303 LookaheadDFA {
1305 prod0: 232,
1306 transitions: &[],
1307 k: 0,
1308 },
1309 LookaheadDFA {
1311 prod0: -1,
1312 transitions: &[
1313 Trans(0, 39, 2, 164),
1314 Trans(0, 41, 1, 161),
1315 Trans(0, 42, 1, 161),
1316 ],
1317 k: 1,
1318 },
1319 LookaheadDFA {
1321 prod0: -1,
1322 transitions: &[Trans(0, 41, 2, 163), Trans(0, 42, 1, 162)],
1323 k: 1,
1324 },
1325 LookaheadDFA {
1327 prod0: 213,
1328 transitions: &[],
1329 k: 0,
1330 },
1331 LookaheadDFA {
1333 prod0: 165,
1334 transitions: &[],
1335 k: 0,
1336 },
1337 LookaheadDFA {
1339 prod0: 231,
1340 transitions: &[],
1341 k: 0,
1342 },
1343 LookaheadDFA {
1345 prod0: -1,
1346 transitions: &[
1347 Trans(0, 38, 2, 169),
1348 Trans(0, 41, 1, 166),
1349 Trans(0, 42, 1, 166),
1350 ],
1351 k: 1,
1352 },
1353 LookaheadDFA {
1355 prod0: -1,
1356 transitions: &[Trans(0, 41, 2, 168), Trans(0, 42, 1, 167)],
1357 k: 1,
1358 },
1359 LookaheadDFA {
1361 prod0: 212,
1362 transitions: &[],
1363 k: 0,
1364 },
1365 LookaheadDFA {
1367 prod0: 108,
1368 transitions: &[],
1369 k: 0,
1370 },
1371 LookaheadDFA {
1373 prod0: 134,
1374 transitions: &[],
1375 k: 0,
1376 },
1377 LookaheadDFA {
1379 prod0: 252,
1380 transitions: &[],
1381 k: 0,
1382 },
1383 LookaheadDFA {
1385 prod0: 42,
1386 transitions: &[],
1387 k: 0,
1388 },
1389 LookaheadDFA {
1391 prod0: -1,
1392 transitions: &[
1393 Trans(0, 0, 2, 44),
1394 Trans(0, 5, 2, 44),
1395 Trans(0, 7, 2, 44),
1396 Trans(0, 8, 2, 44),
1397 Trans(0, 11, 2, 44),
1398 Trans(0, 12, 2, 44),
1399 Trans(0, 13, 2, 44),
1400 Trans(0, 14, 2, 44),
1401 Trans(0, 15, 2, 44),
1402 Trans(0, 16, 2, 44),
1403 Trans(0, 19, 2, 44),
1404 Trans(0, 20, 2, 44),
1405 Trans(0, 21, 2, 44),
1406 Trans(0, 49, 2, 44),
1407 Trans(0, 50, 2, 44),
1408 Trans(0, 53, 2, 44),
1409 Trans(0, 54, 2, 44),
1410 Trans(0, 57, 2, 44),
1411 Trans(0, 60, 1, 43),
1412 Trans(0, 64, 1, 43),
1413 Trans(0, 65, 2, 44),
1414 ],
1415 k: 1,
1416 },
1417 LookaheadDFA {
1419 prod0: 256,
1420 transitions: &[],
1421 k: 0,
1422 },
1423 LookaheadDFA {
1425 prod0: 230,
1426 transitions: &[],
1427 k: 0,
1428 },
1429 LookaheadDFA {
1431 prod0: 235,
1432 transitions: &[],
1433 k: 0,
1434 },
1435 LookaheadDFA {
1437 prod0: 139,
1438 transitions: &[],
1439 k: 0,
1440 },
1441 LookaheadDFA {
1443 prod0: -1,
1444 transitions: &[
1445 Trans(0, 7, 2, 128),
1446 Trans(0, 8, 1, 127),
1447 Trans(0, 9, 3, 129),
1448 Trans(0, 10, 4, 130),
1449 ],
1450 k: 1,
1451 },
1452 LookaheadDFA {
1454 prod0: 99,
1455 transitions: &[],
1456 k: 0,
1457 },
1458 LookaheadDFA {
1460 prod0: -1,
1461 transitions: &[
1462 Trans(0, 5, 1, 100),
1463 Trans(0, 7, 1, 100),
1464 Trans(0, 8, 1, 100),
1465 Trans(0, 11, 1, 100),
1466 Trans(0, 12, 1, 100),
1467 Trans(0, 13, 1, 100),
1468 Trans(0, 14, 1, 100),
1469 Trans(0, 15, 1, 100),
1470 Trans(0, 16, 1, 100),
1471 Trans(0, 19, 1, 100),
1472 Trans(0, 20, 1, 100),
1473 Trans(0, 21, 1, 100),
1474 Trans(0, 50, 1, 100),
1475 Trans(0, 53, 2, 101),
1476 Trans(0, 54, 1, 100),
1477 Trans(0, 57, 1, 100),
1478 Trans(0, 65, 1, 100),
1479 ],
1480 k: 1,
1481 },
1482 LookaheadDFA {
1484 prod0: -1,
1485 transitions: &[
1486 Trans(0, 5, 2, 107),
1487 Trans(0, 7, 2, 107),
1488 Trans(0, 8, 2, 107),
1489 Trans(0, 11, 2, 107),
1490 Trans(0, 12, 2, 107),
1491 Trans(0, 13, 2, 107),
1492 Trans(0, 14, 2, 107),
1493 Trans(0, 15, 2, 107),
1494 Trans(0, 16, 2, 107),
1495 Trans(0, 19, 2, 107),
1496 Trans(0, 20, 2, 107),
1497 Trans(0, 21, 2, 107),
1498 Trans(0, 50, 2, 107),
1499 Trans(0, 53, 2, 107),
1500 Trans(0, 54, 2, 107),
1501 Trans(0, 57, 2, 107),
1502 Trans(0, 60, 1, 104),
1503 Trans(0, 65, 2, 107),
1504 ],
1505 k: 1,
1506 },
1507 LookaheadDFA {
1509 prod0: -1,
1510 transitions: &[
1511 Trans(0, 5, 2, 103),
1512 Trans(0, 7, 2, 103),
1513 Trans(0, 8, 2, 103),
1514 Trans(0, 11, 2, 103),
1515 Trans(0, 12, 2, 103),
1516 Trans(0, 13, 2, 103),
1517 Trans(0, 14, 2, 103),
1518 Trans(0, 15, 2, 103),
1519 Trans(0, 16, 2, 103),
1520 Trans(0, 19, 2, 103),
1521 Trans(0, 20, 2, 103),
1522 Trans(0, 21, 2, 103),
1523 Trans(0, 50, 2, 103),
1524 Trans(0, 53, 2, 103),
1525 Trans(0, 54, 2, 103),
1526 Trans(0, 57, 2, 103),
1527 Trans(0, 61, 1, 102),
1528 Trans(0, 65, 2, 103),
1529 ],
1530 k: 1,
1531 },
1532 LookaheadDFA {
1534 prod0: -1,
1535 transitions: &[
1536 Trans(0, 5, 2, 106),
1537 Trans(0, 7, 2, 106),
1538 Trans(0, 8, 2, 106),
1539 Trans(0, 11, 2, 106),
1540 Trans(0, 12, 2, 106),
1541 Trans(0, 13, 2, 106),
1542 Trans(0, 14, 2, 106),
1543 Trans(0, 15, 2, 106),
1544 Trans(0, 16, 2, 106),
1545 Trans(0, 19, 2, 106),
1546 Trans(0, 20, 2, 106),
1547 Trans(0, 21, 2, 106),
1548 Trans(0, 50, 2, 106),
1549 Trans(0, 53, 2, 106),
1550 Trans(0, 54, 2, 106),
1551 Trans(0, 57, 2, 106),
1552 Trans(0, 61, 1, 105),
1553 Trans(0, 65, 2, 106),
1554 ],
1555 k: 1,
1556 },
1557 LookaheadDFA {
1559 prod0: 251,
1560 transitions: &[],
1561 k: 0,
1562 },
1563 LookaheadDFA {
1565 prod0: -1,
1566 transitions: &[Trans(0, 59, 1, 9), Trans(0, 63, 2, 10)],
1567 k: 1,
1568 },
1569 LookaheadDFA {
1571 prod0: 12,
1572 transitions: &[],
1573 k: 0,
1574 },
1575 LookaheadDFA {
1577 prod0: -1,
1578 transitions: &[
1579 Trans(0, 0, 2, 18),
1580 Trans(0, 5, 2, 18),
1581 Trans(0, 7, 2, 18),
1582 Trans(0, 8, 2, 18),
1583 Trans(0, 11, 2, 18),
1584 Trans(0, 12, 2, 18),
1585 Trans(0, 13, 2, 18),
1586 Trans(0, 14, 2, 18),
1587 Trans(0, 15, 2, 18),
1588 Trans(0, 16, 2, 18),
1589 Trans(0, 17, 2, 18),
1590 Trans(0, 19, 2, 18),
1591 Trans(0, 20, 2, 18),
1592 Trans(0, 21, 2, 18),
1593 Trans(0, 47, 2, 18),
1594 Trans(0, 48, 1, 17),
1595 Trans(0, 49, 2, 18),
1596 Trans(0, 50, 2, 18),
1597 Trans(0, 53, 2, 18),
1598 Trans(0, 54, 2, 18),
1599 Trans(0, 57, 2, 18),
1600 Trans(0, 65, 2, 18),
1601 ],
1602 k: 1,
1603 },
1604 LookaheadDFA {
1606 prod0: -1,
1607 transitions: &[
1608 Trans(0, 0, 2, 16),
1609 Trans(0, 5, 2, 16),
1610 Trans(0, 7, 2, 16),
1611 Trans(0, 8, 2, 16),
1612 Trans(0, 11, 2, 16),
1613 Trans(0, 12, 2, 16),
1614 Trans(0, 13, 2, 16),
1615 Trans(0, 14, 2, 16),
1616 Trans(0, 15, 2, 16),
1617 Trans(0, 16, 2, 16),
1618 Trans(0, 17, 1, 15),
1619 Trans(0, 19, 2, 16),
1620 Trans(0, 20, 2, 16),
1621 Trans(0, 21, 2, 16),
1622 Trans(0, 47, 2, 16),
1623 Trans(0, 49, 2, 16),
1624 Trans(0, 50, 2, 16),
1625 Trans(0, 53, 2, 16),
1626 Trans(0, 54, 2, 16),
1627 Trans(0, 57, 2, 16),
1628 Trans(0, 65, 2, 16),
1629 ],
1630 k: 1,
1631 },
1632 LookaheadDFA {
1634 prod0: -1,
1635 transitions: &[
1636 Trans(0, 0, 2, 14),
1637 Trans(0, 5, 2, 14),
1638 Trans(0, 7, 2, 14),
1639 Trans(0, 8, 2, 14),
1640 Trans(0, 11, 2, 14),
1641 Trans(0, 12, 2, 14),
1642 Trans(0, 13, 2, 14),
1643 Trans(0, 14, 2, 14),
1644 Trans(0, 15, 2, 14),
1645 Trans(0, 16, 2, 14),
1646 Trans(0, 19, 2, 14),
1647 Trans(0, 20, 2, 14),
1648 Trans(0, 21, 2, 14),
1649 Trans(0, 47, 1, 13),
1650 Trans(0, 49, 2, 14),
1651 Trans(0, 50, 2, 14),
1652 Trans(0, 53, 2, 14),
1653 Trans(0, 54, 2, 14),
1654 Trans(0, 57, 2, 14),
1655 Trans(0, 65, 2, 14),
1656 ],
1657 k: 1,
1658 },
1659 LookaheadDFA {
1661 prod0: 11,
1662 transitions: &[],
1663 k: 0,
1664 },
1665 LookaheadDFA {
1667 prod0: 234,
1668 transitions: &[],
1669 k: 0,
1670 },
1671 LookaheadDFA {
1673 prod0: 32,
1674 transitions: &[],
1675 k: 0,
1676 },
1677 LookaheadDFA {
1679 prod0: 24,
1680 transitions: &[],
1681 k: 0,
1682 },
1683 LookaheadDFA {
1685 prod0: -1,
1686 transitions: &[
1687 Trans(0, 0, 1, 33),
1688 Trans(0, 47, 1, 33),
1689 Trans(0, 49, 1, 33),
1690 Trans(0, 52, 2, 34),
1691 Trans(0, 53, 1, 33),
1692 Trans(0, 59, 1, 33),
1693 Trans(0, 63, 1, 33),
1694 ],
1695 k: 1,
1696 },
1697 LookaheadDFA {
1699 prod0: -1,
1700 transitions: &[
1701 Trans(0, 0, 2, 36),
1702 Trans(0, 47, 1, 35),
1703 Trans(0, 49, 2, 36),
1704 Trans(0, 53, 2, 36),
1705 Trans(0, 59, 1, 35),
1706 Trans(0, 63, 1, 35),
1707 ],
1708 k: 1,
1709 },
1710 LookaheadDFA {
1712 prod0: -1,
1713 transitions: &[
1714 Trans(0, 47, 2, 41),
1715 Trans(0, 59, 1, 40),
1716 Trans(0, 63, 1, 40),
1717 ],
1718 k: 1,
1719 },
1720 LookaheadDFA {
1722 prod0: 149,
1723 transitions: &[],
1724 k: 0,
1725 },
1726 LookaheadDFA {
1728 prod0: -1,
1729 transitions: &[
1730 Trans(0, 15, 1, 141),
1731 Trans(0, 16, 2, 142),
1732 Trans(0, 19, 5, 145),
1733 Trans(0, 20, 4, 144),
1734 Trans(0, 21, 3, 143),
1735 ],
1736 k: 1,
1737 },
1738 LookaheadDFA {
1740 prod0: 146,
1741 transitions: &[],
1742 k: 0,
1743 },
1744 LookaheadDFA {
1746 prod0: -1,
1747 transitions: &[
1748 Trans(0, 0, 2, 148),
1749 Trans(0, 5, 2, 148),
1750 Trans(0, 7, 2, 148),
1751 Trans(0, 8, 2, 148),
1752 Trans(0, 11, 2, 148),
1753 Trans(0, 12, 2, 148),
1754 Trans(0, 13, 2, 148),
1755 Trans(0, 14, 2, 148),
1756 Trans(0, 15, 2, 148),
1757 Trans(0, 16, 2, 148),
1758 Trans(0, 19, 2, 148),
1759 Trans(0, 20, 2, 148),
1760 Trans(0, 21, 2, 148),
1761 Trans(0, 49, 2, 148),
1762 Trans(0, 50, 2, 148),
1763 Trans(0, 53, 2, 148),
1764 Trans(0, 54, 2, 148),
1765 Trans(0, 55, 2, 148),
1766 Trans(0, 57, 2, 148),
1767 Trans(0, 58, 2, 148),
1768 Trans(0, 61, 2, 148),
1769 Trans(0, 62, 1, 147),
1770 Trans(0, 65, 2, 148),
1771 ],
1772 k: 1,
1773 },
1774 LookaheadDFA {
1776 prod0: 151,
1777 transitions: &[],
1778 k: 0,
1779 },
1780 LookaheadDFA {
1782 prod0: 25,
1783 transitions: &[],
1784 k: 0,
1785 },
1786 LookaheadDFA {
1788 prod0: -1,
1789 transitions: &[
1790 Trans(0, 0, 2, 31),
1791 Trans(0, 5, 2, 31),
1792 Trans(0, 7, 2, 31),
1793 Trans(0, 8, 2, 31),
1794 Trans(0, 11, 2, 31),
1795 Trans(0, 12, 2, 31),
1796 Trans(0, 13, 2, 31),
1797 Trans(0, 14, 2, 31),
1798 Trans(0, 15, 2, 31),
1799 Trans(0, 16, 2, 31),
1800 Trans(0, 17, 2, 31),
1801 Trans(0, 19, 2, 31),
1802 Trans(0, 20, 2, 31),
1803 Trans(0, 21, 2, 31),
1804 Trans(0, 47, 2, 31),
1805 Trans(0, 48, 1, 30),
1806 Trans(0, 49, 2, 31),
1807 Trans(0, 50, 2, 31),
1808 Trans(0, 53, 2, 31),
1809 Trans(0, 54, 2, 31),
1810 Trans(0, 57, 2, 31),
1811 Trans(0, 65, 2, 31),
1812 ],
1813 k: 1,
1814 },
1815 LookaheadDFA {
1817 prod0: -1,
1818 transitions: &[
1819 Trans(0, 0, 2, 29),
1820 Trans(0, 5, 2, 29),
1821 Trans(0, 7, 2, 29),
1822 Trans(0, 8, 2, 29),
1823 Trans(0, 11, 2, 29),
1824 Trans(0, 12, 2, 29),
1825 Trans(0, 13, 2, 29),
1826 Trans(0, 14, 2, 29),
1827 Trans(0, 15, 2, 29),
1828 Trans(0, 16, 2, 29),
1829 Trans(0, 17, 1, 28),
1830 Trans(0, 19, 2, 29),
1831 Trans(0, 20, 2, 29),
1832 Trans(0, 21, 2, 29),
1833 Trans(0, 47, 2, 29),
1834 Trans(0, 49, 2, 29),
1835 Trans(0, 50, 2, 29),
1836 Trans(0, 53, 2, 29),
1837 Trans(0, 54, 2, 29),
1838 Trans(0, 57, 2, 29),
1839 Trans(0, 65, 2, 29),
1840 ],
1841 k: 1,
1842 },
1843 LookaheadDFA {
1845 prod0: -1,
1846 transitions: &[
1847 Trans(0, 0, 2, 27),
1848 Trans(0, 5, 2, 27),
1849 Trans(0, 7, 2, 27),
1850 Trans(0, 8, 2, 27),
1851 Trans(0, 11, 2, 27),
1852 Trans(0, 12, 2, 27),
1853 Trans(0, 13, 2, 27),
1854 Trans(0, 14, 2, 27),
1855 Trans(0, 15, 2, 27),
1856 Trans(0, 16, 2, 27),
1857 Trans(0, 19, 2, 27),
1858 Trans(0, 20, 2, 27),
1859 Trans(0, 21, 2, 27),
1860 Trans(0, 47, 1, 26),
1861 Trans(0, 49, 2, 27),
1862 Trans(0, 50, 2, 27),
1863 Trans(0, 53, 2, 27),
1864 Trans(0, 54, 2, 27),
1865 Trans(0, 57, 2, 27),
1866 Trans(0, 65, 2, 27),
1867 ],
1868 k: 1,
1869 },
1870 LookaheadDFA {
1872 prod0: 257,
1873 transitions: &[],
1874 k: 0,
1875 },
1876 LookaheadDFA {
1878 prod0: -1,
1879 transitions: &[Trans(0, 60, 1, 7), Trans(0, 64, 2, 8)],
1880 k: 1,
1881 },
1882 LookaheadDFA {
1884 prod0: 137,
1885 transitions: &[],
1886 k: 0,
1887 },
1888 LookaheadDFA {
1890 prod0: 118,
1891 transitions: &[],
1892 k: 0,
1893 },
1894 LookaheadDFA {
1896 prod0: 121,
1897 transitions: &[],
1898 k: 0,
1899 },
1900 LookaheadDFA {
1902 prod0: -1,
1903 transitions: &[Trans(0, 58, 2, 123), Trans(0, 61, 1, 122)],
1904 k: 1,
1905 },
1906 LookaheadDFA {
1908 prod0: 124,
1909 transitions: &[],
1910 k: 0,
1911 },
1912 LookaheadDFA {
1914 prod0: -1,
1915 transitions: &[
1916 Trans(0, 7, 1, 125),
1917 Trans(0, 8, 1, 125),
1918 Trans(0, 9, 1, 125),
1919 Trans(0, 10, 1, 125),
1920 Trans(0, 11, 1, 125),
1921 Trans(0, 12, 1, 125),
1922 Trans(0, 13, 1, 125),
1923 Trans(0, 14, 1, 125),
1924 Trans(0, 15, 1, 125),
1925 Trans(0, 16, 1, 125),
1926 Trans(0, 18, 1, 125),
1927 Trans(0, 19, 1, 125),
1928 Trans(0, 20, 1, 125),
1929 Trans(0, 21, 1, 125),
1930 Trans(0, 22, 1, 125),
1931 Trans(0, 23, 1, 125),
1932 Trans(0, 24, 1, 125),
1933 Trans(0, 25, 1, 125),
1934 Trans(0, 26, 1, 125),
1935 Trans(0, 27, 1, 125),
1936 Trans(0, 28, 1, 125),
1937 Trans(0, 52, 1, 125),
1938 Trans(0, 54, 1, 125),
1939 Trans(0, 57, 1, 125),
1940 Trans(0, 58, 2, 126),
1941 ],
1942 k: 1,
1943 },
1944 LookaheadDFA {
1946 prod0: 69,
1947 transitions: &[],
1948 k: 0,
1949 },
1950 LookaheadDFA {
1952 prod0: -1,
1953 transitions: &[
1954 Trans(0, 7, 1, 119),
1955 Trans(0, 8, 1, 119),
1956 Trans(0, 9, 1, 119),
1957 Trans(0, 10, 1, 119),
1958 Trans(0, 11, 1, 119),
1959 Trans(0, 12, 1, 119),
1960 Trans(0, 13, 1, 119),
1961 Trans(0, 14, 1, 119),
1962 Trans(0, 15, 1, 119),
1963 Trans(0, 16, 1, 119),
1964 Trans(0, 18, 1, 119),
1965 Trans(0, 19, 1, 119),
1966 Trans(0, 20, 1, 119),
1967 Trans(0, 21, 1, 119),
1968 Trans(0, 22, 1, 119),
1969 Trans(0, 23, 1, 119),
1970 Trans(0, 24, 1, 119),
1971 Trans(0, 25, 1, 119),
1972 Trans(0, 26, 1, 119),
1973 Trans(0, 27, 1, 119),
1974 Trans(0, 28, 1, 119),
1975 Trans(0, 52, 1, 119),
1976 Trans(0, 54, 1, 119),
1977 Trans(0, 57, 1, 119),
1978 Trans(0, 58, 2, 120),
1979 ],
1980 k: 1,
1981 },
1982 LookaheadDFA {
1984 prod0: -1,
1985 transitions: &[
1986 Trans(0, 7, 4, 92),
1987 Trans(0, 8, 4, 92),
1988 Trans(0, 9, 4, 92),
1989 Trans(0, 10, 4, 92),
1990 Trans(0, 11, 5, 93),
1991 Trans(0, 12, 5, 93),
1992 Trans(0, 13, 6, 94),
1993 Trans(0, 14, 8, 96),
1994 Trans(0, 15, 7, 95),
1995 Trans(0, 16, 7, 95),
1996 Trans(0, 18, 10, 98),
1997 Trans(0, 19, 7, 95),
1998 Trans(0, 20, 7, 95),
1999 Trans(0, 21, 7, 95),
2000 Trans(0, 22, 10, 98),
2001 Trans(0, 23, 10, 98),
2002 Trans(0, 24, 10, 98),
2003 Trans(0, 25, 9, 97),
2004 Trans(0, 26, 9, 97),
2005 Trans(0, 27, 9, 97),
2006 Trans(0, 28, 9, 97),
2007 Trans(0, 52, 1, 89),
2008 Trans(0, 54, 2, 90),
2009 Trans(0, 57, 3, 91),
2010 ],
2011 k: 1,
2012 },
2013 LookaheadDFA {
2015 prod0: 23,
2016 transitions: &[],
2017 k: 0,
2018 },
2019 LookaheadDFA {
2021 prod0: 241,
2022 transitions: &[],
2023 k: 0,
2024 },
2025];
2026
2027pub const PRODUCTIONS: &[Production; 259] = &[
2028 Production {
2030 lhs: 66,
2031 production: &[ParseType::N(68), ParseType::N(67), ParseType::N(69)],
2032 },
2033 Production {
2035 lhs: 68,
2036 production: &[ParseType::N(68), ParseType::N(137)],
2037 },
2038 Production {
2040 lhs: 68,
2041 production: &[],
2042 },
2043 Production {
2045 lhs: 67,
2046 production: &[ParseType::N(67), ParseType::N(19)],
2047 },
2048 Production {
2050 lhs: 67,
2051 production: &[],
2052 },
2053 Production {
2055 lhs: 69,
2056 production: &[ParseType::N(152)],
2057 },
2058 Production {
2060 lhs: 69,
2061 production: &[],
2062 },
2063 Production {
2065 lhs: 152,
2066 production: &[ParseType::N(162)],
2067 },
2068 Production {
2070 lhs: 152,
2071 production: &[ParseType::N(147)],
2072 },
2073 Production {
2075 lhs: 130,
2076 production: &[ParseType::N(135)],
2077 },
2078 Production {
2080 lhs: 130,
2081 production: &[ParseType::N(131)],
2082 },
2083 Production {
2085 lhs: 135,
2086 production: &[ParseType::N(161), ParseType::N(116)],
2087 },
2088 Production {
2090 lhs: 131,
2091 production: &[
2092 ParseType::N(134),
2093 ParseType::N(133),
2094 ParseType::N(132),
2095 ParseType::N(119),
2096 ],
2097 },
2098 Production {
2100 lhs: 134,
2101 production: &[ParseType::N(78)],
2102 },
2103 Production {
2105 lhs: 134,
2106 production: &[],
2107 },
2108 Production {
2110 lhs: 133,
2111 production: &[ParseType::N(146)],
2112 },
2113 Production {
2115 lhs: 133,
2116 production: &[],
2117 },
2118 Production {
2120 lhs: 132,
2121 production: &[ParseType::N(163)],
2122 },
2123 Production {
2125 lhs: 132,
2126 production: &[],
2127 },
2128 Production {
2130 lhs: 19,
2131 production: &[ParseType::N(20), ParseType::N(95)],
2132 },
2133 Production {
2135 lhs: 20,
2136 production: &[ParseType::N(162)],
2137 },
2138 Production {
2140 lhs: 20,
2141 production: &[ParseType::N(138)],
2142 },
2143 Production {
2145 lhs: 20,
2146 production: &[ParseType::N(147)],
2147 },
2148 Production {
2150 lhs: 162,
2151 production: &[ParseType::N(161), ParseType::N(18)],
2152 },
2153 Production {
2155 lhs: 138,
2156 production: &[ParseType::N(65), ParseType::N(66), ParseType::N(17)],
2157 },
2158 Production {
2160 lhs: 147,
2161 production: &[
2162 ParseType::N(150),
2163 ParseType::N(149),
2164 ParseType::N(148),
2165 ParseType::N(151),
2166 ],
2167 },
2168 Production {
2170 lhs: 150,
2171 production: &[ParseType::N(78)],
2172 },
2173 Production {
2175 lhs: 150,
2176 production: &[],
2177 },
2178 Production {
2180 lhs: 149,
2181 production: &[ParseType::N(146)],
2182 },
2183 Production {
2185 lhs: 149,
2186 production: &[],
2187 },
2188 Production {
2190 lhs: 148,
2191 production: &[ParseType::N(163)],
2192 },
2193 Production {
2195 lhs: 148,
2196 production: &[],
2197 },
2198 Production {
2200 lhs: 137,
2201 production: &[ParseType::N(139), ParseType::N(95), ParseType::N(11)],
2202 },
2203 Production {
2205 lhs: 139,
2206 production: &[ParseType::N(140)],
2207 },
2208 Production {
2210 lhs: 139,
2211 production: &[ParseType::N(21)],
2212 },
2213 Production {
2215 lhs: 140,
2216 production: &[ParseType::N(74)],
2217 },
2218 Production {
2220 lhs: 140,
2221 production: &[],
2222 },
2223 Production {
2225 lhs: 74,
2226 production: &[ParseType::N(75), ParseType::N(141)],
2227 },
2228 Production {
2230 lhs: 75,
2231 production: &[ParseType::N(75), ParseType::N(19)],
2232 },
2233 Production {
2235 lhs: 75,
2236 production: &[],
2237 },
2238 Production {
2240 lhs: 141,
2241 production: &[ParseType::N(130)],
2242 },
2243 Production {
2245 lhs: 141,
2246 production: &[ParseType::N(117)],
2247 },
2248 Production {
2250 lhs: 117,
2251 production: &[ParseType::N(118), ParseType::N(78)],
2252 },
2253 Production {
2255 lhs: 118,
2256 production: &[ParseType::N(76)],
2257 },
2258 Production {
2260 lhs: 118,
2261 production: &[],
2262 },
2263 Production {
2265 lhs: 76,
2266 production: &[ParseType::N(162)],
2267 },
2268 Production {
2270 lhs: 76,
2271 production: &[ParseType::N(147)],
2272 },
2273 Production {
2275 lhs: 21,
2276 production: &[ParseType::N(65), ParseType::N(66), ParseType::N(17)],
2277 },
2278 Production {
2280 lhs: 95,
2281 production: &[ParseType::N(96), ParseType::N(73)],
2282 },
2283 Production {
2285 lhs: 96,
2286 production: &[ParseType::N(96), ParseType::N(87)],
2287 },
2288 Production {
2290 lhs: 96,
2291 production: &[],
2292 },
2293 Production {
2295 lhs: 73,
2296 production: &[ParseType::N(85)],
2297 },
2298 Production {
2300 lhs: 73,
2301 production: &[ParseType::N(7)],
2302 },
2303 Production {
2305 lhs: 87,
2306 production: &[ParseType::N(64)],
2307 },
2308 Production {
2310 lhs: 87,
2311 production: &[ParseType::N(7)],
2312 },
2313 Production {
2315 lhs: 64,
2316 production: &[ParseType::N(85), ParseType::N(63)],
2317 },
2318 Production {
2320 lhs: 7,
2321 production: &[ParseType::N(6), ParseType::N(8), ParseType::N(1)],
2322 },
2323 Production {
2325 lhs: 8,
2326 production: &[ParseType::N(9)],
2327 },
2328 Production {
2330 lhs: 9,
2331 production: &[ParseType::N(84)],
2332 },
2333 Production {
2335 lhs: 9,
2336 production: &[ParseType::N(23)],
2337 },
2338 Production {
2340 lhs: 8,
2341 production: &[],
2342 },
2343 Production {
2345 lhs: 85,
2346 production: &[ParseType::N(86)],
2347 },
2348 Production {
2350 lhs: 85,
2351 production: &[ParseType::N(71)],
2352 },
2353 Production {
2355 lhs: 85,
2356 production: &[ParseType::N(143)],
2357 },
2358 Production {
2360 lhs: 85,
2361 production: &[ParseType::N(84)],
2362 },
2363 Production {
2365 lhs: 85,
2366 production: &[ParseType::N(77)],
2367 },
2368 Production {
2370 lhs: 85,
2371 production: &[ParseType::N(88)],
2372 },
2373 Production {
2375 lhs: 85,
2376 production: &[ParseType::N(159)],
2377 },
2378 Production {
2380 lhs: 85,
2381 production: &[ParseType::N(79)],
2382 },
2383 Production {
2385 lhs: 159,
2386 production: &[ParseType::N(84), ParseType::T(5)],
2387 },
2388 Production {
2390 lhs: 71,
2391 production: &[ParseType::N(86), ParseType::N(70)],
2392 },
2393 Production {
2395 lhs: 88,
2396 production: &[ParseType::N(129), ParseType::N(93), ParseType::N(97)],
2397 },
2398 Production {
2400 lhs: 93,
2401 production: &[ParseType::N(89)],
2402 },
2403 Production {
2405 lhs: 93,
2406 production: &[],
2407 },
2408 Production {
2410 lhs: 89,
2411 production: &[ParseType::N(90), ParseType::N(94)],
2412 },
2413 Production {
2415 lhs: 90,
2416 production: &[ParseType::N(91)],
2417 },
2418 Production {
2420 lhs: 90,
2421 production: &[],
2422 },
2423 Production {
2425 lhs: 91,
2426 production: &[ParseType::N(92), ParseType::N(45)],
2427 },
2428 Production {
2430 lhs: 92,
2431 production: &[ParseType::N(89)],
2432 },
2433 Production {
2435 lhs: 92,
2436 production: &[],
2437 },
2438 Production {
2440 lhs: 94,
2441 production: &[ParseType::N(84)],
2442 },
2443 Production {
2445 lhs: 94,
2446 production: &[ParseType::N(22)],
2447 },
2448 Production {
2450 lhs: 94,
2451 production: &[ParseType::N(142)],
2452 },
2453 Production {
2455 lhs: 94,
2456 production: &[ParseType::N(88)],
2457 },
2458 Production {
2460 lhs: 94,
2461 production: &[ParseType::N(79)],
2462 },
2463 Production {
2465 lhs: 86,
2466 production: &[ParseType::N(80)],
2467 },
2468 Production {
2470 lhs: 86,
2471 production: &[ParseType::N(153)],
2472 },
2473 Production {
2475 lhs: 86,
2476 production: &[ParseType::N(72)],
2477 },
2478 Production {
2480 lhs: 86,
2481 production: &[ParseType::N(122)],
2482 },
2483 Production {
2485 lhs: 161,
2486 production: &[ParseType::N(124)],
2487 },
2488 Production {
2490 lhs: 161,
2491 production: &[ParseType::N(0)],
2492 },
2493 Production {
2495 lhs: 161,
2496 production: &[ParseType::N(154)],
2497 },
2498 Production {
2500 lhs: 161,
2501 production: &[ParseType::N(123)],
2502 },
2503 Production {
2505 lhs: 161,
2506 production: &[ParseType::N(22)],
2507 },
2508 Production {
2510 lhs: 161,
2511 production: &[ParseType::N(122)],
2512 },
2513 Production {
2515 lhs: 161,
2516 production: &[ParseType::N(144)],
2517 },
2518 Production {
2520 lhs: 161,
2521 production: &[ParseType::N(79)],
2522 },
2523 Production {
2525 lhs: 161,
2526 production: &[ParseType::N(24)],
2527 },
2528 Production {
2530 lhs: 161,
2531 production: &[ParseType::N(82)],
2532 },
2533 Production {
2535 lhs: 124,
2536 production: &[
2537 ParseType::N(65),
2538 ParseType::N(125),
2539 ParseType::N(126),
2540 ParseType::N(17),
2541 ],
2542 },
2543 Production {
2545 lhs: 125,
2546 production: &[
2547 ParseType::N(125),
2548 ParseType::N(127),
2549 ParseType::N(161),
2550 ParseType::N(114),
2551 ParseType::N(95),
2552 ],
2553 },
2554 Production {
2556 lhs: 125,
2557 production: &[],
2558 },
2559 Production {
2561 lhs: 127,
2562 production: &[ParseType::N(45)],
2563 },
2564 Production {
2566 lhs: 127,
2567 production: &[],
2568 },
2569 Production {
2571 lhs: 126,
2572 production: &[ParseType::N(128), ParseType::N(162)],
2573 },
2574 Production {
2576 lhs: 128,
2577 production: &[ParseType::N(45)],
2578 },
2579 Production {
2581 lhs: 128,
2582 production: &[],
2583 },
2584 Production {
2586 lhs: 126,
2587 production: &[],
2588 },
2589 Production {
2591 lhs: 114,
2592 production: &[ParseType::T(6)],
2593 },
2594 Production {
2596 lhs: 0,
2597 production: &[ParseType::N(6), ParseType::N(10), ParseType::N(1)],
2598 },
2599 Production {
2601 lhs: 10,
2602 production: &[ParseType::N(2)],
2603 },
2604 Production {
2606 lhs: 10,
2607 production: &[],
2608 },
2609 Production {
2611 lhs: 2,
2612 production: &[ParseType::N(3), ParseType::N(161)],
2613 },
2614 Production {
2616 lhs: 3,
2617 production: &[ParseType::N(4)],
2618 },
2619 Production {
2621 lhs: 3,
2622 production: &[],
2623 },
2624 Production {
2626 lhs: 4,
2627 production: &[ParseType::N(5), ParseType::N(45)],
2628 },
2629 Production {
2631 lhs: 5,
2632 production: &[ParseType::N(2)],
2633 },
2634 Production {
2636 lhs: 5,
2637 production: &[],
2638 },
2639 Production {
2641 lhs: 154,
2642 production: &[ParseType::N(129), ParseType::N(160), ParseType::N(97)],
2643 },
2644 Production {
2646 lhs: 160,
2647 production: &[ParseType::N(155)],
2648 },
2649 Production {
2651 lhs: 160,
2652 production: &[],
2653 },
2654 Production {
2656 lhs: 155,
2657 production: &[ParseType::N(156), ParseType::N(161)],
2658 },
2659 Production {
2661 lhs: 156,
2662 production: &[ParseType::N(157)],
2663 },
2664 Production {
2666 lhs: 156,
2667 production: &[],
2668 },
2669 Production {
2671 lhs: 157,
2672 production: &[ParseType::N(158), ParseType::N(45)],
2673 },
2674 Production {
2676 lhs: 158,
2677 production: &[ParseType::N(155)],
2678 },
2679 Production {
2681 lhs: 158,
2682 production: &[],
2683 },
2684 Production {
2686 lhs: 123,
2687 production: &[ParseType::N(77)],
2688 },
2689 Production {
2691 lhs: 123,
2692 production: &[ParseType::N(84)],
2693 },
2694 Production {
2696 lhs: 123,
2697 production: &[ParseType::N(81)],
2698 },
2699 Production {
2701 lhs: 123,
2702 production: &[ParseType::N(115)],
2703 },
2704 Production {
2706 lhs: 84,
2707 production: &[ParseType::T(7)],
2708 },
2709 Production {
2711 lhs: 77,
2712 production: &[ParseType::T(8)],
2713 },
2714 Production {
2716 lhs: 81,
2717 production: &[ParseType::T(9)],
2718 },
2719 Production {
2721 lhs: 115,
2722 production: &[ParseType::T(10)],
2723 },
2724 Production {
2726 lhs: 22,
2727 production: &[ParseType::N(153)],
2728 },
2729 Production {
2731 lhs: 22,
2732 production: &[ParseType::N(72)],
2733 },
2734 Production {
2736 lhs: 153,
2737 production: &[ParseType::T(11)],
2738 },
2739 Production {
2741 lhs: 72,
2742 production: &[ParseType::T(12)],
2743 },
2744 Production {
2746 lhs: 122,
2747 production: &[ParseType::T(13)],
2748 },
2749 Production {
2751 lhs: 79,
2752 production: &[ParseType::T(14)],
2753 },
2754 Production {
2756 lhs: 143,
2757 production: &[ParseType::N(142)],
2758 },
2759 Production {
2761 lhs: 143,
2762 production: &[ParseType::N(98)],
2763 },
2764 Production {
2766 lhs: 143,
2767 production: &[ParseType::N(99)],
2768 },
2769 Production {
2771 lhs: 143,
2772 production: &[ParseType::N(104)],
2773 },
2774 Production {
2776 lhs: 143,
2777 production: &[ParseType::N(109)],
2778 },
2779 Production {
2781 lhs: 144,
2782 production: &[ParseType::N(145), ParseType::N(143)],
2783 },
2784 Production {
2786 lhs: 145,
2787 production: &[ParseType::N(145), ParseType::N(143), ParseType::N(46)],
2788 },
2789 Production {
2791 lhs: 145,
2792 production: &[],
2793 },
2794 Production {
2796 lhs: 142,
2797 production: &[ParseType::T(15)],
2798 },
2799 Production {
2801 lhs: 98,
2802 production: &[ParseType::T(16)],
2803 },
2804 Production {
2806 lhs: 146,
2807 production: &[ParseType::T(17)],
2808 },
2809 Production {
2811 lhs: 82,
2812 production: &[ParseType::N(47)],
2813 },
2814 Production {
2816 lhs: 82,
2817 production: &[ParseType::N(83)],
2818 },
2819 Production {
2821 lhs: 83,
2822 production: &[ParseType::T(18)],
2823 },
2824 Production {
2826 lhs: 99,
2827 production: &[ParseType::N(100), ParseType::N(101), ParseType::N(103)],
2828 },
2829 Production {
2831 lhs: 101,
2832 production: &[ParseType::N(101), ParseType::N(102)],
2833 },
2834 Production {
2836 lhs: 102,
2837 production: &[ParseType::N(121)],
2838 },
2839 Production {
2841 lhs: 102,
2842 production: &[ParseType::N(136)],
2843 },
2844 Production {
2846 lhs: 101,
2847 production: &[],
2848 },
2849 Production {
2851 lhs: 104,
2852 production: &[ParseType::N(105), ParseType::N(106), ParseType::N(108)],
2853 },
2854 Production {
2856 lhs: 106,
2857 production: &[ParseType::N(106), ParseType::N(107)],
2858 },
2859 Production {
2861 lhs: 107,
2862 production: &[ParseType::N(121)],
2863 },
2864 Production {
2866 lhs: 107,
2867 production: &[ParseType::N(136)],
2868 },
2869 Production {
2871 lhs: 106,
2872 production: &[],
2873 },
2874 Production {
2876 lhs: 109,
2877 production: &[ParseType::N(110), ParseType::N(111), ParseType::N(113)],
2878 },
2879 Production {
2881 lhs: 111,
2882 production: &[ParseType::N(111), ParseType::N(112)],
2883 },
2884 Production {
2886 lhs: 112,
2887 production: &[ParseType::N(121)],
2888 },
2889 Production {
2891 lhs: 112,
2892 production: &[ParseType::N(136)],
2893 },
2894 Production {
2896 lhs: 111,
2897 production: &[],
2898 },
2899 Production {
2901 lhs: 47,
2902 production: &[ParseType::N(54)],
2903 },
2904 Production {
2906 lhs: 47,
2907 production: &[ParseType::N(51)],
2908 },
2909 Production {
2911 lhs: 47,
2912 production: &[ParseType::N(48)],
2913 },
2914 Production {
2916 lhs: 48,
2917 production: &[ParseType::N(57), ParseType::N(49), ParseType::N(60)],
2918 },
2919 Production {
2921 lhs: 49,
2922 production: &[ParseType::N(49), ParseType::N(50)],
2923 },
2924 Production {
2926 lhs: 50,
2927 production: &[ParseType::N(120)],
2928 },
2929 Production {
2931 lhs: 50,
2932 production: &[ParseType::N(16)],
2933 },
2934 Production {
2936 lhs: 49,
2937 production: &[],
2938 },
2939 Production {
2941 lhs: 51,
2942 production: &[ParseType::N(58), ParseType::N(52), ParseType::N(61)],
2943 },
2944 Production {
2946 lhs: 52,
2947 production: &[ParseType::N(52), ParseType::N(53)],
2948 },
2949 Production {
2951 lhs: 53,
2952 production: &[ParseType::N(120)],
2953 },
2954 Production {
2956 lhs: 53,
2957 production: &[ParseType::N(16)],
2958 },
2959 Production {
2961 lhs: 52,
2962 production: &[],
2963 },
2964 Production {
2966 lhs: 54,
2967 production: &[ParseType::N(59), ParseType::N(55), ParseType::N(62)],
2968 },
2969 Production {
2971 lhs: 55,
2972 production: &[ParseType::N(55), ParseType::N(56)],
2973 },
2974 Production {
2976 lhs: 56,
2977 production: &[ParseType::N(120)],
2978 },
2979 Production {
2981 lhs: 56,
2982 production: &[ParseType::N(16)],
2983 },
2984 Production {
2986 lhs: 55,
2987 production: &[],
2988 },
2989 Production {
2991 lhs: 24,
2992 production: &[ParseType::N(25)],
2993 },
2994 Production {
2996 lhs: 24,
2997 production: &[ParseType::N(28)],
2998 },
2999 Production {
3001 lhs: 24,
3002 production: &[ParseType::N(31)],
3003 },
3004 Production {
3006 lhs: 24,
3007 production: &[ParseType::N(34)],
3008 },
3009 Production {
3011 lhs: 25,
3012 production: &[ParseType::N(37), ParseType::N(26), ParseType::N(41)],
3013 },
3014 Production {
3016 lhs: 26,
3017 production: &[ParseType::N(26), ParseType::N(27)],
3018 },
3019 Production {
3021 lhs: 27,
3022 production: &[ParseType::N(120)],
3023 },
3024 Production {
3026 lhs: 27,
3027 production: &[ParseType::N(12)],
3028 },
3029 Production {
3031 lhs: 26,
3032 production: &[],
3033 },
3034 Production {
3036 lhs: 28,
3037 production: &[ParseType::N(38), ParseType::N(29), ParseType::N(42)],
3038 },
3039 Production {
3041 lhs: 29,
3042 production: &[ParseType::N(29), ParseType::N(30)],
3043 },
3044 Production {
3046 lhs: 30,
3047 production: &[ParseType::N(120)],
3048 },
3049 Production {
3051 lhs: 30,
3052 production: &[ParseType::N(13)],
3053 },
3054 Production {
3056 lhs: 29,
3057 production: &[],
3058 },
3059 Production {
3061 lhs: 31,
3062 production: &[ParseType::N(39), ParseType::N(32), ParseType::N(43)],
3063 },
3064 Production {
3066 lhs: 32,
3067 production: &[ParseType::N(32), ParseType::N(33)],
3068 },
3069 Production {
3071 lhs: 33,
3072 production: &[ParseType::N(120)],
3073 },
3074 Production {
3076 lhs: 33,
3077 production: &[ParseType::N(14)],
3078 },
3079 Production {
3081 lhs: 32,
3082 production: &[],
3083 },
3084 Production {
3086 lhs: 34,
3087 production: &[ParseType::N(40), ParseType::N(35), ParseType::N(44)],
3088 },
3089 Production {
3091 lhs: 35,
3092 production: &[ParseType::N(35), ParseType::N(36)],
3093 },
3094 Production {
3096 lhs: 36,
3097 production: &[ParseType::N(120)],
3098 },
3099 Production {
3101 lhs: 36,
3102 production: &[ParseType::N(15)],
3103 },
3104 Production {
3106 lhs: 35,
3107 production: &[],
3108 },
3109 Production {
3111 lhs: 113,
3112 production: &[ParseType::T(19)],
3113 },
3114 Production {
3116 lhs: 108,
3117 production: &[ParseType::T(20)],
3118 },
3119 Production {
3121 lhs: 103,
3122 production: &[ParseType::T(21)],
3123 },
3124 Production {
3126 lhs: 62,
3127 production: &[ParseType::T(22)],
3128 },
3129 Production {
3131 lhs: 61,
3132 production: &[ParseType::T(23)],
3133 },
3134 Production {
3136 lhs: 60,
3137 production: &[ParseType::T(24)],
3138 },
3139 Production {
3141 lhs: 41,
3142 production: &[ParseType::T(25)],
3143 },
3144 Production {
3146 lhs: 42,
3147 production: &[ParseType::T(26)],
3148 },
3149 Production {
3151 lhs: 43,
3152 production: &[ParseType::T(27)],
3153 },
3154 Production {
3156 lhs: 44,
3157 production: &[ParseType::T(28)],
3158 },
3159 Production {
3161 lhs: 37,
3162 production: &[ParseType::T(29)],
3163 },
3164 Production {
3166 lhs: 12,
3167 production: &[ParseType::T(30)],
3168 },
3169 Production {
3171 lhs: 38,
3172 production: &[ParseType::T(31)],
3173 },
3174 Production {
3176 lhs: 13,
3177 production: &[ParseType::T(32)],
3178 },
3179 Production {
3181 lhs: 39,
3182 production: &[ParseType::T(33)],
3183 },
3184 Production {
3186 lhs: 14,
3187 production: &[ParseType::T(34)],
3188 },
3189 Production {
3191 lhs: 40,
3192 production: &[ParseType::T(35)],
3193 },
3194 Production {
3196 lhs: 15,
3197 production: &[ParseType::T(36)],
3198 },
3199 Production {
3201 lhs: 120,
3202 production: &[ParseType::T(37)],
3203 },
3204 Production {
3206 lhs: 110,
3207 production: &[ParseType::T(38)],
3208 },
3209 Production {
3211 lhs: 105,
3212 production: &[ParseType::T(39)],
3213 },
3214 Production {
3216 lhs: 100,
3217 production: &[ParseType::T(40)],
3218 },
3219 Production {
3221 lhs: 136,
3222 production: &[ParseType::T(41)],
3223 },
3224 Production {
3226 lhs: 121,
3227 production: &[ParseType::T(42)],
3228 },
3229 Production {
3231 lhs: 59,
3232 production: &[ParseType::T(43)],
3233 },
3234 Production {
3236 lhs: 58,
3237 production: &[ParseType::T(44)],
3238 },
3239 Production {
3241 lhs: 57,
3242 production: &[ParseType::T(45)],
3243 },
3244 Production {
3246 lhs: 16,
3247 production: &[ParseType::T(46)],
3248 },
3249 Production {
3251 lhs: 78,
3252 production: &[ParseType::T(47)],
3253 },
3254 Production {
3256 lhs: 163,
3257 production: &[ParseType::T(48)],
3258 },
3259 Production {
3261 lhs: 11,
3262 production: &[ParseType::T(49)],
3263 },
3264 Production {
3266 lhs: 70,
3267 production: &[ParseType::T(50)],
3268 },
3269 Production {
3271 lhs: 63,
3272 production: &[ParseType::T(51)],
3273 },
3274 Production {
3276 lhs: 17,
3277 production: &[ParseType::T(52)],
3278 },
3279 Production {
3281 lhs: 65,
3282 production: &[ParseType::T(53)],
3283 },
3284 Production {
3286 lhs: 1,
3287 production: &[ParseType::T(54)],
3288 },
3289 Production {
3291 lhs: 6,
3292 production: &[ParseType::T(55)],
3293 },
3294 Production {
3296 lhs: 23,
3297 production: &[ParseType::T(56)],
3298 },
3299 Production {
3301 lhs: 97,
3302 production: &[ParseType::T(57)],
3303 },
3304 Production {
3306 lhs: 129,
3307 production: &[ParseType::T(58)],
3308 },
3309 Production {
3311 lhs: 116,
3312 production: &[ParseType::T(59)],
3313 },
3314 Production {
3316 lhs: 18,
3317 production: &[ParseType::T(60)],
3318 },
3319 Production {
3321 lhs: 45,
3322 production: &[ParseType::T(61)],
3323 },
3324 Production {
3326 lhs: 46,
3327 production: &[ParseType::T(62)],
3328 },
3329 Production {
3331 lhs: 119,
3332 production: &[ParseType::T(63)],
3333 },
3334 Production {
3336 lhs: 151,
3337 production: &[ParseType::T(64)],
3338 },
3339 Production {
3341 lhs: 80,
3342 production: &[ParseType::T(65)],
3343 },
3344];
3345
3346pub fn parse<'t, T>(
3347 input: &'t str,
3348 file_name: T,
3349 user_actions: &mut Grammar<'t>,
3350) -> Result<ParseTree, ParolError>
3351where
3352 T: AsRef<Path>,
3353{
3354 use parol_runtime::{
3355 parser::{parse_tree_type::SynTree, parser_types::SynTreeFlavor},
3356 syntree::Builder,
3357 };
3358 let mut builder = Builder::<SynTree, SynTreeFlavor>::new_with();
3359 parse_into(input, &mut builder, file_name, user_actions)?;
3360 Ok(builder.build()?)
3361}
3362#[allow(dead_code)]
3363pub fn parse_into<'t, T: TreeConstruct<'t>>(
3364 input: &'t str,
3365 tree_builder: &mut T,
3366 file_name: impl AsRef<Path>,
3367 user_actions: &mut Grammar<'t>,
3368) -> Result<(), ParolError>
3369where
3370 ParolError: From<T::Error>,
3371{
3372 use grammar_scanner::GrammarScanner;
3373 let mut llk_parser = LLKParser::new(
3374 66,
3375 LOOKAHEAD_AUTOMATA,
3376 PRODUCTIONS,
3377 TERMINAL_NAMES,
3378 NON_TERMINALS,
3379 );
3380 let scanner = GrammarScanner::new();
3381 let mut user_actions = GrammarAuto::new(user_actions);
3383 llk_parser.parse_into(
3384 tree_builder,
3385 TokenStream::new(
3386 input,
3387 file_name,
3388 scanner.scanner_impl.clone(),
3389 &GrammarScanner::match_function,
3390 MAX_K,
3391 )
3392 .unwrap(),
3393 &mut user_actions,
3394 )
3395}