Skip to main content

eure_parol/
parser.rs

1// ---------------------------------------------------------
2// This file was generated by parol.
3// Do not edit this file manually.
4// Changes will be overwritten on the next build.
5// ---------------------------------------------------------
6
7use 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    /*  0 */ "EndOfInput",
21    /*  1 */ "Newline",
22    /*  2 */ "Whitespace",
23    /*  3 */ "LineComment",
24    /*  4 */ "BlockComment",
25    /*  5 */ "Hash",
26    /*  6 */ "MapBind",
27    /*  7 */ "Integer",
28    /*  8 */ "Float",
29    /*  9 */ "Inf",
30    /* 10 */ "NaN",
31    /* 11 */ "True",
32    /* 12 */ "False",
33    /* 13 */ "Null",
34    /* 14 */ "Hole",
35    /* 15 */ "Str",
36    /* 16 */ "LitStr",
37    /* 17 */ "Text",
38    /* 18 */ "InlineCode1",
39    /* 19 */ "LitStr3Start",
40    /* 20 */ "LitStr2Start",
41    /* 21 */ "LitStr1Start",
42    /* 22 */ "DelimCodeStart3",
43    /* 23 */ "DelimCodeStart2",
44    /* 24 */ "DelimCodeStart1",
45    /* 25 */ "CodeBlockStart3",
46    /* 26 */ "CodeBlockStart4",
47    /* 27 */ "CodeBlockStart5",
48    /* 28 */ "CodeBlockStart6",
49    /* 29 */ "CodeBlockEnd3",
50    /* 30 */ "Backtick2",
51    /* 31 */ "CodeBlockEnd4",
52    /* 32 */ "Backtick3",
53    /* 33 */ "CodeBlockEnd5",
54    /* 34 */ "Backtick4",
55    /* 35 */ "CodeBlockEnd6",
56    /* 36 */ "Backtick5",
57    /* 37 */ "NoBacktick",
58    /* 38 */ "LitStr3End",
59    /* 39 */ "LitStr2End",
60    /* 40 */ "LitStr1End",
61    /* 41 */ "SQuote",
62    /* 42 */ "NoSQuote",
63    /* 43 */ "DelimCodeEnd3",
64    /* 44 */ "DelimCodeEnd2",
65    /* 45 */ "DelimCodeEnd1",
66    /* 46 */ "BacktickDelim",
67    /* 47 */ "GrammarNewline",
68    /* 48 */ "Ws",
69    /* 49 */ "At",
70    /* 50 */ "Ext",
71    /* 51 */ "Dot",
72    /* 52 */ "Begin",
73    /* 53 */ "End",
74    /* 54 */ "ArrayBegin",
75    /* 55 */ "ArrayEnd",
76    /* 56 */ "Caret",
77    /* 57 */ "LParen",
78    /* 58 */ "RParen",
79    /* 59 */ "NewlineBind",
80    /* 60 */ "Bind",
81    /* 61 */ "Comma",
82    /* 62 */ "Continue",
83    /* 63 */ "NewlineTextStart",
84    /* 64 */ "TextStart",
85    /* 65 */ "Ident",
86    /* 66 */ "Error",
87];
88
89scanner! {
90    GrammarScanner {
91        mode INITIAL {
92            token r"\r\n|\r|\n" => 1; // "Newline"
93            token r"[\s--\r\n]+" => 2; // "Whitespace"
94            token r"//.*(\r\n|\r|\n)?" => 3; // "LineComment"
95            token r"/\*/?([^/]|[^*]/)*\*/" => 4; // "BlockComment"
96            token r"\#" => 5; // "Hash"
97            token r"=>" => 6; // "MapBind"
98            token r"[-+]?\d[\d_]*" => 7; // "Integer"
99            token r"[-+]?\d[\d_]*\.\d+([eE][-+]?\d+)?(f32|f64)?|[-+]?\d[\d_]*[eE][-+]?\d+(f32|f64)?" => 8; // "Float"
100            token r"[-+]?[Ii]nf" => 9; // "Inf"
101            token r"[Nn]a[Nn]" => 10; // "NaN"
102            token r"true" => 11; // "True"
103            token r"false" => 12; // "False"
104            token r"null" => 13; // "Null"
105            token r"![\p{XID_Start}_]?[\p{XID_Continue}-]*" => 14; // "Hole"
106            token r#""([^"]|\\")*""# => 15; // "Str"
107            token r"'[^']*'" => 16; // "LitStr"
108            token r"[a-zA-Z0-9-_]*`[^`\r\n]*`" => 18; // "InlineCode1"
109            token r"<<<'" => 19; // "LitStr3Start"
110            token r"<<'" => 20; // "LitStr2Start"
111            token r"<'" => 21; // "LitStr1Start"
112            token r"[a-zA-Z0-9-_]*<<<`" => 22; // "DelimCodeStart3"
113            token r"[a-zA-Z0-9-_]*<<`" => 23; // "DelimCodeStart2"
114            token r"[a-zA-Z0-9-_]*<`" => 24; // "DelimCodeStart1"
115            token r"`{3}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 25; // "CodeBlockStart3"
116            token r"`{4}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 26; // "CodeBlockStart4"
117            token r"`{5}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 27; // "CodeBlockStart5"
118            token r"`{6}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)" => 28; // "CodeBlockStart6"
119            token r"@" => 49; // "At"
120            token r"\$" => 50; // "Ext"
121            token r"\." => 51; // "Dot"
122            token r"\{" => 52; // "Begin"
123            token r"\}" => 53; // "End"
124            token r"\[" => 54; // "ArrayBegin"
125            token r"\]" => 55; // "ArrayEnd"
126            token r"\^" => 56; // "Caret"
127            token r"\(" => 57; // "LParen"
128            token r"\)" => 58; // "RParen"
129            token r"=" => 60; // "Bind"
130            token r"," => 61; // "Comma"
131            token r"\\" => 62; // "Continue"
132            token r":" => 64; // "TextStart"
133            token r"[\p{XID_Start}_][\p{XID_Continue}-]*" => 65; // "Ident"
134            token r"." => 66; // "Error"
135            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; // "Whitespace"
150            token r"[-+]?\d[\d_]*" => 7; // "Integer"
151            token r"[-+]?\d[\d_]*\.\d+([eE][-+]?\d+)?(f32|f64)?|[-+]?\d[\d_]*[eE][-+]?\d+(f32|f64)?" => 8; // "Float"
152            token r"true" => 11; // "True"
153            token r"false" => 12; // "False"
154            token r"null" => 13; // "Null"
155            token r"![\p{XID_Start}_]?[\p{XID_Continue}-]*" => 14; // "Hole"
156            token r#""([^"]|\\")*""# => 15; // "Str"
157            token r"'[^']*'" => 16; // "LitStr"
158            token r"<<<'" => 19; // "LitStr3Start"
159            token r"<<'" => 20; // "LitStr2Start"
160            token r"<'" => 21; // "LitStr1Start"
161            token r"\r\n|\r|\n" => 47; // "GrammarNewline"
162            token r"@" => 49; // "At"
163            token r"\$" => 50; // "Ext"
164            token r"\." => 51; // "Dot"
165            token r"\{" => 52; // "Begin"
166            token r"\[" => 54; // "ArrayBegin"
167            token r"\]" => 55; // "ArrayEnd"
168            token r"\^" => 56; // "Caret"
169            token r"\(" => 57; // "LParen"
170            token r"\)" => 58; // "RParen"
171            token r"(\r\n|\r|\n)*=" => 59; // "NewlineBind"
172            token r"," => 61; // "Comma"
173            token r"(\r\n|\r|\n)*:" => 63; // "NewlineTextStart"
174            token r"[\p{XID_Start}_][\p{XID_Continue}-]*" => 65; // "Ident"
175            token r"." => 66; // "Error"
176            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; // "Text"
186            token r"\r\n|\r|\n" => 47; // "GrammarNewline"
187            token r"[\s--\r\n]+" => 48; // "Ws"
188            token r"." => 66; // "Error"
189            on 17 enter INITIAL;
190            on 47 enter INITIAL;
191        }
192        mode InCodeBlock3 {
193            token r"`{3}" => 29; // "CodeBlockEnd3"
194            token r"`{1,2}" => 30; // "Backtick2"
195            token r"[^`]+" => 37; // "NoBacktick"
196            token r"." => 66; // "Error"
197            on 29 enter INITIAL;
198        }
199        mode InCodeBlock4 {
200            token r"`{4}" => 31; // "CodeBlockEnd4"
201            token r"`{1,3}" => 32; // "Backtick3"
202            token r"[^`]+" => 37; // "NoBacktick"
203            token r"." => 66; // "Error"
204            on 31 enter INITIAL;
205        }
206        mode InCodeBlock5 {
207            token r"`{5}" => 33; // "CodeBlockEnd5"
208            token r"`{1,4}" => 34; // "Backtick4"
209            token r"[^`]+" => 37; // "NoBacktick"
210            token r"." => 66; // "Error"
211            on 33 enter INITIAL;
212        }
213        mode InCodeBlock6 {
214            token r"`{6}" => 35; // "CodeBlockEnd6"
215            token r"`{1,5}" => 36; // "Backtick5"
216            token r"[^`]+" => 37; // "NoBacktick"
217            token r"." => 66; // "Error"
218            on 35 enter INITIAL;
219        }
220        mode InLitStr1 {
221            token r"'>" => 40; // "LitStr1End"
222            token r"'" => 41; // "SQuote"
223            token r"[^']+" => 42; // "NoSQuote"
224            token r"." => 66; // "Error"
225            on 40 pop;
226        }
227        mode InLitStr2 {
228            token r"'>>" => 39; // "LitStr2End"
229            token r"'" => 41; // "SQuote"
230            token r"[^']+" => 42; // "NoSQuote"
231            token r"." => 66; // "Error"
232            on 39 pop;
233        }
234        mode InLitStr3 {
235            token r"'>>>" => 38; // "LitStr3End"
236            token r"'" => 41; // "SQuote"
237            token r"[^']+" => 42; // "NoSQuote"
238            token r"." => 66; // "Error"
239            on 38 pop;
240        }
241        mode InDelimCode1 {
242            token r"[^`]+" => 37; // "NoBacktick"
243            token r"`>" => 45; // "DelimCodeEnd1"
244            token r"`" => 46; // "BacktickDelim"
245            token r"." => 66; // "Error"
246            on 45 enter INITIAL;
247        }
248        mode InDelimCode2 {
249            token r"[^`]+" => 37; // "NoBacktick"
250            token r"`>>" => 44; // "DelimCodeEnd2"
251            token r"`" => 46; // "BacktickDelim"
252            token r"." => 66; // "Error"
253            on 44 enter INITIAL;
254        }
255        mode InDelimCode3 {
256            token r"[^`]+" => 37; // "NoBacktick"
257            token r"`>>>" => 43; // "DelimCodeEnd3"
258            token r"`" => 46; // "BacktickDelim"
259            token r"." => 66; // "Error"
260            on 43 enter INITIAL;
261        }
262    }
263}
264
265const MAX_K: usize = 1;
266
267pub const NON_TERMINALS: &[&str; 164] = &[
268    /*   0 */ "Array",
269    /*   1 */ "ArrayBegin",
270    /*   2 */ "ArrayElements",
271    /*   3 */ "ArrayElementsOpt",
272    /*   4 */ "ArrayElementsTail",
273    /*   5 */ "ArrayElementsTailOpt",
274    /*   6 */ "ArrayEnd",
275    /*   7 */ "ArrayMarker",
276    /*   8 */ "ArrayMarkerOpt",
277    /*   9 */ "ArrayMarkerOptGroup",
278    /*  10 */ "ArrayOpt",
279    /*  11 */ "At",
280    /*  12 */ "Backtick2",
281    /*  13 */ "Backtick3",
282    /*  14 */ "Backtick4",
283    /*  15 */ "Backtick5",
284    /*  16 */ "BacktickDelim",
285    /*  17 */ "Begin",
286    /*  18 */ "Bind",
287    /*  19 */ "Binding",
288    /*  20 */ "BindingRhs",
289    /*  21 */ "BlockBody",
290    /*  22 */ "Boolean",
291    /*  23 */ "Caret",
292    /*  24 */ "CodeBlock",
293    /*  25 */ "CodeBlock3",
294    /*  26 */ "CodeBlock3List",
295    /*  27 */ "CodeBlock3ListGroup",
296    /*  28 */ "CodeBlock4",
297    /*  29 */ "CodeBlock4List",
298    /*  30 */ "CodeBlock4ListGroup",
299    /*  31 */ "CodeBlock5",
300    /*  32 */ "CodeBlock5List",
301    /*  33 */ "CodeBlock5ListGroup",
302    /*  34 */ "CodeBlock6",
303    /*  35 */ "CodeBlock6List",
304    /*  36 */ "CodeBlock6ListGroup",
305    /*  37 */ "CodeBlockEnd3",
306    /*  38 */ "CodeBlockEnd4",
307    /*  39 */ "CodeBlockEnd5",
308    /*  40 */ "CodeBlockEnd6",
309    /*  41 */ "CodeBlockStart3",
310    /*  42 */ "CodeBlockStart4",
311    /*  43 */ "CodeBlockStart5",
312    /*  44 */ "CodeBlockStart6",
313    /*  45 */ "Comma",
314    /*  46 */ "Continue",
315    /*  47 */ "DelimCode",
316    /*  48 */ "DelimCode1",
317    /*  49 */ "DelimCode1List",
318    /*  50 */ "DelimCode1ListGroup",
319    /*  51 */ "DelimCode2",
320    /*  52 */ "DelimCode2List",
321    /*  53 */ "DelimCode2ListGroup",
322    /*  54 */ "DelimCode3",
323    /*  55 */ "DelimCode3List",
324    /*  56 */ "DelimCode3ListGroup",
325    /*  57 */ "DelimCodeEnd1",
326    /*  58 */ "DelimCodeEnd2",
327    /*  59 */ "DelimCodeEnd3",
328    /*  60 */ "DelimCodeStart1",
329    /*  61 */ "DelimCodeStart2",
330    /*  62 */ "DelimCodeStart3",
331    /*  63 */ "Dot",
332    /*  64 */ "DotKey",
333    /*  65 */ "End",
334    /*  66 */ "Eure",
335    /*  67 */ "EureList",
336    /*  68 */ "EureList0",
337    /*  69 */ "EureOpt",
338    /*  70 */ "Ext",
339    /*  71 */ "ExtensionNameSpace",
340    /*  72 */ "False",
341    /*  73 */ "FirstKey",
342    /*  74 */ "FlatBody",
343    /*  75 */ "FlatBodyList",
344    /*  76 */ "FlatRootBinding",
345    /*  77 */ "Float",
346    /*  78 */ "GrammarNewline",
347    /*  79 */ "Hole",
348    /*  80 */ "Ident",
349    /*  81 */ "Inf",
350    /*  82 */ "InlineCode",
351    /*  83 */ "InlineCode1",
352    /*  84 */ "Integer",
353    /*  85 */ "Key",
354    /*  86 */ "KeyIdent",
355    /*  87 */ "KeyTail",
356    /*  88 */ "KeyTuple",
357    /*  89 */ "KeyTupleElements",
358    /*  90 */ "KeyTupleElementsOpt",
359    /*  91 */ "KeyTupleElementsTail",
360    /*  92 */ "KeyTupleElementsTailOpt",
361    /*  93 */ "KeyTupleOpt",
362    /*  94 */ "KeyValue",
363    /*  95 */ "Keys",
364    /*  96 */ "KeysList",
365    /*  97 */ "LParen",
366    /*  98 */ "LitStr",
367    /*  99 */ "LitStr1",
368    /* 100 */ "LitStr1End",
369    /* 101 */ "LitStr1List",
370    /* 102 */ "LitStr1ListGroup",
371    /* 103 */ "LitStr1Start",
372    /* 104 */ "LitStr2",
373    /* 105 */ "LitStr2End",
374    /* 106 */ "LitStr2List",
375    /* 107 */ "LitStr2ListGroup",
376    /* 108 */ "LitStr2Start",
377    /* 109 */ "LitStr3",
378    /* 110 */ "LitStr3End",
379    /* 111 */ "LitStr3List",
380    /* 112 */ "LitStr3ListGroup",
381    /* 113 */ "LitStr3Start",
382    /* 114 */ "MapBind",
383    /* 115 */ "NaN",
384    /* 116 */ "NewlineBind",
385    /* 117 */ "NewlineHead",
386    /* 118 */ "NewlineHeadOpt",
387    /* 119 */ "NewlineTextStart",
388    /* 120 */ "NoBacktick",
389    /* 121 */ "NoSQuote",
390    /* 122 */ "Null",
391    /* 123 */ "Number",
392    /* 124 */ "Object",
393    /* 125 */ "ObjectList",
394    /* 126 */ "ObjectOpt",
395    /* 127 */ "ObjectOpt0",
396    /* 128 */ "ObjectOpt1",
397    /* 129 */ "RParen",
398    /* 130 */ "RootBinding",
399    /* 131 */ "RootTextBinding",
400    /* 132 */ "RootTextBindingOpt",
401    /* 133 */ "RootTextBindingOpt0",
402    /* 134 */ "RootTextBindingOpt1",
403    /* 135 */ "RootValueBinding",
404    /* 136 */ "SQuote",
405    /* 137 */ "Section",
406    /* 138 */ "SectionBinding",
407    /* 139 */ "SectionBody",
408    /* 140 */ "SectionBodyOpt",
409    /* 141 */ "SectionHead",
410    /* 142 */ "Str",
411    /* 143 */ "String",
412    /* 144 */ "Strings",
413    /* 145 */ "StringsList",
414    /* 146 */ "Text",
415    /* 147 */ "TextBinding",
416    /* 148 */ "TextBindingOpt",
417    /* 149 */ "TextBindingOpt0",
418    /* 150 */ "TextBindingOpt1",
419    /* 151 */ "TextStart",
420    /* 152 */ "TopLevelBinding",
421    /* 153 */ "True",
422    /* 154 */ "Tuple",
423    /* 155 */ "TupleElements",
424    /* 156 */ "TupleElementsOpt",
425    /* 157 */ "TupleElementsTail",
426    /* 158 */ "TupleElementsTailOpt",
427    /* 159 */ "TupleIndex",
428    /* 160 */ "TupleOpt",
429    /* 161 */ "Value",
430    /* 162 */ "ValueBinding",
431    /* 163 */ "Ws",
432];
433
434pub const LOOKAHEAD_AUTOMATA: &[LookaheadDFA; 164] = &[
435    /* 0 - "Array" */
436    LookaheadDFA {
437        prod0: 109,
438        transitions: &[],
439        k: 0,
440    },
441    /* 1 - "ArrayBegin" */
442    LookaheadDFA {
443        prod0: 247,
444        transitions: &[],
445        k: 0,
446    },
447    /* 2 - "ArrayElements" */
448    LookaheadDFA {
449        prod0: 112,
450        transitions: &[],
451        k: 0,
452    },
453    /* 3 - "ArrayElementsOpt" */
454    LookaheadDFA {
455        prod0: -1,
456        transitions: &[Trans(0, 55, 2, 114), Trans(0, 61, 1, 113)],
457        k: 1,
458    },
459    /* 4 - "ArrayElementsTail" */
460    LookaheadDFA {
461        prod0: 115,
462        transitions: &[],
463        k: 0,
464    },
465    /* 5 - "ArrayElementsTailOpt" */
466    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    /* 6 - "ArrayEnd" */
498    LookaheadDFA {
499        prod0: 248,
500        transitions: &[],
501        k: 0,
502    },
503    /* 7 - "ArrayMarker" */
504    LookaheadDFA {
505        prod0: 56,
506        transitions: &[],
507        k: 0,
508    },
509    /* 8 - "ArrayMarkerOpt" */
510    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    /* 9 - "ArrayMarkerOptGroup" */
516    LookaheadDFA {
517        prod0: -1,
518        transitions: &[Trans(0, 7, 1, 58), Trans(0, 56, 2, 59)],
519        k: 1,
520    },
521    /* 10 - "ArrayOpt" */
522    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    /* 11 - "At" */
554    LookaheadDFA {
555        prod0: 242,
556        transitions: &[],
557        k: 0,
558    },
559    /* 12 - "Backtick2" */
560    LookaheadDFA {
561        prod0: 223,
562        transitions: &[],
563        k: 0,
564    },
565    /* 13 - "Backtick3" */
566    LookaheadDFA {
567        prod0: 225,
568        transitions: &[],
569        k: 0,
570    },
571    /* 14 - "Backtick4" */
572    LookaheadDFA {
573        prod0: 227,
574        transitions: &[],
575        k: 0,
576    },
577    /* 15 - "Backtick5" */
578    LookaheadDFA {
579        prod0: 229,
580        transitions: &[],
581        k: 0,
582    },
583    /* 16 - "BacktickDelim" */
584    LookaheadDFA {
585        prod0: 239,
586        transitions: &[],
587        k: 0,
588    },
589    /* 17 - "Begin" */
590    LookaheadDFA {
591        prod0: 245,
592        transitions: &[],
593        k: 0,
594    },
595    /* 18 - "Bind" */
596    LookaheadDFA {
597        prod0: 253,
598        transitions: &[],
599        k: 0,
600    },
601    /* 19 - "Binding" */
602    LookaheadDFA {
603        prod0: 19,
604        transitions: &[],
605        k: 0,
606    },
607    /* 20 - "BindingRhs" */
608    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    /* 21 - "BlockBody" */
618    LookaheadDFA {
619        prod0: 47,
620        transitions: &[],
621        k: 0,
622    },
623    /* 22 - "Boolean" */
624    LookaheadDFA {
625        prod0: -1,
626        transitions: &[Trans(0, 11, 1, 135), Trans(0, 12, 2, 136)],
627        k: 1,
628    },
629    /* 23 - "Caret" */
630    LookaheadDFA {
631        prod0: 249,
632        transitions: &[],
633        k: 0,
634    },
635    /* 24 - "CodeBlock" */
636    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    /* 25 - "CodeBlock3" */
647    LookaheadDFA {
648        prod0: 192,
649        transitions: &[],
650        k: 0,
651    },
652    /* 26 - "CodeBlock3List" */
653    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    /* 27 - "CodeBlock3ListGroup" */
663    LookaheadDFA {
664        prod0: -1,
665        transitions: &[Trans(0, 30, 2, 195), Trans(0, 37, 1, 194)],
666        k: 1,
667    },
668    /* 28 - "CodeBlock4" */
669    LookaheadDFA {
670        prod0: 197,
671        transitions: &[],
672        k: 0,
673    },
674    /* 29 - "CodeBlock4List" */
675    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    /* 30 - "CodeBlock4ListGroup" */
685    LookaheadDFA {
686        prod0: -1,
687        transitions: &[Trans(0, 32, 2, 200), Trans(0, 37, 1, 199)],
688        k: 1,
689    },
690    /* 31 - "CodeBlock5" */
691    LookaheadDFA {
692        prod0: 202,
693        transitions: &[],
694        k: 0,
695    },
696    /* 32 - "CodeBlock5List" */
697    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    /* 33 - "CodeBlock5ListGroup" */
707    LookaheadDFA {
708        prod0: -1,
709        transitions: &[Trans(0, 34, 2, 205), Trans(0, 37, 1, 204)],
710        k: 1,
711    },
712    /* 34 - "CodeBlock6" */
713    LookaheadDFA {
714        prod0: 207,
715        transitions: &[],
716        k: 0,
717    },
718    /* 35 - "CodeBlock6List" */
719    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    /* 36 - "CodeBlock6ListGroup" */
729    LookaheadDFA {
730        prod0: -1,
731        transitions: &[Trans(0, 36, 2, 210), Trans(0, 37, 1, 209)],
732        k: 1,
733    },
734    /* 37 - "CodeBlockEnd3" */
735    LookaheadDFA {
736        prod0: 222,
737        transitions: &[],
738        k: 0,
739    },
740    /* 38 - "CodeBlockEnd4" */
741    LookaheadDFA {
742        prod0: 224,
743        transitions: &[],
744        k: 0,
745    },
746    /* 39 - "CodeBlockEnd5" */
747    LookaheadDFA {
748        prod0: 226,
749        transitions: &[],
750        k: 0,
751    },
752    /* 40 - "CodeBlockEnd6" */
753    LookaheadDFA {
754        prod0: 228,
755        transitions: &[],
756        k: 0,
757    },
758    /* 41 - "CodeBlockStart3" */
759    LookaheadDFA {
760        prod0: 218,
761        transitions: &[],
762        k: 0,
763    },
764    /* 42 - "CodeBlockStart4" */
765    LookaheadDFA {
766        prod0: 219,
767        transitions: &[],
768        k: 0,
769    },
770    /* 43 - "CodeBlockStart5" */
771    LookaheadDFA {
772        prod0: 220,
773        transitions: &[],
774        k: 0,
775    },
776    /* 44 - "CodeBlockStart6" */
777    LookaheadDFA {
778        prod0: 221,
779        transitions: &[],
780        k: 0,
781    },
782    /* 45 - "Comma" */
783    LookaheadDFA {
784        prod0: 254,
785        transitions: &[],
786        k: 0,
787    },
788    /* 46 - "Continue" */
789    LookaheadDFA {
790        prod0: 255,
791        transitions: &[],
792        k: 0,
793    },
794    /* 47 - "DelimCode" */
795    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    /* 48 - "DelimCode1" */
805    LookaheadDFA {
806        prod0: 173,
807        transitions: &[],
808        k: 0,
809    },
810    /* 49 - "DelimCode1List" */
811    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    /* 50 - "DelimCode1ListGroup" */
821    LookaheadDFA {
822        prod0: -1,
823        transitions: &[Trans(0, 37, 1, 175), Trans(0, 46, 2, 176)],
824        k: 1,
825    },
826    /* 51 - "DelimCode2" */
827    LookaheadDFA {
828        prod0: 178,
829        transitions: &[],
830        k: 0,
831    },
832    /* 52 - "DelimCode2List" */
833    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    /* 53 - "DelimCode2ListGroup" */
843    LookaheadDFA {
844        prod0: -1,
845        transitions: &[Trans(0, 37, 1, 180), Trans(0, 46, 2, 181)],
846        k: 1,
847    },
848    /* 54 - "DelimCode3" */
849    LookaheadDFA {
850        prod0: 183,
851        transitions: &[],
852        k: 0,
853    },
854    /* 55 - "DelimCode3List" */
855    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    /* 56 - "DelimCode3ListGroup" */
865    LookaheadDFA {
866        prod0: -1,
867        transitions: &[Trans(0, 37, 1, 185), Trans(0, 46, 2, 186)],
868        k: 1,
869    },
870    /* 57 - "DelimCodeEnd1" */
871    LookaheadDFA {
872        prod0: 238,
873        transitions: &[],
874        k: 0,
875    },
876    /* 58 - "DelimCodeEnd2" */
877    LookaheadDFA {
878        prod0: 237,
879        transitions: &[],
880        k: 0,
881    },
882    /* 59 - "DelimCodeEnd3" */
883    LookaheadDFA {
884        prod0: 236,
885        transitions: &[],
886        k: 0,
887    },
888    /* 60 - "DelimCodeStart1" */
889    LookaheadDFA {
890        prod0: 217,
891        transitions: &[],
892        k: 0,
893    },
894    /* 61 - "DelimCodeStart2" */
895    LookaheadDFA {
896        prod0: 216,
897        transitions: &[],
898        k: 0,
899    },
900    /* 62 - "DelimCodeStart3" */
901    LookaheadDFA {
902        prod0: 215,
903        transitions: &[],
904        k: 0,
905    },
906    /* 63 - "Dot" */
907    LookaheadDFA {
908        prod0: 244,
909        transitions: &[],
910        k: 0,
911    },
912    /* 64 - "DotKey" */
913    LookaheadDFA {
914        prod0: 55,
915        transitions: &[],
916        k: 0,
917    },
918    /* 65 - "End" */
919    LookaheadDFA {
920        prod0: 246,
921        transitions: &[],
922        k: 0,
923    },
924    /* 66 - "Eure" */
925    LookaheadDFA {
926        prod0: 0,
927        transitions: &[],
928        k: 0,
929    },
930    /* 67 - "EureList" */
931    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    /* 68 - "EureList0" */
957    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    /* 69 - "EureOpt" */
963    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    /* 70 - "Ext" */
991    LookaheadDFA {
992        prod0: 243,
993        transitions: &[],
994        k: 0,
995    },
996    /* 71 - "ExtensionNameSpace" */
997    LookaheadDFA {
998        prod0: 70,
999        transitions: &[],
1000        k: 0,
1001    },
1002    /* 72 - "False" */
1003    LookaheadDFA {
1004        prod0: 138,
1005        transitions: &[],
1006        k: 0,
1007    },
1008    /* 73 - "FirstKey" */
1009    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    /* 74 - "FlatBody" */
1032    LookaheadDFA {
1033        prod0: 37,
1034        transitions: &[],
1035        k: 0,
1036    },
1037    /* 75 - "FlatBodyList" */
1038    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    /* 76 - "FlatRootBinding" */
1064    LookaheadDFA {
1065        prod0: -1,
1066        transitions: &[Trans(0, 60, 1, 45), Trans(0, 64, 2, 46)],
1067        k: 1,
1068    },
1069    /* 77 - "Float" */
1070    LookaheadDFA {
1071        prod0: 132,
1072        transitions: &[],
1073        k: 0,
1074    },
1075    /* 78 - "GrammarNewline" */
1076    LookaheadDFA {
1077        prod0: 240,
1078        transitions: &[],
1079        k: 0,
1080    },
1081    /* 79 - "Hole" */
1082    LookaheadDFA {
1083        prod0: 140,
1084        transitions: &[],
1085        k: 0,
1086    },
1087    /* 80 - "Ident" */
1088    LookaheadDFA {
1089        prod0: 258,
1090        transitions: &[],
1091        k: 0,
1092    },
1093    /* 81 - "Inf" */
1094    LookaheadDFA {
1095        prod0: 133,
1096        transitions: &[],
1097        k: 0,
1098    },
1099    /* 82 - "InlineCode" */
1100    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    /* 83 - "InlineCode1" */
1111    LookaheadDFA {
1112        prod0: 154,
1113        transitions: &[],
1114        k: 0,
1115    },
1116    /* 84 - "Integer" */
1117    LookaheadDFA {
1118        prod0: 131,
1119        transitions: &[],
1120        k: 0,
1121    },
1122    /* 85 - "Key" */
1123    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    /* 86 - "KeyIdent" */
1145    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    /* 87 - "KeyTail" */
1156    LookaheadDFA {
1157        prod0: -1,
1158        transitions: &[Trans(0, 51, 1, 53), Trans(0, 54, 2, 54)],
1159        k: 1,
1160    },
1161    /* 88 - "KeyTuple" */
1162    LookaheadDFA {
1163        prod0: 71,
1164        transitions: &[],
1165        k: 0,
1166    },
1167    /* 89 - "KeyTupleElements" */
1168    LookaheadDFA {
1169        prod0: 74,
1170        transitions: &[],
1171        k: 0,
1172    },
1173    /* 90 - "KeyTupleElementsOpt" */
1174    LookaheadDFA {
1175        prod0: -1,
1176        transitions: &[Trans(0, 58, 2, 76), Trans(0, 61, 1, 75)],
1177        k: 1,
1178    },
1179    /* 91 - "KeyTupleElementsTail" */
1180    LookaheadDFA {
1181        prod0: 77,
1182        transitions: &[],
1183        k: 0,
1184    },
1185    /* 92 - "KeyTupleElementsTailOpt" */
1186    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    /* 93 - "KeyTupleOpt" */
1200    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    /* 94 - "KeyValue" */
1214    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    /* 95 - "Keys" */
1227    LookaheadDFA {
1228        prod0: 48,
1229        transitions: &[],
1230        k: 0,
1231    },
1232    /* 96 - "KeysList" */
1233    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    /* 97 - "LParen" */
1252    LookaheadDFA {
1253        prod0: 250,
1254        transitions: &[],
1255        k: 0,
1256    },
1257    /* 98 - "LitStr" */
1258    LookaheadDFA {
1259        prod0: 150,
1260        transitions: &[],
1261        k: 0,
1262    },
1263    /* 99 - "LitStr1" */
1264    LookaheadDFA {
1265        prod0: 155,
1266        transitions: &[],
1267        k: 0,
1268    },
1269    /* 100 - "LitStr1End" */
1270    LookaheadDFA {
1271        prod0: 233,
1272        transitions: &[],
1273        k: 0,
1274    },
1275    /* 101 - "LitStr1List" */
1276    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    /* 102 - "LitStr1ListGroup" */
1286    LookaheadDFA {
1287        prod0: -1,
1288        transitions: &[Trans(0, 41, 2, 158), Trans(0, 42, 1, 157)],
1289        k: 1,
1290    },
1291    /* 103 - "LitStr1Start" */
1292    LookaheadDFA {
1293        prod0: 214,
1294        transitions: &[],
1295        k: 0,
1296    },
1297    /* 104 - "LitStr2" */
1298    LookaheadDFA {
1299        prod0: 160,
1300        transitions: &[],
1301        k: 0,
1302    },
1303    /* 105 - "LitStr2End" */
1304    LookaheadDFA {
1305        prod0: 232,
1306        transitions: &[],
1307        k: 0,
1308    },
1309    /* 106 - "LitStr2List" */
1310    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    /* 107 - "LitStr2ListGroup" */
1320    LookaheadDFA {
1321        prod0: -1,
1322        transitions: &[Trans(0, 41, 2, 163), Trans(0, 42, 1, 162)],
1323        k: 1,
1324    },
1325    /* 108 - "LitStr2Start" */
1326    LookaheadDFA {
1327        prod0: 213,
1328        transitions: &[],
1329        k: 0,
1330    },
1331    /* 109 - "LitStr3" */
1332    LookaheadDFA {
1333        prod0: 165,
1334        transitions: &[],
1335        k: 0,
1336    },
1337    /* 110 - "LitStr3End" */
1338    LookaheadDFA {
1339        prod0: 231,
1340        transitions: &[],
1341        k: 0,
1342    },
1343    /* 111 - "LitStr3List" */
1344    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    /* 112 - "LitStr3ListGroup" */
1354    LookaheadDFA {
1355        prod0: -1,
1356        transitions: &[Trans(0, 41, 2, 168), Trans(0, 42, 1, 167)],
1357        k: 1,
1358    },
1359    /* 113 - "LitStr3Start" */
1360    LookaheadDFA {
1361        prod0: 212,
1362        transitions: &[],
1363        k: 0,
1364    },
1365    /* 114 - "MapBind" */
1366    LookaheadDFA {
1367        prod0: 108,
1368        transitions: &[],
1369        k: 0,
1370    },
1371    /* 115 - "NaN" */
1372    LookaheadDFA {
1373        prod0: 134,
1374        transitions: &[],
1375        k: 0,
1376    },
1377    /* 116 - "NewlineBind" */
1378    LookaheadDFA {
1379        prod0: 252,
1380        transitions: &[],
1381        k: 0,
1382    },
1383    /* 117 - "NewlineHead" */
1384    LookaheadDFA {
1385        prod0: 42,
1386        transitions: &[],
1387        k: 0,
1388    },
1389    /* 118 - "NewlineHeadOpt" */
1390    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    /* 119 - "NewlineTextStart" */
1418    LookaheadDFA {
1419        prod0: 256,
1420        transitions: &[],
1421        k: 0,
1422    },
1423    /* 120 - "NoBacktick" */
1424    LookaheadDFA {
1425        prod0: 230,
1426        transitions: &[],
1427        k: 0,
1428    },
1429    /* 121 - "NoSQuote" */
1430    LookaheadDFA {
1431        prod0: 235,
1432        transitions: &[],
1433        k: 0,
1434    },
1435    /* 122 - "Null" */
1436    LookaheadDFA {
1437        prod0: 139,
1438        transitions: &[],
1439        k: 0,
1440    },
1441    /* 123 - "Number" */
1442    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    /* 124 - "Object" */
1453    LookaheadDFA {
1454        prod0: 99,
1455        transitions: &[],
1456        k: 0,
1457    },
1458    /* 125 - "ObjectList" */
1459    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    /* 126 - "ObjectOpt" */
1483    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    /* 127 - "ObjectOpt0" */
1508    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    /* 128 - "ObjectOpt1" */
1533    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    /* 129 - "RParen" */
1558    LookaheadDFA {
1559        prod0: 251,
1560        transitions: &[],
1561        k: 0,
1562    },
1563    /* 130 - "RootBinding" */
1564    LookaheadDFA {
1565        prod0: -1,
1566        transitions: &[Trans(0, 59, 1, 9), Trans(0, 63, 2, 10)],
1567        k: 1,
1568    },
1569    /* 131 - "RootTextBinding" */
1570    LookaheadDFA {
1571        prod0: 12,
1572        transitions: &[],
1573        k: 0,
1574    },
1575    /* 132 - "RootTextBindingOpt" */
1576    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    /* 133 - "RootTextBindingOpt0" */
1605    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    /* 134 - "RootTextBindingOpt1" */
1633    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    /* 135 - "RootValueBinding" */
1660    LookaheadDFA {
1661        prod0: 11,
1662        transitions: &[],
1663        k: 0,
1664    },
1665    /* 136 - "SQuote" */
1666    LookaheadDFA {
1667        prod0: 234,
1668        transitions: &[],
1669        k: 0,
1670    },
1671    /* 137 - "Section" */
1672    LookaheadDFA {
1673        prod0: 32,
1674        transitions: &[],
1675        k: 0,
1676    },
1677    /* 138 - "SectionBinding" */
1678    LookaheadDFA {
1679        prod0: 24,
1680        transitions: &[],
1681        k: 0,
1682    },
1683    /* 139 - "SectionBody" */
1684    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    /* 140 - "SectionBodyOpt" */
1698    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    /* 141 - "SectionHead" */
1711    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    /* 142 - "Str" */
1721    LookaheadDFA {
1722        prod0: 149,
1723        transitions: &[],
1724        k: 0,
1725    },
1726    /* 143 - "String" */
1727    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    /* 144 - "Strings" */
1739    LookaheadDFA {
1740        prod0: 146,
1741        transitions: &[],
1742        k: 0,
1743    },
1744    /* 145 - "StringsList" */
1745    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    /* 146 - "Text" */
1775    LookaheadDFA {
1776        prod0: 151,
1777        transitions: &[],
1778        k: 0,
1779    },
1780    /* 147 - "TextBinding" */
1781    LookaheadDFA {
1782        prod0: 25,
1783        transitions: &[],
1784        k: 0,
1785    },
1786    /* 148 - "TextBindingOpt" */
1787    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    /* 149 - "TextBindingOpt0" */
1816    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    /* 150 - "TextBindingOpt1" */
1844    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    /* 151 - "TextStart" */
1871    LookaheadDFA {
1872        prod0: 257,
1873        transitions: &[],
1874        k: 0,
1875    },
1876    /* 152 - "TopLevelBinding" */
1877    LookaheadDFA {
1878        prod0: -1,
1879        transitions: &[Trans(0, 60, 1, 7), Trans(0, 64, 2, 8)],
1880        k: 1,
1881    },
1882    /* 153 - "True" */
1883    LookaheadDFA {
1884        prod0: 137,
1885        transitions: &[],
1886        k: 0,
1887    },
1888    /* 154 - "Tuple" */
1889    LookaheadDFA {
1890        prod0: 118,
1891        transitions: &[],
1892        k: 0,
1893    },
1894    /* 155 - "TupleElements" */
1895    LookaheadDFA {
1896        prod0: 121,
1897        transitions: &[],
1898        k: 0,
1899    },
1900    /* 156 - "TupleElementsOpt" */
1901    LookaheadDFA {
1902        prod0: -1,
1903        transitions: &[Trans(0, 58, 2, 123), Trans(0, 61, 1, 122)],
1904        k: 1,
1905    },
1906    /* 157 - "TupleElementsTail" */
1907    LookaheadDFA {
1908        prod0: 124,
1909        transitions: &[],
1910        k: 0,
1911    },
1912    /* 158 - "TupleElementsTailOpt" */
1913    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    /* 159 - "TupleIndex" */
1945    LookaheadDFA {
1946        prod0: 69,
1947        transitions: &[],
1948        k: 0,
1949    },
1950    /* 160 - "TupleOpt" */
1951    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    /* 161 - "Value" */
1983    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    /* 162 - "ValueBinding" */
2014    LookaheadDFA {
2015        prod0: 23,
2016        transitions: &[],
2017        k: 0,
2018    },
2019    /* 163 - "Ws" */
2020    LookaheadDFA {
2021        prod0: 241,
2022        transitions: &[],
2023        k: 0,
2024    },
2025];
2026
2027pub const PRODUCTIONS: &[Production; 259] = &[
2028    // 0 - Eure: EureOpt /* Option */ EureList /* Vec */ EureList0 /* Vec */;
2029    Production {
2030        lhs: 66,
2031        production: &[ParseType::N(68), ParseType::N(67), ParseType::N(69)],
2032    },
2033    // 1 - EureList0: Section EureList0;
2034    Production {
2035        lhs: 68,
2036        production: &[ParseType::N(68), ParseType::N(137)],
2037    },
2038    // 2 - EureList0: ;
2039    Production {
2040        lhs: 68,
2041        production: &[],
2042    },
2043    // 3 - EureList: Binding EureList;
2044    Production {
2045        lhs: 67,
2046        production: &[ParseType::N(67), ParseType::N(19)],
2047    },
2048    // 4 - EureList: ;
2049    Production {
2050        lhs: 67,
2051        production: &[],
2052    },
2053    // 5 - EureOpt: TopLevelBinding;
2054    Production {
2055        lhs: 69,
2056        production: &[ParseType::N(152)],
2057    },
2058    // 6 - EureOpt: ;
2059    Production {
2060        lhs: 69,
2061        production: &[],
2062    },
2063    // 7 - TopLevelBinding: ValueBinding;
2064    Production {
2065        lhs: 152,
2066        production: &[ParseType::N(162)],
2067    },
2068    // 8 - TopLevelBinding: TextBinding;
2069    Production {
2070        lhs: 152,
2071        production: &[ParseType::N(147)],
2072    },
2073    // 9 - RootBinding: RootValueBinding;
2074    Production {
2075        lhs: 130,
2076        production: &[ParseType::N(135)],
2077    },
2078    // 10 - RootBinding: RootTextBinding;
2079    Production {
2080        lhs: 130,
2081        production: &[ParseType::N(131)],
2082    },
2083    // 11 - RootValueBinding: NewlineBind Value;
2084    Production {
2085        lhs: 135,
2086        production: &[ParseType::N(161), ParseType::N(116)],
2087    },
2088    // 12 - RootTextBinding: NewlineTextStart RootTextBindingOpt /* Option */ RootTextBindingOpt0 /* Option */ RootTextBindingOpt1 /* Option */;
2089    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    // 13 - RootTextBindingOpt1: GrammarNewline;
2099    Production {
2100        lhs: 134,
2101        production: &[ParseType::N(78)],
2102    },
2103    // 14 - RootTextBindingOpt1: ;
2104    Production {
2105        lhs: 134,
2106        production: &[],
2107    },
2108    // 15 - RootTextBindingOpt0: Text;
2109    Production {
2110        lhs: 133,
2111        production: &[ParseType::N(146)],
2112    },
2113    // 16 - RootTextBindingOpt0: ;
2114    Production {
2115        lhs: 133,
2116        production: &[],
2117    },
2118    // 17 - RootTextBindingOpt: Ws^ /* Clipped */;
2119    Production {
2120        lhs: 132,
2121        production: &[ParseType::N(163)],
2122    },
2123    // 18 - RootTextBindingOpt: ;
2124    Production {
2125        lhs: 132,
2126        production: &[],
2127    },
2128    // 19 - Binding: Keys BindingRhs;
2129    Production {
2130        lhs: 19,
2131        production: &[ParseType::N(20), ParseType::N(95)],
2132    },
2133    // 20 - BindingRhs: ValueBinding;
2134    Production {
2135        lhs: 20,
2136        production: &[ParseType::N(162)],
2137    },
2138    // 21 - BindingRhs: SectionBinding;
2139    Production {
2140        lhs: 20,
2141        production: &[ParseType::N(138)],
2142    },
2143    // 22 - BindingRhs: TextBinding;
2144    Production {
2145        lhs: 20,
2146        production: &[ParseType::N(147)],
2147    },
2148    // 23 - ValueBinding: Bind Value;
2149    Production {
2150        lhs: 162,
2151        production: &[ParseType::N(161), ParseType::N(18)],
2152    },
2153    // 24 - SectionBinding: Begin Eure End;
2154    Production {
2155        lhs: 138,
2156        production: &[ParseType::N(65), ParseType::N(66), ParseType::N(17)],
2157    },
2158    // 25 - TextBinding: TextStart TextBindingOpt /* Option */ TextBindingOpt0 /* Option */ TextBindingOpt1 /* Option */;
2159    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    // 26 - TextBindingOpt1: GrammarNewline;
2169    Production {
2170        lhs: 150,
2171        production: &[ParseType::N(78)],
2172    },
2173    // 27 - TextBindingOpt1: ;
2174    Production {
2175        lhs: 150,
2176        production: &[],
2177    },
2178    // 28 - TextBindingOpt0: Text;
2179    Production {
2180        lhs: 149,
2181        production: &[ParseType::N(146)],
2182    },
2183    // 29 - TextBindingOpt0: ;
2184    Production {
2185        lhs: 149,
2186        production: &[],
2187    },
2188    // 30 - TextBindingOpt: Ws^ /* Clipped */;
2189    Production {
2190        lhs: 148,
2191        production: &[ParseType::N(163)],
2192    },
2193    // 31 - TextBindingOpt: ;
2194    Production {
2195        lhs: 148,
2196        production: &[],
2197    },
2198    // 32 - Section: At Keys SectionBody;
2199    Production {
2200        lhs: 137,
2201        production: &[ParseType::N(139), ParseType::N(95), ParseType::N(11)],
2202    },
2203    // 33 - SectionBody: SectionBodyOpt /* Option */;
2204    Production {
2205        lhs: 139,
2206        production: &[ParseType::N(140)],
2207    },
2208    // 34 - SectionBody: BlockBody;
2209    Production {
2210        lhs: 139,
2211        production: &[ParseType::N(21)],
2212    },
2213    // 35 - SectionBodyOpt: FlatBody;
2214    Production {
2215        lhs: 140,
2216        production: &[ParseType::N(74)],
2217    },
2218    // 36 - SectionBodyOpt: ;
2219    Production {
2220        lhs: 140,
2221        production: &[],
2222    },
2223    // 37 - FlatBody: SectionHead FlatBodyList /* Vec */;
2224    Production {
2225        lhs: 74,
2226        production: &[ParseType::N(75), ParseType::N(141)],
2227    },
2228    // 38 - FlatBodyList: Binding FlatBodyList;
2229    Production {
2230        lhs: 75,
2231        production: &[ParseType::N(75), ParseType::N(19)],
2232    },
2233    // 39 - FlatBodyList: ;
2234    Production {
2235        lhs: 75,
2236        production: &[],
2237    },
2238    // 40 - SectionHead: RootBinding;
2239    Production {
2240        lhs: 141,
2241        production: &[ParseType::N(130)],
2242    },
2243    // 41 - SectionHead: NewlineHead;
2244    Production {
2245        lhs: 141,
2246        production: &[ParseType::N(117)],
2247    },
2248    // 42 - NewlineHead: GrammarNewline NewlineHeadOpt /* Option */;
2249    Production {
2250        lhs: 117,
2251        production: &[ParseType::N(118), ParseType::N(78)],
2252    },
2253    // 43 - NewlineHeadOpt: FlatRootBinding;
2254    Production {
2255        lhs: 118,
2256        production: &[ParseType::N(76)],
2257    },
2258    // 44 - NewlineHeadOpt: ;
2259    Production {
2260        lhs: 118,
2261        production: &[],
2262    },
2263    // 45 - FlatRootBinding: ValueBinding;
2264    Production {
2265        lhs: 76,
2266        production: &[ParseType::N(162)],
2267    },
2268    // 46 - FlatRootBinding: TextBinding;
2269    Production {
2270        lhs: 76,
2271        production: &[ParseType::N(147)],
2272    },
2273    // 47 - BlockBody: Begin Eure End;
2274    Production {
2275        lhs: 21,
2276        production: &[ParseType::N(65), ParseType::N(66), ParseType::N(17)],
2277    },
2278    // 48 - Keys: FirstKey KeysList /* Vec */;
2279    Production {
2280        lhs: 95,
2281        production: &[ParseType::N(96), ParseType::N(73)],
2282    },
2283    // 49 - KeysList: KeyTail KeysList;
2284    Production {
2285        lhs: 96,
2286        production: &[ParseType::N(96), ParseType::N(87)],
2287    },
2288    // 50 - KeysList: ;
2289    Production {
2290        lhs: 96,
2291        production: &[],
2292    },
2293    // 51 - FirstKey: Key;
2294    Production {
2295        lhs: 73,
2296        production: &[ParseType::N(85)],
2297    },
2298    // 52 - FirstKey: ArrayMarker;
2299    Production {
2300        lhs: 73,
2301        production: &[ParseType::N(7)],
2302    },
2303    // 53 - KeyTail: DotKey;
2304    Production {
2305        lhs: 87,
2306        production: &[ParseType::N(64)],
2307    },
2308    // 54 - KeyTail: ArrayMarker;
2309    Production {
2310        lhs: 87,
2311        production: &[ParseType::N(7)],
2312    },
2313    // 55 - DotKey: Dot Key;
2314    Production {
2315        lhs: 64,
2316        production: &[ParseType::N(85), ParseType::N(63)],
2317    },
2318    // 56 - ArrayMarker: ArrayBegin ArrayMarkerOpt /* Option */ ArrayEnd;
2319    Production {
2320        lhs: 7,
2321        production: &[ParseType::N(6), ParseType::N(8), ParseType::N(1)],
2322    },
2323    // 57 - ArrayMarkerOpt: ArrayMarkerOptGroup;
2324    Production {
2325        lhs: 8,
2326        production: &[ParseType::N(9)],
2327    },
2328    // 58 - ArrayMarkerOptGroup: Integer;
2329    Production {
2330        lhs: 9,
2331        production: &[ParseType::N(84)],
2332    },
2333    // 59 - ArrayMarkerOptGroup: Caret;
2334    Production {
2335        lhs: 9,
2336        production: &[ParseType::N(23)],
2337    },
2338    // 60 - ArrayMarkerOpt: ;
2339    Production {
2340        lhs: 8,
2341        production: &[],
2342    },
2343    // 61 - Key: KeyIdent;
2344    Production {
2345        lhs: 85,
2346        production: &[ParseType::N(86)],
2347    },
2348    // 62 - Key: ExtensionNameSpace;
2349    Production {
2350        lhs: 85,
2351        production: &[ParseType::N(71)],
2352    },
2353    // 63 - Key: String;
2354    Production {
2355        lhs: 85,
2356        production: &[ParseType::N(143)],
2357    },
2358    // 64 - Key: Integer;
2359    Production {
2360        lhs: 85,
2361        production: &[ParseType::N(84)],
2362    },
2363    // 65 - Key: Float;
2364    Production {
2365        lhs: 85,
2366        production: &[ParseType::N(77)],
2367    },
2368    // 66 - Key: KeyTuple;
2369    Production {
2370        lhs: 85,
2371        production: &[ParseType::N(88)],
2372    },
2373    // 67 - Key: TupleIndex;
2374    Production {
2375        lhs: 85,
2376        production: &[ParseType::N(159)],
2377    },
2378    // 68 - Key: Hole;
2379    Production {
2380        lhs: 85,
2381        production: &[ParseType::N(79)],
2382    },
2383    // 69 - TupleIndex: '#' Integer;
2384    Production {
2385        lhs: 159,
2386        production: &[ParseType::N(84), ParseType::T(5)],
2387    },
2388    // 70 - ExtensionNameSpace: Ext KeyIdent;
2389    Production {
2390        lhs: 71,
2391        production: &[ParseType::N(86), ParseType::N(70)],
2392    },
2393    // 71 - KeyTuple: LParen KeyTupleOpt /* Option */ RParen;
2394    Production {
2395        lhs: 88,
2396        production: &[ParseType::N(129), ParseType::N(93), ParseType::N(97)],
2397    },
2398    // 72 - KeyTupleOpt: KeyTupleElements;
2399    Production {
2400        lhs: 93,
2401        production: &[ParseType::N(89)],
2402    },
2403    // 73 - KeyTupleOpt: ;
2404    Production {
2405        lhs: 93,
2406        production: &[],
2407    },
2408    // 74 - KeyTupleElements: KeyValue KeyTupleElementsOpt /* Option */;
2409    Production {
2410        lhs: 89,
2411        production: &[ParseType::N(90), ParseType::N(94)],
2412    },
2413    // 75 - KeyTupleElementsOpt: KeyTupleElementsTail;
2414    Production {
2415        lhs: 90,
2416        production: &[ParseType::N(91)],
2417    },
2418    // 76 - KeyTupleElementsOpt: ;
2419    Production {
2420        lhs: 90,
2421        production: &[],
2422    },
2423    // 77 - KeyTupleElementsTail: Comma KeyTupleElementsTailOpt /* Option */;
2424    Production {
2425        lhs: 91,
2426        production: &[ParseType::N(92), ParseType::N(45)],
2427    },
2428    // 78 - KeyTupleElementsTailOpt: KeyTupleElements;
2429    Production {
2430        lhs: 92,
2431        production: &[ParseType::N(89)],
2432    },
2433    // 79 - KeyTupleElementsTailOpt: ;
2434    Production {
2435        lhs: 92,
2436        production: &[],
2437    },
2438    // 80 - KeyValue: Integer;
2439    Production {
2440        lhs: 94,
2441        production: &[ParseType::N(84)],
2442    },
2443    // 81 - KeyValue: Boolean;
2444    Production {
2445        lhs: 94,
2446        production: &[ParseType::N(22)],
2447    },
2448    // 82 - KeyValue: Str;
2449    Production {
2450        lhs: 94,
2451        production: &[ParseType::N(142)],
2452    },
2453    // 83 - KeyValue: KeyTuple;
2454    Production {
2455        lhs: 94,
2456        production: &[ParseType::N(88)],
2457    },
2458    // 84 - KeyValue: Hole;
2459    Production {
2460        lhs: 94,
2461        production: &[ParseType::N(79)],
2462    },
2463    // 85 - KeyIdent: Ident;
2464    Production {
2465        lhs: 86,
2466        production: &[ParseType::N(80)],
2467    },
2468    // 86 - KeyIdent: True;
2469    Production {
2470        lhs: 86,
2471        production: &[ParseType::N(153)],
2472    },
2473    // 87 - KeyIdent: False;
2474    Production {
2475        lhs: 86,
2476        production: &[ParseType::N(72)],
2477    },
2478    // 88 - KeyIdent: Null;
2479    Production {
2480        lhs: 86,
2481        production: &[ParseType::N(122)],
2482    },
2483    // 89 - Value: Object;
2484    Production {
2485        lhs: 161,
2486        production: &[ParseType::N(124)],
2487    },
2488    // 90 - Value: Array;
2489    Production {
2490        lhs: 161,
2491        production: &[ParseType::N(0)],
2492    },
2493    // 91 - Value: Tuple;
2494    Production {
2495        lhs: 161,
2496        production: &[ParseType::N(154)],
2497    },
2498    // 92 - Value: Number;
2499    Production {
2500        lhs: 161,
2501        production: &[ParseType::N(123)],
2502    },
2503    // 93 - Value: Boolean;
2504    Production {
2505        lhs: 161,
2506        production: &[ParseType::N(22)],
2507    },
2508    // 94 - Value: Null;
2509    Production {
2510        lhs: 161,
2511        production: &[ParseType::N(122)],
2512    },
2513    // 95 - Value: Strings;
2514    Production {
2515        lhs: 161,
2516        production: &[ParseType::N(144)],
2517    },
2518    // 96 - Value: Hole;
2519    Production {
2520        lhs: 161,
2521        production: &[ParseType::N(79)],
2522    },
2523    // 97 - Value: CodeBlock;
2524    Production {
2525        lhs: 161,
2526        production: &[ParseType::N(24)],
2527    },
2528    // 98 - Value: InlineCode;
2529    Production {
2530        lhs: 161,
2531        production: &[ParseType::N(82)],
2532    },
2533    // 99 - Object: Begin ObjectOpt /* Option */ ObjectList /* Vec */ End;
2534    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    // 100 - ObjectList: Keys MapBind Value ObjectOpt0 /* Option */ ObjectList;
2544    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    // 101 - ObjectList: ;
2555    Production {
2556        lhs: 125,
2557        production: &[],
2558    },
2559    // 102 - ObjectOpt0: Comma;
2560    Production {
2561        lhs: 127,
2562        production: &[ParseType::N(45)],
2563    },
2564    // 103 - ObjectOpt0: ;
2565    Production {
2566        lhs: 127,
2567        production: &[],
2568    },
2569    // 104 - ObjectOpt: ValueBinding ObjectOpt1 /* Option */;
2570    Production {
2571        lhs: 126,
2572        production: &[ParseType::N(128), ParseType::N(162)],
2573    },
2574    // 105 - ObjectOpt1: Comma;
2575    Production {
2576        lhs: 128,
2577        production: &[ParseType::N(45)],
2578    },
2579    // 106 - ObjectOpt1: ;
2580    Production {
2581        lhs: 128,
2582        production: &[],
2583    },
2584    // 107 - ObjectOpt: ;
2585    Production {
2586        lhs: 126,
2587        production: &[],
2588    },
2589    // 108 - MapBind: '=>';
2590    Production {
2591        lhs: 114,
2592        production: &[ParseType::T(6)],
2593    },
2594    // 109 - Array: ArrayBegin ArrayOpt /* Option */ ArrayEnd;
2595    Production {
2596        lhs: 0,
2597        production: &[ParseType::N(6), ParseType::N(10), ParseType::N(1)],
2598    },
2599    // 110 - ArrayOpt: ArrayElements;
2600    Production {
2601        lhs: 10,
2602        production: &[ParseType::N(2)],
2603    },
2604    // 111 - ArrayOpt: ;
2605    Production {
2606        lhs: 10,
2607        production: &[],
2608    },
2609    // 112 - ArrayElements: Value ArrayElementsOpt /* Option */;
2610    Production {
2611        lhs: 2,
2612        production: &[ParseType::N(3), ParseType::N(161)],
2613    },
2614    // 113 - ArrayElementsOpt: ArrayElementsTail;
2615    Production {
2616        lhs: 3,
2617        production: &[ParseType::N(4)],
2618    },
2619    // 114 - ArrayElementsOpt: ;
2620    Production {
2621        lhs: 3,
2622        production: &[],
2623    },
2624    // 115 - ArrayElementsTail: Comma ArrayElementsTailOpt /* Option */;
2625    Production {
2626        lhs: 4,
2627        production: &[ParseType::N(5), ParseType::N(45)],
2628    },
2629    // 116 - ArrayElementsTailOpt: ArrayElements;
2630    Production {
2631        lhs: 5,
2632        production: &[ParseType::N(2)],
2633    },
2634    // 117 - ArrayElementsTailOpt: ;
2635    Production {
2636        lhs: 5,
2637        production: &[],
2638    },
2639    // 118 - Tuple: LParen TupleOpt /* Option */ RParen;
2640    Production {
2641        lhs: 154,
2642        production: &[ParseType::N(129), ParseType::N(160), ParseType::N(97)],
2643    },
2644    // 119 - TupleOpt: TupleElements;
2645    Production {
2646        lhs: 160,
2647        production: &[ParseType::N(155)],
2648    },
2649    // 120 - TupleOpt: ;
2650    Production {
2651        lhs: 160,
2652        production: &[],
2653    },
2654    // 121 - TupleElements: Value TupleElementsOpt /* Option */;
2655    Production {
2656        lhs: 155,
2657        production: &[ParseType::N(156), ParseType::N(161)],
2658    },
2659    // 122 - TupleElementsOpt: TupleElementsTail;
2660    Production {
2661        lhs: 156,
2662        production: &[ParseType::N(157)],
2663    },
2664    // 123 - TupleElementsOpt: ;
2665    Production {
2666        lhs: 156,
2667        production: &[],
2668    },
2669    // 124 - TupleElementsTail: Comma TupleElementsTailOpt /* Option */;
2670    Production {
2671        lhs: 157,
2672        production: &[ParseType::N(158), ParseType::N(45)],
2673    },
2674    // 125 - TupleElementsTailOpt: TupleElements;
2675    Production {
2676        lhs: 158,
2677        production: &[ParseType::N(155)],
2678    },
2679    // 126 - TupleElementsTailOpt: ;
2680    Production {
2681        lhs: 158,
2682        production: &[],
2683    },
2684    // 127 - Number: Float;
2685    Production {
2686        lhs: 123,
2687        production: &[ParseType::N(77)],
2688    },
2689    // 128 - Number: Integer;
2690    Production {
2691        lhs: 123,
2692        production: &[ParseType::N(84)],
2693    },
2694    // 129 - Number: Inf;
2695    Production {
2696        lhs: 123,
2697        production: &[ParseType::N(81)],
2698    },
2699    // 130 - Number: NaN;
2700    Production {
2701        lhs: 123,
2702        production: &[ParseType::N(115)],
2703    },
2704    // 131 - Integer: /[-+]?\d[\d_]*/;
2705    Production {
2706        lhs: 84,
2707        production: &[ParseType::T(7)],
2708    },
2709    // 132 - Float: /[-+]?\d[\d_]*\.\d+([eE][-+]?\d+)?(f32|f64)?|[-+]?\d[\d_]*[eE][-+]?\d+(f32|f64)?/;
2710    Production {
2711        lhs: 77,
2712        production: &[ParseType::T(8)],
2713    },
2714    // 133 - Inf: /[-+]?[Ii]nf/;
2715    Production {
2716        lhs: 81,
2717        production: &[ParseType::T(9)],
2718    },
2719    // 134 - NaN: /[Nn]a[Nn]/;
2720    Production {
2721        lhs: 115,
2722        production: &[ParseType::T(10)],
2723    },
2724    // 135 - Boolean: True;
2725    Production {
2726        lhs: 22,
2727        production: &[ParseType::N(153)],
2728    },
2729    // 136 - Boolean: False;
2730    Production {
2731        lhs: 22,
2732        production: &[ParseType::N(72)],
2733    },
2734    // 137 - True: 'true';
2735    Production {
2736        lhs: 153,
2737        production: &[ParseType::T(11)],
2738    },
2739    // 138 - False: 'false';
2740    Production {
2741        lhs: 72,
2742        production: &[ParseType::T(12)],
2743    },
2744    // 139 - Null: 'null';
2745    Production {
2746        lhs: 122,
2747        production: &[ParseType::T(13)],
2748    },
2749    // 140 - Hole: /![\p{XID_Start}_]?[\p{XID_Continue}-]*/;
2750    Production {
2751        lhs: 79,
2752        production: &[ParseType::T(14)],
2753    },
2754    // 141 - String: Str;
2755    Production {
2756        lhs: 143,
2757        production: &[ParseType::N(142)],
2758    },
2759    // 142 - String: LitStr;
2760    Production {
2761        lhs: 143,
2762        production: &[ParseType::N(98)],
2763    },
2764    // 143 - String: LitStr1;
2765    Production {
2766        lhs: 143,
2767        production: &[ParseType::N(99)],
2768    },
2769    // 144 - String: LitStr2;
2770    Production {
2771        lhs: 143,
2772        production: &[ParseType::N(104)],
2773    },
2774    // 145 - String: LitStr3;
2775    Production {
2776        lhs: 143,
2777        production: &[ParseType::N(109)],
2778    },
2779    // 146 - Strings: String StringsList /* Vec */;
2780    Production {
2781        lhs: 144,
2782        production: &[ParseType::N(145), ParseType::N(143)],
2783    },
2784    // 147 - StringsList: Continue String StringsList;
2785    Production {
2786        lhs: 145,
2787        production: &[ParseType::N(145), ParseType::N(143), ParseType::N(46)],
2788    },
2789    // 148 - StringsList: ;
2790    Production {
2791        lhs: 145,
2792        production: &[],
2793    },
2794    // 149 - Str: /"([^"]|\\")*"/;
2795    Production {
2796        lhs: 142,
2797        production: &[ParseType::T(15)],
2798    },
2799    // 150 - LitStr: /'[^']*'/;
2800    Production {
2801        lhs: 98,
2802        production: &[ParseType::T(16)],
2803    },
2804    // 151 - Text: /[^\r\n]*/;
2805    Production {
2806        lhs: 146,
2807        production: &[ParseType::T(17)],
2808    },
2809    // 152 - InlineCode: DelimCode;
2810    Production {
2811        lhs: 82,
2812        production: &[ParseType::N(47)],
2813    },
2814    // 153 - InlineCode: InlineCode1;
2815    Production {
2816        lhs: 82,
2817        production: &[ParseType::N(83)],
2818    },
2819    // 154 - InlineCode1: /[a-zA-Z0-9-_]*`[^`\r\n]*`/;
2820    Production {
2821        lhs: 83,
2822        production: &[ParseType::T(18)],
2823    },
2824    // 155 - LitStr1: LitStr1Start LitStr1List /* Vec */ LitStr1End;
2825    Production {
2826        lhs: 99,
2827        production: &[ParseType::N(100), ParseType::N(101), ParseType::N(103)],
2828    },
2829    // 156 - LitStr1List: LitStr1ListGroup LitStr1List;
2830    Production {
2831        lhs: 101,
2832        production: &[ParseType::N(101), ParseType::N(102)],
2833    },
2834    // 157 - LitStr1ListGroup: NoSQuote;
2835    Production {
2836        lhs: 102,
2837        production: &[ParseType::N(121)],
2838    },
2839    // 158 - LitStr1ListGroup: SQuote;
2840    Production {
2841        lhs: 102,
2842        production: &[ParseType::N(136)],
2843    },
2844    // 159 - LitStr1List: ;
2845    Production {
2846        lhs: 101,
2847        production: &[],
2848    },
2849    // 160 - LitStr2: LitStr2Start LitStr2List /* Vec */ LitStr2End;
2850    Production {
2851        lhs: 104,
2852        production: &[ParseType::N(105), ParseType::N(106), ParseType::N(108)],
2853    },
2854    // 161 - LitStr2List: LitStr2ListGroup LitStr2List;
2855    Production {
2856        lhs: 106,
2857        production: &[ParseType::N(106), ParseType::N(107)],
2858    },
2859    // 162 - LitStr2ListGroup: NoSQuote;
2860    Production {
2861        lhs: 107,
2862        production: &[ParseType::N(121)],
2863    },
2864    // 163 - LitStr2ListGroup: SQuote;
2865    Production {
2866        lhs: 107,
2867        production: &[ParseType::N(136)],
2868    },
2869    // 164 - LitStr2List: ;
2870    Production {
2871        lhs: 106,
2872        production: &[],
2873    },
2874    // 165 - LitStr3: LitStr3Start LitStr3List /* Vec */ LitStr3End;
2875    Production {
2876        lhs: 109,
2877        production: &[ParseType::N(110), ParseType::N(111), ParseType::N(113)],
2878    },
2879    // 166 - LitStr3List: LitStr3ListGroup LitStr3List;
2880    Production {
2881        lhs: 111,
2882        production: &[ParseType::N(111), ParseType::N(112)],
2883    },
2884    // 167 - LitStr3ListGroup: NoSQuote;
2885    Production {
2886        lhs: 112,
2887        production: &[ParseType::N(121)],
2888    },
2889    // 168 - LitStr3ListGroup: SQuote;
2890    Production {
2891        lhs: 112,
2892        production: &[ParseType::N(136)],
2893    },
2894    // 169 - LitStr3List: ;
2895    Production {
2896        lhs: 111,
2897        production: &[],
2898    },
2899    // 170 - DelimCode: DelimCode3;
2900    Production {
2901        lhs: 47,
2902        production: &[ParseType::N(54)],
2903    },
2904    // 171 - DelimCode: DelimCode2;
2905    Production {
2906        lhs: 47,
2907        production: &[ParseType::N(51)],
2908    },
2909    // 172 - DelimCode: DelimCode1;
2910    Production {
2911        lhs: 47,
2912        production: &[ParseType::N(48)],
2913    },
2914    // 173 - DelimCode1: DelimCodeStart1 DelimCode1List /* Vec */ DelimCodeEnd1;
2915    Production {
2916        lhs: 48,
2917        production: &[ParseType::N(57), ParseType::N(49), ParseType::N(60)],
2918    },
2919    // 174 - DelimCode1List: DelimCode1ListGroup DelimCode1List;
2920    Production {
2921        lhs: 49,
2922        production: &[ParseType::N(49), ParseType::N(50)],
2923    },
2924    // 175 - DelimCode1ListGroup: NoBacktick;
2925    Production {
2926        lhs: 50,
2927        production: &[ParseType::N(120)],
2928    },
2929    // 176 - DelimCode1ListGroup: BacktickDelim;
2930    Production {
2931        lhs: 50,
2932        production: &[ParseType::N(16)],
2933    },
2934    // 177 - DelimCode1List: ;
2935    Production {
2936        lhs: 49,
2937        production: &[],
2938    },
2939    // 178 - DelimCode2: DelimCodeStart2 DelimCode2List /* Vec */ DelimCodeEnd2;
2940    Production {
2941        lhs: 51,
2942        production: &[ParseType::N(58), ParseType::N(52), ParseType::N(61)],
2943    },
2944    // 179 - DelimCode2List: DelimCode2ListGroup DelimCode2List;
2945    Production {
2946        lhs: 52,
2947        production: &[ParseType::N(52), ParseType::N(53)],
2948    },
2949    // 180 - DelimCode2ListGroup: NoBacktick;
2950    Production {
2951        lhs: 53,
2952        production: &[ParseType::N(120)],
2953    },
2954    // 181 - DelimCode2ListGroup: BacktickDelim;
2955    Production {
2956        lhs: 53,
2957        production: &[ParseType::N(16)],
2958    },
2959    // 182 - DelimCode2List: ;
2960    Production {
2961        lhs: 52,
2962        production: &[],
2963    },
2964    // 183 - DelimCode3: DelimCodeStart3 DelimCode3List /* Vec */ DelimCodeEnd3;
2965    Production {
2966        lhs: 54,
2967        production: &[ParseType::N(59), ParseType::N(55), ParseType::N(62)],
2968    },
2969    // 184 - DelimCode3List: DelimCode3ListGroup DelimCode3List;
2970    Production {
2971        lhs: 55,
2972        production: &[ParseType::N(55), ParseType::N(56)],
2973    },
2974    // 185 - DelimCode3ListGroup: NoBacktick;
2975    Production {
2976        lhs: 56,
2977        production: &[ParseType::N(120)],
2978    },
2979    // 186 - DelimCode3ListGroup: BacktickDelim;
2980    Production {
2981        lhs: 56,
2982        production: &[ParseType::N(16)],
2983    },
2984    // 187 - DelimCode3List: ;
2985    Production {
2986        lhs: 55,
2987        production: &[],
2988    },
2989    // 188 - CodeBlock: CodeBlock3;
2990    Production {
2991        lhs: 24,
2992        production: &[ParseType::N(25)],
2993    },
2994    // 189 - CodeBlock: CodeBlock4;
2995    Production {
2996        lhs: 24,
2997        production: &[ParseType::N(28)],
2998    },
2999    // 190 - CodeBlock: CodeBlock5;
3000    Production {
3001        lhs: 24,
3002        production: &[ParseType::N(31)],
3003    },
3004    // 191 - CodeBlock: CodeBlock6;
3005    Production {
3006        lhs: 24,
3007        production: &[ParseType::N(34)],
3008    },
3009    // 192 - CodeBlock3: CodeBlockStart3 CodeBlock3List /* Vec */ CodeBlockEnd3;
3010    Production {
3011        lhs: 25,
3012        production: &[ParseType::N(37), ParseType::N(26), ParseType::N(41)],
3013    },
3014    // 193 - CodeBlock3List: CodeBlock3ListGroup CodeBlock3List;
3015    Production {
3016        lhs: 26,
3017        production: &[ParseType::N(26), ParseType::N(27)],
3018    },
3019    // 194 - CodeBlock3ListGroup: NoBacktick;
3020    Production {
3021        lhs: 27,
3022        production: &[ParseType::N(120)],
3023    },
3024    // 195 - CodeBlock3ListGroup: Backtick2;
3025    Production {
3026        lhs: 27,
3027        production: &[ParseType::N(12)],
3028    },
3029    // 196 - CodeBlock3List: ;
3030    Production {
3031        lhs: 26,
3032        production: &[],
3033    },
3034    // 197 - CodeBlock4: CodeBlockStart4 CodeBlock4List /* Vec */ CodeBlockEnd4;
3035    Production {
3036        lhs: 28,
3037        production: &[ParseType::N(38), ParseType::N(29), ParseType::N(42)],
3038    },
3039    // 198 - CodeBlock4List: CodeBlock4ListGroup CodeBlock4List;
3040    Production {
3041        lhs: 29,
3042        production: &[ParseType::N(29), ParseType::N(30)],
3043    },
3044    // 199 - CodeBlock4ListGroup: NoBacktick;
3045    Production {
3046        lhs: 30,
3047        production: &[ParseType::N(120)],
3048    },
3049    // 200 - CodeBlock4ListGroup: Backtick3;
3050    Production {
3051        lhs: 30,
3052        production: &[ParseType::N(13)],
3053    },
3054    // 201 - CodeBlock4List: ;
3055    Production {
3056        lhs: 29,
3057        production: &[],
3058    },
3059    // 202 - CodeBlock5: CodeBlockStart5 CodeBlock5List /* Vec */ CodeBlockEnd5;
3060    Production {
3061        lhs: 31,
3062        production: &[ParseType::N(39), ParseType::N(32), ParseType::N(43)],
3063    },
3064    // 203 - CodeBlock5List: CodeBlock5ListGroup CodeBlock5List;
3065    Production {
3066        lhs: 32,
3067        production: &[ParseType::N(32), ParseType::N(33)],
3068    },
3069    // 204 - CodeBlock5ListGroup: NoBacktick;
3070    Production {
3071        lhs: 33,
3072        production: &[ParseType::N(120)],
3073    },
3074    // 205 - CodeBlock5ListGroup: Backtick4;
3075    Production {
3076        lhs: 33,
3077        production: &[ParseType::N(14)],
3078    },
3079    // 206 - CodeBlock5List: ;
3080    Production {
3081        lhs: 32,
3082        production: &[],
3083    },
3084    // 207 - CodeBlock6: CodeBlockStart6 CodeBlock6List /* Vec */ CodeBlockEnd6;
3085    Production {
3086        lhs: 34,
3087        production: &[ParseType::N(40), ParseType::N(35), ParseType::N(44)],
3088    },
3089    // 208 - CodeBlock6List: CodeBlock6ListGroup CodeBlock6List;
3090    Production {
3091        lhs: 35,
3092        production: &[ParseType::N(35), ParseType::N(36)],
3093    },
3094    // 209 - CodeBlock6ListGroup: NoBacktick;
3095    Production {
3096        lhs: 36,
3097        production: &[ParseType::N(120)],
3098    },
3099    // 210 - CodeBlock6ListGroup: Backtick5;
3100    Production {
3101        lhs: 36,
3102        production: &[ParseType::N(15)],
3103    },
3104    // 211 - CodeBlock6List: ;
3105    Production {
3106        lhs: 35,
3107        production: &[],
3108    },
3109    // 212 - LitStr3Start: "<<<'";
3110    Production {
3111        lhs: 113,
3112        production: &[ParseType::T(19)],
3113    },
3114    // 213 - LitStr2Start: "<<'";
3115    Production {
3116        lhs: 108,
3117        production: &[ParseType::T(20)],
3118    },
3119    // 214 - LitStr1Start: "<'";
3120    Production {
3121        lhs: 103,
3122        production: &[ParseType::T(21)],
3123    },
3124    // 215 - DelimCodeStart3: /[a-zA-Z0-9-_]*<<<`/;
3125    Production {
3126        lhs: 62,
3127        production: &[ParseType::T(22)],
3128    },
3129    // 216 - DelimCodeStart2: /[a-zA-Z0-9-_]*<<`/;
3130    Production {
3131        lhs: 61,
3132        production: &[ParseType::T(23)],
3133    },
3134    // 217 - DelimCodeStart1: /[a-zA-Z0-9-_]*<`/;
3135    Production {
3136        lhs: 60,
3137        production: &[ParseType::T(24)],
3138    },
3139    // 218 - CodeBlockStart3: /`{3}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)/;
3140    Production {
3141        lhs: 41,
3142        production: &[ParseType::T(25)],
3143    },
3144    // 219 - CodeBlockStart4: /`{4}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)/;
3145    Production {
3146        lhs: 42,
3147        production: &[ParseType::T(26)],
3148    },
3149    // 220 - CodeBlockStart5: /`{5}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)/;
3150    Production {
3151        lhs: 43,
3152        production: &[ParseType::T(27)],
3153    },
3154    // 221 - CodeBlockStart6: /`{6}[a-zA-Z0-9-_]*[\s--\r\n]*(\r\n|\r|\n)/;
3155    Production {
3156        lhs: 44,
3157        production: &[ParseType::T(28)],
3158    },
3159    // 222 - CodeBlockEnd3: /`{3}/;
3160    Production {
3161        lhs: 37,
3162        production: &[ParseType::T(29)],
3163    },
3164    // 223 - Backtick2: /`{1,2}/;
3165    Production {
3166        lhs: 12,
3167        production: &[ParseType::T(30)],
3168    },
3169    // 224 - CodeBlockEnd4: /`{4}/;
3170    Production {
3171        lhs: 38,
3172        production: &[ParseType::T(31)],
3173    },
3174    // 225 - Backtick3: /`{1,3}/;
3175    Production {
3176        lhs: 13,
3177        production: &[ParseType::T(32)],
3178    },
3179    // 226 - CodeBlockEnd5: /`{5}/;
3180    Production {
3181        lhs: 39,
3182        production: &[ParseType::T(33)],
3183    },
3184    // 227 - Backtick4: /`{1,4}/;
3185    Production {
3186        lhs: 14,
3187        production: &[ParseType::T(34)],
3188    },
3189    // 228 - CodeBlockEnd6: /`{6}/;
3190    Production {
3191        lhs: 40,
3192        production: &[ParseType::T(35)],
3193    },
3194    // 229 - Backtick5: /`{1,5}/;
3195    Production {
3196        lhs: 15,
3197        production: &[ParseType::T(36)],
3198    },
3199    // 230 - NoBacktick: /[^`]+/;
3200    Production {
3201        lhs: 120,
3202        production: &[ParseType::T(37)],
3203    },
3204    // 231 - LitStr3End: "'>>>";
3205    Production {
3206        lhs: 110,
3207        production: &[ParseType::T(38)],
3208    },
3209    // 232 - LitStr2End: "'>>";
3210    Production {
3211        lhs: 105,
3212        production: &[ParseType::T(39)],
3213    },
3214    // 233 - LitStr1End: "'>";
3215    Production {
3216        lhs: 100,
3217        production: &[ParseType::T(40)],
3218    },
3219    // 234 - SQuote: "'";
3220    Production {
3221        lhs: 136,
3222        production: &[ParseType::T(41)],
3223    },
3224    // 235 - NoSQuote: /[^']+/;
3225    Production {
3226        lhs: 121,
3227        production: &[ParseType::T(42)],
3228    },
3229    // 236 - DelimCodeEnd3: '`>>>';
3230    Production {
3231        lhs: 59,
3232        production: &[ParseType::T(43)],
3233    },
3234    // 237 - DelimCodeEnd2: '`>>';
3235    Production {
3236        lhs: 58,
3237        production: &[ParseType::T(44)],
3238    },
3239    // 238 - DelimCodeEnd1: '`>';
3240    Production {
3241        lhs: 57,
3242        production: &[ParseType::T(45)],
3243    },
3244    // 239 - BacktickDelim: '`';
3245    Production {
3246        lhs: 16,
3247        production: &[ParseType::T(46)],
3248    },
3249    // 240 - GrammarNewline: /\r\n|\r|\n/;
3250    Production {
3251        lhs: 78,
3252        production: &[ParseType::T(47)],
3253    },
3254    // 241 - Ws: /[\s--\r\n]+/;
3255    Production {
3256        lhs: 163,
3257        production: &[ParseType::T(48)],
3258    },
3259    // 242 - At: '@';
3260    Production {
3261        lhs: 11,
3262        production: &[ParseType::T(49)],
3263    },
3264    // 243 - Ext: '$';
3265    Production {
3266        lhs: 70,
3267        production: &[ParseType::T(50)],
3268    },
3269    // 244 - Dot: '.';
3270    Production {
3271        lhs: 63,
3272        production: &[ParseType::T(51)],
3273    },
3274    // 245 - Begin: '{';
3275    Production {
3276        lhs: 17,
3277        production: &[ParseType::T(52)],
3278    },
3279    // 246 - End: '}';
3280    Production {
3281        lhs: 65,
3282        production: &[ParseType::T(53)],
3283    },
3284    // 247 - ArrayBegin: '[';
3285    Production {
3286        lhs: 1,
3287        production: &[ParseType::T(54)],
3288    },
3289    // 248 - ArrayEnd: ']';
3290    Production {
3291        lhs: 6,
3292        production: &[ParseType::T(55)],
3293    },
3294    // 249 - Caret: '^';
3295    Production {
3296        lhs: 23,
3297        production: &[ParseType::T(56)],
3298    },
3299    // 250 - LParen: '(';
3300    Production {
3301        lhs: 97,
3302        production: &[ParseType::T(57)],
3303    },
3304    // 251 - RParen: ')';
3305    Production {
3306        lhs: 129,
3307        production: &[ParseType::T(58)],
3308    },
3309    // 252 - NewlineBind: /(\r\n|\r|\n)*=/;
3310    Production {
3311        lhs: 116,
3312        production: &[ParseType::T(59)],
3313    },
3314    // 253 - Bind: '=';
3315    Production {
3316        lhs: 18,
3317        production: &[ParseType::T(60)],
3318    },
3319    // 254 - Comma: ',';
3320    Production {
3321        lhs: 45,
3322        production: &[ParseType::T(61)],
3323    },
3324    // 255 - Continue: '\';
3325    Production {
3326        lhs: 46,
3327        production: &[ParseType::T(62)],
3328    },
3329    // 256 - NewlineTextStart: /(\r\n|\r|\n)*:/;
3330    Production {
3331        lhs: 119,
3332        production: &[ParseType::T(63)],
3333    },
3334    // 257 - TextStart: ":";
3335    Production {
3336        lhs: 151,
3337        production: &[ParseType::T(64)],
3338    },
3339    // 258 - Ident: /[\p{XID_Start}_][\p{XID_Continue}-]*/;
3340    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    // Initialize wrapper
3382    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}