1#![allow(clippy::enum_variant_names)]
9#![allow(clippy::large_enum_variant)]
10#![allow(clippy::upper_case_acronyms)]
11
12use parol_runtime::log::trace;
13#[allow(unused_imports)]
14use parol_runtime::parol_macros::{pop_and_reverse_item, pop_item};
15use parol_runtime::parser::{ParseTreeType, UserActionsTrait};
16use parol_runtime::{ParserError, Result, Token};
17use parol_runtime::{Span, ToSpan};
18
19pub trait GrammarTrait<'t> {
22 fn eure(&mut self, _arg: &Eure<'t>) -> Result<()> {
24 Ok(())
25 }
26
27 fn top_level_binding(&mut self, _arg: &TopLevelBinding<'t>) -> Result<()> {
29 Ok(())
30 }
31
32 fn root_binding(&mut self, _arg: &RootBinding<'t>) -> Result<()> {
34 Ok(())
35 }
36
37 fn root_value_binding(&mut self, _arg: &RootValueBinding<'t>) -> Result<()> {
39 Ok(())
40 }
41
42 fn root_text_binding(&mut self, _arg: &RootTextBinding<'t>) -> Result<()> {
44 Ok(())
45 }
46
47 fn binding(&mut self, _arg: &Binding<'t>) -> Result<()> {
49 Ok(())
50 }
51
52 fn binding_rhs(&mut self, _arg: &BindingRhs<'t>) -> Result<()> {
54 Ok(())
55 }
56
57 fn value_binding(&mut self, _arg: &ValueBinding<'t>) -> Result<()> {
59 Ok(())
60 }
61
62 fn section_binding(&mut self, _arg: &SectionBinding<'t>) -> Result<()> {
64 Ok(())
65 }
66
67 fn text_binding(&mut self, _arg: &TextBinding<'t>) -> Result<()> {
69 Ok(())
70 }
71
72 fn section(&mut self, _arg: &Section<'t>) -> Result<()> {
74 Ok(())
75 }
76
77 fn section_body(&mut self, _arg: &SectionBody<'t>) -> Result<()> {
79 Ok(())
80 }
81
82 fn flat_body(&mut self, _arg: &FlatBody<'t>) -> Result<()> {
84 Ok(())
85 }
86
87 fn section_head(&mut self, _arg: &SectionHead<'t>) -> Result<()> {
89 Ok(())
90 }
91
92 fn newline_head(&mut self, _arg: &NewlineHead<'t>) -> Result<()> {
94 Ok(())
95 }
96
97 fn flat_root_binding(&mut self, _arg: &FlatRootBinding<'t>) -> Result<()> {
99 Ok(())
100 }
101
102 fn block_body(&mut self, _arg: &BlockBody<'t>) -> Result<()> {
104 Ok(())
105 }
106
107 fn keys(&mut self, _arg: &Keys<'t>) -> Result<()> {
109 Ok(())
110 }
111
112 fn first_key(&mut self, _arg: &FirstKey<'t>) -> Result<()> {
114 Ok(())
115 }
116
117 fn key_tail(&mut self, _arg: &KeyTail<'t>) -> Result<()> {
119 Ok(())
120 }
121
122 fn dot_key(&mut self, _arg: &DotKey<'t>) -> Result<()> {
124 Ok(())
125 }
126
127 fn array_marker(&mut self, _arg: &ArrayMarker<'t>) -> Result<()> {
129 Ok(())
130 }
131
132 fn key(&mut self, _arg: &Key<'t>) -> Result<()> {
134 Ok(())
135 }
136
137 fn tuple_index(&mut self, _arg: &TupleIndex<'t>) -> Result<()> {
139 Ok(())
140 }
141
142 fn extension_name_space(&mut self, _arg: &ExtensionNameSpace<'t>) -> Result<()> {
144 Ok(())
145 }
146
147 fn key_tuple(&mut self, _arg: &KeyTuple<'t>) -> Result<()> {
149 Ok(())
150 }
151
152 fn key_tuple_elements(&mut self, _arg: &KeyTupleElements<'t>) -> Result<()> {
154 Ok(())
155 }
156
157 fn key_tuple_elements_tail(&mut self, _arg: &KeyTupleElementsTail<'t>) -> Result<()> {
159 Ok(())
160 }
161
162 fn key_value(&mut self, _arg: &KeyValue<'t>) -> Result<()> {
164 Ok(())
165 }
166
167 fn key_ident(&mut self, _arg: &KeyIdent<'t>) -> Result<()> {
169 Ok(())
170 }
171
172 fn value(&mut self, _arg: &Value<'t>) -> Result<()> {
174 Ok(())
175 }
176
177 fn object(&mut self, _arg: &Object<'t>) -> Result<()> {
179 Ok(())
180 }
181
182 fn map_bind(&mut self, _arg: &MapBind<'t>) -> Result<()> {
184 Ok(())
185 }
186
187 fn array(&mut self, _arg: &Array<'t>) -> Result<()> {
189 Ok(())
190 }
191
192 fn array_elements(&mut self, _arg: &ArrayElements<'t>) -> Result<()> {
194 Ok(())
195 }
196
197 fn array_elements_tail(&mut self, _arg: &ArrayElementsTail<'t>) -> Result<()> {
199 Ok(())
200 }
201
202 fn tuple(&mut self, _arg: &Tuple<'t>) -> Result<()> {
204 Ok(())
205 }
206
207 fn tuple_elements(&mut self, _arg: &TupleElements<'t>) -> Result<()> {
209 Ok(())
210 }
211
212 fn tuple_elements_tail(&mut self, _arg: &TupleElementsTail<'t>) -> Result<()> {
214 Ok(())
215 }
216
217 fn number(&mut self, _arg: &Number<'t>) -> Result<()> {
219 Ok(())
220 }
221
222 fn integer(&mut self, _arg: &Integer<'t>) -> Result<()> {
224 Ok(())
225 }
226
227 fn float(&mut self, _arg: &Float<'t>) -> Result<()> {
229 Ok(())
230 }
231
232 fn inf(&mut self, _arg: &Inf<'t>) -> Result<()> {
234 Ok(())
235 }
236
237 fn na_n(&mut self, _arg: &NaN<'t>) -> Result<()> {
239 Ok(())
240 }
241
242 fn boolean(&mut self, _arg: &Boolean<'t>) -> Result<()> {
244 Ok(())
245 }
246
247 fn r#true(&mut self, _arg: &True<'t>) -> Result<()> {
249 Ok(())
250 }
251
252 fn r#false(&mut self, _arg: &False<'t>) -> Result<()> {
254 Ok(())
255 }
256
257 fn null(&mut self, _arg: &Null<'t>) -> Result<()> {
259 Ok(())
260 }
261
262 fn hole(&mut self, _arg: &Hole<'t>) -> Result<()> {
264 Ok(())
265 }
266
267 fn string(&mut self, _arg: &String<'t>) -> Result<()> {
269 Ok(())
270 }
271
272 fn strings(&mut self, _arg: &Strings<'t>) -> Result<()> {
274 Ok(())
275 }
276
277 fn str(&mut self, _arg: &Str<'t>) -> Result<()> {
279 Ok(())
280 }
281
282 fn lit_str(&mut self, _arg: &LitStr<'t>) -> Result<()> {
284 Ok(())
285 }
286
287 fn text(&mut self, _arg: &Text<'t>) -> Result<()> {
289 Ok(())
290 }
291
292 fn inline_code(&mut self, _arg: &InlineCode<'t>) -> Result<()> {
294 Ok(())
295 }
296
297 fn inline_code1(&mut self, _arg: &InlineCode1<'t>) -> Result<()> {
299 Ok(())
300 }
301
302 fn lit_str1(&mut self, _arg: &LitStr1<'t>) -> Result<()> {
304 Ok(())
305 }
306
307 fn lit_str2(&mut self, _arg: &LitStr2<'t>) -> Result<()> {
309 Ok(())
310 }
311
312 fn lit_str3(&mut self, _arg: &LitStr3<'t>) -> Result<()> {
314 Ok(())
315 }
316
317 fn delim_code(&mut self, _arg: &DelimCode<'t>) -> Result<()> {
319 Ok(())
320 }
321
322 fn delim_code1(&mut self, _arg: &DelimCode1<'t>) -> Result<()> {
324 Ok(())
325 }
326
327 fn delim_code2(&mut self, _arg: &DelimCode2<'t>) -> Result<()> {
329 Ok(())
330 }
331
332 fn delim_code3(&mut self, _arg: &DelimCode3<'t>) -> Result<()> {
334 Ok(())
335 }
336
337 fn code_block(&mut self, _arg: &CodeBlock<'t>) -> Result<()> {
339 Ok(())
340 }
341
342 fn code_block3(&mut self, _arg: &CodeBlock3<'t>) -> Result<()> {
344 Ok(())
345 }
346
347 fn code_block4(&mut self, _arg: &CodeBlock4<'t>) -> Result<()> {
349 Ok(())
350 }
351
352 fn code_block5(&mut self, _arg: &CodeBlock5<'t>) -> Result<()> {
354 Ok(())
355 }
356
357 fn code_block6(&mut self, _arg: &CodeBlock6<'t>) -> Result<()> {
359 Ok(())
360 }
361
362 fn lit_str3_start(&mut self, _arg: &LitStr3Start<'t>) -> Result<()> {
364 Ok(())
365 }
366
367 fn lit_str2_start(&mut self, _arg: &LitStr2Start<'t>) -> Result<()> {
369 Ok(())
370 }
371
372 fn lit_str1_start(&mut self, _arg: &LitStr1Start<'t>) -> Result<()> {
374 Ok(())
375 }
376
377 fn delim_code_start3(&mut self, _arg: &DelimCodeStart3<'t>) -> Result<()> {
379 Ok(())
380 }
381
382 fn delim_code_start2(&mut self, _arg: &DelimCodeStart2<'t>) -> Result<()> {
384 Ok(())
385 }
386
387 fn delim_code_start1(&mut self, _arg: &DelimCodeStart1<'t>) -> Result<()> {
389 Ok(())
390 }
391
392 fn code_block_start3(&mut self, _arg: &CodeBlockStart3<'t>) -> Result<()> {
394 Ok(())
395 }
396
397 fn code_block_start4(&mut self, _arg: &CodeBlockStart4<'t>) -> Result<()> {
399 Ok(())
400 }
401
402 fn code_block_start5(&mut self, _arg: &CodeBlockStart5<'t>) -> Result<()> {
404 Ok(())
405 }
406
407 fn code_block_start6(&mut self, _arg: &CodeBlockStart6<'t>) -> Result<()> {
409 Ok(())
410 }
411
412 fn code_block_end3(&mut self, _arg: &CodeBlockEnd3<'t>) -> Result<()> {
414 Ok(())
415 }
416
417 fn backtick2(&mut self, _arg: &Backtick2<'t>) -> Result<()> {
419 Ok(())
420 }
421
422 fn code_block_end4(&mut self, _arg: &CodeBlockEnd4<'t>) -> Result<()> {
424 Ok(())
425 }
426
427 fn backtick3(&mut self, _arg: &Backtick3<'t>) -> Result<()> {
429 Ok(())
430 }
431
432 fn code_block_end5(&mut self, _arg: &CodeBlockEnd5<'t>) -> Result<()> {
434 Ok(())
435 }
436
437 fn backtick4(&mut self, _arg: &Backtick4<'t>) -> Result<()> {
439 Ok(())
440 }
441
442 fn code_block_end6(&mut self, _arg: &CodeBlockEnd6<'t>) -> Result<()> {
444 Ok(())
445 }
446
447 fn backtick5(&mut self, _arg: &Backtick5<'t>) -> Result<()> {
449 Ok(())
450 }
451
452 fn no_backtick(&mut self, _arg: &NoBacktick<'t>) -> Result<()> {
454 Ok(())
455 }
456
457 fn lit_str3_end(&mut self, _arg: &LitStr3End<'t>) -> Result<()> {
459 Ok(())
460 }
461
462 fn lit_str2_end(&mut self, _arg: &LitStr2End<'t>) -> Result<()> {
464 Ok(())
465 }
466
467 fn lit_str1_end(&mut self, _arg: &LitStr1End<'t>) -> Result<()> {
469 Ok(())
470 }
471
472 fn s_quote(&mut self, _arg: &SQuote<'t>) -> Result<()> {
474 Ok(())
475 }
476
477 fn no_s_quote(&mut self, _arg: &NoSQuote<'t>) -> Result<()> {
479 Ok(())
480 }
481
482 fn delim_code_end3(&mut self, _arg: &DelimCodeEnd3<'t>) -> Result<()> {
484 Ok(())
485 }
486
487 fn delim_code_end2(&mut self, _arg: &DelimCodeEnd2<'t>) -> Result<()> {
489 Ok(())
490 }
491
492 fn delim_code_end1(&mut self, _arg: &DelimCodeEnd1<'t>) -> Result<()> {
494 Ok(())
495 }
496
497 fn backtick_delim(&mut self, _arg: &BacktickDelim<'t>) -> Result<()> {
499 Ok(())
500 }
501
502 fn grammar_newline(&mut self, _arg: &GrammarNewline<'t>) -> Result<()> {
504 Ok(())
505 }
506
507 fn ws(&mut self, _arg: &Ws<'t>) -> Result<()> {
509 Ok(())
510 }
511
512 fn at(&mut self, _arg: &At<'t>) -> Result<()> {
514 Ok(())
515 }
516
517 fn ext(&mut self, _arg: &Ext<'t>) -> Result<()> {
519 Ok(())
520 }
521
522 fn dot(&mut self, _arg: &Dot<'t>) -> Result<()> {
524 Ok(())
525 }
526
527 fn begin(&mut self, _arg: &Begin<'t>) -> Result<()> {
529 Ok(())
530 }
531
532 fn end(&mut self, _arg: &End<'t>) -> Result<()> {
534 Ok(())
535 }
536
537 fn array_begin(&mut self, _arg: &ArrayBegin<'t>) -> Result<()> {
539 Ok(())
540 }
541
542 fn array_end(&mut self, _arg: &ArrayEnd<'t>) -> Result<()> {
544 Ok(())
545 }
546
547 fn caret(&mut self, _arg: &Caret<'t>) -> Result<()> {
549 Ok(())
550 }
551
552 fn l_paren(&mut self, _arg: &LParen<'t>) -> Result<()> {
554 Ok(())
555 }
556
557 fn r_paren(&mut self, _arg: &RParen<'t>) -> Result<()> {
559 Ok(())
560 }
561
562 fn newline_bind(&mut self, _arg: &NewlineBind<'t>) -> Result<()> {
564 Ok(())
565 }
566
567 fn bind(&mut self, _arg: &Bind<'t>) -> Result<()> {
569 Ok(())
570 }
571
572 fn comma(&mut self, _arg: &Comma<'t>) -> Result<()> {
574 Ok(())
575 }
576
577 fn r#continue(&mut self, _arg: &Continue<'t>) -> Result<()> {
579 Ok(())
580 }
581
582 fn newline_text_start(&mut self, _arg: &NewlineTextStart<'t>) -> Result<()> {
584 Ok(())
585 }
586
587 fn text_start(&mut self, _arg: &TextStart<'t>) -> Result<()> {
589 Ok(())
590 }
591
592 fn ident(&mut self, _arg: &Ident<'t>) -> Result<()> {
594 Ok(())
595 }
596
597 fn on_comment(&mut self, _token: Token<'t>) {}
600}
601
602#[allow(dead_code)]
613#[derive(Debug, Clone)]
614pub struct TopLevelBindingValueBinding<'t> {
615 pub value_binding: ValueBinding<'t>,
616}
617
618impl ToSpan for TopLevelBindingValueBinding<'_> {
619 fn span(&self) -> Span {
620 self.value_binding.span()
621 }
622}
623
624#[allow(dead_code)]
630#[derive(Debug, Clone)]
631pub struct TopLevelBindingTextBinding<'t> {
632 pub text_binding: TextBinding<'t>,
633}
634
635impl ToSpan for TopLevelBindingTextBinding<'_> {
636 fn span(&self) -> Span {
637 self.text_binding.span()
638 }
639}
640
641#[allow(dead_code)]
647#[derive(Debug, Clone)]
648pub struct RootBindingRootValueBinding<'t> {
649 pub root_value_binding: RootValueBinding<'t>,
650}
651
652impl ToSpan for RootBindingRootValueBinding<'_> {
653 fn span(&self) -> Span {
654 self.root_value_binding.span()
655 }
656}
657
658#[allow(dead_code)]
664#[derive(Debug, Clone)]
665pub struct RootBindingRootTextBinding<'t> {
666 pub root_text_binding: RootTextBinding<'t>,
667}
668
669impl ToSpan for RootBindingRootTextBinding<'_> {
670 fn span(&self) -> Span {
671 self.root_text_binding.span()
672 }
673}
674
675#[allow(dead_code)]
681#[derive(Debug, Clone)]
682pub struct BindingRhsValueBinding<'t> {
683 pub value_binding: ValueBinding<'t>,
684}
685
686impl ToSpan for BindingRhsValueBinding<'_> {
687 fn span(&self) -> Span {
688 self.value_binding.span()
689 }
690}
691
692#[allow(dead_code)]
698#[derive(Debug, Clone)]
699pub struct BindingRhsSectionBinding<'t> {
700 pub section_binding: SectionBinding<'t>,
701}
702
703impl ToSpan for BindingRhsSectionBinding<'_> {
704 fn span(&self) -> Span {
705 self.section_binding.span()
706 }
707}
708
709#[allow(dead_code)]
715#[derive(Debug, Clone)]
716pub struct BindingRhsTextBinding<'t> {
717 pub text_binding: TextBinding<'t>,
718}
719
720impl ToSpan for BindingRhsTextBinding<'_> {
721 fn span(&self) -> Span {
722 self.text_binding.span()
723 }
724}
725
726#[allow(dead_code)]
732#[derive(Debug, Clone)]
733pub struct SectionBodySectionBodyOpt<'t> {
734 pub section_body_opt: Option<SectionBodyOpt<'t>>,
735}
736
737impl ToSpan for SectionBodySectionBodyOpt<'_> {
738 fn span(&self) -> Span {
739 self.section_body_opt
740 .as_ref()
741 .map_or(Span::default(), |o| o.span())
742 }
743}
744
745#[allow(dead_code)]
751#[derive(Debug, Clone)]
752pub struct SectionBodyBlockBody<'t> {
753 pub block_body: BlockBody<'t>,
754}
755
756impl ToSpan for SectionBodyBlockBody<'_> {
757 fn span(&self) -> Span {
758 self.block_body.span()
759 }
760}
761
762#[allow(dead_code)]
768#[derive(Debug, Clone)]
769pub struct SectionHeadRootBinding<'t> {
770 pub root_binding: RootBinding<'t>,
771}
772
773impl ToSpan for SectionHeadRootBinding<'_> {
774 fn span(&self) -> Span {
775 self.root_binding.span()
776 }
777}
778
779#[allow(dead_code)]
785#[derive(Debug, Clone)]
786pub struct SectionHeadNewlineHead<'t> {
787 pub newline_head: NewlineHead<'t>,
788}
789
790impl ToSpan for SectionHeadNewlineHead<'_> {
791 fn span(&self) -> Span {
792 self.newline_head.span()
793 }
794}
795
796#[allow(dead_code)]
802#[derive(Debug, Clone)]
803pub struct FlatRootBindingValueBinding<'t> {
804 pub value_binding: ValueBinding<'t>,
805}
806
807impl ToSpan for FlatRootBindingValueBinding<'_> {
808 fn span(&self) -> Span {
809 self.value_binding.span()
810 }
811}
812
813#[allow(dead_code)]
819#[derive(Debug, Clone)]
820pub struct FlatRootBindingTextBinding<'t> {
821 pub text_binding: TextBinding<'t>,
822}
823
824impl ToSpan for FlatRootBindingTextBinding<'_> {
825 fn span(&self) -> Span {
826 self.text_binding.span()
827 }
828}
829
830#[allow(dead_code)]
836#[derive(Debug, Clone)]
837pub struct FirstKeyKey<'t> {
838 pub key: Key<'t>,
839}
840
841impl ToSpan for FirstKeyKey<'_> {
842 fn span(&self) -> Span {
843 self.key.span()
844 }
845}
846
847#[allow(dead_code)]
853#[derive(Debug, Clone)]
854pub struct FirstKeyArrayMarker<'t> {
855 pub array_marker: ArrayMarker<'t>,
856}
857
858impl ToSpan for FirstKeyArrayMarker<'_> {
859 fn span(&self) -> Span {
860 self.array_marker.span()
861 }
862}
863
864#[allow(dead_code)]
870#[derive(Debug, Clone)]
871pub struct KeyTailDotKey<'t> {
872 pub dot_key: DotKey<'t>,
873}
874
875impl ToSpan for KeyTailDotKey<'_> {
876 fn span(&self) -> Span {
877 self.dot_key.span()
878 }
879}
880
881#[allow(dead_code)]
887#[derive(Debug, Clone)]
888pub struct KeyTailArrayMarker<'t> {
889 pub array_marker: ArrayMarker<'t>,
890}
891
892impl ToSpan for KeyTailArrayMarker<'_> {
893 fn span(&self) -> Span {
894 self.array_marker.span()
895 }
896}
897
898#[allow(dead_code)]
904#[derive(Debug, Clone)]
905pub struct ArrayMarkerOptGroupInteger<'t> {
906 pub integer: Integer<'t>,
907}
908
909impl ToSpan for ArrayMarkerOptGroupInteger<'_> {
910 fn span(&self) -> Span {
911 self.integer.span()
912 }
913}
914
915#[allow(dead_code)]
921#[derive(Debug, Clone)]
922pub struct ArrayMarkerOptGroupCaret<'t> {
923 pub caret: Caret<'t>,
924}
925
926impl ToSpan for ArrayMarkerOptGroupCaret<'_> {
927 fn span(&self) -> Span {
928 self.caret.span()
929 }
930}
931
932#[allow(dead_code)]
938#[derive(Debug, Clone)]
939pub struct KeyKeyIdent<'t> {
940 pub key_ident: KeyIdent<'t>,
941}
942
943impl ToSpan for KeyKeyIdent<'_> {
944 fn span(&self) -> Span {
945 self.key_ident.span()
946 }
947}
948
949#[allow(dead_code)]
955#[derive(Debug, Clone)]
956pub struct KeyExtensionNameSpace<'t> {
957 pub extension_name_space: ExtensionNameSpace<'t>,
958}
959
960impl ToSpan for KeyExtensionNameSpace<'_> {
961 fn span(&self) -> Span {
962 self.extension_name_space.span()
963 }
964}
965
966#[allow(dead_code)]
972#[derive(Debug, Clone)]
973pub struct KeyString<'t> {
974 pub string: String<'t>,
975}
976
977impl ToSpan for KeyString<'_> {
978 fn span(&self) -> Span {
979 self.string.span()
980 }
981}
982
983#[allow(dead_code)]
989#[derive(Debug, Clone)]
990pub struct KeyInteger<'t> {
991 pub integer: Integer<'t>,
992}
993
994impl ToSpan for KeyInteger<'_> {
995 fn span(&self) -> Span {
996 self.integer.span()
997 }
998}
999
1000#[allow(dead_code)]
1006#[derive(Debug, Clone)]
1007pub struct KeyFloat<'t> {
1008 pub float: Float<'t>,
1009}
1010
1011impl ToSpan for KeyFloat<'_> {
1012 fn span(&self) -> Span {
1013 self.float.span()
1014 }
1015}
1016
1017#[allow(dead_code)]
1023#[derive(Debug, Clone)]
1024pub struct KeyKeyTuple<'t> {
1025 pub key_tuple: KeyTuple<'t>,
1026}
1027
1028impl ToSpan for KeyKeyTuple<'_> {
1029 fn span(&self) -> Span {
1030 self.key_tuple.span()
1031 }
1032}
1033
1034#[allow(dead_code)]
1040#[derive(Debug, Clone)]
1041pub struct KeyTupleIndex<'t> {
1042 pub tuple_index: TupleIndex<'t>,
1043}
1044
1045impl ToSpan for KeyTupleIndex<'_> {
1046 fn span(&self) -> Span {
1047 self.tuple_index.span()
1048 }
1049}
1050
1051#[allow(dead_code)]
1057#[derive(Debug, Clone)]
1058pub struct KeyHole<'t> {
1059 pub hole: Hole<'t>,
1060}
1061
1062impl ToSpan for KeyHole<'_> {
1063 fn span(&self) -> Span {
1064 self.hole.span()
1065 }
1066}
1067
1068#[allow(dead_code)]
1074#[derive(Debug, Clone)]
1075pub struct KeyValueInteger<'t> {
1076 pub integer: Integer<'t>,
1077}
1078
1079impl ToSpan for KeyValueInteger<'_> {
1080 fn span(&self) -> Span {
1081 self.integer.span()
1082 }
1083}
1084
1085#[allow(dead_code)]
1091#[derive(Debug, Clone)]
1092pub struct KeyValueBoolean<'t> {
1093 pub boolean: Boolean<'t>,
1094}
1095
1096impl ToSpan for KeyValueBoolean<'_> {
1097 fn span(&self) -> Span {
1098 self.boolean.span()
1099 }
1100}
1101
1102#[allow(dead_code)]
1108#[derive(Debug, Clone)]
1109pub struct KeyValueStr<'t> {
1110 pub str: Str<'t>,
1111}
1112
1113impl ToSpan for KeyValueStr<'_> {
1114 fn span(&self) -> Span {
1115 self.str.span()
1116 }
1117}
1118
1119#[allow(dead_code)]
1125#[derive(Debug, Clone)]
1126pub struct KeyValueKeyTuple<'t> {
1127 pub key_tuple: Box<KeyTuple<'t>>,
1128}
1129
1130impl ToSpan for KeyValueKeyTuple<'_> {
1131 fn span(&self) -> Span {
1132 self.key_tuple.span()
1133 }
1134}
1135
1136#[allow(dead_code)]
1142#[derive(Debug, Clone)]
1143pub struct KeyValueHole<'t> {
1144 pub hole: Hole<'t>,
1145}
1146
1147impl ToSpan for KeyValueHole<'_> {
1148 fn span(&self) -> Span {
1149 self.hole.span()
1150 }
1151}
1152
1153#[allow(dead_code)]
1159#[derive(Debug, Clone)]
1160pub struct KeyIdentIdent<'t> {
1161 pub ident: Ident<'t>,
1162}
1163
1164impl ToSpan for KeyIdentIdent<'_> {
1165 fn span(&self) -> Span {
1166 self.ident.span()
1167 }
1168}
1169
1170#[allow(dead_code)]
1176#[derive(Debug, Clone)]
1177pub struct KeyIdentTrue<'t> {
1178 pub r#true: True<'t>,
1179}
1180
1181impl ToSpan for KeyIdentTrue<'_> {
1182 fn span(&self) -> Span {
1183 self.r#true.span()
1184 }
1185}
1186
1187#[allow(dead_code)]
1193#[derive(Debug, Clone)]
1194pub struct KeyIdentFalse<'t> {
1195 pub r#false: False<'t>,
1196}
1197
1198impl ToSpan for KeyIdentFalse<'_> {
1199 fn span(&self) -> Span {
1200 self.r#false.span()
1201 }
1202}
1203
1204#[allow(dead_code)]
1210#[derive(Debug, Clone)]
1211pub struct KeyIdentNull<'t> {
1212 pub null: Null<'t>,
1213}
1214
1215impl ToSpan for KeyIdentNull<'_> {
1216 fn span(&self) -> Span {
1217 self.null.span()
1218 }
1219}
1220
1221#[allow(dead_code)]
1227#[derive(Debug, Clone)]
1228pub struct ValueObject<'t> {
1229 pub object: Box<Object<'t>>,
1230}
1231
1232impl ToSpan for ValueObject<'_> {
1233 fn span(&self) -> Span {
1234 self.object.span()
1235 }
1236}
1237
1238#[allow(dead_code)]
1244#[derive(Debug, Clone)]
1245pub struct ValueArray<'t> {
1246 pub array: Box<Array<'t>>,
1247}
1248
1249impl ToSpan for ValueArray<'_> {
1250 fn span(&self) -> Span {
1251 self.array.span()
1252 }
1253}
1254
1255#[allow(dead_code)]
1261#[derive(Debug, Clone)]
1262pub struct ValueTuple<'t> {
1263 pub tuple: Box<Tuple<'t>>,
1264}
1265
1266impl ToSpan for ValueTuple<'_> {
1267 fn span(&self) -> Span {
1268 self.tuple.span()
1269 }
1270}
1271
1272#[allow(dead_code)]
1278#[derive(Debug, Clone)]
1279pub struct ValueNumber<'t> {
1280 pub number: Number<'t>,
1281}
1282
1283impl ToSpan for ValueNumber<'_> {
1284 fn span(&self) -> Span {
1285 self.number.span()
1286 }
1287}
1288
1289#[allow(dead_code)]
1295#[derive(Debug, Clone)]
1296pub struct ValueBoolean<'t> {
1297 pub boolean: Boolean<'t>,
1298}
1299
1300impl ToSpan for ValueBoolean<'_> {
1301 fn span(&self) -> Span {
1302 self.boolean.span()
1303 }
1304}
1305
1306#[allow(dead_code)]
1312#[derive(Debug, Clone)]
1313pub struct ValueNull<'t> {
1314 pub null: Null<'t>,
1315}
1316
1317impl ToSpan for ValueNull<'_> {
1318 fn span(&self) -> Span {
1319 self.null.span()
1320 }
1321}
1322
1323#[allow(dead_code)]
1329#[derive(Debug, Clone)]
1330pub struct ValueStrings<'t> {
1331 pub strings: Strings<'t>,
1332}
1333
1334impl ToSpan for ValueStrings<'_> {
1335 fn span(&self) -> Span {
1336 self.strings.span()
1337 }
1338}
1339
1340#[allow(dead_code)]
1346#[derive(Debug, Clone)]
1347pub struct ValueHole<'t> {
1348 pub hole: Hole<'t>,
1349}
1350
1351impl ToSpan for ValueHole<'_> {
1352 fn span(&self) -> Span {
1353 self.hole.span()
1354 }
1355}
1356
1357#[allow(dead_code)]
1363#[derive(Debug, Clone)]
1364pub struct ValueCodeBlock<'t> {
1365 pub code_block: CodeBlock<'t>,
1366}
1367
1368impl ToSpan for ValueCodeBlock<'_> {
1369 fn span(&self) -> Span {
1370 self.code_block.span()
1371 }
1372}
1373
1374#[allow(dead_code)]
1380#[derive(Debug, Clone)]
1381pub struct ValueInlineCode<'t> {
1382 pub inline_code: InlineCode<'t>,
1383}
1384
1385impl ToSpan for ValueInlineCode<'_> {
1386 fn span(&self) -> Span {
1387 self.inline_code.span()
1388 }
1389}
1390
1391#[allow(dead_code)]
1397#[derive(Debug, Clone)]
1398pub struct NumberFloat<'t> {
1399 pub float: Float<'t>,
1400}
1401
1402impl ToSpan for NumberFloat<'_> {
1403 fn span(&self) -> Span {
1404 self.float.span()
1405 }
1406}
1407
1408#[allow(dead_code)]
1414#[derive(Debug, Clone)]
1415pub struct NumberInteger<'t> {
1416 pub integer: Integer<'t>,
1417}
1418
1419impl ToSpan for NumberInteger<'_> {
1420 fn span(&self) -> Span {
1421 self.integer.span()
1422 }
1423}
1424
1425#[allow(dead_code)]
1431#[derive(Debug, Clone)]
1432pub struct NumberInf<'t> {
1433 pub inf: Inf<'t>,
1434}
1435
1436impl ToSpan for NumberInf<'_> {
1437 fn span(&self) -> Span {
1438 self.inf.span()
1439 }
1440}
1441
1442#[allow(dead_code)]
1448#[derive(Debug, Clone)]
1449pub struct NumberNaN<'t> {
1450 pub na_n: NaN<'t>,
1451}
1452
1453impl ToSpan for NumberNaN<'_> {
1454 fn span(&self) -> Span {
1455 self.na_n.span()
1456 }
1457}
1458
1459#[allow(dead_code)]
1465#[derive(Debug, Clone)]
1466pub struct BooleanTrue<'t> {
1467 pub r#true: True<'t>,
1468}
1469
1470impl ToSpan for BooleanTrue<'_> {
1471 fn span(&self) -> Span {
1472 self.r#true.span()
1473 }
1474}
1475
1476#[allow(dead_code)]
1482#[derive(Debug, Clone)]
1483pub struct BooleanFalse<'t> {
1484 pub r#false: False<'t>,
1485}
1486
1487impl ToSpan for BooleanFalse<'_> {
1488 fn span(&self) -> Span {
1489 self.r#false.span()
1490 }
1491}
1492
1493#[allow(dead_code)]
1499#[derive(Debug, Clone)]
1500pub struct StringStr<'t> {
1501 pub str: Str<'t>,
1502}
1503
1504impl ToSpan for StringStr<'_> {
1505 fn span(&self) -> Span {
1506 self.str.span()
1507 }
1508}
1509
1510#[allow(dead_code)]
1516#[derive(Debug, Clone)]
1517pub struct StringLitStr<'t> {
1518 pub lit_str: LitStr<'t>,
1519}
1520
1521impl ToSpan for StringLitStr<'_> {
1522 fn span(&self) -> Span {
1523 self.lit_str.span()
1524 }
1525}
1526
1527#[allow(dead_code)]
1533#[derive(Debug, Clone)]
1534pub struct StringLitStr1<'t> {
1535 pub lit_str1: LitStr1<'t>,
1536}
1537
1538impl ToSpan for StringLitStr1<'_> {
1539 fn span(&self) -> Span {
1540 self.lit_str1.span()
1541 }
1542}
1543
1544#[allow(dead_code)]
1550#[derive(Debug, Clone)]
1551pub struct StringLitStr2<'t> {
1552 pub lit_str2: LitStr2<'t>,
1553}
1554
1555impl ToSpan for StringLitStr2<'_> {
1556 fn span(&self) -> Span {
1557 self.lit_str2.span()
1558 }
1559}
1560
1561#[allow(dead_code)]
1567#[derive(Debug, Clone)]
1568pub struct StringLitStr3<'t> {
1569 pub lit_str3: LitStr3<'t>,
1570}
1571
1572impl ToSpan for StringLitStr3<'_> {
1573 fn span(&self) -> Span {
1574 self.lit_str3.span()
1575 }
1576}
1577
1578#[allow(dead_code)]
1584#[derive(Debug, Clone)]
1585pub struct InlineCodeDelimCode<'t> {
1586 pub delim_code: DelimCode<'t>,
1587}
1588
1589impl ToSpan for InlineCodeDelimCode<'_> {
1590 fn span(&self) -> Span {
1591 self.delim_code.span()
1592 }
1593}
1594
1595#[allow(dead_code)]
1601#[derive(Debug, Clone)]
1602pub struct InlineCodeInlineCode1<'t> {
1603 pub inline_code1: InlineCode1<'t>,
1604}
1605
1606impl ToSpan for InlineCodeInlineCode1<'_> {
1607 fn span(&self) -> Span {
1608 self.inline_code1.span()
1609 }
1610}
1611
1612#[allow(dead_code)]
1618#[derive(Debug, Clone)]
1619pub struct LitStr1ListGroupNoSQuote<'t> {
1620 pub no_s_quote: NoSQuote<'t>,
1621}
1622
1623impl ToSpan for LitStr1ListGroupNoSQuote<'_> {
1624 fn span(&self) -> Span {
1625 self.no_s_quote.span()
1626 }
1627}
1628
1629#[allow(dead_code)]
1635#[derive(Debug, Clone)]
1636pub struct LitStr1ListGroupSQuote<'t> {
1637 pub s_quote: SQuote<'t>,
1638}
1639
1640impl ToSpan for LitStr1ListGroupSQuote<'_> {
1641 fn span(&self) -> Span {
1642 self.s_quote.span()
1643 }
1644}
1645
1646#[allow(dead_code)]
1652#[derive(Debug, Clone)]
1653pub struct LitStr2ListGroupNoSQuote<'t> {
1654 pub no_s_quote: NoSQuote<'t>,
1655}
1656
1657impl ToSpan for LitStr2ListGroupNoSQuote<'_> {
1658 fn span(&self) -> Span {
1659 self.no_s_quote.span()
1660 }
1661}
1662
1663#[allow(dead_code)]
1669#[derive(Debug, Clone)]
1670pub struct LitStr2ListGroupSQuote<'t> {
1671 pub s_quote: SQuote<'t>,
1672}
1673
1674impl ToSpan for LitStr2ListGroupSQuote<'_> {
1675 fn span(&self) -> Span {
1676 self.s_quote.span()
1677 }
1678}
1679
1680#[allow(dead_code)]
1686#[derive(Debug, Clone)]
1687pub struct LitStr3ListGroupNoSQuote<'t> {
1688 pub no_s_quote: NoSQuote<'t>,
1689}
1690
1691impl ToSpan for LitStr3ListGroupNoSQuote<'_> {
1692 fn span(&self) -> Span {
1693 self.no_s_quote.span()
1694 }
1695}
1696
1697#[allow(dead_code)]
1703#[derive(Debug, Clone)]
1704pub struct LitStr3ListGroupSQuote<'t> {
1705 pub s_quote: SQuote<'t>,
1706}
1707
1708impl ToSpan for LitStr3ListGroupSQuote<'_> {
1709 fn span(&self) -> Span {
1710 self.s_quote.span()
1711 }
1712}
1713
1714#[allow(dead_code)]
1720#[derive(Debug, Clone)]
1721pub struct DelimCodeDelimCode3<'t> {
1722 pub delim_code3: DelimCode3<'t>,
1723}
1724
1725impl ToSpan for DelimCodeDelimCode3<'_> {
1726 fn span(&self) -> Span {
1727 self.delim_code3.span()
1728 }
1729}
1730
1731#[allow(dead_code)]
1737#[derive(Debug, Clone)]
1738pub struct DelimCodeDelimCode2<'t> {
1739 pub delim_code2: DelimCode2<'t>,
1740}
1741
1742impl ToSpan for DelimCodeDelimCode2<'_> {
1743 fn span(&self) -> Span {
1744 self.delim_code2.span()
1745 }
1746}
1747
1748#[allow(dead_code)]
1754#[derive(Debug, Clone)]
1755pub struct DelimCodeDelimCode1<'t> {
1756 pub delim_code1: DelimCode1<'t>,
1757}
1758
1759impl ToSpan for DelimCodeDelimCode1<'_> {
1760 fn span(&self) -> Span {
1761 self.delim_code1.span()
1762 }
1763}
1764
1765#[allow(dead_code)]
1771#[derive(Debug, Clone)]
1772pub struct DelimCode1ListGroupNoBacktick<'t> {
1773 pub no_backtick: NoBacktick<'t>,
1774}
1775
1776impl ToSpan for DelimCode1ListGroupNoBacktick<'_> {
1777 fn span(&self) -> Span {
1778 self.no_backtick.span()
1779 }
1780}
1781
1782#[allow(dead_code)]
1788#[derive(Debug, Clone)]
1789pub struct DelimCode1ListGroupBacktickDelim<'t> {
1790 pub backtick_delim: BacktickDelim<'t>,
1791}
1792
1793impl ToSpan for DelimCode1ListGroupBacktickDelim<'_> {
1794 fn span(&self) -> Span {
1795 self.backtick_delim.span()
1796 }
1797}
1798
1799#[allow(dead_code)]
1805#[derive(Debug, Clone)]
1806pub struct DelimCode2ListGroupNoBacktick<'t> {
1807 pub no_backtick: NoBacktick<'t>,
1808}
1809
1810impl ToSpan for DelimCode2ListGroupNoBacktick<'_> {
1811 fn span(&self) -> Span {
1812 self.no_backtick.span()
1813 }
1814}
1815
1816#[allow(dead_code)]
1822#[derive(Debug, Clone)]
1823pub struct DelimCode2ListGroupBacktickDelim<'t> {
1824 pub backtick_delim: BacktickDelim<'t>,
1825}
1826
1827impl ToSpan for DelimCode2ListGroupBacktickDelim<'_> {
1828 fn span(&self) -> Span {
1829 self.backtick_delim.span()
1830 }
1831}
1832
1833#[allow(dead_code)]
1839#[derive(Debug, Clone)]
1840pub struct DelimCode3ListGroupNoBacktick<'t> {
1841 pub no_backtick: NoBacktick<'t>,
1842}
1843
1844impl ToSpan for DelimCode3ListGroupNoBacktick<'_> {
1845 fn span(&self) -> Span {
1846 self.no_backtick.span()
1847 }
1848}
1849
1850#[allow(dead_code)]
1856#[derive(Debug, Clone)]
1857pub struct DelimCode3ListGroupBacktickDelim<'t> {
1858 pub backtick_delim: BacktickDelim<'t>,
1859}
1860
1861impl ToSpan for DelimCode3ListGroupBacktickDelim<'_> {
1862 fn span(&self) -> Span {
1863 self.backtick_delim.span()
1864 }
1865}
1866
1867#[allow(dead_code)]
1873#[derive(Debug, Clone)]
1874pub struct CodeBlockCodeBlock3<'t> {
1875 pub code_block3: CodeBlock3<'t>,
1876}
1877
1878impl ToSpan for CodeBlockCodeBlock3<'_> {
1879 fn span(&self) -> Span {
1880 self.code_block3.span()
1881 }
1882}
1883
1884#[allow(dead_code)]
1890#[derive(Debug, Clone)]
1891pub struct CodeBlockCodeBlock4<'t> {
1892 pub code_block4: CodeBlock4<'t>,
1893}
1894
1895impl ToSpan for CodeBlockCodeBlock4<'_> {
1896 fn span(&self) -> Span {
1897 self.code_block4.span()
1898 }
1899}
1900
1901#[allow(dead_code)]
1907#[derive(Debug, Clone)]
1908pub struct CodeBlockCodeBlock5<'t> {
1909 pub code_block5: CodeBlock5<'t>,
1910}
1911
1912impl ToSpan for CodeBlockCodeBlock5<'_> {
1913 fn span(&self) -> Span {
1914 self.code_block5.span()
1915 }
1916}
1917
1918#[allow(dead_code)]
1924#[derive(Debug, Clone)]
1925pub struct CodeBlockCodeBlock6<'t> {
1926 pub code_block6: CodeBlock6<'t>,
1927}
1928
1929impl ToSpan for CodeBlockCodeBlock6<'_> {
1930 fn span(&self) -> Span {
1931 self.code_block6.span()
1932 }
1933}
1934
1935#[allow(dead_code)]
1941#[derive(Debug, Clone)]
1942pub struct CodeBlock3ListGroupNoBacktick<'t> {
1943 pub no_backtick: NoBacktick<'t>,
1944}
1945
1946impl ToSpan for CodeBlock3ListGroupNoBacktick<'_> {
1947 fn span(&self) -> Span {
1948 self.no_backtick.span()
1949 }
1950}
1951
1952#[allow(dead_code)]
1958#[derive(Debug, Clone)]
1959pub struct CodeBlock3ListGroupBacktick2<'t> {
1960 pub backtick2: Backtick2<'t>,
1961}
1962
1963impl ToSpan for CodeBlock3ListGroupBacktick2<'_> {
1964 fn span(&self) -> Span {
1965 self.backtick2.span()
1966 }
1967}
1968
1969#[allow(dead_code)]
1975#[derive(Debug, Clone)]
1976pub struct CodeBlock4ListGroupNoBacktick<'t> {
1977 pub no_backtick: NoBacktick<'t>,
1978}
1979
1980impl ToSpan for CodeBlock4ListGroupNoBacktick<'_> {
1981 fn span(&self) -> Span {
1982 self.no_backtick.span()
1983 }
1984}
1985
1986#[allow(dead_code)]
1992#[derive(Debug, Clone)]
1993pub struct CodeBlock4ListGroupBacktick3<'t> {
1994 pub backtick3: Backtick3<'t>,
1995}
1996
1997impl ToSpan for CodeBlock4ListGroupBacktick3<'_> {
1998 fn span(&self) -> Span {
1999 self.backtick3.span()
2000 }
2001}
2002
2003#[allow(dead_code)]
2009#[derive(Debug, Clone)]
2010pub struct CodeBlock5ListGroupNoBacktick<'t> {
2011 pub no_backtick: NoBacktick<'t>,
2012}
2013
2014impl ToSpan for CodeBlock5ListGroupNoBacktick<'_> {
2015 fn span(&self) -> Span {
2016 self.no_backtick.span()
2017 }
2018}
2019
2020#[allow(dead_code)]
2026#[derive(Debug, Clone)]
2027pub struct CodeBlock5ListGroupBacktick4<'t> {
2028 pub backtick4: Backtick4<'t>,
2029}
2030
2031impl ToSpan for CodeBlock5ListGroupBacktick4<'_> {
2032 fn span(&self) -> Span {
2033 self.backtick4.span()
2034 }
2035}
2036
2037#[allow(dead_code)]
2043#[derive(Debug, Clone)]
2044pub struct CodeBlock6ListGroupNoBacktick<'t> {
2045 pub no_backtick: NoBacktick<'t>,
2046}
2047
2048impl ToSpan for CodeBlock6ListGroupNoBacktick<'_> {
2049 fn span(&self) -> Span {
2050 self.no_backtick.span()
2051 }
2052}
2053
2054#[allow(dead_code)]
2060#[derive(Debug, Clone)]
2061pub struct CodeBlock6ListGroupBacktick5<'t> {
2062 pub backtick5: Backtick5<'t>,
2063}
2064
2065impl ToSpan for CodeBlock6ListGroupBacktick5<'_> {
2066 fn span(&self) -> Span {
2067 self.backtick5.span()
2068 }
2069}
2070
2071#[allow(dead_code)]
2080#[derive(Debug, Clone)]
2081pub struct Array<'t> {
2082 pub array_begin: ArrayBegin<'t>,
2083 pub array_opt: Option<ArrayOpt<'t>>,
2084 pub array_end: ArrayEnd<'t>,
2085}
2086
2087impl ToSpan for Array<'_> {
2088 fn span(&self) -> Span {
2089 self.array_begin.span()
2090 + self
2091 .array_opt
2092 .as_ref()
2093 .map_or(Span::default(), |o| o.span())
2094 + self.array_end.span()
2095 }
2096}
2097
2098#[allow(dead_code)]
2102#[derive(Debug, Clone)]
2103pub struct ArrayBegin<'t> {
2104 pub array_begin: Token<'t>, }
2106
2107impl ToSpan for ArrayBegin<'_> {
2108 fn span(&self) -> Span {
2109 self.array_begin.span()
2110 }
2111}
2112
2113#[allow(dead_code)]
2117#[derive(Debug, Clone)]
2118pub struct ArrayElements<'t> {
2119 pub value: Value<'t>,
2120 pub array_elements_opt: Option<Box<ArrayElementsOpt<'t>>>,
2121}
2122
2123impl ToSpan for ArrayElements<'_> {
2124 fn span(&self) -> Span {
2125 self.value.span()
2126 + self
2127 .array_elements_opt
2128 .as_ref()
2129 .map_or(Span::default(), |o| o.span())
2130 }
2131}
2132
2133#[allow(dead_code)]
2137#[derive(Debug, Clone)]
2138pub struct ArrayElementsOpt<'t> {
2139 pub array_elements_tail: ArrayElementsTail<'t>,
2140}
2141
2142impl ToSpan for ArrayElementsOpt<'_> {
2143 fn span(&self) -> Span {
2144 self.array_elements_tail.span()
2145 }
2146}
2147
2148#[allow(dead_code)]
2152#[derive(Debug, Clone)]
2153pub struct ArrayElementsTail<'t> {
2154 pub comma: Comma<'t>,
2155 pub array_elements_tail_opt: Option<ArrayElementsTailOpt<'t>>,
2156}
2157
2158impl ToSpan for ArrayElementsTail<'_> {
2159 fn span(&self) -> Span {
2160 self.comma.span()
2161 + self
2162 .array_elements_tail_opt
2163 .as_ref()
2164 .map_or(Span::default(), |o| o.span())
2165 }
2166}
2167
2168#[allow(dead_code)]
2172#[derive(Debug, Clone)]
2173pub struct ArrayElementsTailOpt<'t> {
2174 pub array_elements: ArrayElements<'t>,
2175}
2176
2177impl ToSpan for ArrayElementsTailOpt<'_> {
2178 fn span(&self) -> Span {
2179 self.array_elements.span()
2180 }
2181}
2182
2183#[allow(dead_code)]
2187#[derive(Debug, Clone)]
2188pub struct ArrayEnd<'t> {
2189 pub array_end: Token<'t>, }
2191
2192impl ToSpan for ArrayEnd<'_> {
2193 fn span(&self) -> Span {
2194 self.array_end.span()
2195 }
2196}
2197
2198#[allow(dead_code)]
2202#[derive(Debug, Clone)]
2203pub struct ArrayMarker<'t> {
2204 pub array_begin: ArrayBegin<'t>,
2205 pub array_marker_opt: Option<ArrayMarkerOpt<'t>>,
2206 pub array_end: ArrayEnd<'t>,
2207}
2208
2209impl ToSpan for ArrayMarker<'_> {
2210 fn span(&self) -> Span {
2211 self.array_begin.span()
2212 + self
2213 .array_marker_opt
2214 .as_ref()
2215 .map_or(Span::default(), |o| o.span())
2216 + self.array_end.span()
2217 }
2218}
2219
2220#[allow(dead_code)]
2224#[derive(Debug, Clone)]
2225pub struct ArrayMarkerOpt<'t> {
2226 pub array_marker_opt_group: ArrayMarkerOptGroup<'t>,
2227}
2228
2229impl ToSpan for ArrayMarkerOpt<'_> {
2230 fn span(&self) -> Span {
2231 self.array_marker_opt_group.span()
2232 }
2233}
2234
2235#[allow(dead_code)]
2239#[derive(Debug, Clone)]
2240pub enum ArrayMarkerOptGroup<'t> {
2241 Integer(ArrayMarkerOptGroupInteger<'t>),
2242 Caret(ArrayMarkerOptGroupCaret<'t>),
2243}
2244
2245impl ToSpan for ArrayMarkerOptGroup<'_> {
2246 fn span(&self) -> Span {
2247 match self {
2248 ArrayMarkerOptGroup::Integer(v) => v.span(),
2249 ArrayMarkerOptGroup::Caret(v) => v.span(),
2250 }
2251 }
2252}
2253
2254#[allow(dead_code)]
2258#[derive(Debug, Clone)]
2259pub struct ArrayOpt<'t> {
2260 pub array_elements: ArrayElements<'t>,
2261}
2262
2263impl ToSpan for ArrayOpt<'_> {
2264 fn span(&self) -> Span {
2265 self.array_elements.span()
2266 }
2267}
2268
2269#[allow(dead_code)]
2273#[derive(Debug, Clone)]
2274pub struct At<'t> {
2275 pub at: Token<'t>, }
2277
2278impl ToSpan for At<'_> {
2279 fn span(&self) -> Span {
2280 self.at.span()
2281 }
2282}
2283
2284#[allow(dead_code)]
2288#[derive(Debug, Clone)]
2289pub struct Backtick2<'t> {
2290 pub backtick2: Token<'t>, }
2292
2293impl ToSpan for Backtick2<'_> {
2294 fn span(&self) -> Span {
2295 self.backtick2.span()
2296 }
2297}
2298
2299#[allow(dead_code)]
2303#[derive(Debug, Clone)]
2304pub struct Backtick3<'t> {
2305 pub backtick3: Token<'t>, }
2307
2308impl ToSpan for Backtick3<'_> {
2309 fn span(&self) -> Span {
2310 self.backtick3.span()
2311 }
2312}
2313
2314#[allow(dead_code)]
2318#[derive(Debug, Clone)]
2319pub struct Backtick4<'t> {
2320 pub backtick4: Token<'t>, }
2322
2323impl ToSpan for Backtick4<'_> {
2324 fn span(&self) -> Span {
2325 self.backtick4.span()
2326 }
2327}
2328
2329#[allow(dead_code)]
2333#[derive(Debug, Clone)]
2334pub struct Backtick5<'t> {
2335 pub backtick5: Token<'t>, }
2337
2338impl ToSpan for Backtick5<'_> {
2339 fn span(&self) -> Span {
2340 self.backtick5.span()
2341 }
2342}
2343
2344#[allow(dead_code)]
2348#[derive(Debug, Clone)]
2349pub struct BacktickDelim<'t> {
2350 pub backtick_delim: Token<'t>, }
2352
2353impl ToSpan for BacktickDelim<'_> {
2354 fn span(&self) -> Span {
2355 self.backtick_delim.span()
2356 }
2357}
2358
2359#[allow(dead_code)]
2363#[derive(Debug, Clone)]
2364pub struct Begin<'t> {
2365 pub begin: Token<'t>, }
2367
2368impl ToSpan for Begin<'_> {
2369 fn span(&self) -> Span {
2370 self.begin.span()
2371 }
2372}
2373
2374#[allow(dead_code)]
2378#[derive(Debug, Clone)]
2379pub struct Bind<'t> {
2380 pub bind: Token<'t>, }
2382
2383impl ToSpan for Bind<'_> {
2384 fn span(&self) -> Span {
2385 self.bind.span()
2386 }
2387}
2388
2389#[allow(dead_code)]
2393#[derive(Debug, Clone)]
2394pub struct Binding<'t> {
2395 pub keys: Keys<'t>,
2396 pub binding_rhs: BindingRhs<'t>,
2397}
2398
2399impl ToSpan for Binding<'_> {
2400 fn span(&self) -> Span {
2401 self.keys.span() + self.binding_rhs.span()
2402 }
2403}
2404
2405#[allow(dead_code)]
2409#[derive(Debug, Clone)]
2410pub enum BindingRhs<'t> {
2411 ValueBinding(BindingRhsValueBinding<'t>),
2412 SectionBinding(BindingRhsSectionBinding<'t>),
2413 TextBinding(BindingRhsTextBinding<'t>),
2414}
2415
2416impl ToSpan for BindingRhs<'_> {
2417 fn span(&self) -> Span {
2418 match self {
2419 BindingRhs::ValueBinding(v) => v.span(),
2420 BindingRhs::SectionBinding(v) => v.span(),
2421 BindingRhs::TextBinding(v) => v.span(),
2422 }
2423 }
2424}
2425
2426#[allow(dead_code)]
2430#[derive(Debug, Clone)]
2431pub struct BlockBody<'t> {
2432 pub begin: Begin<'t>,
2433 pub eure: Eure<'t>,
2434 pub end: End<'t>,
2435}
2436
2437impl ToSpan for BlockBody<'_> {
2438 fn span(&self) -> Span {
2439 self.begin.span() + self.eure.span() + self.end.span()
2440 }
2441}
2442
2443#[allow(dead_code)]
2447#[derive(Debug, Clone)]
2448pub enum Boolean<'t> {
2449 True(BooleanTrue<'t>),
2450 False(BooleanFalse<'t>),
2451}
2452
2453impl ToSpan for Boolean<'_> {
2454 fn span(&self) -> Span {
2455 match self {
2456 Boolean::True(v) => v.span(),
2457 Boolean::False(v) => v.span(),
2458 }
2459 }
2460}
2461
2462#[allow(dead_code)]
2466#[derive(Debug, Clone)]
2467pub struct Caret<'t> {
2468 pub caret: Token<'t>, }
2470
2471impl ToSpan for Caret<'_> {
2472 fn span(&self) -> Span {
2473 self.caret.span()
2474 }
2475}
2476
2477#[allow(dead_code)]
2481#[derive(Debug, Clone)]
2482pub enum CodeBlock<'t> {
2483 CodeBlock3(CodeBlockCodeBlock3<'t>),
2484 CodeBlock4(CodeBlockCodeBlock4<'t>),
2485 CodeBlock5(CodeBlockCodeBlock5<'t>),
2486 CodeBlock6(CodeBlockCodeBlock6<'t>),
2487}
2488
2489impl ToSpan for CodeBlock<'_> {
2490 fn span(&self) -> Span {
2491 match self {
2492 CodeBlock::CodeBlock3(v) => v.span(),
2493 CodeBlock::CodeBlock4(v) => v.span(),
2494 CodeBlock::CodeBlock5(v) => v.span(),
2495 CodeBlock::CodeBlock6(v) => v.span(),
2496 }
2497 }
2498}
2499
2500#[allow(dead_code)]
2504#[derive(Debug, Clone)]
2505pub struct CodeBlock3<'t> {
2506 pub code_block_start3: CodeBlockStart3<'t>,
2507 pub code_block3_list: Vec<CodeBlock3List<'t>>,
2508 pub code_block_end3: CodeBlockEnd3<'t>,
2509}
2510
2511impl ToSpan for CodeBlock3<'_> {
2512 fn span(&self) -> Span {
2513 self.code_block_start3.span()
2514 + self
2515 .code_block3_list
2516 .first()
2517 .map_or(Span::default(), |f| f.span())
2518 + self
2519 .code_block3_list
2520 .last()
2521 .map_or(Span::default(), |l| l.span())
2522 + self.code_block_end3.span()
2523 }
2524}
2525
2526#[allow(dead_code)]
2530#[derive(Debug, Clone)]
2531pub struct CodeBlock3List<'t> {
2532 pub code_block3_list_group: CodeBlock3ListGroup<'t>,
2533}
2534
2535impl ToSpan for CodeBlock3List<'_> {
2536 fn span(&self) -> Span {
2537 self.code_block3_list_group.span()
2538 }
2539}
2540
2541#[allow(dead_code)]
2545#[derive(Debug, Clone)]
2546pub enum CodeBlock3ListGroup<'t> {
2547 NoBacktick(CodeBlock3ListGroupNoBacktick<'t>),
2548 Backtick2(CodeBlock3ListGroupBacktick2<'t>),
2549}
2550
2551impl ToSpan for CodeBlock3ListGroup<'_> {
2552 fn span(&self) -> Span {
2553 match self {
2554 CodeBlock3ListGroup::NoBacktick(v) => v.span(),
2555 CodeBlock3ListGroup::Backtick2(v) => v.span(),
2556 }
2557 }
2558}
2559
2560#[allow(dead_code)]
2564#[derive(Debug, Clone)]
2565pub struct CodeBlock4<'t> {
2566 pub code_block_start4: CodeBlockStart4<'t>,
2567 pub code_block4_list: Vec<CodeBlock4List<'t>>,
2568 pub code_block_end4: CodeBlockEnd4<'t>,
2569}
2570
2571impl ToSpan for CodeBlock4<'_> {
2572 fn span(&self) -> Span {
2573 self.code_block_start4.span()
2574 + self
2575 .code_block4_list
2576 .first()
2577 .map_or(Span::default(), |f| f.span())
2578 + self
2579 .code_block4_list
2580 .last()
2581 .map_or(Span::default(), |l| l.span())
2582 + self.code_block_end4.span()
2583 }
2584}
2585
2586#[allow(dead_code)]
2590#[derive(Debug, Clone)]
2591pub struct CodeBlock4List<'t> {
2592 pub code_block4_list_group: CodeBlock4ListGroup<'t>,
2593}
2594
2595impl ToSpan for CodeBlock4List<'_> {
2596 fn span(&self) -> Span {
2597 self.code_block4_list_group.span()
2598 }
2599}
2600
2601#[allow(dead_code)]
2605#[derive(Debug, Clone)]
2606pub enum CodeBlock4ListGroup<'t> {
2607 NoBacktick(CodeBlock4ListGroupNoBacktick<'t>),
2608 Backtick3(CodeBlock4ListGroupBacktick3<'t>),
2609}
2610
2611impl ToSpan for CodeBlock4ListGroup<'_> {
2612 fn span(&self) -> Span {
2613 match self {
2614 CodeBlock4ListGroup::NoBacktick(v) => v.span(),
2615 CodeBlock4ListGroup::Backtick3(v) => v.span(),
2616 }
2617 }
2618}
2619
2620#[allow(dead_code)]
2624#[derive(Debug, Clone)]
2625pub struct CodeBlock5<'t> {
2626 pub code_block_start5: CodeBlockStart5<'t>,
2627 pub code_block5_list: Vec<CodeBlock5List<'t>>,
2628 pub code_block_end5: CodeBlockEnd5<'t>,
2629}
2630
2631impl ToSpan for CodeBlock5<'_> {
2632 fn span(&self) -> Span {
2633 self.code_block_start5.span()
2634 + self
2635 .code_block5_list
2636 .first()
2637 .map_or(Span::default(), |f| f.span())
2638 + self
2639 .code_block5_list
2640 .last()
2641 .map_or(Span::default(), |l| l.span())
2642 + self.code_block_end5.span()
2643 }
2644}
2645
2646#[allow(dead_code)]
2650#[derive(Debug, Clone)]
2651pub struct CodeBlock5List<'t> {
2652 pub code_block5_list_group: CodeBlock5ListGroup<'t>,
2653}
2654
2655impl ToSpan for CodeBlock5List<'_> {
2656 fn span(&self) -> Span {
2657 self.code_block5_list_group.span()
2658 }
2659}
2660
2661#[allow(dead_code)]
2665#[derive(Debug, Clone)]
2666pub enum CodeBlock5ListGroup<'t> {
2667 NoBacktick(CodeBlock5ListGroupNoBacktick<'t>),
2668 Backtick4(CodeBlock5ListGroupBacktick4<'t>),
2669}
2670
2671impl ToSpan for CodeBlock5ListGroup<'_> {
2672 fn span(&self) -> Span {
2673 match self {
2674 CodeBlock5ListGroup::NoBacktick(v) => v.span(),
2675 CodeBlock5ListGroup::Backtick4(v) => v.span(),
2676 }
2677 }
2678}
2679
2680#[allow(dead_code)]
2684#[derive(Debug, Clone)]
2685pub struct CodeBlock6<'t> {
2686 pub code_block_start6: CodeBlockStart6<'t>,
2687 pub code_block6_list: Vec<CodeBlock6List<'t>>,
2688 pub code_block_end6: CodeBlockEnd6<'t>,
2689}
2690
2691impl ToSpan for CodeBlock6<'_> {
2692 fn span(&self) -> Span {
2693 self.code_block_start6.span()
2694 + self
2695 .code_block6_list
2696 .first()
2697 .map_or(Span::default(), |f| f.span())
2698 + self
2699 .code_block6_list
2700 .last()
2701 .map_or(Span::default(), |l| l.span())
2702 + self.code_block_end6.span()
2703 }
2704}
2705
2706#[allow(dead_code)]
2710#[derive(Debug, Clone)]
2711pub struct CodeBlock6List<'t> {
2712 pub code_block6_list_group: CodeBlock6ListGroup<'t>,
2713}
2714
2715impl ToSpan for CodeBlock6List<'_> {
2716 fn span(&self) -> Span {
2717 self.code_block6_list_group.span()
2718 }
2719}
2720
2721#[allow(dead_code)]
2725#[derive(Debug, Clone)]
2726pub enum CodeBlock6ListGroup<'t> {
2727 NoBacktick(CodeBlock6ListGroupNoBacktick<'t>),
2728 Backtick5(CodeBlock6ListGroupBacktick5<'t>),
2729}
2730
2731impl ToSpan for CodeBlock6ListGroup<'_> {
2732 fn span(&self) -> Span {
2733 match self {
2734 CodeBlock6ListGroup::NoBacktick(v) => v.span(),
2735 CodeBlock6ListGroup::Backtick5(v) => v.span(),
2736 }
2737 }
2738}
2739
2740#[allow(dead_code)]
2744#[derive(Debug, Clone)]
2745pub struct CodeBlockEnd3<'t> {
2746 pub code_block_end3: Token<'t>, }
2748
2749impl ToSpan for CodeBlockEnd3<'_> {
2750 fn span(&self) -> Span {
2751 self.code_block_end3.span()
2752 }
2753}
2754
2755#[allow(dead_code)]
2759#[derive(Debug, Clone)]
2760pub struct CodeBlockEnd4<'t> {
2761 pub code_block_end4: Token<'t>, }
2763
2764impl ToSpan for CodeBlockEnd4<'_> {
2765 fn span(&self) -> Span {
2766 self.code_block_end4.span()
2767 }
2768}
2769
2770#[allow(dead_code)]
2774#[derive(Debug, Clone)]
2775pub struct CodeBlockEnd5<'t> {
2776 pub code_block_end5: Token<'t>, }
2778
2779impl ToSpan for CodeBlockEnd5<'_> {
2780 fn span(&self) -> Span {
2781 self.code_block_end5.span()
2782 }
2783}
2784
2785#[allow(dead_code)]
2789#[derive(Debug, Clone)]
2790pub struct CodeBlockEnd6<'t> {
2791 pub code_block_end6: Token<'t>, }
2793
2794impl ToSpan for CodeBlockEnd6<'_> {
2795 fn span(&self) -> Span {
2796 self.code_block_end6.span()
2797 }
2798}
2799
2800#[allow(dead_code)]
2804#[derive(Debug, Clone)]
2805pub struct CodeBlockStart3<'t> {
2806 pub code_block_start3: Token<'t>, }
2808
2809impl ToSpan for CodeBlockStart3<'_> {
2810 fn span(&self) -> Span {
2811 self.code_block_start3.span()
2812 }
2813}
2814
2815#[allow(dead_code)]
2819#[derive(Debug, Clone)]
2820pub struct CodeBlockStart4<'t> {
2821 pub code_block_start4: Token<'t>, }
2823
2824impl ToSpan for CodeBlockStart4<'_> {
2825 fn span(&self) -> Span {
2826 self.code_block_start4.span()
2827 }
2828}
2829
2830#[allow(dead_code)]
2834#[derive(Debug, Clone)]
2835pub struct CodeBlockStart5<'t> {
2836 pub code_block_start5: Token<'t>, }
2838
2839impl ToSpan for CodeBlockStart5<'_> {
2840 fn span(&self) -> Span {
2841 self.code_block_start5.span()
2842 }
2843}
2844
2845#[allow(dead_code)]
2849#[derive(Debug, Clone)]
2850pub struct CodeBlockStart6<'t> {
2851 pub code_block_start6: Token<'t>, }
2853
2854impl ToSpan for CodeBlockStart6<'_> {
2855 fn span(&self) -> Span {
2856 self.code_block_start6.span()
2857 }
2858}
2859
2860#[allow(dead_code)]
2864#[derive(Debug, Clone)]
2865pub struct Comma<'t> {
2866 pub comma: Token<'t>, }
2868
2869impl ToSpan for Comma<'_> {
2870 fn span(&self) -> Span {
2871 self.comma.span()
2872 }
2873}
2874
2875#[allow(dead_code)]
2879#[derive(Debug, Clone)]
2880pub struct Continue<'t> {
2881 pub r#continue: Token<'t>, }
2883
2884impl ToSpan for Continue<'_> {
2885 fn span(&self) -> Span {
2886 self.r#continue.span()
2887 }
2888}
2889
2890#[allow(dead_code)]
2894#[derive(Debug, Clone)]
2895pub enum DelimCode<'t> {
2896 DelimCode3(DelimCodeDelimCode3<'t>),
2897 DelimCode2(DelimCodeDelimCode2<'t>),
2898 DelimCode1(DelimCodeDelimCode1<'t>),
2899}
2900
2901impl ToSpan for DelimCode<'_> {
2902 fn span(&self) -> Span {
2903 match self {
2904 DelimCode::DelimCode3(v) => v.span(),
2905 DelimCode::DelimCode2(v) => v.span(),
2906 DelimCode::DelimCode1(v) => v.span(),
2907 }
2908 }
2909}
2910
2911#[allow(dead_code)]
2915#[derive(Debug, Clone)]
2916pub struct DelimCode1<'t> {
2917 pub delim_code_start1: DelimCodeStart1<'t>,
2918 pub delim_code1_list: Vec<DelimCode1List<'t>>,
2919 pub delim_code_end1: DelimCodeEnd1<'t>,
2920}
2921
2922impl ToSpan for DelimCode1<'_> {
2923 fn span(&self) -> Span {
2924 self.delim_code_start1.span()
2925 + self
2926 .delim_code1_list
2927 .first()
2928 .map_or(Span::default(), |f| f.span())
2929 + self
2930 .delim_code1_list
2931 .last()
2932 .map_or(Span::default(), |l| l.span())
2933 + self.delim_code_end1.span()
2934 }
2935}
2936
2937#[allow(dead_code)]
2941#[derive(Debug, Clone)]
2942pub struct DelimCode1List<'t> {
2943 pub delim_code1_list_group: DelimCode1ListGroup<'t>,
2944}
2945
2946impl ToSpan for DelimCode1List<'_> {
2947 fn span(&self) -> Span {
2948 self.delim_code1_list_group.span()
2949 }
2950}
2951
2952#[allow(dead_code)]
2956#[derive(Debug, Clone)]
2957pub enum DelimCode1ListGroup<'t> {
2958 NoBacktick(DelimCode1ListGroupNoBacktick<'t>),
2959 BacktickDelim(DelimCode1ListGroupBacktickDelim<'t>),
2960}
2961
2962impl ToSpan for DelimCode1ListGroup<'_> {
2963 fn span(&self) -> Span {
2964 match self {
2965 DelimCode1ListGroup::NoBacktick(v) => v.span(),
2966 DelimCode1ListGroup::BacktickDelim(v) => v.span(),
2967 }
2968 }
2969}
2970
2971#[allow(dead_code)]
2975#[derive(Debug, Clone)]
2976pub struct DelimCode2<'t> {
2977 pub delim_code_start2: DelimCodeStart2<'t>,
2978 pub delim_code2_list: Vec<DelimCode2List<'t>>,
2979 pub delim_code_end2: DelimCodeEnd2<'t>,
2980}
2981
2982impl ToSpan for DelimCode2<'_> {
2983 fn span(&self) -> Span {
2984 self.delim_code_start2.span()
2985 + self
2986 .delim_code2_list
2987 .first()
2988 .map_or(Span::default(), |f| f.span())
2989 + self
2990 .delim_code2_list
2991 .last()
2992 .map_or(Span::default(), |l| l.span())
2993 + self.delim_code_end2.span()
2994 }
2995}
2996
2997#[allow(dead_code)]
3001#[derive(Debug, Clone)]
3002pub struct DelimCode2List<'t> {
3003 pub delim_code2_list_group: DelimCode2ListGroup<'t>,
3004}
3005
3006impl ToSpan for DelimCode2List<'_> {
3007 fn span(&self) -> Span {
3008 self.delim_code2_list_group.span()
3009 }
3010}
3011
3012#[allow(dead_code)]
3016#[derive(Debug, Clone)]
3017pub enum DelimCode2ListGroup<'t> {
3018 NoBacktick(DelimCode2ListGroupNoBacktick<'t>),
3019 BacktickDelim(DelimCode2ListGroupBacktickDelim<'t>),
3020}
3021
3022impl ToSpan for DelimCode2ListGroup<'_> {
3023 fn span(&self) -> Span {
3024 match self {
3025 DelimCode2ListGroup::NoBacktick(v) => v.span(),
3026 DelimCode2ListGroup::BacktickDelim(v) => v.span(),
3027 }
3028 }
3029}
3030
3031#[allow(dead_code)]
3035#[derive(Debug, Clone)]
3036pub struct DelimCode3<'t> {
3037 pub delim_code_start3: DelimCodeStart3<'t>,
3038 pub delim_code3_list: Vec<DelimCode3List<'t>>,
3039 pub delim_code_end3: DelimCodeEnd3<'t>,
3040}
3041
3042impl ToSpan for DelimCode3<'_> {
3043 fn span(&self) -> Span {
3044 self.delim_code_start3.span()
3045 + self
3046 .delim_code3_list
3047 .first()
3048 .map_or(Span::default(), |f| f.span())
3049 + self
3050 .delim_code3_list
3051 .last()
3052 .map_or(Span::default(), |l| l.span())
3053 + self.delim_code_end3.span()
3054 }
3055}
3056
3057#[allow(dead_code)]
3061#[derive(Debug, Clone)]
3062pub struct DelimCode3List<'t> {
3063 pub delim_code3_list_group: DelimCode3ListGroup<'t>,
3064}
3065
3066impl ToSpan for DelimCode3List<'_> {
3067 fn span(&self) -> Span {
3068 self.delim_code3_list_group.span()
3069 }
3070}
3071
3072#[allow(dead_code)]
3076#[derive(Debug, Clone)]
3077pub enum DelimCode3ListGroup<'t> {
3078 NoBacktick(DelimCode3ListGroupNoBacktick<'t>),
3079 BacktickDelim(DelimCode3ListGroupBacktickDelim<'t>),
3080}
3081
3082impl ToSpan for DelimCode3ListGroup<'_> {
3083 fn span(&self) -> Span {
3084 match self {
3085 DelimCode3ListGroup::NoBacktick(v) => v.span(),
3086 DelimCode3ListGroup::BacktickDelim(v) => v.span(),
3087 }
3088 }
3089}
3090
3091#[allow(dead_code)]
3095#[derive(Debug, Clone)]
3096pub struct DelimCodeEnd1<'t> {
3097 pub delim_code_end1: Token<'t>, }
3099
3100impl ToSpan for DelimCodeEnd1<'_> {
3101 fn span(&self) -> Span {
3102 self.delim_code_end1.span()
3103 }
3104}
3105
3106#[allow(dead_code)]
3110#[derive(Debug, Clone)]
3111pub struct DelimCodeEnd2<'t> {
3112 pub delim_code_end2: Token<'t>, }
3114
3115impl ToSpan for DelimCodeEnd2<'_> {
3116 fn span(&self) -> Span {
3117 self.delim_code_end2.span()
3118 }
3119}
3120
3121#[allow(dead_code)]
3125#[derive(Debug, Clone)]
3126pub struct DelimCodeEnd3<'t> {
3127 pub delim_code_end3: Token<'t>, }
3129
3130impl ToSpan for DelimCodeEnd3<'_> {
3131 fn span(&self) -> Span {
3132 self.delim_code_end3.span()
3133 }
3134}
3135
3136#[allow(dead_code)]
3140#[derive(Debug, Clone)]
3141pub struct DelimCodeStart1<'t> {
3142 pub delim_code_start1: Token<'t>, }
3144
3145impl ToSpan for DelimCodeStart1<'_> {
3146 fn span(&self) -> Span {
3147 self.delim_code_start1.span()
3148 }
3149}
3150
3151#[allow(dead_code)]
3155#[derive(Debug, Clone)]
3156pub struct DelimCodeStart2<'t> {
3157 pub delim_code_start2: Token<'t>, }
3159
3160impl ToSpan for DelimCodeStart2<'_> {
3161 fn span(&self) -> Span {
3162 self.delim_code_start2.span()
3163 }
3164}
3165
3166#[allow(dead_code)]
3170#[derive(Debug, Clone)]
3171pub struct DelimCodeStart3<'t> {
3172 pub delim_code_start3: Token<'t>, }
3174
3175impl ToSpan for DelimCodeStart3<'_> {
3176 fn span(&self) -> Span {
3177 self.delim_code_start3.span()
3178 }
3179}
3180
3181#[allow(dead_code)]
3185#[derive(Debug, Clone)]
3186pub struct Dot<'t> {
3187 pub dot: Token<'t>, }
3189
3190impl ToSpan for Dot<'_> {
3191 fn span(&self) -> Span {
3192 self.dot.span()
3193 }
3194}
3195
3196#[allow(dead_code)]
3200#[derive(Debug, Clone)]
3201pub struct DotKey<'t> {
3202 pub dot: Dot<'t>,
3203 pub key: Key<'t>,
3204}
3205
3206impl ToSpan for DotKey<'_> {
3207 fn span(&self) -> Span {
3208 self.dot.span() + self.key.span()
3209 }
3210}
3211
3212#[allow(dead_code)]
3216#[derive(Debug, Clone)]
3217pub struct End<'t> {
3218 pub end: Token<'t>, }
3220
3221impl ToSpan for End<'_> {
3222 fn span(&self) -> Span {
3223 self.end.span()
3224 }
3225}
3226
3227#[allow(dead_code)]
3231#[derive(Debug, Clone)]
3232pub struct Eure<'t> {
3233 pub eure_opt: Option<EureOpt<'t>>,
3234 pub eure_list: Vec<EureList<'t>>,
3235 pub eure_list0: Vec<EureList0<'t>>,
3236}
3237
3238impl ToSpan for Eure<'_> {
3239 fn span(&self) -> Span {
3240 self.eure_opt.as_ref().map_or(Span::default(), |o| o.span())
3241 + self.eure_list.first().map_or(Span::default(), |f| f.span())
3242 + self.eure_list.last().map_or(Span::default(), |l| l.span())
3243 + self
3244 .eure_list0
3245 .first()
3246 .map_or(Span::default(), |f| f.span())
3247 + self.eure_list0.last().map_or(Span::default(), |l| l.span())
3248 }
3249}
3250
3251#[allow(dead_code)]
3255#[derive(Debug, Clone)]
3256pub struct EureList<'t> {
3257 pub binding: Binding<'t>,
3258}
3259
3260impl ToSpan for EureList<'_> {
3261 fn span(&self) -> Span {
3262 self.binding.span()
3263 }
3264}
3265
3266#[allow(dead_code)]
3270#[derive(Debug, Clone)]
3271pub struct EureList0<'t> {
3272 pub section: Section<'t>,
3273}
3274
3275impl ToSpan for EureList0<'_> {
3276 fn span(&self) -> Span {
3277 self.section.span()
3278 }
3279}
3280
3281#[allow(dead_code)]
3285#[derive(Debug, Clone)]
3286pub struct EureOpt<'t> {
3287 pub top_level_binding: TopLevelBinding<'t>,
3288}
3289
3290impl ToSpan for EureOpt<'_> {
3291 fn span(&self) -> Span {
3292 self.top_level_binding.span()
3293 }
3294}
3295
3296#[allow(dead_code)]
3300#[derive(Debug, Clone)]
3301pub struct Ext<'t> {
3302 pub ext: Token<'t>, }
3304
3305impl ToSpan for Ext<'_> {
3306 fn span(&self) -> Span {
3307 self.ext.span()
3308 }
3309}
3310
3311#[allow(dead_code)]
3315#[derive(Debug, Clone)]
3316pub struct ExtensionNameSpace<'t> {
3317 pub ext: Ext<'t>,
3318 pub key_ident: KeyIdent<'t>,
3319}
3320
3321impl ToSpan for ExtensionNameSpace<'_> {
3322 fn span(&self) -> Span {
3323 self.ext.span() + self.key_ident.span()
3324 }
3325}
3326
3327#[allow(dead_code)]
3331#[derive(Debug, Clone)]
3332pub struct False<'t> {
3333 pub r#false: Token<'t>, }
3335
3336impl ToSpan for False<'_> {
3337 fn span(&self) -> Span {
3338 self.r#false.span()
3339 }
3340}
3341
3342#[allow(dead_code)]
3346#[derive(Debug, Clone)]
3347pub enum FirstKey<'t> {
3348 Key(FirstKeyKey<'t>),
3349 ArrayMarker(FirstKeyArrayMarker<'t>),
3350}
3351
3352impl ToSpan for FirstKey<'_> {
3353 fn span(&self) -> Span {
3354 match self {
3355 FirstKey::Key(v) => v.span(),
3356 FirstKey::ArrayMarker(v) => v.span(),
3357 }
3358 }
3359}
3360
3361#[allow(dead_code)]
3365#[derive(Debug, Clone)]
3366pub struct FlatBody<'t> {
3367 pub section_head: SectionHead<'t>,
3368 pub flat_body_list: Vec<FlatBodyList<'t>>,
3369}
3370
3371impl ToSpan for FlatBody<'_> {
3372 fn span(&self) -> Span {
3373 self.section_head.span()
3374 + self
3375 .flat_body_list
3376 .first()
3377 .map_or(Span::default(), |f| f.span())
3378 + self
3379 .flat_body_list
3380 .last()
3381 .map_or(Span::default(), |l| l.span())
3382 }
3383}
3384
3385#[allow(dead_code)]
3389#[derive(Debug, Clone)]
3390pub struct FlatBodyList<'t> {
3391 pub binding: Binding<'t>,
3392}
3393
3394impl ToSpan for FlatBodyList<'_> {
3395 fn span(&self) -> Span {
3396 self.binding.span()
3397 }
3398}
3399
3400#[allow(dead_code)]
3404#[derive(Debug, Clone)]
3405pub enum FlatRootBinding<'t> {
3406 ValueBinding(FlatRootBindingValueBinding<'t>),
3407 TextBinding(FlatRootBindingTextBinding<'t>),
3408}
3409
3410impl ToSpan for FlatRootBinding<'_> {
3411 fn span(&self) -> Span {
3412 match self {
3413 FlatRootBinding::ValueBinding(v) => v.span(),
3414 FlatRootBinding::TextBinding(v) => v.span(),
3415 }
3416 }
3417}
3418
3419#[allow(dead_code)]
3423#[derive(Debug, Clone)]
3424pub struct Float<'t> {
3425 pub float: Token<'t>, }
3427
3428impl ToSpan for Float<'_> {
3429 fn span(&self) -> Span {
3430 self.float.span()
3431 }
3432}
3433
3434#[allow(dead_code)]
3438#[derive(Debug, Clone)]
3439pub struct GrammarNewline<'t> {
3440 pub grammar_newline: Token<'t>, }
3442
3443impl ToSpan for GrammarNewline<'_> {
3444 fn span(&self) -> Span {
3445 self.grammar_newline.span()
3446 }
3447}
3448
3449#[allow(dead_code)]
3453#[derive(Debug, Clone)]
3454pub struct Hole<'t> {
3455 pub hole: Token<'t>, }
3457
3458impl ToSpan for Hole<'_> {
3459 fn span(&self) -> Span {
3460 self.hole.span()
3461 }
3462}
3463
3464#[allow(dead_code)]
3468#[derive(Debug, Clone)]
3469pub struct Ident<'t> {
3470 pub ident: Token<'t>, }
3472
3473impl ToSpan for Ident<'_> {
3474 fn span(&self) -> Span {
3475 self.ident.span()
3476 }
3477}
3478
3479#[allow(dead_code)]
3483#[derive(Debug, Clone)]
3484pub struct Inf<'t> {
3485 pub inf: Token<'t>, }
3487
3488impl ToSpan for Inf<'_> {
3489 fn span(&self) -> Span {
3490 self.inf.span()
3491 }
3492}
3493
3494#[allow(dead_code)]
3498#[derive(Debug, Clone)]
3499pub enum InlineCode<'t> {
3500 DelimCode(InlineCodeDelimCode<'t>),
3501 InlineCode1(InlineCodeInlineCode1<'t>),
3502}
3503
3504impl ToSpan for InlineCode<'_> {
3505 fn span(&self) -> Span {
3506 match self {
3507 InlineCode::DelimCode(v) => v.span(),
3508 InlineCode::InlineCode1(v) => v.span(),
3509 }
3510 }
3511}
3512
3513#[allow(dead_code)]
3517#[derive(Debug, Clone)]
3518pub struct InlineCode1<'t> {
3519 pub inline_code1: Token<'t>, }
3521
3522impl ToSpan for InlineCode1<'_> {
3523 fn span(&self) -> Span {
3524 self.inline_code1.span()
3525 }
3526}
3527
3528#[allow(dead_code)]
3532#[derive(Debug, Clone)]
3533pub struct Integer<'t> {
3534 pub integer: Token<'t>, }
3536
3537impl ToSpan for Integer<'_> {
3538 fn span(&self) -> Span {
3539 self.integer.span()
3540 }
3541}
3542
3543#[allow(dead_code)]
3547#[derive(Debug, Clone)]
3548pub enum Key<'t> {
3549 KeyIdent(KeyKeyIdent<'t>),
3550 ExtensionNameSpace(KeyExtensionNameSpace<'t>),
3551 String(KeyString<'t>),
3552 Integer(KeyInteger<'t>),
3553 Float(KeyFloat<'t>),
3554 KeyTuple(KeyKeyTuple<'t>),
3555 TupleIndex(KeyTupleIndex<'t>),
3556 Hole(KeyHole<'t>),
3557}
3558
3559impl ToSpan for Key<'_> {
3560 fn span(&self) -> Span {
3561 match self {
3562 Key::KeyIdent(v) => v.span(),
3563 Key::ExtensionNameSpace(v) => v.span(),
3564 Key::String(v) => v.span(),
3565 Key::Integer(v) => v.span(),
3566 Key::Float(v) => v.span(),
3567 Key::KeyTuple(v) => v.span(),
3568 Key::TupleIndex(v) => v.span(),
3569 Key::Hole(v) => v.span(),
3570 }
3571 }
3572}
3573
3574#[allow(dead_code)]
3578#[derive(Debug, Clone)]
3579pub enum KeyIdent<'t> {
3580 Ident(KeyIdentIdent<'t>),
3581 True(KeyIdentTrue<'t>),
3582 False(KeyIdentFalse<'t>),
3583 Null(KeyIdentNull<'t>),
3584}
3585
3586impl ToSpan for KeyIdent<'_> {
3587 fn span(&self) -> Span {
3588 match self {
3589 KeyIdent::Ident(v) => v.span(),
3590 KeyIdent::True(v) => v.span(),
3591 KeyIdent::False(v) => v.span(),
3592 KeyIdent::Null(v) => v.span(),
3593 }
3594 }
3595}
3596
3597#[allow(dead_code)]
3601#[derive(Debug, Clone)]
3602pub enum KeyTail<'t> {
3603 DotKey(KeyTailDotKey<'t>),
3604 ArrayMarker(KeyTailArrayMarker<'t>),
3605}
3606
3607impl ToSpan for KeyTail<'_> {
3608 fn span(&self) -> Span {
3609 match self {
3610 KeyTail::DotKey(v) => v.span(),
3611 KeyTail::ArrayMarker(v) => v.span(),
3612 }
3613 }
3614}
3615
3616#[allow(dead_code)]
3620#[derive(Debug, Clone)]
3621pub struct KeyTuple<'t> {
3622 pub l_paren: LParen<'t>,
3623 pub key_tuple_opt: Option<KeyTupleOpt<'t>>,
3624 pub r_paren: RParen<'t>,
3625}
3626
3627impl ToSpan for KeyTuple<'_> {
3628 fn span(&self) -> Span {
3629 self.l_paren.span()
3630 + self
3631 .key_tuple_opt
3632 .as_ref()
3633 .map_or(Span::default(), |o| o.span())
3634 + self.r_paren.span()
3635 }
3636}
3637
3638#[allow(dead_code)]
3642#[derive(Debug, Clone)]
3643pub struct KeyTupleElements<'t> {
3644 pub key_value: KeyValue<'t>,
3645 pub key_tuple_elements_opt: Option<Box<KeyTupleElementsOpt<'t>>>,
3646}
3647
3648impl ToSpan for KeyTupleElements<'_> {
3649 fn span(&self) -> Span {
3650 self.key_value.span()
3651 + self
3652 .key_tuple_elements_opt
3653 .as_ref()
3654 .map_or(Span::default(), |o| o.span())
3655 }
3656}
3657
3658#[allow(dead_code)]
3662#[derive(Debug, Clone)]
3663pub struct KeyTupleElementsOpt<'t> {
3664 pub key_tuple_elements_tail: KeyTupleElementsTail<'t>,
3665}
3666
3667impl ToSpan for KeyTupleElementsOpt<'_> {
3668 fn span(&self) -> Span {
3669 self.key_tuple_elements_tail.span()
3670 }
3671}
3672
3673#[allow(dead_code)]
3677#[derive(Debug, Clone)]
3678pub struct KeyTupleElementsTail<'t> {
3679 pub comma: Comma<'t>,
3680 pub key_tuple_elements_tail_opt: Option<KeyTupleElementsTailOpt<'t>>,
3681}
3682
3683impl ToSpan for KeyTupleElementsTail<'_> {
3684 fn span(&self) -> Span {
3685 self.comma.span()
3686 + self
3687 .key_tuple_elements_tail_opt
3688 .as_ref()
3689 .map_or(Span::default(), |o| o.span())
3690 }
3691}
3692
3693#[allow(dead_code)]
3697#[derive(Debug, Clone)]
3698pub struct KeyTupleElementsTailOpt<'t> {
3699 pub key_tuple_elements: KeyTupleElements<'t>,
3700}
3701
3702impl ToSpan for KeyTupleElementsTailOpt<'_> {
3703 fn span(&self) -> Span {
3704 self.key_tuple_elements.span()
3705 }
3706}
3707
3708#[allow(dead_code)]
3712#[derive(Debug, Clone)]
3713pub struct KeyTupleOpt<'t> {
3714 pub key_tuple_elements: KeyTupleElements<'t>,
3715}
3716
3717impl ToSpan for KeyTupleOpt<'_> {
3718 fn span(&self) -> Span {
3719 self.key_tuple_elements.span()
3720 }
3721}
3722
3723#[allow(dead_code)]
3727#[derive(Debug, Clone)]
3728pub enum KeyValue<'t> {
3729 Integer(KeyValueInteger<'t>),
3730 Boolean(KeyValueBoolean<'t>),
3731 Str(KeyValueStr<'t>),
3732 KeyTuple(KeyValueKeyTuple<'t>),
3733 Hole(KeyValueHole<'t>),
3734}
3735
3736impl ToSpan for KeyValue<'_> {
3737 fn span(&self) -> Span {
3738 match self {
3739 KeyValue::Integer(v) => v.span(),
3740 KeyValue::Boolean(v) => v.span(),
3741 KeyValue::Str(v) => v.span(),
3742 KeyValue::KeyTuple(v) => v.span(),
3743 KeyValue::Hole(v) => v.span(),
3744 }
3745 }
3746}
3747
3748#[allow(dead_code)]
3752#[derive(Debug, Clone)]
3753pub struct Keys<'t> {
3754 pub first_key: FirstKey<'t>,
3755 pub keys_list: Vec<KeysList<'t>>,
3756}
3757
3758impl ToSpan for Keys<'_> {
3759 fn span(&self) -> Span {
3760 self.first_key.span()
3761 + self.keys_list.first().map_or(Span::default(), |f| f.span())
3762 + self.keys_list.last().map_or(Span::default(), |l| l.span())
3763 }
3764}
3765
3766#[allow(dead_code)]
3770#[derive(Debug, Clone)]
3771pub struct KeysList<'t> {
3772 pub key_tail: KeyTail<'t>,
3773}
3774
3775impl ToSpan for KeysList<'_> {
3776 fn span(&self) -> Span {
3777 self.key_tail.span()
3778 }
3779}
3780
3781#[allow(dead_code)]
3785#[derive(Debug, Clone)]
3786pub struct LParen<'t> {
3787 pub l_paren: Token<'t>, }
3789
3790impl ToSpan for LParen<'_> {
3791 fn span(&self) -> Span {
3792 self.l_paren.span()
3793 }
3794}
3795
3796#[allow(dead_code)]
3800#[derive(Debug, Clone)]
3801pub struct LitStr<'t> {
3802 pub lit_str: Token<'t>, }
3804
3805impl ToSpan for LitStr<'_> {
3806 fn span(&self) -> Span {
3807 self.lit_str.span()
3808 }
3809}
3810
3811#[allow(dead_code)]
3815#[derive(Debug, Clone)]
3816pub struct LitStr1<'t> {
3817 pub lit_str1_start: LitStr1Start<'t>,
3818 pub lit_str1_list: Vec<LitStr1List<'t>>,
3819 pub lit_str1_end: LitStr1End<'t>,
3820}
3821
3822impl ToSpan for LitStr1<'_> {
3823 fn span(&self) -> Span {
3824 self.lit_str1_start.span()
3825 + self
3826 .lit_str1_list
3827 .first()
3828 .map_or(Span::default(), |f| f.span())
3829 + self
3830 .lit_str1_list
3831 .last()
3832 .map_or(Span::default(), |l| l.span())
3833 + self.lit_str1_end.span()
3834 }
3835}
3836
3837#[allow(dead_code)]
3841#[derive(Debug, Clone)]
3842pub struct LitStr1End<'t> {
3843 pub lit_str1_end: Token<'t>, }
3845
3846impl ToSpan for LitStr1End<'_> {
3847 fn span(&self) -> Span {
3848 self.lit_str1_end.span()
3849 }
3850}
3851
3852#[allow(dead_code)]
3856#[derive(Debug, Clone)]
3857pub struct LitStr1List<'t> {
3858 pub lit_str1_list_group: LitStr1ListGroup<'t>,
3859}
3860
3861impl ToSpan for LitStr1List<'_> {
3862 fn span(&self) -> Span {
3863 self.lit_str1_list_group.span()
3864 }
3865}
3866
3867#[allow(dead_code)]
3871#[derive(Debug, Clone)]
3872pub enum LitStr1ListGroup<'t> {
3873 NoSQuote(LitStr1ListGroupNoSQuote<'t>),
3874 SQuote(LitStr1ListGroupSQuote<'t>),
3875}
3876
3877impl ToSpan for LitStr1ListGroup<'_> {
3878 fn span(&self) -> Span {
3879 match self {
3880 LitStr1ListGroup::NoSQuote(v) => v.span(),
3881 LitStr1ListGroup::SQuote(v) => v.span(),
3882 }
3883 }
3884}
3885
3886#[allow(dead_code)]
3890#[derive(Debug, Clone)]
3891pub struct LitStr1Start<'t> {
3892 pub lit_str1_start: Token<'t>, }
3894
3895impl ToSpan for LitStr1Start<'_> {
3896 fn span(&self) -> Span {
3897 self.lit_str1_start.span()
3898 }
3899}
3900
3901#[allow(dead_code)]
3905#[derive(Debug, Clone)]
3906pub struct LitStr2<'t> {
3907 pub lit_str2_start: LitStr2Start<'t>,
3908 pub lit_str2_list: Vec<LitStr2List<'t>>,
3909 pub lit_str2_end: LitStr2End<'t>,
3910}
3911
3912impl ToSpan for LitStr2<'_> {
3913 fn span(&self) -> Span {
3914 self.lit_str2_start.span()
3915 + self
3916 .lit_str2_list
3917 .first()
3918 .map_or(Span::default(), |f| f.span())
3919 + self
3920 .lit_str2_list
3921 .last()
3922 .map_or(Span::default(), |l| l.span())
3923 + self.lit_str2_end.span()
3924 }
3925}
3926
3927#[allow(dead_code)]
3931#[derive(Debug, Clone)]
3932pub struct LitStr2End<'t> {
3933 pub lit_str2_end: Token<'t>, }
3935
3936impl ToSpan for LitStr2End<'_> {
3937 fn span(&self) -> Span {
3938 self.lit_str2_end.span()
3939 }
3940}
3941
3942#[allow(dead_code)]
3946#[derive(Debug, Clone)]
3947pub struct LitStr2List<'t> {
3948 pub lit_str2_list_group: LitStr2ListGroup<'t>,
3949}
3950
3951impl ToSpan for LitStr2List<'_> {
3952 fn span(&self) -> Span {
3953 self.lit_str2_list_group.span()
3954 }
3955}
3956
3957#[allow(dead_code)]
3961#[derive(Debug, Clone)]
3962pub enum LitStr2ListGroup<'t> {
3963 NoSQuote(LitStr2ListGroupNoSQuote<'t>),
3964 SQuote(LitStr2ListGroupSQuote<'t>),
3965}
3966
3967impl ToSpan for LitStr2ListGroup<'_> {
3968 fn span(&self) -> Span {
3969 match self {
3970 LitStr2ListGroup::NoSQuote(v) => v.span(),
3971 LitStr2ListGroup::SQuote(v) => v.span(),
3972 }
3973 }
3974}
3975
3976#[allow(dead_code)]
3980#[derive(Debug, Clone)]
3981pub struct LitStr2Start<'t> {
3982 pub lit_str2_start: Token<'t>, }
3984
3985impl ToSpan for LitStr2Start<'_> {
3986 fn span(&self) -> Span {
3987 self.lit_str2_start.span()
3988 }
3989}
3990
3991#[allow(dead_code)]
3995#[derive(Debug, Clone)]
3996pub struct LitStr3<'t> {
3997 pub lit_str3_start: LitStr3Start<'t>,
3998 pub lit_str3_list: Vec<LitStr3List<'t>>,
3999 pub lit_str3_end: LitStr3End<'t>,
4000}
4001
4002impl ToSpan for LitStr3<'_> {
4003 fn span(&self) -> Span {
4004 self.lit_str3_start.span()
4005 + self
4006 .lit_str3_list
4007 .first()
4008 .map_or(Span::default(), |f| f.span())
4009 + self
4010 .lit_str3_list
4011 .last()
4012 .map_or(Span::default(), |l| l.span())
4013 + self.lit_str3_end.span()
4014 }
4015}
4016
4017#[allow(dead_code)]
4021#[derive(Debug, Clone)]
4022pub struct LitStr3End<'t> {
4023 pub lit_str3_end: Token<'t>, }
4025
4026impl ToSpan for LitStr3End<'_> {
4027 fn span(&self) -> Span {
4028 self.lit_str3_end.span()
4029 }
4030}
4031
4032#[allow(dead_code)]
4036#[derive(Debug, Clone)]
4037pub struct LitStr3List<'t> {
4038 pub lit_str3_list_group: LitStr3ListGroup<'t>,
4039}
4040
4041impl ToSpan for LitStr3List<'_> {
4042 fn span(&self) -> Span {
4043 self.lit_str3_list_group.span()
4044 }
4045}
4046
4047#[allow(dead_code)]
4051#[derive(Debug, Clone)]
4052pub enum LitStr3ListGroup<'t> {
4053 NoSQuote(LitStr3ListGroupNoSQuote<'t>),
4054 SQuote(LitStr3ListGroupSQuote<'t>),
4055}
4056
4057impl ToSpan for LitStr3ListGroup<'_> {
4058 fn span(&self) -> Span {
4059 match self {
4060 LitStr3ListGroup::NoSQuote(v) => v.span(),
4061 LitStr3ListGroup::SQuote(v) => v.span(),
4062 }
4063 }
4064}
4065
4066#[allow(dead_code)]
4070#[derive(Debug, Clone)]
4071pub struct LitStr3Start<'t> {
4072 pub lit_str3_start: Token<'t>, }
4074
4075impl ToSpan for LitStr3Start<'_> {
4076 fn span(&self) -> Span {
4077 self.lit_str3_start.span()
4078 }
4079}
4080
4081#[allow(dead_code)]
4085#[derive(Debug, Clone)]
4086pub struct MapBind<'t> {
4087 pub map_bind: Token<'t>, }
4089
4090impl ToSpan for MapBind<'_> {
4091 fn span(&self) -> Span {
4092 self.map_bind.span()
4093 }
4094}
4095
4096#[allow(dead_code)]
4100#[derive(Debug, Clone)]
4101pub struct NaN<'t> {
4102 pub na_n: Token<'t>, }
4104
4105impl ToSpan for NaN<'_> {
4106 fn span(&self) -> Span {
4107 self.na_n.span()
4108 }
4109}
4110
4111#[allow(dead_code)]
4115#[derive(Debug, Clone)]
4116pub struct NewlineBind<'t> {
4117 pub newline_bind: Token<'t>, }
4119
4120impl ToSpan for NewlineBind<'_> {
4121 fn span(&self) -> Span {
4122 self.newline_bind.span()
4123 }
4124}
4125
4126#[allow(dead_code)]
4130#[derive(Debug, Clone)]
4131pub struct NewlineHead<'t> {
4132 pub grammar_newline: GrammarNewline<'t>,
4133 pub newline_head_opt: Option<NewlineHeadOpt<'t>>,
4134}
4135
4136impl ToSpan for NewlineHead<'_> {
4137 fn span(&self) -> Span {
4138 self.grammar_newline.span()
4139 + self
4140 .newline_head_opt
4141 .as_ref()
4142 .map_or(Span::default(), |o| o.span())
4143 }
4144}
4145
4146#[allow(dead_code)]
4150#[derive(Debug, Clone)]
4151pub struct NewlineHeadOpt<'t> {
4152 pub flat_root_binding: FlatRootBinding<'t>,
4153}
4154
4155impl ToSpan for NewlineHeadOpt<'_> {
4156 fn span(&self) -> Span {
4157 self.flat_root_binding.span()
4158 }
4159}
4160
4161#[allow(dead_code)]
4165#[derive(Debug, Clone)]
4166pub struct NewlineTextStart<'t> {
4167 pub newline_text_start: Token<'t>, }
4169
4170impl ToSpan for NewlineTextStart<'_> {
4171 fn span(&self) -> Span {
4172 self.newline_text_start.span()
4173 }
4174}
4175
4176#[allow(dead_code)]
4180#[derive(Debug, Clone)]
4181pub struct NoBacktick<'t> {
4182 pub no_backtick: Token<'t>, }
4184
4185impl ToSpan for NoBacktick<'_> {
4186 fn span(&self) -> Span {
4187 self.no_backtick.span()
4188 }
4189}
4190
4191#[allow(dead_code)]
4195#[derive(Debug, Clone)]
4196pub struct NoSQuote<'t> {
4197 pub no_s_quote: Token<'t>, }
4199
4200impl ToSpan for NoSQuote<'_> {
4201 fn span(&self) -> Span {
4202 self.no_s_quote.span()
4203 }
4204}
4205
4206#[allow(dead_code)]
4210#[derive(Debug, Clone)]
4211pub struct Null<'t> {
4212 pub null: Token<'t>, }
4214
4215impl ToSpan for Null<'_> {
4216 fn span(&self) -> Span {
4217 self.null.span()
4218 }
4219}
4220
4221#[allow(dead_code)]
4225#[derive(Debug, Clone)]
4226pub enum Number<'t> {
4227 Float(NumberFloat<'t>),
4228 Integer(NumberInteger<'t>),
4229 Inf(NumberInf<'t>),
4230 NaN(NumberNaN<'t>),
4231}
4232
4233impl ToSpan for Number<'_> {
4234 fn span(&self) -> Span {
4235 match self {
4236 Number::Float(v) => v.span(),
4237 Number::Integer(v) => v.span(),
4238 Number::Inf(v) => v.span(),
4239 Number::NaN(v) => v.span(),
4240 }
4241 }
4242}
4243
4244#[allow(dead_code)]
4248#[derive(Debug, Clone)]
4249pub struct Object<'t> {
4250 pub begin: Begin<'t>,
4251 pub object_opt: Option<ObjectOpt<'t>>,
4252 pub object_list: Vec<ObjectList<'t>>,
4253 pub end: End<'t>,
4254}
4255
4256impl ToSpan for Object<'_> {
4257 fn span(&self) -> Span {
4258 self.begin.span()
4259 + self
4260 .object_opt
4261 .as_ref()
4262 .map_or(Span::default(), |o| o.span())
4263 + self
4264 .object_list
4265 .first()
4266 .map_or(Span::default(), |f| f.span())
4267 + self
4268 .object_list
4269 .last()
4270 .map_or(Span::default(), |l| l.span())
4271 + self.end.span()
4272 }
4273}
4274
4275#[allow(dead_code)]
4279#[derive(Debug, Clone)]
4280pub struct ObjectList<'t> {
4281 pub keys: Keys<'t>,
4282 pub map_bind: MapBind<'t>,
4283 pub value: Value<'t>,
4284 pub object_opt0: Option<ObjectOpt0<'t>>,
4285}
4286
4287impl ToSpan for ObjectList<'_> {
4288 fn span(&self) -> Span {
4289 self.keys.span()
4290 + self.map_bind.span()
4291 + self.value.span()
4292 + self
4293 .object_opt0
4294 .as_ref()
4295 .map_or(Span::default(), |o| o.span())
4296 }
4297}
4298
4299#[allow(dead_code)]
4303#[derive(Debug, Clone)]
4304pub struct ObjectOpt<'t> {
4305 pub value_binding: ValueBinding<'t>,
4306 pub object_opt1: Option<ObjectOpt1<'t>>,
4307}
4308
4309impl ToSpan for ObjectOpt<'_> {
4310 fn span(&self) -> Span {
4311 self.value_binding.span()
4312 + self
4313 .object_opt1
4314 .as_ref()
4315 .map_or(Span::default(), |o| o.span())
4316 }
4317}
4318
4319#[allow(dead_code)]
4323#[derive(Debug, Clone)]
4324pub struct ObjectOpt0<'t> {
4325 pub comma: Comma<'t>,
4326}
4327
4328impl ToSpan for ObjectOpt0<'_> {
4329 fn span(&self) -> Span {
4330 self.comma.span()
4331 }
4332}
4333
4334#[allow(dead_code)]
4338#[derive(Debug, Clone)]
4339pub struct ObjectOpt1<'t> {
4340 pub comma: Comma<'t>,
4341}
4342
4343impl ToSpan for ObjectOpt1<'_> {
4344 fn span(&self) -> Span {
4345 self.comma.span()
4346 }
4347}
4348
4349#[allow(dead_code)]
4353#[derive(Debug, Clone)]
4354pub struct RParen<'t> {
4355 pub r_paren: Token<'t>, }
4357
4358impl ToSpan for RParen<'_> {
4359 fn span(&self) -> Span {
4360 self.r_paren.span()
4361 }
4362}
4363
4364#[allow(dead_code)]
4368#[derive(Debug, Clone)]
4369pub enum RootBinding<'t> {
4370 RootValueBinding(RootBindingRootValueBinding<'t>),
4371 RootTextBinding(RootBindingRootTextBinding<'t>),
4372}
4373
4374impl ToSpan for RootBinding<'_> {
4375 fn span(&self) -> Span {
4376 match self {
4377 RootBinding::RootValueBinding(v) => v.span(),
4378 RootBinding::RootTextBinding(v) => v.span(),
4379 }
4380 }
4381}
4382
4383#[allow(dead_code)]
4387#[derive(Debug, Clone)]
4388pub struct RootTextBinding<'t> {
4389 pub newline_text_start: NewlineTextStart<'t>,
4390 pub root_text_binding_opt: Option<RootTextBindingOpt>,
4391 pub root_text_binding_opt0: Option<RootTextBindingOpt0<'t>>,
4392 pub root_text_binding_opt1: Option<RootTextBindingOpt1<'t>>,
4393}
4394
4395impl ToSpan for RootTextBinding<'_> {
4396 fn span(&self) -> Span {
4397 self.newline_text_start.span()
4398 + self
4399 .root_text_binding_opt
4400 .as_ref()
4401 .map_or(Span::default(), |o| o.span())
4402 + self
4403 .root_text_binding_opt0
4404 .as_ref()
4405 .map_or(Span::default(), |o| o.span())
4406 + self
4407 .root_text_binding_opt1
4408 .as_ref()
4409 .map_or(Span::default(), |o| o.span())
4410 }
4411}
4412
4413#[allow(dead_code)]
4417#[derive(Debug, Clone)]
4418pub struct RootTextBindingOpt {}
4419
4420impl ToSpan for RootTextBindingOpt {
4421 fn span(&self) -> Span {
4422 Span::default()
4423 }
4424}
4425
4426#[allow(dead_code)]
4430#[derive(Debug, Clone)]
4431pub struct RootTextBindingOpt0<'t> {
4432 pub text: Text<'t>,
4433}
4434
4435impl ToSpan for RootTextBindingOpt0<'_> {
4436 fn span(&self) -> Span {
4437 self.text.span()
4438 }
4439}
4440
4441#[allow(dead_code)]
4445#[derive(Debug, Clone)]
4446pub struct RootTextBindingOpt1<'t> {
4447 pub grammar_newline: GrammarNewline<'t>,
4448}
4449
4450impl ToSpan for RootTextBindingOpt1<'_> {
4451 fn span(&self) -> Span {
4452 self.grammar_newline.span()
4453 }
4454}
4455
4456#[allow(dead_code)]
4460#[derive(Debug, Clone)]
4461pub struct RootValueBinding<'t> {
4462 pub newline_bind: NewlineBind<'t>,
4463 pub value: Value<'t>,
4464}
4465
4466impl ToSpan for RootValueBinding<'_> {
4467 fn span(&self) -> Span {
4468 self.newline_bind.span() + self.value.span()
4469 }
4470}
4471
4472#[allow(dead_code)]
4476#[derive(Debug, Clone)]
4477pub struct SQuote<'t> {
4478 pub s_quote: Token<'t>, }
4480
4481impl ToSpan for SQuote<'_> {
4482 fn span(&self) -> Span {
4483 self.s_quote.span()
4484 }
4485}
4486
4487#[allow(dead_code)]
4491#[derive(Debug, Clone)]
4492pub struct Section<'t> {
4493 pub at: At<'t>,
4494 pub keys: Keys<'t>,
4495 pub section_body: SectionBody<'t>,
4496}
4497
4498impl ToSpan for Section<'_> {
4499 fn span(&self) -> Span {
4500 self.at.span() + self.keys.span() + self.section_body.span()
4501 }
4502}
4503
4504#[allow(dead_code)]
4508#[derive(Debug, Clone)]
4509pub struct SectionBinding<'t> {
4510 pub begin: Begin<'t>,
4511 pub eure: Eure<'t>,
4512 pub end: End<'t>,
4513}
4514
4515impl ToSpan for SectionBinding<'_> {
4516 fn span(&self) -> Span {
4517 self.begin.span() + self.eure.span() + self.end.span()
4518 }
4519}
4520
4521#[allow(dead_code)]
4525#[derive(Debug, Clone)]
4526pub enum SectionBody<'t> {
4527 SectionBodyOpt(SectionBodySectionBodyOpt<'t>),
4528 BlockBody(SectionBodyBlockBody<'t>),
4529}
4530
4531impl ToSpan for SectionBody<'_> {
4532 fn span(&self) -> Span {
4533 match self {
4534 SectionBody::SectionBodyOpt(v) => v.span(),
4535 SectionBody::BlockBody(v) => v.span(),
4536 }
4537 }
4538}
4539
4540#[allow(dead_code)]
4544#[derive(Debug, Clone)]
4545pub struct SectionBodyOpt<'t> {
4546 pub flat_body: FlatBody<'t>,
4547}
4548
4549impl ToSpan for SectionBodyOpt<'_> {
4550 fn span(&self) -> Span {
4551 self.flat_body.span()
4552 }
4553}
4554
4555#[allow(dead_code)]
4559#[derive(Debug, Clone)]
4560pub enum SectionHead<'t> {
4561 RootBinding(SectionHeadRootBinding<'t>),
4562 NewlineHead(SectionHeadNewlineHead<'t>),
4563}
4564
4565impl ToSpan for SectionHead<'_> {
4566 fn span(&self) -> Span {
4567 match self {
4568 SectionHead::RootBinding(v) => v.span(),
4569 SectionHead::NewlineHead(v) => v.span(),
4570 }
4571 }
4572}
4573
4574#[allow(dead_code)]
4578#[derive(Debug, Clone)]
4579pub struct Str<'t> {
4580 pub str: Token<'t>, }
4582
4583impl ToSpan for Str<'_> {
4584 fn span(&self) -> Span {
4585 self.str.span()
4586 }
4587}
4588
4589#[allow(dead_code)]
4593#[derive(Debug, Clone)]
4594pub enum String<'t> {
4595 Str(StringStr<'t>),
4596 LitStr(StringLitStr<'t>),
4597 LitStr1(StringLitStr1<'t>),
4598 LitStr2(StringLitStr2<'t>),
4599 LitStr3(StringLitStr3<'t>),
4600}
4601
4602impl ToSpan for String<'_> {
4603 fn span(&self) -> Span {
4604 match self {
4605 String::Str(v) => v.span(),
4606 String::LitStr(v) => v.span(),
4607 String::LitStr1(v) => v.span(),
4608 String::LitStr2(v) => v.span(),
4609 String::LitStr3(v) => v.span(),
4610 }
4611 }
4612}
4613
4614#[allow(dead_code)]
4618#[derive(Debug, Clone)]
4619pub struct Strings<'t> {
4620 pub string: String<'t>,
4621 pub strings_list: Vec<StringsList<'t>>,
4622}
4623
4624impl ToSpan for Strings<'_> {
4625 fn span(&self) -> Span {
4626 self.string.span()
4627 + self
4628 .strings_list
4629 .first()
4630 .map_or(Span::default(), |f| f.span())
4631 + self
4632 .strings_list
4633 .last()
4634 .map_or(Span::default(), |l| l.span())
4635 }
4636}
4637
4638#[allow(dead_code)]
4642#[derive(Debug, Clone)]
4643pub struct StringsList<'t> {
4644 pub r#continue: Continue<'t>,
4645 pub string: String<'t>,
4646}
4647
4648impl ToSpan for StringsList<'_> {
4649 fn span(&self) -> Span {
4650 self.r#continue.span() + self.string.span()
4651 }
4652}
4653
4654#[allow(dead_code)]
4658#[derive(Debug, Clone)]
4659pub struct Text<'t> {
4660 pub text: Token<'t>, }
4662
4663impl ToSpan for Text<'_> {
4664 fn span(&self) -> Span {
4665 self.text.span()
4666 }
4667}
4668
4669#[allow(dead_code)]
4673#[derive(Debug, Clone)]
4674pub struct TextBinding<'t> {
4675 pub text_start: TextStart<'t>,
4676 pub text_binding_opt: Option<TextBindingOpt>,
4677 pub text_binding_opt0: Option<TextBindingOpt0<'t>>,
4678 pub text_binding_opt1: Option<TextBindingOpt1<'t>>,
4679}
4680
4681impl ToSpan for TextBinding<'_> {
4682 fn span(&self) -> Span {
4683 self.text_start.span()
4684 + self
4685 .text_binding_opt
4686 .as_ref()
4687 .map_or(Span::default(), |o| o.span())
4688 + self
4689 .text_binding_opt0
4690 .as_ref()
4691 .map_or(Span::default(), |o| o.span())
4692 + self
4693 .text_binding_opt1
4694 .as_ref()
4695 .map_or(Span::default(), |o| o.span())
4696 }
4697}
4698
4699#[allow(dead_code)]
4703#[derive(Debug, Clone)]
4704pub struct TextBindingOpt {}
4705
4706impl ToSpan for TextBindingOpt {
4707 fn span(&self) -> Span {
4708 Span::default()
4709 }
4710}
4711
4712#[allow(dead_code)]
4716#[derive(Debug, Clone)]
4717pub struct TextBindingOpt0<'t> {
4718 pub text: Text<'t>,
4719}
4720
4721impl ToSpan for TextBindingOpt0<'_> {
4722 fn span(&self) -> Span {
4723 self.text.span()
4724 }
4725}
4726
4727#[allow(dead_code)]
4731#[derive(Debug, Clone)]
4732pub struct TextBindingOpt1<'t> {
4733 pub grammar_newline: GrammarNewline<'t>,
4734}
4735
4736impl ToSpan for TextBindingOpt1<'_> {
4737 fn span(&self) -> Span {
4738 self.grammar_newline.span()
4739 }
4740}
4741
4742#[allow(dead_code)]
4746#[derive(Debug, Clone)]
4747pub struct TextStart<'t> {
4748 pub text_start: Token<'t>, }
4750
4751impl ToSpan for TextStart<'_> {
4752 fn span(&self) -> Span {
4753 self.text_start.span()
4754 }
4755}
4756
4757#[allow(dead_code)]
4761#[derive(Debug, Clone)]
4762pub enum TopLevelBinding<'t> {
4763 ValueBinding(TopLevelBindingValueBinding<'t>),
4764 TextBinding(TopLevelBindingTextBinding<'t>),
4765}
4766
4767impl ToSpan for TopLevelBinding<'_> {
4768 fn span(&self) -> Span {
4769 match self {
4770 TopLevelBinding::ValueBinding(v) => v.span(),
4771 TopLevelBinding::TextBinding(v) => v.span(),
4772 }
4773 }
4774}
4775
4776#[allow(dead_code)]
4780#[derive(Debug, Clone)]
4781pub struct True<'t> {
4782 pub r#true: Token<'t>, }
4784
4785impl ToSpan for True<'_> {
4786 fn span(&self) -> Span {
4787 self.r#true.span()
4788 }
4789}
4790
4791#[allow(dead_code)]
4795#[derive(Debug, Clone)]
4796pub struct Tuple<'t> {
4797 pub l_paren: LParen<'t>,
4798 pub tuple_opt: Option<TupleOpt<'t>>,
4799 pub r_paren: RParen<'t>,
4800}
4801
4802impl ToSpan for Tuple<'_> {
4803 fn span(&self) -> Span {
4804 self.l_paren.span()
4805 + self
4806 .tuple_opt
4807 .as_ref()
4808 .map_or(Span::default(), |o| o.span())
4809 + self.r_paren.span()
4810 }
4811}
4812
4813#[allow(dead_code)]
4817#[derive(Debug, Clone)]
4818pub struct TupleElements<'t> {
4819 pub value: Value<'t>,
4820 pub tuple_elements_opt: Option<Box<TupleElementsOpt<'t>>>,
4821}
4822
4823impl ToSpan for TupleElements<'_> {
4824 fn span(&self) -> Span {
4825 self.value.span()
4826 + self
4827 .tuple_elements_opt
4828 .as_ref()
4829 .map_or(Span::default(), |o| o.span())
4830 }
4831}
4832
4833#[allow(dead_code)]
4837#[derive(Debug, Clone)]
4838pub struct TupleElementsOpt<'t> {
4839 pub tuple_elements_tail: TupleElementsTail<'t>,
4840}
4841
4842impl ToSpan for TupleElementsOpt<'_> {
4843 fn span(&self) -> Span {
4844 self.tuple_elements_tail.span()
4845 }
4846}
4847
4848#[allow(dead_code)]
4852#[derive(Debug, Clone)]
4853pub struct TupleElementsTail<'t> {
4854 pub comma: Comma<'t>,
4855 pub tuple_elements_tail_opt: Option<TupleElementsTailOpt<'t>>,
4856}
4857
4858impl ToSpan for TupleElementsTail<'_> {
4859 fn span(&self) -> Span {
4860 self.comma.span()
4861 + self
4862 .tuple_elements_tail_opt
4863 .as_ref()
4864 .map_or(Span::default(), |o| o.span())
4865 }
4866}
4867
4868#[allow(dead_code)]
4872#[derive(Debug, Clone)]
4873pub struct TupleElementsTailOpt<'t> {
4874 pub tuple_elements: TupleElements<'t>,
4875}
4876
4877impl ToSpan for TupleElementsTailOpt<'_> {
4878 fn span(&self) -> Span {
4879 self.tuple_elements.span()
4880 }
4881}
4882
4883#[allow(dead_code)]
4887#[derive(Debug, Clone)]
4888pub struct TupleIndex<'t> {
4889 pub hash: Token<'t>, pub integer: Integer<'t>,
4891}
4892
4893impl ToSpan for TupleIndex<'_> {
4894 fn span(&self) -> Span {
4895 self.hash.span() + self.integer.span()
4896 }
4897}
4898
4899#[allow(dead_code)]
4903#[derive(Debug, Clone)]
4904pub struct TupleOpt<'t> {
4905 pub tuple_elements: TupleElements<'t>,
4906}
4907
4908impl ToSpan for TupleOpt<'_> {
4909 fn span(&self) -> Span {
4910 self.tuple_elements.span()
4911 }
4912}
4913
4914#[allow(dead_code)]
4918#[derive(Debug, Clone)]
4919pub enum Value<'t> {
4920 Object(ValueObject<'t>),
4921 Array(ValueArray<'t>),
4922 Tuple(ValueTuple<'t>),
4923 Number(ValueNumber<'t>),
4924 Boolean(ValueBoolean<'t>),
4925 Null(ValueNull<'t>),
4926 Strings(ValueStrings<'t>),
4927 Hole(ValueHole<'t>),
4928 CodeBlock(ValueCodeBlock<'t>),
4929 InlineCode(ValueInlineCode<'t>),
4930}
4931
4932impl ToSpan for Value<'_> {
4933 fn span(&self) -> Span {
4934 match self {
4935 Value::Object(v) => v.span(),
4936 Value::Array(v) => v.span(),
4937 Value::Tuple(v) => v.span(),
4938 Value::Number(v) => v.span(),
4939 Value::Boolean(v) => v.span(),
4940 Value::Null(v) => v.span(),
4941 Value::Strings(v) => v.span(),
4942 Value::Hole(v) => v.span(),
4943 Value::CodeBlock(v) => v.span(),
4944 Value::InlineCode(v) => v.span(),
4945 }
4946 }
4947}
4948
4949#[allow(dead_code)]
4953#[derive(Debug, Clone)]
4954pub struct ValueBinding<'t> {
4955 pub bind: Bind<'t>,
4956 pub value: Value<'t>,
4957}
4958
4959impl ToSpan for ValueBinding<'_> {
4960 fn span(&self) -> Span {
4961 self.bind.span() + self.value.span()
4962 }
4963}
4964
4965#[allow(dead_code)]
4969#[derive(Debug, Clone)]
4970pub struct Ws<'t> {
4971 pub ws: Token<'t>, }
4973
4974impl ToSpan for Ws<'_> {
4975 fn span(&self) -> Span {
4976 self.ws.span()
4977 }
4978}
4979
4980#[allow(dead_code)]
4986#[derive(Debug, Clone)]
4987pub enum ASTType<'t> {
4988 Array(Array<'t>),
4989 ArrayBegin(ArrayBegin<'t>),
4990 ArrayElements(ArrayElements<'t>),
4991 ArrayElementsOpt(Option<ArrayElementsOpt<'t>>),
4992 ArrayElementsTail(ArrayElementsTail<'t>),
4993 ArrayElementsTailOpt(Option<ArrayElementsTailOpt<'t>>),
4994 ArrayEnd(ArrayEnd<'t>),
4995 ArrayMarker(ArrayMarker<'t>),
4996 ArrayMarkerOpt(Option<ArrayMarkerOpt<'t>>),
4997 ArrayMarkerOptGroup(ArrayMarkerOptGroup<'t>),
4998 ArrayOpt(Option<ArrayOpt<'t>>),
4999 At(At<'t>),
5000 Backtick2(Backtick2<'t>),
5001 Backtick3(Backtick3<'t>),
5002 Backtick4(Backtick4<'t>),
5003 Backtick5(Backtick5<'t>),
5004 BacktickDelim(BacktickDelim<'t>),
5005 Begin(Begin<'t>),
5006 Bind(Bind<'t>),
5007 Binding(Binding<'t>),
5008 BindingRhs(BindingRhs<'t>),
5009 BlockBody(BlockBody<'t>),
5010 Boolean(Boolean<'t>),
5011 Caret(Caret<'t>),
5012 CodeBlock(CodeBlock<'t>),
5013 CodeBlock3(CodeBlock3<'t>),
5014 CodeBlock3List(Vec<CodeBlock3List<'t>>),
5015 CodeBlock3ListGroup(CodeBlock3ListGroup<'t>),
5016 CodeBlock4(CodeBlock4<'t>),
5017 CodeBlock4List(Vec<CodeBlock4List<'t>>),
5018 CodeBlock4ListGroup(CodeBlock4ListGroup<'t>),
5019 CodeBlock5(CodeBlock5<'t>),
5020 CodeBlock5List(Vec<CodeBlock5List<'t>>),
5021 CodeBlock5ListGroup(CodeBlock5ListGroup<'t>),
5022 CodeBlock6(CodeBlock6<'t>),
5023 CodeBlock6List(Vec<CodeBlock6List<'t>>),
5024 CodeBlock6ListGroup(CodeBlock6ListGroup<'t>),
5025 CodeBlockEnd3(CodeBlockEnd3<'t>),
5026 CodeBlockEnd4(CodeBlockEnd4<'t>),
5027 CodeBlockEnd5(CodeBlockEnd5<'t>),
5028 CodeBlockEnd6(CodeBlockEnd6<'t>),
5029 CodeBlockStart3(CodeBlockStart3<'t>),
5030 CodeBlockStart4(CodeBlockStart4<'t>),
5031 CodeBlockStart5(CodeBlockStart5<'t>),
5032 CodeBlockStart6(CodeBlockStart6<'t>),
5033 Comma(Comma<'t>),
5034 Continue(Continue<'t>),
5035 DelimCode(DelimCode<'t>),
5036 DelimCode1(DelimCode1<'t>),
5037 DelimCode1List(Vec<DelimCode1List<'t>>),
5038 DelimCode1ListGroup(DelimCode1ListGroup<'t>),
5039 DelimCode2(DelimCode2<'t>),
5040 DelimCode2List(Vec<DelimCode2List<'t>>),
5041 DelimCode2ListGroup(DelimCode2ListGroup<'t>),
5042 DelimCode3(DelimCode3<'t>),
5043 DelimCode3List(Vec<DelimCode3List<'t>>),
5044 DelimCode3ListGroup(DelimCode3ListGroup<'t>),
5045 DelimCodeEnd1(DelimCodeEnd1<'t>),
5046 DelimCodeEnd2(DelimCodeEnd2<'t>),
5047 DelimCodeEnd3(DelimCodeEnd3<'t>),
5048 DelimCodeStart1(DelimCodeStart1<'t>),
5049 DelimCodeStart2(DelimCodeStart2<'t>),
5050 DelimCodeStart3(DelimCodeStart3<'t>),
5051 Dot(Dot<'t>),
5052 DotKey(DotKey<'t>),
5053 End(End<'t>),
5054 Eure(Eure<'t>),
5055 EureList(Vec<EureList<'t>>),
5056 EureList0(Vec<EureList0<'t>>),
5057 EureOpt(Option<EureOpt<'t>>),
5058 Ext(Ext<'t>),
5059 ExtensionNameSpace(ExtensionNameSpace<'t>),
5060 False(False<'t>),
5061 FirstKey(FirstKey<'t>),
5062 FlatBody(FlatBody<'t>),
5063 FlatBodyList(Vec<FlatBodyList<'t>>),
5064 FlatRootBinding(FlatRootBinding<'t>),
5065 Float(Float<'t>),
5066 GrammarNewline(GrammarNewline<'t>),
5067 Hole(Hole<'t>),
5068 Ident(Ident<'t>),
5069 Inf(Inf<'t>),
5070 InlineCode(InlineCode<'t>),
5071 InlineCode1(InlineCode1<'t>),
5072 Integer(Integer<'t>),
5073 Key(Key<'t>),
5074 KeyIdent(KeyIdent<'t>),
5075 KeyTail(KeyTail<'t>),
5076 KeyTuple(KeyTuple<'t>),
5077 KeyTupleElements(KeyTupleElements<'t>),
5078 KeyTupleElementsOpt(Option<KeyTupleElementsOpt<'t>>),
5079 KeyTupleElementsTail(KeyTupleElementsTail<'t>),
5080 KeyTupleElementsTailOpt(Option<KeyTupleElementsTailOpt<'t>>),
5081 KeyTupleOpt(Option<KeyTupleOpt<'t>>),
5082 KeyValue(KeyValue<'t>),
5083 Keys(Keys<'t>),
5084 KeysList(Vec<KeysList<'t>>),
5085 LParen(LParen<'t>),
5086 LitStr(LitStr<'t>),
5087 LitStr1(LitStr1<'t>),
5088 LitStr1End(LitStr1End<'t>),
5089 LitStr1List(Vec<LitStr1List<'t>>),
5090 LitStr1ListGroup(LitStr1ListGroup<'t>),
5091 LitStr1Start(LitStr1Start<'t>),
5092 LitStr2(LitStr2<'t>),
5093 LitStr2End(LitStr2End<'t>),
5094 LitStr2List(Vec<LitStr2List<'t>>),
5095 LitStr2ListGroup(LitStr2ListGroup<'t>),
5096 LitStr2Start(LitStr2Start<'t>),
5097 LitStr3(LitStr3<'t>),
5098 LitStr3End(LitStr3End<'t>),
5099 LitStr3List(Vec<LitStr3List<'t>>),
5100 LitStr3ListGroup(LitStr3ListGroup<'t>),
5101 LitStr3Start(LitStr3Start<'t>),
5102 MapBind(MapBind<'t>),
5103 NaN(NaN<'t>),
5104 NewlineBind(NewlineBind<'t>),
5105 NewlineHead(NewlineHead<'t>),
5106 NewlineHeadOpt(Option<NewlineHeadOpt<'t>>),
5107 NewlineTextStart(NewlineTextStart<'t>),
5108 NoBacktick(NoBacktick<'t>),
5109 NoSQuote(NoSQuote<'t>),
5110 Null(Null<'t>),
5111 Number(Number<'t>),
5112 Object(Object<'t>),
5113 ObjectList(Vec<ObjectList<'t>>),
5114 ObjectOpt(Option<ObjectOpt<'t>>),
5115 ObjectOpt0(Option<ObjectOpt0<'t>>),
5116 ObjectOpt1(Option<ObjectOpt1<'t>>),
5117 RParen(RParen<'t>),
5118 RootBinding(RootBinding<'t>),
5119 RootTextBinding(RootTextBinding<'t>),
5120 RootTextBindingOpt(Option<RootTextBindingOpt>),
5121 RootTextBindingOpt0(Option<RootTextBindingOpt0<'t>>),
5122 RootTextBindingOpt1(Option<RootTextBindingOpt1<'t>>),
5123 RootValueBinding(RootValueBinding<'t>),
5124 SQuote(SQuote<'t>),
5125 Section(Section<'t>),
5126 SectionBinding(SectionBinding<'t>),
5127 SectionBody(SectionBody<'t>),
5128 SectionBodyOpt(Option<SectionBodyOpt<'t>>),
5129 SectionHead(SectionHead<'t>),
5130 Str(Str<'t>),
5131 String(String<'t>),
5132 Strings(Strings<'t>),
5133 StringsList(Vec<StringsList<'t>>),
5134 Text(Text<'t>),
5135 TextBinding(TextBinding<'t>),
5136 TextBindingOpt(Option<TextBindingOpt>),
5137 TextBindingOpt0(Option<TextBindingOpt0<'t>>),
5138 TextBindingOpt1(Option<TextBindingOpt1<'t>>),
5139 TextStart(TextStart<'t>),
5140 TopLevelBinding(TopLevelBinding<'t>),
5141 True(True<'t>),
5142 Tuple(Tuple<'t>),
5143 TupleElements(TupleElements<'t>),
5144 TupleElementsOpt(Option<TupleElementsOpt<'t>>),
5145 TupleElementsTail(TupleElementsTail<'t>),
5146 TupleElementsTailOpt(Option<TupleElementsTailOpt<'t>>),
5147 TupleIndex(TupleIndex<'t>),
5148 TupleOpt(Option<TupleOpt<'t>>),
5149 Value(Value<'t>),
5150 ValueBinding(ValueBinding<'t>),
5151 Ws(Ws<'t>),
5152}
5153impl ToSpan for ASTType<'_> {
5154 fn span(&self) -> Span {
5155 match self {
5156 ASTType::Array(v) => v.span(),
5157 ASTType::ArrayBegin(v) => v.span(),
5158 ASTType::ArrayElements(v) => v.span(),
5159 ASTType::ArrayElementsOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5160 ASTType::ArrayElementsTail(v) => v.span(),
5161 ASTType::ArrayElementsTailOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5162 ASTType::ArrayEnd(v) => v.span(),
5163 ASTType::ArrayMarker(v) => v.span(),
5164 ASTType::ArrayMarkerOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5165 ASTType::ArrayMarkerOptGroup(v) => v.span(),
5166 ASTType::ArrayOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5167 ASTType::At(v) => v.span(),
5168 ASTType::Backtick2(v) => v.span(),
5169 ASTType::Backtick3(v) => v.span(),
5170 ASTType::Backtick4(v) => v.span(),
5171 ASTType::Backtick5(v) => v.span(),
5172 ASTType::BacktickDelim(v) => v.span(),
5173 ASTType::Begin(v) => v.span(),
5174 ASTType::Bind(v) => v.span(),
5175 ASTType::Binding(v) => v.span(),
5176 ASTType::BindingRhs(v) => v.span(),
5177 ASTType::BlockBody(v) => v.span(),
5178 ASTType::Boolean(v) => v.span(),
5179 ASTType::Caret(v) => v.span(),
5180 ASTType::CodeBlock(v) => v.span(),
5181 ASTType::CodeBlock3(v) => v.span(),
5182 ASTType::CodeBlock3List(v) => {
5183 v.first().map_or(Span::default(), |f| f.span())
5184 + v.last().map_or(Span::default(), |l| l.span())
5185 }
5186 ASTType::CodeBlock3ListGroup(v) => v.span(),
5187 ASTType::CodeBlock4(v) => v.span(),
5188 ASTType::CodeBlock4List(v) => {
5189 v.first().map_or(Span::default(), |f| f.span())
5190 + v.last().map_or(Span::default(), |l| l.span())
5191 }
5192 ASTType::CodeBlock4ListGroup(v) => v.span(),
5193 ASTType::CodeBlock5(v) => v.span(),
5194 ASTType::CodeBlock5List(v) => {
5195 v.first().map_or(Span::default(), |f| f.span())
5196 + v.last().map_or(Span::default(), |l| l.span())
5197 }
5198 ASTType::CodeBlock5ListGroup(v) => v.span(),
5199 ASTType::CodeBlock6(v) => v.span(),
5200 ASTType::CodeBlock6List(v) => {
5201 v.first().map_or(Span::default(), |f| f.span())
5202 + v.last().map_or(Span::default(), |l| l.span())
5203 }
5204 ASTType::CodeBlock6ListGroup(v) => v.span(),
5205 ASTType::CodeBlockEnd3(v) => v.span(),
5206 ASTType::CodeBlockEnd4(v) => v.span(),
5207 ASTType::CodeBlockEnd5(v) => v.span(),
5208 ASTType::CodeBlockEnd6(v) => v.span(),
5209 ASTType::CodeBlockStart3(v) => v.span(),
5210 ASTType::CodeBlockStart4(v) => v.span(),
5211 ASTType::CodeBlockStart5(v) => v.span(),
5212 ASTType::CodeBlockStart6(v) => v.span(),
5213 ASTType::Comma(v) => v.span(),
5214 ASTType::Continue(v) => v.span(),
5215 ASTType::DelimCode(v) => v.span(),
5216 ASTType::DelimCode1(v) => v.span(),
5217 ASTType::DelimCode1List(v) => {
5218 v.first().map_or(Span::default(), |f| f.span())
5219 + v.last().map_or(Span::default(), |l| l.span())
5220 }
5221 ASTType::DelimCode1ListGroup(v) => v.span(),
5222 ASTType::DelimCode2(v) => v.span(),
5223 ASTType::DelimCode2List(v) => {
5224 v.first().map_or(Span::default(), |f| f.span())
5225 + v.last().map_or(Span::default(), |l| l.span())
5226 }
5227 ASTType::DelimCode2ListGroup(v) => v.span(),
5228 ASTType::DelimCode3(v) => v.span(),
5229 ASTType::DelimCode3List(v) => {
5230 v.first().map_or(Span::default(), |f| f.span())
5231 + v.last().map_or(Span::default(), |l| l.span())
5232 }
5233 ASTType::DelimCode3ListGroup(v) => v.span(),
5234 ASTType::DelimCodeEnd1(v) => v.span(),
5235 ASTType::DelimCodeEnd2(v) => v.span(),
5236 ASTType::DelimCodeEnd3(v) => v.span(),
5237 ASTType::DelimCodeStart1(v) => v.span(),
5238 ASTType::DelimCodeStart2(v) => v.span(),
5239 ASTType::DelimCodeStart3(v) => v.span(),
5240 ASTType::Dot(v) => v.span(),
5241 ASTType::DotKey(v) => v.span(),
5242 ASTType::End(v) => v.span(),
5243 ASTType::Eure(v) => v.span(),
5244 ASTType::EureList(v) => {
5245 v.first().map_or(Span::default(), |f| f.span())
5246 + v.last().map_or(Span::default(), |l| l.span())
5247 }
5248 ASTType::EureList0(v) => {
5249 v.first().map_or(Span::default(), |f| f.span())
5250 + v.last().map_or(Span::default(), |l| l.span())
5251 }
5252 ASTType::EureOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5253 ASTType::Ext(v) => v.span(),
5254 ASTType::ExtensionNameSpace(v) => v.span(),
5255 ASTType::False(v) => v.span(),
5256 ASTType::FirstKey(v) => v.span(),
5257 ASTType::FlatBody(v) => v.span(),
5258 ASTType::FlatBodyList(v) => {
5259 v.first().map_or(Span::default(), |f| f.span())
5260 + v.last().map_or(Span::default(), |l| l.span())
5261 }
5262 ASTType::FlatRootBinding(v) => v.span(),
5263 ASTType::Float(v) => v.span(),
5264 ASTType::GrammarNewline(v) => v.span(),
5265 ASTType::Hole(v) => v.span(),
5266 ASTType::Ident(v) => v.span(),
5267 ASTType::Inf(v) => v.span(),
5268 ASTType::InlineCode(v) => v.span(),
5269 ASTType::InlineCode1(v) => v.span(),
5270 ASTType::Integer(v) => v.span(),
5271 ASTType::Key(v) => v.span(),
5272 ASTType::KeyIdent(v) => v.span(),
5273 ASTType::KeyTail(v) => v.span(),
5274 ASTType::KeyTuple(v) => v.span(),
5275 ASTType::KeyTupleElements(v) => v.span(),
5276 ASTType::KeyTupleElementsOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5277 ASTType::KeyTupleElementsTail(v) => v.span(),
5278 ASTType::KeyTupleElementsTailOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5279 ASTType::KeyTupleOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5280 ASTType::KeyValue(v) => v.span(),
5281 ASTType::Keys(v) => v.span(),
5282 ASTType::KeysList(v) => {
5283 v.first().map_or(Span::default(), |f| f.span())
5284 + v.last().map_or(Span::default(), |l| l.span())
5285 }
5286 ASTType::LParen(v) => v.span(),
5287 ASTType::LitStr(v) => v.span(),
5288 ASTType::LitStr1(v) => v.span(),
5289 ASTType::LitStr1End(v) => v.span(),
5290 ASTType::LitStr1List(v) => {
5291 v.first().map_or(Span::default(), |f| f.span())
5292 + v.last().map_or(Span::default(), |l| l.span())
5293 }
5294 ASTType::LitStr1ListGroup(v) => v.span(),
5295 ASTType::LitStr1Start(v) => v.span(),
5296 ASTType::LitStr2(v) => v.span(),
5297 ASTType::LitStr2End(v) => v.span(),
5298 ASTType::LitStr2List(v) => {
5299 v.first().map_or(Span::default(), |f| f.span())
5300 + v.last().map_or(Span::default(), |l| l.span())
5301 }
5302 ASTType::LitStr2ListGroup(v) => v.span(),
5303 ASTType::LitStr2Start(v) => v.span(),
5304 ASTType::LitStr3(v) => v.span(),
5305 ASTType::LitStr3End(v) => v.span(),
5306 ASTType::LitStr3List(v) => {
5307 v.first().map_or(Span::default(), |f| f.span())
5308 + v.last().map_or(Span::default(), |l| l.span())
5309 }
5310 ASTType::LitStr3ListGroup(v) => v.span(),
5311 ASTType::LitStr3Start(v) => v.span(),
5312 ASTType::MapBind(v) => v.span(),
5313 ASTType::NaN(v) => v.span(),
5314 ASTType::NewlineBind(v) => v.span(),
5315 ASTType::NewlineHead(v) => v.span(),
5316 ASTType::NewlineHeadOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5317 ASTType::NewlineTextStart(v) => v.span(),
5318 ASTType::NoBacktick(v) => v.span(),
5319 ASTType::NoSQuote(v) => v.span(),
5320 ASTType::Null(v) => v.span(),
5321 ASTType::Number(v) => v.span(),
5322 ASTType::Object(v) => v.span(),
5323 ASTType::ObjectList(v) => {
5324 v.first().map_or(Span::default(), |f| f.span())
5325 + v.last().map_or(Span::default(), |l| l.span())
5326 }
5327 ASTType::ObjectOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5328 ASTType::ObjectOpt0(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5329 ASTType::ObjectOpt1(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5330 ASTType::RParen(v) => v.span(),
5331 ASTType::RootBinding(v) => v.span(),
5332 ASTType::RootTextBinding(v) => v.span(),
5333 ASTType::RootTextBindingOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5334 ASTType::RootTextBindingOpt0(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5335 ASTType::RootTextBindingOpt1(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5336 ASTType::RootValueBinding(v) => v.span(),
5337 ASTType::SQuote(v) => v.span(),
5338 ASTType::Section(v) => v.span(),
5339 ASTType::SectionBinding(v) => v.span(),
5340 ASTType::SectionBody(v) => v.span(),
5341 ASTType::SectionBodyOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5342 ASTType::SectionHead(v) => v.span(),
5343 ASTType::Str(v) => v.span(),
5344 ASTType::String(v) => v.span(),
5345 ASTType::Strings(v) => v.span(),
5346 ASTType::StringsList(v) => {
5347 v.first().map_or(Span::default(), |f| f.span())
5348 + v.last().map_or(Span::default(), |l| l.span())
5349 }
5350 ASTType::Text(v) => v.span(),
5351 ASTType::TextBinding(v) => v.span(),
5352 ASTType::TextBindingOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5353 ASTType::TextBindingOpt0(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5354 ASTType::TextBindingOpt1(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5355 ASTType::TextStart(v) => v.span(),
5356 ASTType::TopLevelBinding(v) => v.span(),
5357 ASTType::True(v) => v.span(),
5358 ASTType::Tuple(v) => v.span(),
5359 ASTType::TupleElements(v) => v.span(),
5360 ASTType::TupleElementsOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5361 ASTType::TupleElementsTail(v) => v.span(),
5362 ASTType::TupleElementsTailOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5363 ASTType::TupleIndex(v) => v.span(),
5364 ASTType::TupleOpt(o) => o.as_ref().map_or(Span::default(), |o| o.span()),
5365 ASTType::Value(v) => v.span(),
5366 ASTType::ValueBinding(v) => v.span(),
5367 ASTType::Ws(v) => v.span(),
5368 }
5369 }
5370}
5371
5372#[allow(dead_code)]
5380pub struct GrammarAuto<'t, 'u>
5381where
5382 't: 'u,
5383{
5384 user_grammar: &'u mut dyn GrammarTrait<'t>,
5386 item_stack: Vec<ASTType<'t>>,
5388}
5389
5390impl<'t, 'u> GrammarAuto<'t, 'u> {
5395 pub fn new(user_grammar: &'u mut dyn GrammarTrait<'t>) -> Self {
5396 Self {
5397 user_grammar,
5398 item_stack: Vec::new(),
5399 }
5400 }
5401
5402 #[allow(dead_code)]
5403 fn push(&mut self, item: ASTType<'t>, context: &str) {
5404 trace!("push {context}: {item:?}");
5405 self.item_stack.push(item)
5406 }
5407
5408 #[allow(dead_code)]
5409 fn pop(&mut self, context: &str) -> Option<ASTType<'t>> {
5410 let item = self.item_stack.pop();
5411 if let Some(ref item) = item {
5412 trace!("pop {context}: {item:?}");
5413 }
5414 item
5415 }
5416
5417 #[allow(dead_code)]
5418 fn trace_item_stack(&self, context: &str) -> std::string::String {
5421 format!(
5422 "Item stack at {}:\n{}",
5423 context,
5424 self.item_stack
5425 .iter()
5426 .rev()
5427 .map(|s| format!(" {s:?}"))
5428 .collect::<Vec<std::string::String>>()
5429 .join("\n")
5430 )
5431 }
5432
5433 #[parol_runtime::function_name::named]
5438 fn eure(
5439 &mut self,
5440 _eure_opt: &ParseTreeType<'t>,
5441 _eure_list: &ParseTreeType<'t>,
5442 _eure_list0: &ParseTreeType<'t>,
5443 ) -> Result<()> {
5444 let context = function_name!();
5445 trace!("{}", self.trace_item_stack(context));
5446 let eure_list0 = pop_and_reverse_item!(self, eure_list0, EureList0, context);
5447 let eure_list = pop_and_reverse_item!(self, eure_list, EureList, context);
5448 let eure_opt = pop_item!(self, eure_opt, EureOpt, context);
5449 let eure_built = Eure {
5450 eure_opt,
5451 eure_list,
5452 eure_list0,
5453 };
5454 self.user_grammar.eure(&eure_built)?;
5456 self.push(ASTType::Eure(eure_built), context);
5457 Ok(())
5458 }
5459
5460 #[parol_runtime::function_name::named]
5465 fn eure_list0_0(
5466 &mut self,
5467 _section: &ParseTreeType<'t>,
5468 _eure_list0: &ParseTreeType<'t>,
5469 ) -> Result<()> {
5470 let context = function_name!();
5471 trace!("{}", self.trace_item_stack(context));
5472 let mut eure_list0 = pop_item!(self, eure_list0, EureList0, context);
5473 let section = pop_item!(self, section, Section, context);
5474 let eure_list0_0_built = EureList0 { section };
5475 eure_list0.push(eure_list0_0_built);
5477 self.push(ASTType::EureList0(eure_list0), context);
5478 Ok(())
5479 }
5480
5481 #[parol_runtime::function_name::named]
5486 fn eure_list0_1(&mut self) -> Result<()> {
5487 let context = function_name!();
5488 trace!("{}", self.trace_item_stack(context));
5489 let eure_list0_1_built = Vec::new();
5490 self.push(ASTType::EureList0(eure_list0_1_built), context);
5491 Ok(())
5492 }
5493
5494 #[parol_runtime::function_name::named]
5499 fn eure_list_0(
5500 &mut self,
5501 _binding: &ParseTreeType<'t>,
5502 _eure_list: &ParseTreeType<'t>,
5503 ) -> Result<()> {
5504 let context = function_name!();
5505 trace!("{}", self.trace_item_stack(context));
5506 let mut eure_list = pop_item!(self, eure_list, EureList, context);
5507 let binding = pop_item!(self, binding, Binding, context);
5508 let eure_list_0_built = EureList { binding };
5509 eure_list.push(eure_list_0_built);
5511 self.push(ASTType::EureList(eure_list), context);
5512 Ok(())
5513 }
5514
5515 #[parol_runtime::function_name::named]
5520 fn eure_list_1(&mut self) -> Result<()> {
5521 let context = function_name!();
5522 trace!("{}", self.trace_item_stack(context));
5523 let eure_list_1_built = Vec::new();
5524 self.push(ASTType::EureList(eure_list_1_built), context);
5525 Ok(())
5526 }
5527
5528 #[parol_runtime::function_name::named]
5533 fn eure_opt_0(&mut self, _top_level_binding: &ParseTreeType<'t>) -> Result<()> {
5534 let context = function_name!();
5535 trace!("{}", self.trace_item_stack(context));
5536 let top_level_binding = pop_item!(self, top_level_binding, TopLevelBinding, context);
5537 let eure_opt_0_built = EureOpt { top_level_binding };
5538 self.push(ASTType::EureOpt(Some(eure_opt_0_built)), context);
5539 Ok(())
5540 }
5541
5542 #[parol_runtime::function_name::named]
5547 fn eure_opt_1(&mut self) -> Result<()> {
5548 let context = function_name!();
5549 trace!("{}", self.trace_item_stack(context));
5550 self.push(ASTType::EureOpt(None), context);
5551 Ok(())
5552 }
5553
5554 #[parol_runtime::function_name::named]
5559 fn top_level_binding_0(&mut self, _value_binding: &ParseTreeType<'t>) -> Result<()> {
5560 let context = function_name!();
5561 trace!("{}", self.trace_item_stack(context));
5562 let value_binding = pop_item!(self, value_binding, ValueBinding, context);
5563 let top_level_binding_0_built = TopLevelBindingValueBinding { value_binding };
5564 let top_level_binding_0_built = TopLevelBinding::ValueBinding(top_level_binding_0_built);
5565 self.user_grammar
5567 .top_level_binding(&top_level_binding_0_built)?;
5568 self.push(ASTType::TopLevelBinding(top_level_binding_0_built), context);
5569 Ok(())
5570 }
5571
5572 #[parol_runtime::function_name::named]
5577 fn top_level_binding_1(&mut self, _text_binding: &ParseTreeType<'t>) -> Result<()> {
5578 let context = function_name!();
5579 trace!("{}", self.trace_item_stack(context));
5580 let text_binding = pop_item!(self, text_binding, TextBinding, context);
5581 let top_level_binding_1_built = TopLevelBindingTextBinding { text_binding };
5582 let top_level_binding_1_built = TopLevelBinding::TextBinding(top_level_binding_1_built);
5583 self.user_grammar
5585 .top_level_binding(&top_level_binding_1_built)?;
5586 self.push(ASTType::TopLevelBinding(top_level_binding_1_built), context);
5587 Ok(())
5588 }
5589
5590 #[parol_runtime::function_name::named]
5595 fn root_binding_0(&mut self, _root_value_binding: &ParseTreeType<'t>) -> Result<()> {
5596 let context = function_name!();
5597 trace!("{}", self.trace_item_stack(context));
5598 let root_value_binding = pop_item!(self, root_value_binding, RootValueBinding, context);
5599 let root_binding_0_built = RootBindingRootValueBinding { root_value_binding };
5600 let root_binding_0_built = RootBinding::RootValueBinding(root_binding_0_built);
5601 self.user_grammar.root_binding(&root_binding_0_built)?;
5603 self.push(ASTType::RootBinding(root_binding_0_built), context);
5604 Ok(())
5605 }
5606
5607 #[parol_runtime::function_name::named]
5612 fn root_binding_1(&mut self, _root_text_binding: &ParseTreeType<'t>) -> Result<()> {
5613 let context = function_name!();
5614 trace!("{}", self.trace_item_stack(context));
5615 let root_text_binding = pop_item!(self, root_text_binding, RootTextBinding, context);
5616 let root_binding_1_built = RootBindingRootTextBinding { root_text_binding };
5617 let root_binding_1_built = RootBinding::RootTextBinding(root_binding_1_built);
5618 self.user_grammar.root_binding(&root_binding_1_built)?;
5620 self.push(ASTType::RootBinding(root_binding_1_built), context);
5621 Ok(())
5622 }
5623
5624 #[parol_runtime::function_name::named]
5629 fn root_value_binding(
5630 &mut self,
5631 _newline_bind: &ParseTreeType<'t>,
5632 _value: &ParseTreeType<'t>,
5633 ) -> Result<()> {
5634 let context = function_name!();
5635 trace!("{}", self.trace_item_stack(context));
5636 let value = pop_item!(self, value, Value, context);
5637 let newline_bind = pop_item!(self, newline_bind, NewlineBind, context);
5638 let root_value_binding_built = RootValueBinding {
5639 newline_bind,
5640 value,
5641 };
5642 self.user_grammar
5644 .root_value_binding(&root_value_binding_built)?;
5645 self.push(ASTType::RootValueBinding(root_value_binding_built), context);
5646 Ok(())
5647 }
5648
5649 #[parol_runtime::function_name::named]
5654 fn root_text_binding(
5655 &mut self,
5656 _newline_text_start: &ParseTreeType<'t>,
5657 _root_text_binding_opt: &ParseTreeType<'t>,
5658 _root_text_binding_opt0: &ParseTreeType<'t>,
5659 _root_text_binding_opt1: &ParseTreeType<'t>,
5660 ) -> Result<()> {
5661 let context = function_name!();
5662 trace!("{}", self.trace_item_stack(context));
5663 let root_text_binding_opt1 =
5664 pop_item!(self, root_text_binding_opt1, RootTextBindingOpt1, context);
5665 let root_text_binding_opt0 =
5666 pop_item!(self, root_text_binding_opt0, RootTextBindingOpt0, context);
5667 let root_text_binding_opt =
5668 pop_item!(self, root_text_binding_opt, RootTextBindingOpt, context);
5669 let newline_text_start = pop_item!(self, newline_text_start, NewlineTextStart, context);
5670 let root_text_binding_built = RootTextBinding {
5671 newline_text_start,
5672 root_text_binding_opt,
5673 root_text_binding_opt0,
5674 root_text_binding_opt1,
5675 };
5676 self.user_grammar
5678 .root_text_binding(&root_text_binding_built)?;
5679 self.push(ASTType::RootTextBinding(root_text_binding_built), context);
5680 Ok(())
5681 }
5682
5683 #[parol_runtime::function_name::named]
5688 fn root_text_binding_opt1_0(&mut self, _grammar_newline: &ParseTreeType<'t>) -> Result<()> {
5689 let context = function_name!();
5690 trace!("{}", self.trace_item_stack(context));
5691 let grammar_newline = pop_item!(self, grammar_newline, GrammarNewline, context);
5692 let root_text_binding_opt1_0_built = RootTextBindingOpt1 { grammar_newline };
5693 self.push(
5694 ASTType::RootTextBindingOpt1(Some(root_text_binding_opt1_0_built)),
5695 context,
5696 );
5697 Ok(())
5698 }
5699
5700 #[parol_runtime::function_name::named]
5705 fn root_text_binding_opt1_1(&mut self) -> Result<()> {
5706 let context = function_name!();
5707 trace!("{}", self.trace_item_stack(context));
5708 self.push(ASTType::RootTextBindingOpt1(None), context);
5709 Ok(())
5710 }
5711
5712 #[parol_runtime::function_name::named]
5717 fn root_text_binding_opt0_0(&mut self, _text: &ParseTreeType<'t>) -> Result<()> {
5718 let context = function_name!();
5719 trace!("{}", self.trace_item_stack(context));
5720 let text = pop_item!(self, text, Text, context);
5721 let root_text_binding_opt0_0_built = RootTextBindingOpt0 { text };
5722 self.push(
5723 ASTType::RootTextBindingOpt0(Some(root_text_binding_opt0_0_built)),
5724 context,
5725 );
5726 Ok(())
5727 }
5728
5729 #[parol_runtime::function_name::named]
5734 fn root_text_binding_opt0_1(&mut self) -> Result<()> {
5735 let context = function_name!();
5736 trace!("{}", self.trace_item_stack(context));
5737 self.push(ASTType::RootTextBindingOpt0(None), context);
5738 Ok(())
5739 }
5740
5741 #[parol_runtime::function_name::named]
5746 fn root_text_binding_opt_0(&mut self, _ws: &ParseTreeType<'t>) -> Result<()> {
5747 let context = function_name!();
5748 trace!("{}", self.trace_item_stack(context));
5749 self.pop(context);
5750 let root_text_binding_opt_0_built = RootTextBindingOpt {};
5751 self.push(
5752 ASTType::RootTextBindingOpt(Some(root_text_binding_opt_0_built)),
5753 context,
5754 );
5755 Ok(())
5756 }
5757
5758 #[parol_runtime::function_name::named]
5763 fn root_text_binding_opt_1(&mut self) -> Result<()> {
5764 let context = function_name!();
5765 trace!("{}", self.trace_item_stack(context));
5766 self.push(ASTType::RootTextBindingOpt(None), context);
5767 Ok(())
5768 }
5769
5770 #[parol_runtime::function_name::named]
5775 fn binding(
5776 &mut self,
5777 _keys: &ParseTreeType<'t>,
5778 _binding_rhs: &ParseTreeType<'t>,
5779 ) -> Result<()> {
5780 let context = function_name!();
5781 trace!("{}", self.trace_item_stack(context));
5782 let binding_rhs = pop_item!(self, binding_rhs, BindingRhs, context);
5783 let keys = pop_item!(self, keys, Keys, context);
5784 let binding_built = Binding { keys, binding_rhs };
5785 self.user_grammar.binding(&binding_built)?;
5787 self.push(ASTType::Binding(binding_built), context);
5788 Ok(())
5789 }
5790
5791 #[parol_runtime::function_name::named]
5796 fn binding_rhs_0(&mut self, _value_binding: &ParseTreeType<'t>) -> Result<()> {
5797 let context = function_name!();
5798 trace!("{}", self.trace_item_stack(context));
5799 let value_binding = pop_item!(self, value_binding, ValueBinding, context);
5800 let binding_rhs_0_built = BindingRhsValueBinding { value_binding };
5801 let binding_rhs_0_built = BindingRhs::ValueBinding(binding_rhs_0_built);
5802 self.user_grammar.binding_rhs(&binding_rhs_0_built)?;
5804 self.push(ASTType::BindingRhs(binding_rhs_0_built), context);
5805 Ok(())
5806 }
5807
5808 #[parol_runtime::function_name::named]
5813 fn binding_rhs_1(&mut self, _section_binding: &ParseTreeType<'t>) -> Result<()> {
5814 let context = function_name!();
5815 trace!("{}", self.trace_item_stack(context));
5816 let section_binding = pop_item!(self, section_binding, SectionBinding, context);
5817 let binding_rhs_1_built = BindingRhsSectionBinding { section_binding };
5818 let binding_rhs_1_built = BindingRhs::SectionBinding(binding_rhs_1_built);
5819 self.user_grammar.binding_rhs(&binding_rhs_1_built)?;
5821 self.push(ASTType::BindingRhs(binding_rhs_1_built), context);
5822 Ok(())
5823 }
5824
5825 #[parol_runtime::function_name::named]
5830 fn binding_rhs_2(&mut self, _text_binding: &ParseTreeType<'t>) -> Result<()> {
5831 let context = function_name!();
5832 trace!("{}", self.trace_item_stack(context));
5833 let text_binding = pop_item!(self, text_binding, TextBinding, context);
5834 let binding_rhs_2_built = BindingRhsTextBinding { text_binding };
5835 let binding_rhs_2_built = BindingRhs::TextBinding(binding_rhs_2_built);
5836 self.user_grammar.binding_rhs(&binding_rhs_2_built)?;
5838 self.push(ASTType::BindingRhs(binding_rhs_2_built), context);
5839 Ok(())
5840 }
5841
5842 #[parol_runtime::function_name::named]
5847 fn value_binding(
5848 &mut self,
5849 _bind: &ParseTreeType<'t>,
5850 _value: &ParseTreeType<'t>,
5851 ) -> Result<()> {
5852 let context = function_name!();
5853 trace!("{}", self.trace_item_stack(context));
5854 let value = pop_item!(self, value, Value, context);
5855 let bind = pop_item!(self, bind, Bind, context);
5856 let value_binding_built = ValueBinding { bind, value };
5857 self.user_grammar.value_binding(&value_binding_built)?;
5859 self.push(ASTType::ValueBinding(value_binding_built), context);
5860 Ok(())
5861 }
5862
5863 #[parol_runtime::function_name::named]
5868 fn section_binding(
5869 &mut self,
5870 _begin: &ParseTreeType<'t>,
5871 _eure: &ParseTreeType<'t>,
5872 _end: &ParseTreeType<'t>,
5873 ) -> Result<()> {
5874 let context = function_name!();
5875 trace!("{}", self.trace_item_stack(context));
5876 let end = pop_item!(self, end, End, context);
5877 let eure = pop_item!(self, eure, Eure, context);
5878 let begin = pop_item!(self, begin, Begin, context);
5879 let section_binding_built = SectionBinding { begin, eure, end };
5880 self.user_grammar.section_binding(§ion_binding_built)?;
5882 self.push(ASTType::SectionBinding(section_binding_built), context);
5883 Ok(())
5884 }
5885
5886 #[parol_runtime::function_name::named]
5891 fn text_binding(
5892 &mut self,
5893 _text_start: &ParseTreeType<'t>,
5894 _text_binding_opt: &ParseTreeType<'t>,
5895 _text_binding_opt0: &ParseTreeType<'t>,
5896 _text_binding_opt1: &ParseTreeType<'t>,
5897 ) -> Result<()> {
5898 let context = function_name!();
5899 trace!("{}", self.trace_item_stack(context));
5900 let text_binding_opt1 = pop_item!(self, text_binding_opt1, TextBindingOpt1, context);
5901 let text_binding_opt0 = pop_item!(self, text_binding_opt0, TextBindingOpt0, context);
5902 let text_binding_opt = pop_item!(self, text_binding_opt, TextBindingOpt, context);
5903 let text_start = pop_item!(self, text_start, TextStart, context);
5904 let text_binding_built = TextBinding {
5905 text_start,
5906 text_binding_opt,
5907 text_binding_opt0,
5908 text_binding_opt1,
5909 };
5910 self.user_grammar.text_binding(&text_binding_built)?;
5912 self.push(ASTType::TextBinding(text_binding_built), context);
5913 Ok(())
5914 }
5915
5916 #[parol_runtime::function_name::named]
5921 fn text_binding_opt1_0(&mut self, _grammar_newline: &ParseTreeType<'t>) -> Result<()> {
5922 let context = function_name!();
5923 trace!("{}", self.trace_item_stack(context));
5924 let grammar_newline = pop_item!(self, grammar_newline, GrammarNewline, context);
5925 let text_binding_opt1_0_built = TextBindingOpt1 { grammar_newline };
5926 self.push(
5927 ASTType::TextBindingOpt1(Some(text_binding_opt1_0_built)),
5928 context,
5929 );
5930 Ok(())
5931 }
5932
5933 #[parol_runtime::function_name::named]
5938 fn text_binding_opt1_1(&mut self) -> Result<()> {
5939 let context = function_name!();
5940 trace!("{}", self.trace_item_stack(context));
5941 self.push(ASTType::TextBindingOpt1(None), context);
5942 Ok(())
5943 }
5944
5945 #[parol_runtime::function_name::named]
5950 fn text_binding_opt0_0(&mut self, _text: &ParseTreeType<'t>) -> Result<()> {
5951 let context = function_name!();
5952 trace!("{}", self.trace_item_stack(context));
5953 let text = pop_item!(self, text, Text, context);
5954 let text_binding_opt0_0_built = TextBindingOpt0 { text };
5955 self.push(
5956 ASTType::TextBindingOpt0(Some(text_binding_opt0_0_built)),
5957 context,
5958 );
5959 Ok(())
5960 }
5961
5962 #[parol_runtime::function_name::named]
5967 fn text_binding_opt0_1(&mut self) -> Result<()> {
5968 let context = function_name!();
5969 trace!("{}", self.trace_item_stack(context));
5970 self.push(ASTType::TextBindingOpt0(None), context);
5971 Ok(())
5972 }
5973
5974 #[parol_runtime::function_name::named]
5979 fn text_binding_opt_0(&mut self, _ws: &ParseTreeType<'t>) -> Result<()> {
5980 let context = function_name!();
5981 trace!("{}", self.trace_item_stack(context));
5982 self.pop(context);
5983 let text_binding_opt_0_built = TextBindingOpt {};
5984 self.push(
5985 ASTType::TextBindingOpt(Some(text_binding_opt_0_built)),
5986 context,
5987 );
5988 Ok(())
5989 }
5990
5991 #[parol_runtime::function_name::named]
5996 fn text_binding_opt_1(&mut self) -> Result<()> {
5997 let context = function_name!();
5998 trace!("{}", self.trace_item_stack(context));
5999 self.push(ASTType::TextBindingOpt(None), context);
6000 Ok(())
6001 }
6002
6003 #[parol_runtime::function_name::named]
6008 fn section(
6009 &mut self,
6010 _at: &ParseTreeType<'t>,
6011 _keys: &ParseTreeType<'t>,
6012 _section_body: &ParseTreeType<'t>,
6013 ) -> Result<()> {
6014 let context = function_name!();
6015 trace!("{}", self.trace_item_stack(context));
6016 let section_body = pop_item!(self, section_body, SectionBody, context);
6017 let keys = pop_item!(self, keys, Keys, context);
6018 let at = pop_item!(self, at, At, context);
6019 let section_built = Section {
6020 at,
6021 keys,
6022 section_body,
6023 };
6024 self.user_grammar.section(§ion_built)?;
6026 self.push(ASTType::Section(section_built), context);
6027 Ok(())
6028 }
6029
6030 #[parol_runtime::function_name::named]
6035 fn section_body_0(&mut self, _section_body_opt: &ParseTreeType<'t>) -> Result<()> {
6036 let context = function_name!();
6037 trace!("{}", self.trace_item_stack(context));
6038 let section_body_opt = pop_item!(self, section_body_opt, SectionBodyOpt, context);
6039 let section_body_0_built = SectionBodySectionBodyOpt { section_body_opt };
6040 let section_body_0_built = SectionBody::SectionBodyOpt(section_body_0_built);
6041 self.user_grammar.section_body(§ion_body_0_built)?;
6043 self.push(ASTType::SectionBody(section_body_0_built), context);
6044 Ok(())
6045 }
6046
6047 #[parol_runtime::function_name::named]
6052 fn section_body_1(&mut self, _block_body: &ParseTreeType<'t>) -> Result<()> {
6053 let context = function_name!();
6054 trace!("{}", self.trace_item_stack(context));
6055 let block_body = pop_item!(self, block_body, BlockBody, context);
6056 let section_body_1_built = SectionBodyBlockBody { block_body };
6057 let section_body_1_built = SectionBody::BlockBody(section_body_1_built);
6058 self.user_grammar.section_body(§ion_body_1_built)?;
6060 self.push(ASTType::SectionBody(section_body_1_built), context);
6061 Ok(())
6062 }
6063
6064 #[parol_runtime::function_name::named]
6069 fn section_body_opt_0(&mut self, _flat_body: &ParseTreeType<'t>) -> Result<()> {
6070 let context = function_name!();
6071 trace!("{}", self.trace_item_stack(context));
6072 let flat_body = pop_item!(self, flat_body, FlatBody, context);
6073 let section_body_opt_0_built = SectionBodyOpt { flat_body };
6074 self.push(
6075 ASTType::SectionBodyOpt(Some(section_body_opt_0_built)),
6076 context,
6077 );
6078 Ok(())
6079 }
6080
6081 #[parol_runtime::function_name::named]
6086 fn section_body_opt_1(&mut self) -> Result<()> {
6087 let context = function_name!();
6088 trace!("{}", self.trace_item_stack(context));
6089 self.push(ASTType::SectionBodyOpt(None), context);
6090 Ok(())
6091 }
6092
6093 #[parol_runtime::function_name::named]
6098 fn flat_body(
6099 &mut self,
6100 _section_head: &ParseTreeType<'t>,
6101 _flat_body_list: &ParseTreeType<'t>,
6102 ) -> Result<()> {
6103 let context = function_name!();
6104 trace!("{}", self.trace_item_stack(context));
6105 let flat_body_list = pop_and_reverse_item!(self, flat_body_list, FlatBodyList, context);
6106 let section_head = pop_item!(self, section_head, SectionHead, context);
6107 let flat_body_built = FlatBody {
6108 section_head,
6109 flat_body_list,
6110 };
6111 self.user_grammar.flat_body(&flat_body_built)?;
6113 self.push(ASTType::FlatBody(flat_body_built), context);
6114 Ok(())
6115 }
6116
6117 #[parol_runtime::function_name::named]
6122 fn flat_body_list_0(
6123 &mut self,
6124 _binding: &ParseTreeType<'t>,
6125 _flat_body_list: &ParseTreeType<'t>,
6126 ) -> Result<()> {
6127 let context = function_name!();
6128 trace!("{}", self.trace_item_stack(context));
6129 let mut flat_body_list = pop_item!(self, flat_body_list, FlatBodyList, context);
6130 let binding = pop_item!(self, binding, Binding, context);
6131 let flat_body_list_0_built = FlatBodyList { binding };
6132 flat_body_list.push(flat_body_list_0_built);
6134 self.push(ASTType::FlatBodyList(flat_body_list), context);
6135 Ok(())
6136 }
6137
6138 #[parol_runtime::function_name::named]
6143 fn flat_body_list_1(&mut self) -> Result<()> {
6144 let context = function_name!();
6145 trace!("{}", self.trace_item_stack(context));
6146 let flat_body_list_1_built = Vec::new();
6147 self.push(ASTType::FlatBodyList(flat_body_list_1_built), context);
6148 Ok(())
6149 }
6150
6151 #[parol_runtime::function_name::named]
6156 fn section_head_0(&mut self, _root_binding: &ParseTreeType<'t>) -> Result<()> {
6157 let context = function_name!();
6158 trace!("{}", self.trace_item_stack(context));
6159 let root_binding = pop_item!(self, root_binding, RootBinding, context);
6160 let section_head_0_built = SectionHeadRootBinding { root_binding };
6161 let section_head_0_built = SectionHead::RootBinding(section_head_0_built);
6162 self.user_grammar.section_head(§ion_head_0_built)?;
6164 self.push(ASTType::SectionHead(section_head_0_built), context);
6165 Ok(())
6166 }
6167
6168 #[parol_runtime::function_name::named]
6173 fn section_head_1(&mut self, _newline_head: &ParseTreeType<'t>) -> Result<()> {
6174 let context = function_name!();
6175 trace!("{}", self.trace_item_stack(context));
6176 let newline_head = pop_item!(self, newline_head, NewlineHead, context);
6177 let section_head_1_built = SectionHeadNewlineHead { newline_head };
6178 let section_head_1_built = SectionHead::NewlineHead(section_head_1_built);
6179 self.user_grammar.section_head(§ion_head_1_built)?;
6181 self.push(ASTType::SectionHead(section_head_1_built), context);
6182 Ok(())
6183 }
6184
6185 #[parol_runtime::function_name::named]
6190 fn newline_head(
6191 &mut self,
6192 _grammar_newline: &ParseTreeType<'t>,
6193 _newline_head_opt: &ParseTreeType<'t>,
6194 ) -> Result<()> {
6195 let context = function_name!();
6196 trace!("{}", self.trace_item_stack(context));
6197 let newline_head_opt = pop_item!(self, newline_head_opt, NewlineHeadOpt, context);
6198 let grammar_newline = pop_item!(self, grammar_newline, GrammarNewline, context);
6199 let newline_head_built = NewlineHead {
6200 grammar_newline,
6201 newline_head_opt,
6202 };
6203 self.user_grammar.newline_head(&newline_head_built)?;
6205 self.push(ASTType::NewlineHead(newline_head_built), context);
6206 Ok(())
6207 }
6208
6209 #[parol_runtime::function_name::named]
6214 fn newline_head_opt_0(&mut self, _flat_root_binding: &ParseTreeType<'t>) -> Result<()> {
6215 let context = function_name!();
6216 trace!("{}", self.trace_item_stack(context));
6217 let flat_root_binding = pop_item!(self, flat_root_binding, FlatRootBinding, context);
6218 let newline_head_opt_0_built = NewlineHeadOpt { flat_root_binding };
6219 self.push(
6220 ASTType::NewlineHeadOpt(Some(newline_head_opt_0_built)),
6221 context,
6222 );
6223 Ok(())
6224 }
6225
6226 #[parol_runtime::function_name::named]
6231 fn newline_head_opt_1(&mut self) -> Result<()> {
6232 let context = function_name!();
6233 trace!("{}", self.trace_item_stack(context));
6234 self.push(ASTType::NewlineHeadOpt(None), context);
6235 Ok(())
6236 }
6237
6238 #[parol_runtime::function_name::named]
6243 fn flat_root_binding_0(&mut self, _value_binding: &ParseTreeType<'t>) -> Result<()> {
6244 let context = function_name!();
6245 trace!("{}", self.trace_item_stack(context));
6246 let value_binding = pop_item!(self, value_binding, ValueBinding, context);
6247 let flat_root_binding_0_built = FlatRootBindingValueBinding { value_binding };
6248 let flat_root_binding_0_built = FlatRootBinding::ValueBinding(flat_root_binding_0_built);
6249 self.user_grammar
6251 .flat_root_binding(&flat_root_binding_0_built)?;
6252 self.push(ASTType::FlatRootBinding(flat_root_binding_0_built), context);
6253 Ok(())
6254 }
6255
6256 #[parol_runtime::function_name::named]
6261 fn flat_root_binding_1(&mut self, _text_binding: &ParseTreeType<'t>) -> Result<()> {
6262 let context = function_name!();
6263 trace!("{}", self.trace_item_stack(context));
6264 let text_binding = pop_item!(self, text_binding, TextBinding, context);
6265 let flat_root_binding_1_built = FlatRootBindingTextBinding { text_binding };
6266 let flat_root_binding_1_built = FlatRootBinding::TextBinding(flat_root_binding_1_built);
6267 self.user_grammar
6269 .flat_root_binding(&flat_root_binding_1_built)?;
6270 self.push(ASTType::FlatRootBinding(flat_root_binding_1_built), context);
6271 Ok(())
6272 }
6273
6274 #[parol_runtime::function_name::named]
6279 fn block_body(
6280 &mut self,
6281 _begin: &ParseTreeType<'t>,
6282 _eure: &ParseTreeType<'t>,
6283 _end: &ParseTreeType<'t>,
6284 ) -> Result<()> {
6285 let context = function_name!();
6286 trace!("{}", self.trace_item_stack(context));
6287 let end = pop_item!(self, end, End, context);
6288 let eure = pop_item!(self, eure, Eure, context);
6289 let begin = pop_item!(self, begin, Begin, context);
6290 let block_body_built = BlockBody { begin, eure, end };
6291 self.user_grammar.block_body(&block_body_built)?;
6293 self.push(ASTType::BlockBody(block_body_built), context);
6294 Ok(())
6295 }
6296
6297 #[parol_runtime::function_name::named]
6302 fn keys(
6303 &mut self,
6304 _first_key: &ParseTreeType<'t>,
6305 _keys_list: &ParseTreeType<'t>,
6306 ) -> Result<()> {
6307 let context = function_name!();
6308 trace!("{}", self.trace_item_stack(context));
6309 let keys_list = pop_and_reverse_item!(self, keys_list, KeysList, context);
6310 let first_key = pop_item!(self, first_key, FirstKey, context);
6311 let keys_built = Keys {
6312 first_key,
6313 keys_list,
6314 };
6315 self.user_grammar.keys(&keys_built)?;
6317 self.push(ASTType::Keys(keys_built), context);
6318 Ok(())
6319 }
6320
6321 #[parol_runtime::function_name::named]
6326 fn keys_list_0(
6327 &mut self,
6328 _key_tail: &ParseTreeType<'t>,
6329 _keys_list: &ParseTreeType<'t>,
6330 ) -> Result<()> {
6331 let context = function_name!();
6332 trace!("{}", self.trace_item_stack(context));
6333 let mut keys_list = pop_item!(self, keys_list, KeysList, context);
6334 let key_tail = pop_item!(self, key_tail, KeyTail, context);
6335 let keys_list_0_built = KeysList { key_tail };
6336 keys_list.push(keys_list_0_built);
6338 self.push(ASTType::KeysList(keys_list), context);
6339 Ok(())
6340 }
6341
6342 #[parol_runtime::function_name::named]
6347 fn keys_list_1(&mut self) -> Result<()> {
6348 let context = function_name!();
6349 trace!("{}", self.trace_item_stack(context));
6350 let keys_list_1_built = Vec::new();
6351 self.push(ASTType::KeysList(keys_list_1_built), context);
6352 Ok(())
6353 }
6354
6355 #[parol_runtime::function_name::named]
6360 fn first_key_0(&mut self, _key: &ParseTreeType<'t>) -> Result<()> {
6361 let context = function_name!();
6362 trace!("{}", self.trace_item_stack(context));
6363 let key = pop_item!(self, key, Key, context);
6364 let first_key_0_built = FirstKeyKey { key };
6365 let first_key_0_built = FirstKey::Key(first_key_0_built);
6366 self.user_grammar.first_key(&first_key_0_built)?;
6368 self.push(ASTType::FirstKey(first_key_0_built), context);
6369 Ok(())
6370 }
6371
6372 #[parol_runtime::function_name::named]
6377 fn first_key_1(&mut self, _array_marker: &ParseTreeType<'t>) -> Result<()> {
6378 let context = function_name!();
6379 trace!("{}", self.trace_item_stack(context));
6380 let array_marker = pop_item!(self, array_marker, ArrayMarker, context);
6381 let first_key_1_built = FirstKeyArrayMarker { array_marker };
6382 let first_key_1_built = FirstKey::ArrayMarker(first_key_1_built);
6383 self.user_grammar.first_key(&first_key_1_built)?;
6385 self.push(ASTType::FirstKey(first_key_1_built), context);
6386 Ok(())
6387 }
6388
6389 #[parol_runtime::function_name::named]
6394 fn key_tail_0(&mut self, _dot_key: &ParseTreeType<'t>) -> Result<()> {
6395 let context = function_name!();
6396 trace!("{}", self.trace_item_stack(context));
6397 let dot_key = pop_item!(self, dot_key, DotKey, context);
6398 let key_tail_0_built = KeyTailDotKey { dot_key };
6399 let key_tail_0_built = KeyTail::DotKey(key_tail_0_built);
6400 self.user_grammar.key_tail(&key_tail_0_built)?;
6402 self.push(ASTType::KeyTail(key_tail_0_built), context);
6403 Ok(())
6404 }
6405
6406 #[parol_runtime::function_name::named]
6411 fn key_tail_1(&mut self, _array_marker: &ParseTreeType<'t>) -> Result<()> {
6412 let context = function_name!();
6413 trace!("{}", self.trace_item_stack(context));
6414 let array_marker = pop_item!(self, array_marker, ArrayMarker, context);
6415 let key_tail_1_built = KeyTailArrayMarker { array_marker };
6416 let key_tail_1_built = KeyTail::ArrayMarker(key_tail_1_built);
6417 self.user_grammar.key_tail(&key_tail_1_built)?;
6419 self.push(ASTType::KeyTail(key_tail_1_built), context);
6420 Ok(())
6421 }
6422
6423 #[parol_runtime::function_name::named]
6428 fn dot_key(&mut self, _dot: &ParseTreeType<'t>, _key: &ParseTreeType<'t>) -> Result<()> {
6429 let context = function_name!();
6430 trace!("{}", self.trace_item_stack(context));
6431 let key = pop_item!(self, key, Key, context);
6432 let dot = pop_item!(self, dot, Dot, context);
6433 let dot_key_built = DotKey { dot, key };
6434 self.user_grammar.dot_key(&dot_key_built)?;
6436 self.push(ASTType::DotKey(dot_key_built), context);
6437 Ok(())
6438 }
6439
6440 #[parol_runtime::function_name::named]
6445 fn array_marker(
6446 &mut self,
6447 _array_begin: &ParseTreeType<'t>,
6448 _array_marker_opt: &ParseTreeType<'t>,
6449 _array_end: &ParseTreeType<'t>,
6450 ) -> Result<()> {
6451 let context = function_name!();
6452 trace!("{}", self.trace_item_stack(context));
6453 let array_end = pop_item!(self, array_end, ArrayEnd, context);
6454 let array_marker_opt = pop_item!(self, array_marker_opt, ArrayMarkerOpt, context);
6455 let array_begin = pop_item!(self, array_begin, ArrayBegin, context);
6456 let array_marker_built = ArrayMarker {
6457 array_begin,
6458 array_marker_opt,
6459 array_end,
6460 };
6461 self.user_grammar.array_marker(&array_marker_built)?;
6463 self.push(ASTType::ArrayMarker(array_marker_built), context);
6464 Ok(())
6465 }
6466
6467 #[parol_runtime::function_name::named]
6472 fn array_marker_opt_0(&mut self, _array_marker_opt_group: &ParseTreeType<'t>) -> Result<()> {
6473 let context = function_name!();
6474 trace!("{}", self.trace_item_stack(context));
6475 let array_marker_opt_group =
6476 pop_item!(self, array_marker_opt_group, ArrayMarkerOptGroup, context);
6477 let array_marker_opt_0_built = ArrayMarkerOpt {
6478 array_marker_opt_group,
6479 };
6480 self.push(
6481 ASTType::ArrayMarkerOpt(Some(array_marker_opt_0_built)),
6482 context,
6483 );
6484 Ok(())
6485 }
6486
6487 #[parol_runtime::function_name::named]
6492 fn array_marker_opt_group_0(&mut self, _integer: &ParseTreeType<'t>) -> Result<()> {
6493 let context = function_name!();
6494 trace!("{}", self.trace_item_stack(context));
6495 let integer = pop_item!(self, integer, Integer, context);
6496 let array_marker_opt_group_0_built = ArrayMarkerOptGroupInteger { integer };
6497 let array_marker_opt_group_0_built =
6498 ArrayMarkerOptGroup::Integer(array_marker_opt_group_0_built);
6499 self.push(
6500 ASTType::ArrayMarkerOptGroup(array_marker_opt_group_0_built),
6501 context,
6502 );
6503 Ok(())
6504 }
6505
6506 #[parol_runtime::function_name::named]
6511 fn array_marker_opt_group_1(&mut self, _caret: &ParseTreeType<'t>) -> Result<()> {
6512 let context = function_name!();
6513 trace!("{}", self.trace_item_stack(context));
6514 let caret = pop_item!(self, caret, Caret, context);
6515 let array_marker_opt_group_1_built = ArrayMarkerOptGroupCaret { caret };
6516 let array_marker_opt_group_1_built =
6517 ArrayMarkerOptGroup::Caret(array_marker_opt_group_1_built);
6518 self.push(
6519 ASTType::ArrayMarkerOptGroup(array_marker_opt_group_1_built),
6520 context,
6521 );
6522 Ok(())
6523 }
6524
6525 #[parol_runtime::function_name::named]
6530 fn array_marker_opt_1(&mut self) -> Result<()> {
6531 let context = function_name!();
6532 trace!("{}", self.trace_item_stack(context));
6533 self.push(ASTType::ArrayMarkerOpt(None), context);
6534 Ok(())
6535 }
6536
6537 #[parol_runtime::function_name::named]
6542 fn key_0(&mut self, _key_ident: &ParseTreeType<'t>) -> Result<()> {
6543 let context = function_name!();
6544 trace!("{}", self.trace_item_stack(context));
6545 let key_ident = pop_item!(self, key_ident, KeyIdent, context);
6546 let key_0_built = KeyKeyIdent { key_ident };
6547 let key_0_built = Key::KeyIdent(key_0_built);
6548 self.user_grammar.key(&key_0_built)?;
6550 self.push(ASTType::Key(key_0_built), context);
6551 Ok(())
6552 }
6553
6554 #[parol_runtime::function_name::named]
6559 fn key_1(&mut self, _extension_name_space: &ParseTreeType<'t>) -> Result<()> {
6560 let context = function_name!();
6561 trace!("{}", self.trace_item_stack(context));
6562 let extension_name_space =
6563 pop_item!(self, extension_name_space, ExtensionNameSpace, context);
6564 let key_1_built = KeyExtensionNameSpace {
6565 extension_name_space,
6566 };
6567 let key_1_built = Key::ExtensionNameSpace(key_1_built);
6568 self.user_grammar.key(&key_1_built)?;
6570 self.push(ASTType::Key(key_1_built), context);
6571 Ok(())
6572 }
6573
6574 #[parol_runtime::function_name::named]
6579 fn key_2(&mut self, _string: &ParseTreeType<'t>) -> Result<()> {
6580 let context = function_name!();
6581 trace!("{}", self.trace_item_stack(context));
6582 let string = pop_item!(self, string, String, context);
6583 let key_2_built = KeyString { string };
6584 let key_2_built = Key::String(key_2_built);
6585 self.user_grammar.key(&key_2_built)?;
6587 self.push(ASTType::Key(key_2_built), context);
6588 Ok(())
6589 }
6590
6591 #[parol_runtime::function_name::named]
6596 fn key_3(&mut self, _integer: &ParseTreeType<'t>) -> Result<()> {
6597 let context = function_name!();
6598 trace!("{}", self.trace_item_stack(context));
6599 let integer = pop_item!(self, integer, Integer, context);
6600 let key_3_built = KeyInteger { integer };
6601 let key_3_built = Key::Integer(key_3_built);
6602 self.user_grammar.key(&key_3_built)?;
6604 self.push(ASTType::Key(key_3_built), context);
6605 Ok(())
6606 }
6607
6608 #[parol_runtime::function_name::named]
6613 fn key_4(&mut self, _float: &ParseTreeType<'t>) -> Result<()> {
6614 let context = function_name!();
6615 trace!("{}", self.trace_item_stack(context));
6616 let float = pop_item!(self, float, Float, context);
6617 let key_4_built = KeyFloat { float };
6618 let key_4_built = Key::Float(key_4_built);
6619 self.user_grammar.key(&key_4_built)?;
6621 self.push(ASTType::Key(key_4_built), context);
6622 Ok(())
6623 }
6624
6625 #[parol_runtime::function_name::named]
6630 fn key_5(&mut self, _key_tuple: &ParseTreeType<'t>) -> Result<()> {
6631 let context = function_name!();
6632 trace!("{}", self.trace_item_stack(context));
6633 let key_tuple = pop_item!(self, key_tuple, KeyTuple, context);
6634 let key_5_built = KeyKeyTuple { key_tuple };
6635 let key_5_built = Key::KeyTuple(key_5_built);
6636 self.user_grammar.key(&key_5_built)?;
6638 self.push(ASTType::Key(key_5_built), context);
6639 Ok(())
6640 }
6641
6642 #[parol_runtime::function_name::named]
6647 fn key_6(&mut self, _tuple_index: &ParseTreeType<'t>) -> Result<()> {
6648 let context = function_name!();
6649 trace!("{}", self.trace_item_stack(context));
6650 let tuple_index = pop_item!(self, tuple_index, TupleIndex, context);
6651 let key_6_built = KeyTupleIndex { tuple_index };
6652 let key_6_built = Key::TupleIndex(key_6_built);
6653 self.user_grammar.key(&key_6_built)?;
6655 self.push(ASTType::Key(key_6_built), context);
6656 Ok(())
6657 }
6658
6659 #[parol_runtime::function_name::named]
6664 fn key_7(&mut self, _hole: &ParseTreeType<'t>) -> Result<()> {
6665 let context = function_name!();
6666 trace!("{}", self.trace_item_stack(context));
6667 let hole = pop_item!(self, hole, Hole, context);
6668 let key_7_built = KeyHole { hole };
6669 let key_7_built = Key::Hole(key_7_built);
6670 self.user_grammar.key(&key_7_built)?;
6672 self.push(ASTType::Key(key_7_built), context);
6673 Ok(())
6674 }
6675
6676 #[parol_runtime::function_name::named]
6681 fn tuple_index(
6682 &mut self,
6683 hash: &ParseTreeType<'t>,
6684 _integer: &ParseTreeType<'t>,
6685 ) -> Result<()> {
6686 let context = function_name!();
6687 trace!("{}", self.trace_item_stack(context));
6688 let hash = hash.token()?.clone();
6689 let integer = pop_item!(self, integer, Integer, context);
6690 let tuple_index_built = TupleIndex { hash, integer };
6691 self.user_grammar.tuple_index(&tuple_index_built)?;
6693 self.push(ASTType::TupleIndex(tuple_index_built), context);
6694 Ok(())
6695 }
6696
6697 #[parol_runtime::function_name::named]
6702 fn extension_name_space(
6703 &mut self,
6704 _ext: &ParseTreeType<'t>,
6705 _key_ident: &ParseTreeType<'t>,
6706 ) -> Result<()> {
6707 let context = function_name!();
6708 trace!("{}", self.trace_item_stack(context));
6709 let key_ident = pop_item!(self, key_ident, KeyIdent, context);
6710 let ext = pop_item!(self, ext, Ext, context);
6711 let extension_name_space_built = ExtensionNameSpace { ext, key_ident };
6712 self.user_grammar
6714 .extension_name_space(&extension_name_space_built)?;
6715 self.push(
6716 ASTType::ExtensionNameSpace(extension_name_space_built),
6717 context,
6718 );
6719 Ok(())
6720 }
6721
6722 #[parol_runtime::function_name::named]
6727 fn key_tuple(
6728 &mut self,
6729 _l_paren: &ParseTreeType<'t>,
6730 _key_tuple_opt: &ParseTreeType<'t>,
6731 _r_paren: &ParseTreeType<'t>,
6732 ) -> Result<()> {
6733 let context = function_name!();
6734 trace!("{}", self.trace_item_stack(context));
6735 let r_paren = pop_item!(self, r_paren, RParen, context);
6736 let key_tuple_opt = pop_item!(self, key_tuple_opt, KeyTupleOpt, context);
6737 let l_paren = pop_item!(self, l_paren, LParen, context);
6738 let key_tuple_built = KeyTuple {
6739 l_paren,
6740 key_tuple_opt,
6741 r_paren,
6742 };
6743 self.user_grammar.key_tuple(&key_tuple_built)?;
6745 self.push(ASTType::KeyTuple(key_tuple_built), context);
6746 Ok(())
6747 }
6748
6749 #[parol_runtime::function_name::named]
6754 fn key_tuple_opt_0(&mut self, _key_tuple_elements: &ParseTreeType<'t>) -> Result<()> {
6755 let context = function_name!();
6756 trace!("{}", self.trace_item_stack(context));
6757 let key_tuple_elements = pop_item!(self, key_tuple_elements, KeyTupleElements, context);
6758 let key_tuple_opt_0_built = KeyTupleOpt { key_tuple_elements };
6759 self.push(ASTType::KeyTupleOpt(Some(key_tuple_opt_0_built)), context);
6760 Ok(())
6761 }
6762
6763 #[parol_runtime::function_name::named]
6768 fn key_tuple_opt_1(&mut self) -> Result<()> {
6769 let context = function_name!();
6770 trace!("{}", self.trace_item_stack(context));
6771 self.push(ASTType::KeyTupleOpt(None), context);
6772 Ok(())
6773 }
6774
6775 #[parol_runtime::function_name::named]
6780 fn key_tuple_elements(
6781 &mut self,
6782 _key_value: &ParseTreeType<'t>,
6783 _key_tuple_elements_opt: &ParseTreeType<'t>,
6784 ) -> Result<()> {
6785 let context = function_name!();
6786 trace!("{}", self.trace_item_stack(context));
6787 let key_tuple_elements_opt =
6788 pop_item!(self, key_tuple_elements_opt, KeyTupleElementsOpt, context);
6789 let key_value = pop_item!(self, key_value, KeyValue, context);
6790 let key_tuple_elements_built = KeyTupleElements {
6791 key_value,
6792 key_tuple_elements_opt: key_tuple_elements_opt.map(Box::new),
6793 };
6794 self.user_grammar
6796 .key_tuple_elements(&key_tuple_elements_built)?;
6797 self.push(ASTType::KeyTupleElements(key_tuple_elements_built), context);
6798 Ok(())
6799 }
6800
6801 #[parol_runtime::function_name::named]
6806 fn key_tuple_elements_opt_0(
6807 &mut self,
6808 _key_tuple_elements_tail: &ParseTreeType<'t>,
6809 ) -> Result<()> {
6810 let context = function_name!();
6811 trace!("{}", self.trace_item_stack(context));
6812 let key_tuple_elements_tail =
6813 pop_item!(self, key_tuple_elements_tail, KeyTupleElementsTail, context);
6814 let key_tuple_elements_opt_0_built = KeyTupleElementsOpt {
6815 key_tuple_elements_tail,
6816 };
6817 self.push(
6818 ASTType::KeyTupleElementsOpt(Some(key_tuple_elements_opt_0_built)),
6819 context,
6820 );
6821 Ok(())
6822 }
6823
6824 #[parol_runtime::function_name::named]
6829 fn key_tuple_elements_opt_1(&mut self) -> Result<()> {
6830 let context = function_name!();
6831 trace!("{}", self.trace_item_stack(context));
6832 self.push(ASTType::KeyTupleElementsOpt(None), context);
6833 Ok(())
6834 }
6835
6836 #[parol_runtime::function_name::named]
6841 fn key_tuple_elements_tail(
6842 &mut self,
6843 _comma: &ParseTreeType<'t>,
6844 _key_tuple_elements_tail_opt: &ParseTreeType<'t>,
6845 ) -> Result<()> {
6846 let context = function_name!();
6847 trace!("{}", self.trace_item_stack(context));
6848 let key_tuple_elements_tail_opt = pop_item!(
6849 self,
6850 key_tuple_elements_tail_opt,
6851 KeyTupleElementsTailOpt,
6852 context
6853 );
6854 let comma = pop_item!(self, comma, Comma, context);
6855 let key_tuple_elements_tail_built = KeyTupleElementsTail {
6856 comma,
6857 key_tuple_elements_tail_opt,
6858 };
6859 self.user_grammar
6861 .key_tuple_elements_tail(&key_tuple_elements_tail_built)?;
6862 self.push(
6863 ASTType::KeyTupleElementsTail(key_tuple_elements_tail_built),
6864 context,
6865 );
6866 Ok(())
6867 }
6868
6869 #[parol_runtime::function_name::named]
6874 fn key_tuple_elements_tail_opt_0(
6875 &mut self,
6876 _key_tuple_elements: &ParseTreeType<'t>,
6877 ) -> Result<()> {
6878 let context = function_name!();
6879 trace!("{}", self.trace_item_stack(context));
6880 let key_tuple_elements = pop_item!(self, key_tuple_elements, KeyTupleElements, context);
6881 let key_tuple_elements_tail_opt_0_built = KeyTupleElementsTailOpt { key_tuple_elements };
6882 self.push(
6883 ASTType::KeyTupleElementsTailOpt(Some(key_tuple_elements_tail_opt_0_built)),
6884 context,
6885 );
6886 Ok(())
6887 }
6888
6889 #[parol_runtime::function_name::named]
6894 fn key_tuple_elements_tail_opt_1(&mut self) -> Result<()> {
6895 let context = function_name!();
6896 trace!("{}", self.trace_item_stack(context));
6897 self.push(ASTType::KeyTupleElementsTailOpt(None), context);
6898 Ok(())
6899 }
6900
6901 #[parol_runtime::function_name::named]
6906 fn key_value_0(&mut self, _integer: &ParseTreeType<'t>) -> Result<()> {
6907 let context = function_name!();
6908 trace!("{}", self.trace_item_stack(context));
6909 let integer = pop_item!(self, integer, Integer, context);
6910 let key_value_0_built = KeyValueInteger { integer };
6911 let key_value_0_built = KeyValue::Integer(key_value_0_built);
6912 self.user_grammar.key_value(&key_value_0_built)?;
6914 self.push(ASTType::KeyValue(key_value_0_built), context);
6915 Ok(())
6916 }
6917
6918 #[parol_runtime::function_name::named]
6923 fn key_value_1(&mut self, _boolean: &ParseTreeType<'t>) -> Result<()> {
6924 let context = function_name!();
6925 trace!("{}", self.trace_item_stack(context));
6926 let boolean = pop_item!(self, boolean, Boolean, context);
6927 let key_value_1_built = KeyValueBoolean { boolean };
6928 let key_value_1_built = KeyValue::Boolean(key_value_1_built);
6929 self.user_grammar.key_value(&key_value_1_built)?;
6931 self.push(ASTType::KeyValue(key_value_1_built), context);
6932 Ok(())
6933 }
6934
6935 #[parol_runtime::function_name::named]
6940 fn key_value_2(&mut self, _str: &ParseTreeType<'t>) -> Result<()> {
6941 let context = function_name!();
6942 trace!("{}", self.trace_item_stack(context));
6943 let str = pop_item!(self, str, Str, context);
6944 let key_value_2_built = KeyValueStr { str };
6945 let key_value_2_built = KeyValue::Str(key_value_2_built);
6946 self.user_grammar.key_value(&key_value_2_built)?;
6948 self.push(ASTType::KeyValue(key_value_2_built), context);
6949 Ok(())
6950 }
6951
6952 #[parol_runtime::function_name::named]
6957 fn key_value_3(&mut self, _key_tuple: &ParseTreeType<'t>) -> Result<()> {
6958 let context = function_name!();
6959 trace!("{}", self.trace_item_stack(context));
6960 let key_tuple = pop_item!(self, key_tuple, KeyTuple, context);
6961 let key_value_3_built = KeyValueKeyTuple {
6962 key_tuple: Box::new(key_tuple),
6963 };
6964 let key_value_3_built = KeyValue::KeyTuple(key_value_3_built);
6965 self.user_grammar.key_value(&key_value_3_built)?;
6967 self.push(ASTType::KeyValue(key_value_3_built), context);
6968 Ok(())
6969 }
6970
6971 #[parol_runtime::function_name::named]
6976 fn key_value_4(&mut self, _hole: &ParseTreeType<'t>) -> Result<()> {
6977 let context = function_name!();
6978 trace!("{}", self.trace_item_stack(context));
6979 let hole = pop_item!(self, hole, Hole, context);
6980 let key_value_4_built = KeyValueHole { hole };
6981 let key_value_4_built = KeyValue::Hole(key_value_4_built);
6982 self.user_grammar.key_value(&key_value_4_built)?;
6984 self.push(ASTType::KeyValue(key_value_4_built), context);
6985 Ok(())
6986 }
6987
6988 #[parol_runtime::function_name::named]
6993 fn key_ident_0(&mut self, _ident: &ParseTreeType<'t>) -> Result<()> {
6994 let context = function_name!();
6995 trace!("{}", self.trace_item_stack(context));
6996 let ident = pop_item!(self, ident, Ident, context);
6997 let key_ident_0_built = KeyIdentIdent { ident };
6998 let key_ident_0_built = KeyIdent::Ident(key_ident_0_built);
6999 self.user_grammar.key_ident(&key_ident_0_built)?;
7001 self.push(ASTType::KeyIdent(key_ident_0_built), context);
7002 Ok(())
7003 }
7004
7005 #[parol_runtime::function_name::named]
7010 fn key_ident_1(&mut self, _true: &ParseTreeType<'t>) -> Result<()> {
7011 let context = function_name!();
7012 trace!("{}", self.trace_item_stack(context));
7013 let r#true = pop_item!(self, r#true, True, context);
7014 let key_ident_1_built = KeyIdentTrue { r#true };
7015 let key_ident_1_built = KeyIdent::True(key_ident_1_built);
7016 self.user_grammar.key_ident(&key_ident_1_built)?;
7018 self.push(ASTType::KeyIdent(key_ident_1_built), context);
7019 Ok(())
7020 }
7021
7022 #[parol_runtime::function_name::named]
7027 fn key_ident_2(&mut self, _false: &ParseTreeType<'t>) -> Result<()> {
7028 let context = function_name!();
7029 trace!("{}", self.trace_item_stack(context));
7030 let r#false = pop_item!(self, r#false, False, context);
7031 let key_ident_2_built = KeyIdentFalse { r#false };
7032 let key_ident_2_built = KeyIdent::False(key_ident_2_built);
7033 self.user_grammar.key_ident(&key_ident_2_built)?;
7035 self.push(ASTType::KeyIdent(key_ident_2_built), context);
7036 Ok(())
7037 }
7038
7039 #[parol_runtime::function_name::named]
7044 fn key_ident_3(&mut self, _null: &ParseTreeType<'t>) -> Result<()> {
7045 let context = function_name!();
7046 trace!("{}", self.trace_item_stack(context));
7047 let null = pop_item!(self, null, Null, context);
7048 let key_ident_3_built = KeyIdentNull { null };
7049 let key_ident_3_built = KeyIdent::Null(key_ident_3_built);
7050 self.user_grammar.key_ident(&key_ident_3_built)?;
7052 self.push(ASTType::KeyIdent(key_ident_3_built), context);
7053 Ok(())
7054 }
7055
7056 #[parol_runtime::function_name::named]
7061 fn value_0(&mut self, _object: &ParseTreeType<'t>) -> Result<()> {
7062 let context = function_name!();
7063 trace!("{}", self.trace_item_stack(context));
7064 let object = pop_item!(self, object, Object, context);
7065 let value_0_built = ValueObject {
7066 object: Box::new(object),
7067 };
7068 let value_0_built = Value::Object(value_0_built);
7069 self.user_grammar.value(&value_0_built)?;
7071 self.push(ASTType::Value(value_0_built), context);
7072 Ok(())
7073 }
7074
7075 #[parol_runtime::function_name::named]
7080 fn value_1(&mut self, _array: &ParseTreeType<'t>) -> Result<()> {
7081 let context = function_name!();
7082 trace!("{}", self.trace_item_stack(context));
7083 let array = pop_item!(self, array, Array, context);
7084 let value_1_built = ValueArray {
7085 array: Box::new(array),
7086 };
7087 let value_1_built = Value::Array(value_1_built);
7088 self.user_grammar.value(&value_1_built)?;
7090 self.push(ASTType::Value(value_1_built), context);
7091 Ok(())
7092 }
7093
7094 #[parol_runtime::function_name::named]
7099 fn value_2(&mut self, _tuple: &ParseTreeType<'t>) -> Result<()> {
7100 let context = function_name!();
7101 trace!("{}", self.trace_item_stack(context));
7102 let tuple = pop_item!(self, tuple, Tuple, context);
7103 let value_2_built = ValueTuple {
7104 tuple: Box::new(tuple),
7105 };
7106 let value_2_built = Value::Tuple(value_2_built);
7107 self.user_grammar.value(&value_2_built)?;
7109 self.push(ASTType::Value(value_2_built), context);
7110 Ok(())
7111 }
7112
7113 #[parol_runtime::function_name::named]
7118 fn value_3(&mut self, _number: &ParseTreeType<'t>) -> Result<()> {
7119 let context = function_name!();
7120 trace!("{}", self.trace_item_stack(context));
7121 let number = pop_item!(self, number, Number, context);
7122 let value_3_built = ValueNumber { number };
7123 let value_3_built = Value::Number(value_3_built);
7124 self.user_grammar.value(&value_3_built)?;
7126 self.push(ASTType::Value(value_3_built), context);
7127 Ok(())
7128 }
7129
7130 #[parol_runtime::function_name::named]
7135 fn value_4(&mut self, _boolean: &ParseTreeType<'t>) -> Result<()> {
7136 let context = function_name!();
7137 trace!("{}", self.trace_item_stack(context));
7138 let boolean = pop_item!(self, boolean, Boolean, context);
7139 let value_4_built = ValueBoolean { boolean };
7140 let value_4_built = Value::Boolean(value_4_built);
7141 self.user_grammar.value(&value_4_built)?;
7143 self.push(ASTType::Value(value_4_built), context);
7144 Ok(())
7145 }
7146
7147 #[parol_runtime::function_name::named]
7152 fn value_5(&mut self, _null: &ParseTreeType<'t>) -> Result<()> {
7153 let context = function_name!();
7154 trace!("{}", self.trace_item_stack(context));
7155 let null = pop_item!(self, null, Null, context);
7156 let value_5_built = ValueNull { null };
7157 let value_5_built = Value::Null(value_5_built);
7158 self.user_grammar.value(&value_5_built)?;
7160 self.push(ASTType::Value(value_5_built), context);
7161 Ok(())
7162 }
7163
7164 #[parol_runtime::function_name::named]
7169 fn value_6(&mut self, _strings: &ParseTreeType<'t>) -> Result<()> {
7170 let context = function_name!();
7171 trace!("{}", self.trace_item_stack(context));
7172 let strings = pop_item!(self, strings, Strings, context);
7173 let value_6_built = ValueStrings { strings };
7174 let value_6_built = Value::Strings(value_6_built);
7175 self.user_grammar.value(&value_6_built)?;
7177 self.push(ASTType::Value(value_6_built), context);
7178 Ok(())
7179 }
7180
7181 #[parol_runtime::function_name::named]
7186 fn value_7(&mut self, _hole: &ParseTreeType<'t>) -> Result<()> {
7187 let context = function_name!();
7188 trace!("{}", self.trace_item_stack(context));
7189 let hole = pop_item!(self, hole, Hole, context);
7190 let value_7_built = ValueHole { hole };
7191 let value_7_built = Value::Hole(value_7_built);
7192 self.user_grammar.value(&value_7_built)?;
7194 self.push(ASTType::Value(value_7_built), context);
7195 Ok(())
7196 }
7197
7198 #[parol_runtime::function_name::named]
7203 fn value_8(&mut self, _code_block: &ParseTreeType<'t>) -> Result<()> {
7204 let context = function_name!();
7205 trace!("{}", self.trace_item_stack(context));
7206 let code_block = pop_item!(self, code_block, CodeBlock, context);
7207 let value_8_built = ValueCodeBlock { code_block };
7208 let value_8_built = Value::CodeBlock(value_8_built);
7209 self.user_grammar.value(&value_8_built)?;
7211 self.push(ASTType::Value(value_8_built), context);
7212 Ok(())
7213 }
7214
7215 #[parol_runtime::function_name::named]
7220 fn value_9(&mut self, _inline_code: &ParseTreeType<'t>) -> Result<()> {
7221 let context = function_name!();
7222 trace!("{}", self.trace_item_stack(context));
7223 let inline_code = pop_item!(self, inline_code, InlineCode, context);
7224 let value_9_built = ValueInlineCode { inline_code };
7225 let value_9_built = Value::InlineCode(value_9_built);
7226 self.user_grammar.value(&value_9_built)?;
7228 self.push(ASTType::Value(value_9_built), context);
7229 Ok(())
7230 }
7231
7232 #[parol_runtime::function_name::named]
7237 fn object(
7238 &mut self,
7239 _begin: &ParseTreeType<'t>,
7240 _object_opt: &ParseTreeType<'t>,
7241 _object_list: &ParseTreeType<'t>,
7242 _end: &ParseTreeType<'t>,
7243 ) -> Result<()> {
7244 let context = function_name!();
7245 trace!("{}", self.trace_item_stack(context));
7246 let end = pop_item!(self, end, End, context);
7247 let object_list = pop_and_reverse_item!(self, object_list, ObjectList, context);
7248 let object_opt = pop_item!(self, object_opt, ObjectOpt, context);
7249 let begin = pop_item!(self, begin, Begin, context);
7250 let object_built = Object {
7251 begin,
7252 object_opt,
7253 object_list,
7254 end,
7255 };
7256 self.user_grammar.object(&object_built)?;
7258 self.push(ASTType::Object(object_built), context);
7259 Ok(())
7260 }
7261
7262 #[parol_runtime::function_name::named]
7267 fn object_list_0(
7268 &mut self,
7269 _keys: &ParseTreeType<'t>,
7270 _map_bind: &ParseTreeType<'t>,
7271 _value: &ParseTreeType<'t>,
7272 _object_opt0: &ParseTreeType<'t>,
7273 _object_list: &ParseTreeType<'t>,
7274 ) -> Result<()> {
7275 let context = function_name!();
7276 trace!("{}", self.trace_item_stack(context));
7277 let mut object_list = pop_item!(self, object_list, ObjectList, context);
7278 let object_opt0 = pop_item!(self, object_opt0, ObjectOpt0, context);
7279 let value = pop_item!(self, value, Value, context);
7280 let map_bind = pop_item!(self, map_bind, MapBind, context);
7281 let keys = pop_item!(self, keys, Keys, context);
7282 let object_list_0_built = ObjectList {
7283 object_opt0,
7284 value,
7285 map_bind,
7286 keys,
7287 };
7288 object_list.push(object_list_0_built);
7290 self.push(ASTType::ObjectList(object_list), context);
7291 Ok(())
7292 }
7293
7294 #[parol_runtime::function_name::named]
7299 fn object_list_1(&mut self) -> Result<()> {
7300 let context = function_name!();
7301 trace!("{}", self.trace_item_stack(context));
7302 let object_list_1_built = Vec::new();
7303 self.push(ASTType::ObjectList(object_list_1_built), context);
7304 Ok(())
7305 }
7306
7307 #[parol_runtime::function_name::named]
7312 fn object_opt0_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
7313 let context = function_name!();
7314 trace!("{}", self.trace_item_stack(context));
7315 let comma = pop_item!(self, comma, Comma, context);
7316 let object_opt0_0_built = ObjectOpt0 { comma };
7317 self.push(ASTType::ObjectOpt0(Some(object_opt0_0_built)), context);
7318 Ok(())
7319 }
7320
7321 #[parol_runtime::function_name::named]
7326 fn object_opt0_1(&mut self) -> Result<()> {
7327 let context = function_name!();
7328 trace!("{}", self.trace_item_stack(context));
7329 self.push(ASTType::ObjectOpt0(None), context);
7330 Ok(())
7331 }
7332
7333 #[parol_runtime::function_name::named]
7338 fn object_opt_0(
7339 &mut self,
7340 _value_binding: &ParseTreeType<'t>,
7341 _object_opt1: &ParseTreeType<'t>,
7342 ) -> Result<()> {
7343 let context = function_name!();
7344 trace!("{}", self.trace_item_stack(context));
7345 let object_opt1 = pop_item!(self, object_opt1, ObjectOpt1, context);
7346 let value_binding = pop_item!(self, value_binding, ValueBinding, context);
7347 let object_opt_0_built = ObjectOpt {
7348 value_binding,
7349 object_opt1,
7350 };
7351 self.push(ASTType::ObjectOpt(Some(object_opt_0_built)), context);
7352 Ok(())
7353 }
7354
7355 #[parol_runtime::function_name::named]
7360 fn object_opt1_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
7361 let context = function_name!();
7362 trace!("{}", self.trace_item_stack(context));
7363 let comma = pop_item!(self, comma, Comma, context);
7364 let object_opt1_0_built = ObjectOpt1 { comma };
7365 self.push(ASTType::ObjectOpt1(Some(object_opt1_0_built)), context);
7366 Ok(())
7367 }
7368
7369 #[parol_runtime::function_name::named]
7374 fn object_opt1_1(&mut self) -> Result<()> {
7375 let context = function_name!();
7376 trace!("{}", self.trace_item_stack(context));
7377 self.push(ASTType::ObjectOpt1(None), context);
7378 Ok(())
7379 }
7380
7381 #[parol_runtime::function_name::named]
7386 fn object_opt_1(&mut self) -> Result<()> {
7387 let context = function_name!();
7388 trace!("{}", self.trace_item_stack(context));
7389 self.push(ASTType::ObjectOpt(None), context);
7390 Ok(())
7391 }
7392
7393 #[parol_runtime::function_name::named]
7398 fn map_bind(&mut self, map_bind: &ParseTreeType<'t>) -> Result<()> {
7399 let context = function_name!();
7400 trace!("{}", self.trace_item_stack(context));
7401 let map_bind = map_bind.token()?.clone();
7402 let map_bind_built = MapBind { map_bind };
7403 self.user_grammar.map_bind(&map_bind_built)?;
7405 self.push(ASTType::MapBind(map_bind_built), context);
7406 Ok(())
7407 }
7408
7409 #[parol_runtime::function_name::named]
7414 fn array(
7415 &mut self,
7416 _array_begin: &ParseTreeType<'t>,
7417 _array_opt: &ParseTreeType<'t>,
7418 _array_end: &ParseTreeType<'t>,
7419 ) -> Result<()> {
7420 let context = function_name!();
7421 trace!("{}", self.trace_item_stack(context));
7422 let array_end = pop_item!(self, array_end, ArrayEnd, context);
7423 let array_opt = pop_item!(self, array_opt, ArrayOpt, context);
7424 let array_begin = pop_item!(self, array_begin, ArrayBegin, context);
7425 let array_built = Array {
7426 array_begin,
7427 array_opt,
7428 array_end,
7429 };
7430 self.user_grammar.array(&array_built)?;
7432 self.push(ASTType::Array(array_built), context);
7433 Ok(())
7434 }
7435
7436 #[parol_runtime::function_name::named]
7441 fn array_opt_0(&mut self, _array_elements: &ParseTreeType<'t>) -> Result<()> {
7442 let context = function_name!();
7443 trace!("{}", self.trace_item_stack(context));
7444 let array_elements = pop_item!(self, array_elements, ArrayElements, context);
7445 let array_opt_0_built = ArrayOpt { array_elements };
7446 self.push(ASTType::ArrayOpt(Some(array_opt_0_built)), context);
7447 Ok(())
7448 }
7449
7450 #[parol_runtime::function_name::named]
7455 fn array_opt_1(&mut self) -> Result<()> {
7456 let context = function_name!();
7457 trace!("{}", self.trace_item_stack(context));
7458 self.push(ASTType::ArrayOpt(None), context);
7459 Ok(())
7460 }
7461
7462 #[parol_runtime::function_name::named]
7467 fn array_elements(
7468 &mut self,
7469 _value: &ParseTreeType<'t>,
7470 _array_elements_opt: &ParseTreeType<'t>,
7471 ) -> Result<()> {
7472 let context = function_name!();
7473 trace!("{}", self.trace_item_stack(context));
7474 let array_elements_opt = pop_item!(self, array_elements_opt, ArrayElementsOpt, context);
7475 let value = pop_item!(self, value, Value, context);
7476 let array_elements_built = ArrayElements {
7477 value,
7478 array_elements_opt: array_elements_opt.map(Box::new),
7479 };
7480 self.user_grammar.array_elements(&array_elements_built)?;
7482 self.push(ASTType::ArrayElements(array_elements_built), context);
7483 Ok(())
7484 }
7485
7486 #[parol_runtime::function_name::named]
7491 fn array_elements_opt_0(&mut self, _array_elements_tail: &ParseTreeType<'t>) -> Result<()> {
7492 let context = function_name!();
7493 trace!("{}", self.trace_item_stack(context));
7494 let array_elements_tail = pop_item!(self, array_elements_tail, ArrayElementsTail, context);
7495 let array_elements_opt_0_built = ArrayElementsOpt {
7496 array_elements_tail,
7497 };
7498 self.push(
7499 ASTType::ArrayElementsOpt(Some(array_elements_opt_0_built)),
7500 context,
7501 );
7502 Ok(())
7503 }
7504
7505 #[parol_runtime::function_name::named]
7510 fn array_elements_opt_1(&mut self) -> Result<()> {
7511 let context = function_name!();
7512 trace!("{}", self.trace_item_stack(context));
7513 self.push(ASTType::ArrayElementsOpt(None), context);
7514 Ok(())
7515 }
7516
7517 #[parol_runtime::function_name::named]
7522 fn array_elements_tail(
7523 &mut self,
7524 _comma: &ParseTreeType<'t>,
7525 _array_elements_tail_opt: &ParseTreeType<'t>,
7526 ) -> Result<()> {
7527 let context = function_name!();
7528 trace!("{}", self.trace_item_stack(context));
7529 let array_elements_tail_opt =
7530 pop_item!(self, array_elements_tail_opt, ArrayElementsTailOpt, context);
7531 let comma = pop_item!(self, comma, Comma, context);
7532 let array_elements_tail_built = ArrayElementsTail {
7533 comma,
7534 array_elements_tail_opt,
7535 };
7536 self.user_grammar
7538 .array_elements_tail(&array_elements_tail_built)?;
7539 self.push(
7540 ASTType::ArrayElementsTail(array_elements_tail_built),
7541 context,
7542 );
7543 Ok(())
7544 }
7545
7546 #[parol_runtime::function_name::named]
7551 fn array_elements_tail_opt_0(&mut self, _array_elements: &ParseTreeType<'t>) -> Result<()> {
7552 let context = function_name!();
7553 trace!("{}", self.trace_item_stack(context));
7554 let array_elements = pop_item!(self, array_elements, ArrayElements, context);
7555 let array_elements_tail_opt_0_built = ArrayElementsTailOpt { array_elements };
7556 self.push(
7557 ASTType::ArrayElementsTailOpt(Some(array_elements_tail_opt_0_built)),
7558 context,
7559 );
7560 Ok(())
7561 }
7562
7563 #[parol_runtime::function_name::named]
7568 fn array_elements_tail_opt_1(&mut self) -> Result<()> {
7569 let context = function_name!();
7570 trace!("{}", self.trace_item_stack(context));
7571 self.push(ASTType::ArrayElementsTailOpt(None), context);
7572 Ok(())
7573 }
7574
7575 #[parol_runtime::function_name::named]
7580 fn tuple(
7581 &mut self,
7582 _l_paren: &ParseTreeType<'t>,
7583 _tuple_opt: &ParseTreeType<'t>,
7584 _r_paren: &ParseTreeType<'t>,
7585 ) -> Result<()> {
7586 let context = function_name!();
7587 trace!("{}", self.trace_item_stack(context));
7588 let r_paren = pop_item!(self, r_paren, RParen, context);
7589 let tuple_opt = pop_item!(self, tuple_opt, TupleOpt, context);
7590 let l_paren = pop_item!(self, l_paren, LParen, context);
7591 let tuple_built = Tuple {
7592 l_paren,
7593 tuple_opt,
7594 r_paren,
7595 };
7596 self.user_grammar.tuple(&tuple_built)?;
7598 self.push(ASTType::Tuple(tuple_built), context);
7599 Ok(())
7600 }
7601
7602 #[parol_runtime::function_name::named]
7607 fn tuple_opt_0(&mut self, _tuple_elements: &ParseTreeType<'t>) -> Result<()> {
7608 let context = function_name!();
7609 trace!("{}", self.trace_item_stack(context));
7610 let tuple_elements = pop_item!(self, tuple_elements, TupleElements, context);
7611 let tuple_opt_0_built = TupleOpt { tuple_elements };
7612 self.push(ASTType::TupleOpt(Some(tuple_opt_0_built)), context);
7613 Ok(())
7614 }
7615
7616 #[parol_runtime::function_name::named]
7621 fn tuple_opt_1(&mut self) -> Result<()> {
7622 let context = function_name!();
7623 trace!("{}", self.trace_item_stack(context));
7624 self.push(ASTType::TupleOpt(None), context);
7625 Ok(())
7626 }
7627
7628 #[parol_runtime::function_name::named]
7633 fn tuple_elements(
7634 &mut self,
7635 _value: &ParseTreeType<'t>,
7636 _tuple_elements_opt: &ParseTreeType<'t>,
7637 ) -> Result<()> {
7638 let context = function_name!();
7639 trace!("{}", self.trace_item_stack(context));
7640 let tuple_elements_opt = pop_item!(self, tuple_elements_opt, TupleElementsOpt, context);
7641 let value = pop_item!(self, value, Value, context);
7642 let tuple_elements_built = TupleElements {
7643 value,
7644 tuple_elements_opt: tuple_elements_opt.map(Box::new),
7645 };
7646 self.user_grammar.tuple_elements(&tuple_elements_built)?;
7648 self.push(ASTType::TupleElements(tuple_elements_built), context);
7649 Ok(())
7650 }
7651
7652 #[parol_runtime::function_name::named]
7657 fn tuple_elements_opt_0(&mut self, _tuple_elements_tail: &ParseTreeType<'t>) -> Result<()> {
7658 let context = function_name!();
7659 trace!("{}", self.trace_item_stack(context));
7660 let tuple_elements_tail = pop_item!(self, tuple_elements_tail, TupleElementsTail, context);
7661 let tuple_elements_opt_0_built = TupleElementsOpt {
7662 tuple_elements_tail,
7663 };
7664 self.push(
7665 ASTType::TupleElementsOpt(Some(tuple_elements_opt_0_built)),
7666 context,
7667 );
7668 Ok(())
7669 }
7670
7671 #[parol_runtime::function_name::named]
7676 fn tuple_elements_opt_1(&mut self) -> Result<()> {
7677 let context = function_name!();
7678 trace!("{}", self.trace_item_stack(context));
7679 self.push(ASTType::TupleElementsOpt(None), context);
7680 Ok(())
7681 }
7682
7683 #[parol_runtime::function_name::named]
7688 fn tuple_elements_tail(
7689 &mut self,
7690 _comma: &ParseTreeType<'t>,
7691 _tuple_elements_tail_opt: &ParseTreeType<'t>,
7692 ) -> Result<()> {
7693 let context = function_name!();
7694 trace!("{}", self.trace_item_stack(context));
7695 let tuple_elements_tail_opt =
7696 pop_item!(self, tuple_elements_tail_opt, TupleElementsTailOpt, context);
7697 let comma = pop_item!(self, comma, Comma, context);
7698 let tuple_elements_tail_built = TupleElementsTail {
7699 comma,
7700 tuple_elements_tail_opt,
7701 };
7702 self.user_grammar
7704 .tuple_elements_tail(&tuple_elements_tail_built)?;
7705 self.push(
7706 ASTType::TupleElementsTail(tuple_elements_tail_built),
7707 context,
7708 );
7709 Ok(())
7710 }
7711
7712 #[parol_runtime::function_name::named]
7717 fn tuple_elements_tail_opt_0(&mut self, _tuple_elements: &ParseTreeType<'t>) -> Result<()> {
7718 let context = function_name!();
7719 trace!("{}", self.trace_item_stack(context));
7720 let tuple_elements = pop_item!(self, tuple_elements, TupleElements, context);
7721 let tuple_elements_tail_opt_0_built = TupleElementsTailOpt { tuple_elements };
7722 self.push(
7723 ASTType::TupleElementsTailOpt(Some(tuple_elements_tail_opt_0_built)),
7724 context,
7725 );
7726 Ok(())
7727 }
7728
7729 #[parol_runtime::function_name::named]
7734 fn tuple_elements_tail_opt_1(&mut self) -> Result<()> {
7735 let context = function_name!();
7736 trace!("{}", self.trace_item_stack(context));
7737 self.push(ASTType::TupleElementsTailOpt(None), context);
7738 Ok(())
7739 }
7740
7741 #[parol_runtime::function_name::named]
7746 fn number_0(&mut self, _float: &ParseTreeType<'t>) -> Result<()> {
7747 let context = function_name!();
7748 trace!("{}", self.trace_item_stack(context));
7749 let float = pop_item!(self, float, Float, context);
7750 let number_0_built = NumberFloat { float };
7751 let number_0_built = Number::Float(number_0_built);
7752 self.user_grammar.number(&number_0_built)?;
7754 self.push(ASTType::Number(number_0_built), context);
7755 Ok(())
7756 }
7757
7758 #[parol_runtime::function_name::named]
7763 fn number_1(&mut self, _integer: &ParseTreeType<'t>) -> Result<()> {
7764 let context = function_name!();
7765 trace!("{}", self.trace_item_stack(context));
7766 let integer = pop_item!(self, integer, Integer, context);
7767 let number_1_built = NumberInteger { integer };
7768 let number_1_built = Number::Integer(number_1_built);
7769 self.user_grammar.number(&number_1_built)?;
7771 self.push(ASTType::Number(number_1_built), context);
7772 Ok(())
7773 }
7774
7775 #[parol_runtime::function_name::named]
7780 fn number_2(&mut self, _inf: &ParseTreeType<'t>) -> Result<()> {
7781 let context = function_name!();
7782 trace!("{}", self.trace_item_stack(context));
7783 let inf = pop_item!(self, inf, Inf, context);
7784 let number_2_built = NumberInf { inf };
7785 let number_2_built = Number::Inf(number_2_built);
7786 self.user_grammar.number(&number_2_built)?;
7788 self.push(ASTType::Number(number_2_built), context);
7789 Ok(())
7790 }
7791
7792 #[parol_runtime::function_name::named]
7797 fn number_3(&mut self, _na_n: &ParseTreeType<'t>) -> Result<()> {
7798 let context = function_name!();
7799 trace!("{}", self.trace_item_stack(context));
7800 let na_n = pop_item!(self, na_n, NaN, context);
7801 let number_3_built = NumberNaN { na_n };
7802 let number_3_built = Number::NaN(number_3_built);
7803 self.user_grammar.number(&number_3_built)?;
7805 self.push(ASTType::Number(number_3_built), context);
7806 Ok(())
7807 }
7808
7809 #[parol_runtime::function_name::named]
7814 fn integer(&mut self, integer: &ParseTreeType<'t>) -> Result<()> {
7815 let context = function_name!();
7816 trace!("{}", self.trace_item_stack(context));
7817 let integer = integer.token()?.clone();
7818 let integer_built = Integer { integer };
7819 self.user_grammar.integer(&integer_built)?;
7821 self.push(ASTType::Integer(integer_built), context);
7822 Ok(())
7823 }
7824
7825 #[parol_runtime::function_name::named]
7830 fn float(&mut self, float: &ParseTreeType<'t>) -> Result<()> {
7831 let context = function_name!();
7832 trace!("{}", self.trace_item_stack(context));
7833 let float = float.token()?.clone();
7834 let float_built = Float { float };
7835 self.user_grammar.float(&float_built)?;
7837 self.push(ASTType::Float(float_built), context);
7838 Ok(())
7839 }
7840
7841 #[parol_runtime::function_name::named]
7846 fn inf(&mut self, inf: &ParseTreeType<'t>) -> Result<()> {
7847 let context = function_name!();
7848 trace!("{}", self.trace_item_stack(context));
7849 let inf = inf.token()?.clone();
7850 let inf_built = Inf { inf };
7851 self.user_grammar.inf(&inf_built)?;
7853 self.push(ASTType::Inf(inf_built), context);
7854 Ok(())
7855 }
7856
7857 #[parol_runtime::function_name::named]
7862 fn na_n(&mut self, na_n: &ParseTreeType<'t>) -> Result<()> {
7863 let context = function_name!();
7864 trace!("{}", self.trace_item_stack(context));
7865 let na_n = na_n.token()?.clone();
7866 let na_n_built = NaN { na_n };
7867 self.user_grammar.na_n(&na_n_built)?;
7869 self.push(ASTType::NaN(na_n_built), context);
7870 Ok(())
7871 }
7872
7873 #[parol_runtime::function_name::named]
7878 fn boolean_0(&mut self, _true: &ParseTreeType<'t>) -> Result<()> {
7879 let context = function_name!();
7880 trace!("{}", self.trace_item_stack(context));
7881 let r#true = pop_item!(self, r#true, True, context);
7882 let boolean_0_built = BooleanTrue { r#true };
7883 let boolean_0_built = Boolean::True(boolean_0_built);
7884 self.user_grammar.boolean(&boolean_0_built)?;
7886 self.push(ASTType::Boolean(boolean_0_built), context);
7887 Ok(())
7888 }
7889
7890 #[parol_runtime::function_name::named]
7895 fn boolean_1(&mut self, _false: &ParseTreeType<'t>) -> Result<()> {
7896 let context = function_name!();
7897 trace!("{}", self.trace_item_stack(context));
7898 let r#false = pop_item!(self, r#false, False, context);
7899 let boolean_1_built = BooleanFalse { r#false };
7900 let boolean_1_built = Boolean::False(boolean_1_built);
7901 self.user_grammar.boolean(&boolean_1_built)?;
7903 self.push(ASTType::Boolean(boolean_1_built), context);
7904 Ok(())
7905 }
7906
7907 #[parol_runtime::function_name::named]
7912 fn r#true(&mut self, r#true: &ParseTreeType<'t>) -> Result<()> {
7913 let context = function_name!();
7914 trace!("{}", self.trace_item_stack(context));
7915 let r#true = r#true.token()?.clone();
7916 let r#true_built = True { r#true };
7917 self.user_grammar.r#true(&r#true_built)?;
7919 self.push(ASTType::True(r#true_built), context);
7920 Ok(())
7921 }
7922
7923 #[parol_runtime::function_name::named]
7928 fn r#false(&mut self, r#false: &ParseTreeType<'t>) -> Result<()> {
7929 let context = function_name!();
7930 trace!("{}", self.trace_item_stack(context));
7931 let r#false = r#false.token()?.clone();
7932 let r#false_built = False { r#false };
7933 self.user_grammar.r#false(&r#false_built)?;
7935 self.push(ASTType::False(r#false_built), context);
7936 Ok(())
7937 }
7938
7939 #[parol_runtime::function_name::named]
7944 fn null(&mut self, null: &ParseTreeType<'t>) -> Result<()> {
7945 let context = function_name!();
7946 trace!("{}", self.trace_item_stack(context));
7947 let null = null.token()?.clone();
7948 let null_built = Null { null };
7949 self.user_grammar.null(&null_built)?;
7951 self.push(ASTType::Null(null_built), context);
7952 Ok(())
7953 }
7954
7955 #[parol_runtime::function_name::named]
7960 fn hole(&mut self, hole: &ParseTreeType<'t>) -> Result<()> {
7961 let context = function_name!();
7962 trace!("{}", self.trace_item_stack(context));
7963 let hole = hole.token()?.clone();
7964 let hole_built = Hole { hole };
7965 self.user_grammar.hole(&hole_built)?;
7967 self.push(ASTType::Hole(hole_built), context);
7968 Ok(())
7969 }
7970
7971 #[parol_runtime::function_name::named]
7976 fn string_0(&mut self, _str: &ParseTreeType<'t>) -> Result<()> {
7977 let context = function_name!();
7978 trace!("{}", self.trace_item_stack(context));
7979 let str = pop_item!(self, str, Str, context);
7980 let string_0_built = StringStr { str };
7981 let string_0_built = String::Str(string_0_built);
7982 self.user_grammar.string(&string_0_built)?;
7984 self.push(ASTType::String(string_0_built), context);
7985 Ok(())
7986 }
7987
7988 #[parol_runtime::function_name::named]
7993 fn string_1(&mut self, _lit_str: &ParseTreeType<'t>) -> Result<()> {
7994 let context = function_name!();
7995 trace!("{}", self.trace_item_stack(context));
7996 let lit_str = pop_item!(self, lit_str, LitStr, context);
7997 let string_1_built = StringLitStr { lit_str };
7998 let string_1_built = String::LitStr(string_1_built);
7999 self.user_grammar.string(&string_1_built)?;
8001 self.push(ASTType::String(string_1_built), context);
8002 Ok(())
8003 }
8004
8005 #[parol_runtime::function_name::named]
8010 fn string_2(&mut self, _lit_str1: &ParseTreeType<'t>) -> Result<()> {
8011 let context = function_name!();
8012 trace!("{}", self.trace_item_stack(context));
8013 let lit_str1 = pop_item!(self, lit_str1, LitStr1, context);
8014 let string_2_built = StringLitStr1 { lit_str1 };
8015 let string_2_built = String::LitStr1(string_2_built);
8016 self.user_grammar.string(&string_2_built)?;
8018 self.push(ASTType::String(string_2_built), context);
8019 Ok(())
8020 }
8021
8022 #[parol_runtime::function_name::named]
8027 fn string_3(&mut self, _lit_str2: &ParseTreeType<'t>) -> Result<()> {
8028 let context = function_name!();
8029 trace!("{}", self.trace_item_stack(context));
8030 let lit_str2 = pop_item!(self, lit_str2, LitStr2, context);
8031 let string_3_built = StringLitStr2 { lit_str2 };
8032 let string_3_built = String::LitStr2(string_3_built);
8033 self.user_grammar.string(&string_3_built)?;
8035 self.push(ASTType::String(string_3_built), context);
8036 Ok(())
8037 }
8038
8039 #[parol_runtime::function_name::named]
8044 fn string_4(&mut self, _lit_str3: &ParseTreeType<'t>) -> Result<()> {
8045 let context = function_name!();
8046 trace!("{}", self.trace_item_stack(context));
8047 let lit_str3 = pop_item!(self, lit_str3, LitStr3, context);
8048 let string_4_built = StringLitStr3 { lit_str3 };
8049 let string_4_built = String::LitStr3(string_4_built);
8050 self.user_grammar.string(&string_4_built)?;
8052 self.push(ASTType::String(string_4_built), context);
8053 Ok(())
8054 }
8055
8056 #[parol_runtime::function_name::named]
8061 fn strings(
8062 &mut self,
8063 _string: &ParseTreeType<'t>,
8064 _strings_list: &ParseTreeType<'t>,
8065 ) -> Result<()> {
8066 let context = function_name!();
8067 trace!("{}", self.trace_item_stack(context));
8068 let strings_list = pop_and_reverse_item!(self, strings_list, StringsList, context);
8069 let string = pop_item!(self, string, String, context);
8070 let strings_built = Strings {
8071 string,
8072 strings_list,
8073 };
8074 self.user_grammar.strings(&strings_built)?;
8076 self.push(ASTType::Strings(strings_built), context);
8077 Ok(())
8078 }
8079
8080 #[parol_runtime::function_name::named]
8085 fn strings_list_0(
8086 &mut self,
8087 _continue: &ParseTreeType<'t>,
8088 _string: &ParseTreeType<'t>,
8089 _strings_list: &ParseTreeType<'t>,
8090 ) -> Result<()> {
8091 let context = function_name!();
8092 trace!("{}", self.trace_item_stack(context));
8093 let mut strings_list = pop_item!(self, strings_list, StringsList, context);
8094 let string = pop_item!(self, string, String, context);
8095 let r#continue = pop_item!(self, r#continue, Continue, context);
8096 let strings_list_0_built = StringsList { string, r#continue };
8097 strings_list.push(strings_list_0_built);
8099 self.push(ASTType::StringsList(strings_list), context);
8100 Ok(())
8101 }
8102
8103 #[parol_runtime::function_name::named]
8108 fn strings_list_1(&mut self) -> Result<()> {
8109 let context = function_name!();
8110 trace!("{}", self.trace_item_stack(context));
8111 let strings_list_1_built = Vec::new();
8112 self.push(ASTType::StringsList(strings_list_1_built), context);
8113 Ok(())
8114 }
8115
8116 #[parol_runtime::function_name::named]
8121 fn str(&mut self, str: &ParseTreeType<'t>) -> Result<()> {
8122 let context = function_name!();
8123 trace!("{}", self.trace_item_stack(context));
8124 let str = str.token()?.clone();
8125 let str_built = Str { str };
8126 self.user_grammar.str(&str_built)?;
8128 self.push(ASTType::Str(str_built), context);
8129 Ok(())
8130 }
8131
8132 #[parol_runtime::function_name::named]
8137 fn lit_str(&mut self, lit_str: &ParseTreeType<'t>) -> Result<()> {
8138 let context = function_name!();
8139 trace!("{}", self.trace_item_stack(context));
8140 let lit_str = lit_str.token()?.clone();
8141 let lit_str_built = LitStr { lit_str };
8142 self.user_grammar.lit_str(&lit_str_built)?;
8144 self.push(ASTType::LitStr(lit_str_built), context);
8145 Ok(())
8146 }
8147
8148 #[parol_runtime::function_name::named]
8153 fn text(&mut self, text: &ParseTreeType<'t>) -> Result<()> {
8154 let context = function_name!();
8155 trace!("{}", self.trace_item_stack(context));
8156 let text = text.token()?.clone();
8157 let text_built = Text { text };
8158 self.user_grammar.text(&text_built)?;
8160 self.push(ASTType::Text(text_built), context);
8161 Ok(())
8162 }
8163
8164 #[parol_runtime::function_name::named]
8169 fn inline_code_0(&mut self, _delim_code: &ParseTreeType<'t>) -> Result<()> {
8170 let context = function_name!();
8171 trace!("{}", self.trace_item_stack(context));
8172 let delim_code = pop_item!(self, delim_code, DelimCode, context);
8173 let inline_code_0_built = InlineCodeDelimCode { delim_code };
8174 let inline_code_0_built = InlineCode::DelimCode(inline_code_0_built);
8175 self.user_grammar.inline_code(&inline_code_0_built)?;
8177 self.push(ASTType::InlineCode(inline_code_0_built), context);
8178 Ok(())
8179 }
8180
8181 #[parol_runtime::function_name::named]
8186 fn inline_code_1(&mut self, _inline_code1: &ParseTreeType<'t>) -> Result<()> {
8187 let context = function_name!();
8188 trace!("{}", self.trace_item_stack(context));
8189 let inline_code1 = pop_item!(self, inline_code1, InlineCode1, context);
8190 let inline_code_1_built = InlineCodeInlineCode1 { inline_code1 };
8191 let inline_code_1_built = InlineCode::InlineCode1(inline_code_1_built);
8192 self.user_grammar.inline_code(&inline_code_1_built)?;
8194 self.push(ASTType::InlineCode(inline_code_1_built), context);
8195 Ok(())
8196 }
8197
8198 #[parol_runtime::function_name::named]
8203 fn inline_code1(&mut self, inline_code1: &ParseTreeType<'t>) -> Result<()> {
8204 let context = function_name!();
8205 trace!("{}", self.trace_item_stack(context));
8206 let inline_code1 = inline_code1.token()?.clone();
8207 let inline_code1_built = InlineCode1 { inline_code1 };
8208 self.user_grammar.inline_code1(&inline_code1_built)?;
8210 self.push(ASTType::InlineCode1(inline_code1_built), context);
8211 Ok(())
8212 }
8213
8214 #[parol_runtime::function_name::named]
8219 fn lit_str1(
8220 &mut self,
8221 _lit_str1_start: &ParseTreeType<'t>,
8222 _lit_str1_list: &ParseTreeType<'t>,
8223 _lit_str1_end: &ParseTreeType<'t>,
8224 ) -> Result<()> {
8225 let context = function_name!();
8226 trace!("{}", self.trace_item_stack(context));
8227 let lit_str1_end = pop_item!(self, lit_str1_end, LitStr1End, context);
8228 let lit_str1_list = pop_and_reverse_item!(self, lit_str1_list, LitStr1List, context);
8229 let lit_str1_start = pop_item!(self, lit_str1_start, LitStr1Start, context);
8230 let lit_str1_built = LitStr1 {
8231 lit_str1_start,
8232 lit_str1_list,
8233 lit_str1_end,
8234 };
8235 self.user_grammar.lit_str1(&lit_str1_built)?;
8237 self.push(ASTType::LitStr1(lit_str1_built), context);
8238 Ok(())
8239 }
8240
8241 #[parol_runtime::function_name::named]
8246 fn lit_str1_list_0(
8247 &mut self,
8248 _lit_str1_list_group: &ParseTreeType<'t>,
8249 _lit_str1_list: &ParseTreeType<'t>,
8250 ) -> Result<()> {
8251 let context = function_name!();
8252 trace!("{}", self.trace_item_stack(context));
8253 let mut lit_str1_list = pop_item!(self, lit_str1_list, LitStr1List, context);
8254 let lit_str1_list_group = pop_item!(self, lit_str1_list_group, LitStr1ListGroup, context);
8255 let lit_str1_list_0_built = LitStr1List {
8256 lit_str1_list_group,
8257 };
8258 lit_str1_list.push(lit_str1_list_0_built);
8260 self.push(ASTType::LitStr1List(lit_str1_list), context);
8261 Ok(())
8262 }
8263
8264 #[parol_runtime::function_name::named]
8269 fn lit_str1_list_group_0(&mut self, _no_s_quote: &ParseTreeType<'t>) -> Result<()> {
8270 let context = function_name!();
8271 trace!("{}", self.trace_item_stack(context));
8272 let no_s_quote = pop_item!(self, no_s_quote, NoSQuote, context);
8273 let lit_str1_list_group_0_built = LitStr1ListGroupNoSQuote { no_s_quote };
8274 let lit_str1_list_group_0_built = LitStr1ListGroup::NoSQuote(lit_str1_list_group_0_built);
8275 self.push(
8276 ASTType::LitStr1ListGroup(lit_str1_list_group_0_built),
8277 context,
8278 );
8279 Ok(())
8280 }
8281
8282 #[parol_runtime::function_name::named]
8287 fn lit_str1_list_group_1(&mut self, _s_quote: &ParseTreeType<'t>) -> Result<()> {
8288 let context = function_name!();
8289 trace!("{}", self.trace_item_stack(context));
8290 let s_quote = pop_item!(self, s_quote, SQuote, context);
8291 let lit_str1_list_group_1_built = LitStr1ListGroupSQuote { s_quote };
8292 let lit_str1_list_group_1_built = LitStr1ListGroup::SQuote(lit_str1_list_group_1_built);
8293 self.push(
8294 ASTType::LitStr1ListGroup(lit_str1_list_group_1_built),
8295 context,
8296 );
8297 Ok(())
8298 }
8299
8300 #[parol_runtime::function_name::named]
8305 fn lit_str1_list_1(&mut self) -> Result<()> {
8306 let context = function_name!();
8307 trace!("{}", self.trace_item_stack(context));
8308 let lit_str1_list_1_built = Vec::new();
8309 self.push(ASTType::LitStr1List(lit_str1_list_1_built), context);
8310 Ok(())
8311 }
8312
8313 #[parol_runtime::function_name::named]
8318 fn lit_str2(
8319 &mut self,
8320 _lit_str2_start: &ParseTreeType<'t>,
8321 _lit_str2_list: &ParseTreeType<'t>,
8322 _lit_str2_end: &ParseTreeType<'t>,
8323 ) -> Result<()> {
8324 let context = function_name!();
8325 trace!("{}", self.trace_item_stack(context));
8326 let lit_str2_end = pop_item!(self, lit_str2_end, LitStr2End, context);
8327 let lit_str2_list = pop_and_reverse_item!(self, lit_str2_list, LitStr2List, context);
8328 let lit_str2_start = pop_item!(self, lit_str2_start, LitStr2Start, context);
8329 let lit_str2_built = LitStr2 {
8330 lit_str2_start,
8331 lit_str2_list,
8332 lit_str2_end,
8333 };
8334 self.user_grammar.lit_str2(&lit_str2_built)?;
8336 self.push(ASTType::LitStr2(lit_str2_built), context);
8337 Ok(())
8338 }
8339
8340 #[parol_runtime::function_name::named]
8345 fn lit_str2_list_0(
8346 &mut self,
8347 _lit_str2_list_group: &ParseTreeType<'t>,
8348 _lit_str2_list: &ParseTreeType<'t>,
8349 ) -> Result<()> {
8350 let context = function_name!();
8351 trace!("{}", self.trace_item_stack(context));
8352 let mut lit_str2_list = pop_item!(self, lit_str2_list, LitStr2List, context);
8353 let lit_str2_list_group = pop_item!(self, lit_str2_list_group, LitStr2ListGroup, context);
8354 let lit_str2_list_0_built = LitStr2List {
8355 lit_str2_list_group,
8356 };
8357 lit_str2_list.push(lit_str2_list_0_built);
8359 self.push(ASTType::LitStr2List(lit_str2_list), context);
8360 Ok(())
8361 }
8362
8363 #[parol_runtime::function_name::named]
8368 fn lit_str2_list_group_0(&mut self, _no_s_quote: &ParseTreeType<'t>) -> Result<()> {
8369 let context = function_name!();
8370 trace!("{}", self.trace_item_stack(context));
8371 let no_s_quote = pop_item!(self, no_s_quote, NoSQuote, context);
8372 let lit_str2_list_group_0_built = LitStr2ListGroupNoSQuote { no_s_quote };
8373 let lit_str2_list_group_0_built = LitStr2ListGroup::NoSQuote(lit_str2_list_group_0_built);
8374 self.push(
8375 ASTType::LitStr2ListGroup(lit_str2_list_group_0_built),
8376 context,
8377 );
8378 Ok(())
8379 }
8380
8381 #[parol_runtime::function_name::named]
8386 fn lit_str2_list_group_1(&mut self, _s_quote: &ParseTreeType<'t>) -> Result<()> {
8387 let context = function_name!();
8388 trace!("{}", self.trace_item_stack(context));
8389 let s_quote = pop_item!(self, s_quote, SQuote, context);
8390 let lit_str2_list_group_1_built = LitStr2ListGroupSQuote { s_quote };
8391 let lit_str2_list_group_1_built = LitStr2ListGroup::SQuote(lit_str2_list_group_1_built);
8392 self.push(
8393 ASTType::LitStr2ListGroup(lit_str2_list_group_1_built),
8394 context,
8395 );
8396 Ok(())
8397 }
8398
8399 #[parol_runtime::function_name::named]
8404 fn lit_str2_list_1(&mut self) -> Result<()> {
8405 let context = function_name!();
8406 trace!("{}", self.trace_item_stack(context));
8407 let lit_str2_list_1_built = Vec::new();
8408 self.push(ASTType::LitStr2List(lit_str2_list_1_built), context);
8409 Ok(())
8410 }
8411
8412 #[parol_runtime::function_name::named]
8417 fn lit_str3(
8418 &mut self,
8419 _lit_str3_start: &ParseTreeType<'t>,
8420 _lit_str3_list: &ParseTreeType<'t>,
8421 _lit_str3_end: &ParseTreeType<'t>,
8422 ) -> Result<()> {
8423 let context = function_name!();
8424 trace!("{}", self.trace_item_stack(context));
8425 let lit_str3_end = pop_item!(self, lit_str3_end, LitStr3End, context);
8426 let lit_str3_list = pop_and_reverse_item!(self, lit_str3_list, LitStr3List, context);
8427 let lit_str3_start = pop_item!(self, lit_str3_start, LitStr3Start, context);
8428 let lit_str3_built = LitStr3 {
8429 lit_str3_start,
8430 lit_str3_list,
8431 lit_str3_end,
8432 };
8433 self.user_grammar.lit_str3(&lit_str3_built)?;
8435 self.push(ASTType::LitStr3(lit_str3_built), context);
8436 Ok(())
8437 }
8438
8439 #[parol_runtime::function_name::named]
8444 fn lit_str3_list_0(
8445 &mut self,
8446 _lit_str3_list_group: &ParseTreeType<'t>,
8447 _lit_str3_list: &ParseTreeType<'t>,
8448 ) -> Result<()> {
8449 let context = function_name!();
8450 trace!("{}", self.trace_item_stack(context));
8451 let mut lit_str3_list = pop_item!(self, lit_str3_list, LitStr3List, context);
8452 let lit_str3_list_group = pop_item!(self, lit_str3_list_group, LitStr3ListGroup, context);
8453 let lit_str3_list_0_built = LitStr3List {
8454 lit_str3_list_group,
8455 };
8456 lit_str3_list.push(lit_str3_list_0_built);
8458 self.push(ASTType::LitStr3List(lit_str3_list), context);
8459 Ok(())
8460 }
8461
8462 #[parol_runtime::function_name::named]
8467 fn lit_str3_list_group_0(&mut self, _no_s_quote: &ParseTreeType<'t>) -> Result<()> {
8468 let context = function_name!();
8469 trace!("{}", self.trace_item_stack(context));
8470 let no_s_quote = pop_item!(self, no_s_quote, NoSQuote, context);
8471 let lit_str3_list_group_0_built = LitStr3ListGroupNoSQuote { no_s_quote };
8472 let lit_str3_list_group_0_built = LitStr3ListGroup::NoSQuote(lit_str3_list_group_0_built);
8473 self.push(
8474 ASTType::LitStr3ListGroup(lit_str3_list_group_0_built),
8475 context,
8476 );
8477 Ok(())
8478 }
8479
8480 #[parol_runtime::function_name::named]
8485 fn lit_str3_list_group_1(&mut self, _s_quote: &ParseTreeType<'t>) -> Result<()> {
8486 let context = function_name!();
8487 trace!("{}", self.trace_item_stack(context));
8488 let s_quote = pop_item!(self, s_quote, SQuote, context);
8489 let lit_str3_list_group_1_built = LitStr3ListGroupSQuote { s_quote };
8490 let lit_str3_list_group_1_built = LitStr3ListGroup::SQuote(lit_str3_list_group_1_built);
8491 self.push(
8492 ASTType::LitStr3ListGroup(lit_str3_list_group_1_built),
8493 context,
8494 );
8495 Ok(())
8496 }
8497
8498 #[parol_runtime::function_name::named]
8503 fn lit_str3_list_1(&mut self) -> Result<()> {
8504 let context = function_name!();
8505 trace!("{}", self.trace_item_stack(context));
8506 let lit_str3_list_1_built = Vec::new();
8507 self.push(ASTType::LitStr3List(lit_str3_list_1_built), context);
8508 Ok(())
8509 }
8510
8511 #[parol_runtime::function_name::named]
8516 fn delim_code_0(&mut self, _delim_code3: &ParseTreeType<'t>) -> Result<()> {
8517 let context = function_name!();
8518 trace!("{}", self.trace_item_stack(context));
8519 let delim_code3 = pop_item!(self, delim_code3, DelimCode3, context);
8520 let delim_code_0_built = DelimCodeDelimCode3 { delim_code3 };
8521 let delim_code_0_built = DelimCode::DelimCode3(delim_code_0_built);
8522 self.user_grammar.delim_code(&delim_code_0_built)?;
8524 self.push(ASTType::DelimCode(delim_code_0_built), context);
8525 Ok(())
8526 }
8527
8528 #[parol_runtime::function_name::named]
8533 fn delim_code_1(&mut self, _delim_code2: &ParseTreeType<'t>) -> Result<()> {
8534 let context = function_name!();
8535 trace!("{}", self.trace_item_stack(context));
8536 let delim_code2 = pop_item!(self, delim_code2, DelimCode2, context);
8537 let delim_code_1_built = DelimCodeDelimCode2 { delim_code2 };
8538 let delim_code_1_built = DelimCode::DelimCode2(delim_code_1_built);
8539 self.user_grammar.delim_code(&delim_code_1_built)?;
8541 self.push(ASTType::DelimCode(delim_code_1_built), context);
8542 Ok(())
8543 }
8544
8545 #[parol_runtime::function_name::named]
8550 fn delim_code_2(&mut self, _delim_code1: &ParseTreeType<'t>) -> Result<()> {
8551 let context = function_name!();
8552 trace!("{}", self.trace_item_stack(context));
8553 let delim_code1 = pop_item!(self, delim_code1, DelimCode1, context);
8554 let delim_code_2_built = DelimCodeDelimCode1 { delim_code1 };
8555 let delim_code_2_built = DelimCode::DelimCode1(delim_code_2_built);
8556 self.user_grammar.delim_code(&delim_code_2_built)?;
8558 self.push(ASTType::DelimCode(delim_code_2_built), context);
8559 Ok(())
8560 }
8561
8562 #[parol_runtime::function_name::named]
8567 fn delim_code1(
8568 &mut self,
8569 _delim_code_start1: &ParseTreeType<'t>,
8570 _delim_code1_list: &ParseTreeType<'t>,
8571 _delim_code_end1: &ParseTreeType<'t>,
8572 ) -> Result<()> {
8573 let context = function_name!();
8574 trace!("{}", self.trace_item_stack(context));
8575 let delim_code_end1 = pop_item!(self, delim_code_end1, DelimCodeEnd1, context);
8576 let delim_code1_list =
8577 pop_and_reverse_item!(self, delim_code1_list, DelimCode1List, context);
8578 let delim_code_start1 = pop_item!(self, delim_code_start1, DelimCodeStart1, context);
8579 let delim_code1_built = DelimCode1 {
8580 delim_code_start1,
8581 delim_code1_list,
8582 delim_code_end1,
8583 };
8584 self.user_grammar.delim_code1(&delim_code1_built)?;
8586 self.push(ASTType::DelimCode1(delim_code1_built), context);
8587 Ok(())
8588 }
8589
8590 #[parol_runtime::function_name::named]
8595 fn delim_code1_list_0(
8596 &mut self,
8597 _delim_code1_list_group: &ParseTreeType<'t>,
8598 _delim_code1_list: &ParseTreeType<'t>,
8599 ) -> Result<()> {
8600 let context = function_name!();
8601 trace!("{}", self.trace_item_stack(context));
8602 let mut delim_code1_list = pop_item!(self, delim_code1_list, DelimCode1List, context);
8603 let delim_code1_list_group =
8604 pop_item!(self, delim_code1_list_group, DelimCode1ListGroup, context);
8605 let delim_code1_list_0_built = DelimCode1List {
8606 delim_code1_list_group,
8607 };
8608 delim_code1_list.push(delim_code1_list_0_built);
8610 self.push(ASTType::DelimCode1List(delim_code1_list), context);
8611 Ok(())
8612 }
8613
8614 #[parol_runtime::function_name::named]
8619 fn delim_code1_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
8620 let context = function_name!();
8621 trace!("{}", self.trace_item_stack(context));
8622 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
8623 let delim_code1_list_group_0_built = DelimCode1ListGroupNoBacktick { no_backtick };
8624 let delim_code1_list_group_0_built =
8625 DelimCode1ListGroup::NoBacktick(delim_code1_list_group_0_built);
8626 self.push(
8627 ASTType::DelimCode1ListGroup(delim_code1_list_group_0_built),
8628 context,
8629 );
8630 Ok(())
8631 }
8632
8633 #[parol_runtime::function_name::named]
8638 fn delim_code1_list_group_1(&mut self, _backtick_delim: &ParseTreeType<'t>) -> Result<()> {
8639 let context = function_name!();
8640 trace!("{}", self.trace_item_stack(context));
8641 let backtick_delim = pop_item!(self, backtick_delim, BacktickDelim, context);
8642 let delim_code1_list_group_1_built = DelimCode1ListGroupBacktickDelim { backtick_delim };
8643 let delim_code1_list_group_1_built =
8644 DelimCode1ListGroup::BacktickDelim(delim_code1_list_group_1_built);
8645 self.push(
8646 ASTType::DelimCode1ListGroup(delim_code1_list_group_1_built),
8647 context,
8648 );
8649 Ok(())
8650 }
8651
8652 #[parol_runtime::function_name::named]
8657 fn delim_code1_list_1(&mut self) -> Result<()> {
8658 let context = function_name!();
8659 trace!("{}", self.trace_item_stack(context));
8660 let delim_code1_list_1_built = Vec::new();
8661 self.push(ASTType::DelimCode1List(delim_code1_list_1_built), context);
8662 Ok(())
8663 }
8664
8665 #[parol_runtime::function_name::named]
8670 fn delim_code2(
8671 &mut self,
8672 _delim_code_start2: &ParseTreeType<'t>,
8673 _delim_code2_list: &ParseTreeType<'t>,
8674 _delim_code_end2: &ParseTreeType<'t>,
8675 ) -> Result<()> {
8676 let context = function_name!();
8677 trace!("{}", self.trace_item_stack(context));
8678 let delim_code_end2 = pop_item!(self, delim_code_end2, DelimCodeEnd2, context);
8679 let delim_code2_list =
8680 pop_and_reverse_item!(self, delim_code2_list, DelimCode2List, context);
8681 let delim_code_start2 = pop_item!(self, delim_code_start2, DelimCodeStart2, context);
8682 let delim_code2_built = DelimCode2 {
8683 delim_code_start2,
8684 delim_code2_list,
8685 delim_code_end2,
8686 };
8687 self.user_grammar.delim_code2(&delim_code2_built)?;
8689 self.push(ASTType::DelimCode2(delim_code2_built), context);
8690 Ok(())
8691 }
8692
8693 #[parol_runtime::function_name::named]
8698 fn delim_code2_list_0(
8699 &mut self,
8700 _delim_code2_list_group: &ParseTreeType<'t>,
8701 _delim_code2_list: &ParseTreeType<'t>,
8702 ) -> Result<()> {
8703 let context = function_name!();
8704 trace!("{}", self.trace_item_stack(context));
8705 let mut delim_code2_list = pop_item!(self, delim_code2_list, DelimCode2List, context);
8706 let delim_code2_list_group =
8707 pop_item!(self, delim_code2_list_group, DelimCode2ListGroup, context);
8708 let delim_code2_list_0_built = DelimCode2List {
8709 delim_code2_list_group,
8710 };
8711 delim_code2_list.push(delim_code2_list_0_built);
8713 self.push(ASTType::DelimCode2List(delim_code2_list), context);
8714 Ok(())
8715 }
8716
8717 #[parol_runtime::function_name::named]
8722 fn delim_code2_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
8723 let context = function_name!();
8724 trace!("{}", self.trace_item_stack(context));
8725 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
8726 let delim_code2_list_group_0_built = DelimCode2ListGroupNoBacktick { no_backtick };
8727 let delim_code2_list_group_0_built =
8728 DelimCode2ListGroup::NoBacktick(delim_code2_list_group_0_built);
8729 self.push(
8730 ASTType::DelimCode2ListGroup(delim_code2_list_group_0_built),
8731 context,
8732 );
8733 Ok(())
8734 }
8735
8736 #[parol_runtime::function_name::named]
8741 fn delim_code2_list_group_1(&mut self, _backtick_delim: &ParseTreeType<'t>) -> Result<()> {
8742 let context = function_name!();
8743 trace!("{}", self.trace_item_stack(context));
8744 let backtick_delim = pop_item!(self, backtick_delim, BacktickDelim, context);
8745 let delim_code2_list_group_1_built = DelimCode2ListGroupBacktickDelim { backtick_delim };
8746 let delim_code2_list_group_1_built =
8747 DelimCode2ListGroup::BacktickDelim(delim_code2_list_group_1_built);
8748 self.push(
8749 ASTType::DelimCode2ListGroup(delim_code2_list_group_1_built),
8750 context,
8751 );
8752 Ok(())
8753 }
8754
8755 #[parol_runtime::function_name::named]
8760 fn delim_code2_list_1(&mut self) -> Result<()> {
8761 let context = function_name!();
8762 trace!("{}", self.trace_item_stack(context));
8763 let delim_code2_list_1_built = Vec::new();
8764 self.push(ASTType::DelimCode2List(delim_code2_list_1_built), context);
8765 Ok(())
8766 }
8767
8768 #[parol_runtime::function_name::named]
8773 fn delim_code3(
8774 &mut self,
8775 _delim_code_start3: &ParseTreeType<'t>,
8776 _delim_code3_list: &ParseTreeType<'t>,
8777 _delim_code_end3: &ParseTreeType<'t>,
8778 ) -> Result<()> {
8779 let context = function_name!();
8780 trace!("{}", self.trace_item_stack(context));
8781 let delim_code_end3 = pop_item!(self, delim_code_end3, DelimCodeEnd3, context);
8782 let delim_code3_list =
8783 pop_and_reverse_item!(self, delim_code3_list, DelimCode3List, context);
8784 let delim_code_start3 = pop_item!(self, delim_code_start3, DelimCodeStart3, context);
8785 let delim_code3_built = DelimCode3 {
8786 delim_code_start3,
8787 delim_code3_list,
8788 delim_code_end3,
8789 };
8790 self.user_grammar.delim_code3(&delim_code3_built)?;
8792 self.push(ASTType::DelimCode3(delim_code3_built), context);
8793 Ok(())
8794 }
8795
8796 #[parol_runtime::function_name::named]
8801 fn delim_code3_list_0(
8802 &mut self,
8803 _delim_code3_list_group: &ParseTreeType<'t>,
8804 _delim_code3_list: &ParseTreeType<'t>,
8805 ) -> Result<()> {
8806 let context = function_name!();
8807 trace!("{}", self.trace_item_stack(context));
8808 let mut delim_code3_list = pop_item!(self, delim_code3_list, DelimCode3List, context);
8809 let delim_code3_list_group =
8810 pop_item!(self, delim_code3_list_group, DelimCode3ListGroup, context);
8811 let delim_code3_list_0_built = DelimCode3List {
8812 delim_code3_list_group,
8813 };
8814 delim_code3_list.push(delim_code3_list_0_built);
8816 self.push(ASTType::DelimCode3List(delim_code3_list), context);
8817 Ok(())
8818 }
8819
8820 #[parol_runtime::function_name::named]
8825 fn delim_code3_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
8826 let context = function_name!();
8827 trace!("{}", self.trace_item_stack(context));
8828 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
8829 let delim_code3_list_group_0_built = DelimCode3ListGroupNoBacktick { no_backtick };
8830 let delim_code3_list_group_0_built =
8831 DelimCode3ListGroup::NoBacktick(delim_code3_list_group_0_built);
8832 self.push(
8833 ASTType::DelimCode3ListGroup(delim_code3_list_group_0_built),
8834 context,
8835 );
8836 Ok(())
8837 }
8838
8839 #[parol_runtime::function_name::named]
8844 fn delim_code3_list_group_1(&mut self, _backtick_delim: &ParseTreeType<'t>) -> Result<()> {
8845 let context = function_name!();
8846 trace!("{}", self.trace_item_stack(context));
8847 let backtick_delim = pop_item!(self, backtick_delim, BacktickDelim, context);
8848 let delim_code3_list_group_1_built = DelimCode3ListGroupBacktickDelim { backtick_delim };
8849 let delim_code3_list_group_1_built =
8850 DelimCode3ListGroup::BacktickDelim(delim_code3_list_group_1_built);
8851 self.push(
8852 ASTType::DelimCode3ListGroup(delim_code3_list_group_1_built),
8853 context,
8854 );
8855 Ok(())
8856 }
8857
8858 #[parol_runtime::function_name::named]
8863 fn delim_code3_list_1(&mut self) -> Result<()> {
8864 let context = function_name!();
8865 trace!("{}", self.trace_item_stack(context));
8866 let delim_code3_list_1_built = Vec::new();
8867 self.push(ASTType::DelimCode3List(delim_code3_list_1_built), context);
8868 Ok(())
8869 }
8870
8871 #[parol_runtime::function_name::named]
8876 fn code_block_0(&mut self, _code_block3: &ParseTreeType<'t>) -> Result<()> {
8877 let context = function_name!();
8878 trace!("{}", self.trace_item_stack(context));
8879 let code_block3 = pop_item!(self, code_block3, CodeBlock3, context);
8880 let code_block_0_built = CodeBlockCodeBlock3 { code_block3 };
8881 let code_block_0_built = CodeBlock::CodeBlock3(code_block_0_built);
8882 self.user_grammar.code_block(&code_block_0_built)?;
8884 self.push(ASTType::CodeBlock(code_block_0_built), context);
8885 Ok(())
8886 }
8887
8888 #[parol_runtime::function_name::named]
8893 fn code_block_1(&mut self, _code_block4: &ParseTreeType<'t>) -> Result<()> {
8894 let context = function_name!();
8895 trace!("{}", self.trace_item_stack(context));
8896 let code_block4 = pop_item!(self, code_block4, CodeBlock4, context);
8897 let code_block_1_built = CodeBlockCodeBlock4 { code_block4 };
8898 let code_block_1_built = CodeBlock::CodeBlock4(code_block_1_built);
8899 self.user_grammar.code_block(&code_block_1_built)?;
8901 self.push(ASTType::CodeBlock(code_block_1_built), context);
8902 Ok(())
8903 }
8904
8905 #[parol_runtime::function_name::named]
8910 fn code_block_2(&mut self, _code_block5: &ParseTreeType<'t>) -> Result<()> {
8911 let context = function_name!();
8912 trace!("{}", self.trace_item_stack(context));
8913 let code_block5 = pop_item!(self, code_block5, CodeBlock5, context);
8914 let code_block_2_built = CodeBlockCodeBlock5 { code_block5 };
8915 let code_block_2_built = CodeBlock::CodeBlock5(code_block_2_built);
8916 self.user_grammar.code_block(&code_block_2_built)?;
8918 self.push(ASTType::CodeBlock(code_block_2_built), context);
8919 Ok(())
8920 }
8921
8922 #[parol_runtime::function_name::named]
8927 fn code_block_3(&mut self, _code_block6: &ParseTreeType<'t>) -> Result<()> {
8928 let context = function_name!();
8929 trace!("{}", self.trace_item_stack(context));
8930 let code_block6 = pop_item!(self, code_block6, CodeBlock6, context);
8931 let code_block_3_built = CodeBlockCodeBlock6 { code_block6 };
8932 let code_block_3_built = CodeBlock::CodeBlock6(code_block_3_built);
8933 self.user_grammar.code_block(&code_block_3_built)?;
8935 self.push(ASTType::CodeBlock(code_block_3_built), context);
8936 Ok(())
8937 }
8938
8939 #[parol_runtime::function_name::named]
8944 fn code_block3(
8945 &mut self,
8946 _code_block_start3: &ParseTreeType<'t>,
8947 _code_block3_list: &ParseTreeType<'t>,
8948 _code_block_end3: &ParseTreeType<'t>,
8949 ) -> Result<()> {
8950 let context = function_name!();
8951 trace!("{}", self.trace_item_stack(context));
8952 let code_block_end3 = pop_item!(self, code_block_end3, CodeBlockEnd3, context);
8953 let code_block3_list =
8954 pop_and_reverse_item!(self, code_block3_list, CodeBlock3List, context);
8955 let code_block_start3 = pop_item!(self, code_block_start3, CodeBlockStart3, context);
8956 let code_block3_built = CodeBlock3 {
8957 code_block_start3,
8958 code_block3_list,
8959 code_block_end3,
8960 };
8961 self.user_grammar.code_block3(&code_block3_built)?;
8963 self.push(ASTType::CodeBlock3(code_block3_built), context);
8964 Ok(())
8965 }
8966
8967 #[parol_runtime::function_name::named]
8972 fn code_block3_list_0(
8973 &mut self,
8974 _code_block3_list_group: &ParseTreeType<'t>,
8975 _code_block3_list: &ParseTreeType<'t>,
8976 ) -> Result<()> {
8977 let context = function_name!();
8978 trace!("{}", self.trace_item_stack(context));
8979 let mut code_block3_list = pop_item!(self, code_block3_list, CodeBlock3List, context);
8980 let code_block3_list_group =
8981 pop_item!(self, code_block3_list_group, CodeBlock3ListGroup, context);
8982 let code_block3_list_0_built = CodeBlock3List {
8983 code_block3_list_group,
8984 };
8985 code_block3_list.push(code_block3_list_0_built);
8987 self.push(ASTType::CodeBlock3List(code_block3_list), context);
8988 Ok(())
8989 }
8990
8991 #[parol_runtime::function_name::named]
8996 fn code_block3_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
8997 let context = function_name!();
8998 trace!("{}", self.trace_item_stack(context));
8999 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
9000 let code_block3_list_group_0_built = CodeBlock3ListGroupNoBacktick { no_backtick };
9001 let code_block3_list_group_0_built =
9002 CodeBlock3ListGroup::NoBacktick(code_block3_list_group_0_built);
9003 self.push(
9004 ASTType::CodeBlock3ListGroup(code_block3_list_group_0_built),
9005 context,
9006 );
9007 Ok(())
9008 }
9009
9010 #[parol_runtime::function_name::named]
9015 fn code_block3_list_group_1(&mut self, _backtick2: &ParseTreeType<'t>) -> Result<()> {
9016 let context = function_name!();
9017 trace!("{}", self.trace_item_stack(context));
9018 let backtick2 = pop_item!(self, backtick2, Backtick2, context);
9019 let code_block3_list_group_1_built = CodeBlock3ListGroupBacktick2 { backtick2 };
9020 let code_block3_list_group_1_built =
9021 CodeBlock3ListGroup::Backtick2(code_block3_list_group_1_built);
9022 self.push(
9023 ASTType::CodeBlock3ListGroup(code_block3_list_group_1_built),
9024 context,
9025 );
9026 Ok(())
9027 }
9028
9029 #[parol_runtime::function_name::named]
9034 fn code_block3_list_1(&mut self) -> Result<()> {
9035 let context = function_name!();
9036 trace!("{}", self.trace_item_stack(context));
9037 let code_block3_list_1_built = Vec::new();
9038 self.push(ASTType::CodeBlock3List(code_block3_list_1_built), context);
9039 Ok(())
9040 }
9041
9042 #[parol_runtime::function_name::named]
9047 fn code_block4(
9048 &mut self,
9049 _code_block_start4: &ParseTreeType<'t>,
9050 _code_block4_list: &ParseTreeType<'t>,
9051 _code_block_end4: &ParseTreeType<'t>,
9052 ) -> Result<()> {
9053 let context = function_name!();
9054 trace!("{}", self.trace_item_stack(context));
9055 let code_block_end4 = pop_item!(self, code_block_end4, CodeBlockEnd4, context);
9056 let code_block4_list =
9057 pop_and_reverse_item!(self, code_block4_list, CodeBlock4List, context);
9058 let code_block_start4 = pop_item!(self, code_block_start4, CodeBlockStart4, context);
9059 let code_block4_built = CodeBlock4 {
9060 code_block_start4,
9061 code_block4_list,
9062 code_block_end4,
9063 };
9064 self.user_grammar.code_block4(&code_block4_built)?;
9066 self.push(ASTType::CodeBlock4(code_block4_built), context);
9067 Ok(())
9068 }
9069
9070 #[parol_runtime::function_name::named]
9075 fn code_block4_list_0(
9076 &mut self,
9077 _code_block4_list_group: &ParseTreeType<'t>,
9078 _code_block4_list: &ParseTreeType<'t>,
9079 ) -> Result<()> {
9080 let context = function_name!();
9081 trace!("{}", self.trace_item_stack(context));
9082 let mut code_block4_list = pop_item!(self, code_block4_list, CodeBlock4List, context);
9083 let code_block4_list_group =
9084 pop_item!(self, code_block4_list_group, CodeBlock4ListGroup, context);
9085 let code_block4_list_0_built = CodeBlock4List {
9086 code_block4_list_group,
9087 };
9088 code_block4_list.push(code_block4_list_0_built);
9090 self.push(ASTType::CodeBlock4List(code_block4_list), context);
9091 Ok(())
9092 }
9093
9094 #[parol_runtime::function_name::named]
9099 fn code_block4_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
9100 let context = function_name!();
9101 trace!("{}", self.trace_item_stack(context));
9102 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
9103 let code_block4_list_group_0_built = CodeBlock4ListGroupNoBacktick { no_backtick };
9104 let code_block4_list_group_0_built =
9105 CodeBlock4ListGroup::NoBacktick(code_block4_list_group_0_built);
9106 self.push(
9107 ASTType::CodeBlock4ListGroup(code_block4_list_group_0_built),
9108 context,
9109 );
9110 Ok(())
9111 }
9112
9113 #[parol_runtime::function_name::named]
9118 fn code_block4_list_group_1(&mut self, _backtick3: &ParseTreeType<'t>) -> Result<()> {
9119 let context = function_name!();
9120 trace!("{}", self.trace_item_stack(context));
9121 let backtick3 = pop_item!(self, backtick3, Backtick3, context);
9122 let code_block4_list_group_1_built = CodeBlock4ListGroupBacktick3 { backtick3 };
9123 let code_block4_list_group_1_built =
9124 CodeBlock4ListGroup::Backtick3(code_block4_list_group_1_built);
9125 self.push(
9126 ASTType::CodeBlock4ListGroup(code_block4_list_group_1_built),
9127 context,
9128 );
9129 Ok(())
9130 }
9131
9132 #[parol_runtime::function_name::named]
9137 fn code_block4_list_1(&mut self) -> Result<()> {
9138 let context = function_name!();
9139 trace!("{}", self.trace_item_stack(context));
9140 let code_block4_list_1_built = Vec::new();
9141 self.push(ASTType::CodeBlock4List(code_block4_list_1_built), context);
9142 Ok(())
9143 }
9144
9145 #[parol_runtime::function_name::named]
9150 fn code_block5(
9151 &mut self,
9152 _code_block_start5: &ParseTreeType<'t>,
9153 _code_block5_list: &ParseTreeType<'t>,
9154 _code_block_end5: &ParseTreeType<'t>,
9155 ) -> Result<()> {
9156 let context = function_name!();
9157 trace!("{}", self.trace_item_stack(context));
9158 let code_block_end5 = pop_item!(self, code_block_end5, CodeBlockEnd5, context);
9159 let code_block5_list =
9160 pop_and_reverse_item!(self, code_block5_list, CodeBlock5List, context);
9161 let code_block_start5 = pop_item!(self, code_block_start5, CodeBlockStart5, context);
9162 let code_block5_built = CodeBlock5 {
9163 code_block_start5,
9164 code_block5_list,
9165 code_block_end5,
9166 };
9167 self.user_grammar.code_block5(&code_block5_built)?;
9169 self.push(ASTType::CodeBlock5(code_block5_built), context);
9170 Ok(())
9171 }
9172
9173 #[parol_runtime::function_name::named]
9178 fn code_block5_list_0(
9179 &mut self,
9180 _code_block5_list_group: &ParseTreeType<'t>,
9181 _code_block5_list: &ParseTreeType<'t>,
9182 ) -> Result<()> {
9183 let context = function_name!();
9184 trace!("{}", self.trace_item_stack(context));
9185 let mut code_block5_list = pop_item!(self, code_block5_list, CodeBlock5List, context);
9186 let code_block5_list_group =
9187 pop_item!(self, code_block5_list_group, CodeBlock5ListGroup, context);
9188 let code_block5_list_0_built = CodeBlock5List {
9189 code_block5_list_group,
9190 };
9191 code_block5_list.push(code_block5_list_0_built);
9193 self.push(ASTType::CodeBlock5List(code_block5_list), context);
9194 Ok(())
9195 }
9196
9197 #[parol_runtime::function_name::named]
9202 fn code_block5_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
9203 let context = function_name!();
9204 trace!("{}", self.trace_item_stack(context));
9205 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
9206 let code_block5_list_group_0_built = CodeBlock5ListGroupNoBacktick { no_backtick };
9207 let code_block5_list_group_0_built =
9208 CodeBlock5ListGroup::NoBacktick(code_block5_list_group_0_built);
9209 self.push(
9210 ASTType::CodeBlock5ListGroup(code_block5_list_group_0_built),
9211 context,
9212 );
9213 Ok(())
9214 }
9215
9216 #[parol_runtime::function_name::named]
9221 fn code_block5_list_group_1(&mut self, _backtick4: &ParseTreeType<'t>) -> Result<()> {
9222 let context = function_name!();
9223 trace!("{}", self.trace_item_stack(context));
9224 let backtick4 = pop_item!(self, backtick4, Backtick4, context);
9225 let code_block5_list_group_1_built = CodeBlock5ListGroupBacktick4 { backtick4 };
9226 let code_block5_list_group_1_built =
9227 CodeBlock5ListGroup::Backtick4(code_block5_list_group_1_built);
9228 self.push(
9229 ASTType::CodeBlock5ListGroup(code_block5_list_group_1_built),
9230 context,
9231 );
9232 Ok(())
9233 }
9234
9235 #[parol_runtime::function_name::named]
9240 fn code_block5_list_1(&mut self) -> Result<()> {
9241 let context = function_name!();
9242 trace!("{}", self.trace_item_stack(context));
9243 let code_block5_list_1_built = Vec::new();
9244 self.push(ASTType::CodeBlock5List(code_block5_list_1_built), context);
9245 Ok(())
9246 }
9247
9248 #[parol_runtime::function_name::named]
9253 fn code_block6(
9254 &mut self,
9255 _code_block_start6: &ParseTreeType<'t>,
9256 _code_block6_list: &ParseTreeType<'t>,
9257 _code_block_end6: &ParseTreeType<'t>,
9258 ) -> Result<()> {
9259 let context = function_name!();
9260 trace!("{}", self.trace_item_stack(context));
9261 let code_block_end6 = pop_item!(self, code_block_end6, CodeBlockEnd6, context);
9262 let code_block6_list =
9263 pop_and_reverse_item!(self, code_block6_list, CodeBlock6List, context);
9264 let code_block_start6 = pop_item!(self, code_block_start6, CodeBlockStart6, context);
9265 let code_block6_built = CodeBlock6 {
9266 code_block_start6,
9267 code_block6_list,
9268 code_block_end6,
9269 };
9270 self.user_grammar.code_block6(&code_block6_built)?;
9272 self.push(ASTType::CodeBlock6(code_block6_built), context);
9273 Ok(())
9274 }
9275
9276 #[parol_runtime::function_name::named]
9281 fn code_block6_list_0(
9282 &mut self,
9283 _code_block6_list_group: &ParseTreeType<'t>,
9284 _code_block6_list: &ParseTreeType<'t>,
9285 ) -> Result<()> {
9286 let context = function_name!();
9287 trace!("{}", self.trace_item_stack(context));
9288 let mut code_block6_list = pop_item!(self, code_block6_list, CodeBlock6List, context);
9289 let code_block6_list_group =
9290 pop_item!(self, code_block6_list_group, CodeBlock6ListGroup, context);
9291 let code_block6_list_0_built = CodeBlock6List {
9292 code_block6_list_group,
9293 };
9294 code_block6_list.push(code_block6_list_0_built);
9296 self.push(ASTType::CodeBlock6List(code_block6_list), context);
9297 Ok(())
9298 }
9299
9300 #[parol_runtime::function_name::named]
9305 fn code_block6_list_group_0(&mut self, _no_backtick: &ParseTreeType<'t>) -> Result<()> {
9306 let context = function_name!();
9307 trace!("{}", self.trace_item_stack(context));
9308 let no_backtick = pop_item!(self, no_backtick, NoBacktick, context);
9309 let code_block6_list_group_0_built = CodeBlock6ListGroupNoBacktick { no_backtick };
9310 let code_block6_list_group_0_built =
9311 CodeBlock6ListGroup::NoBacktick(code_block6_list_group_0_built);
9312 self.push(
9313 ASTType::CodeBlock6ListGroup(code_block6_list_group_0_built),
9314 context,
9315 );
9316 Ok(())
9317 }
9318
9319 #[parol_runtime::function_name::named]
9324 fn code_block6_list_group_1(&mut self, _backtick5: &ParseTreeType<'t>) -> Result<()> {
9325 let context = function_name!();
9326 trace!("{}", self.trace_item_stack(context));
9327 let backtick5 = pop_item!(self, backtick5, Backtick5, context);
9328 let code_block6_list_group_1_built = CodeBlock6ListGroupBacktick5 { backtick5 };
9329 let code_block6_list_group_1_built =
9330 CodeBlock6ListGroup::Backtick5(code_block6_list_group_1_built);
9331 self.push(
9332 ASTType::CodeBlock6ListGroup(code_block6_list_group_1_built),
9333 context,
9334 );
9335 Ok(())
9336 }
9337
9338 #[parol_runtime::function_name::named]
9343 fn code_block6_list_1(&mut self) -> Result<()> {
9344 let context = function_name!();
9345 trace!("{}", self.trace_item_stack(context));
9346 let code_block6_list_1_built = Vec::new();
9347 self.push(ASTType::CodeBlock6List(code_block6_list_1_built), context);
9348 Ok(())
9349 }
9350
9351 #[parol_runtime::function_name::named]
9356 fn lit_str3_start(&mut self, lit_str3_start: &ParseTreeType<'t>) -> Result<()> {
9357 let context = function_name!();
9358 trace!("{}", self.trace_item_stack(context));
9359 let lit_str3_start = lit_str3_start.token()?.clone();
9360 let lit_str3_start_built = LitStr3Start { lit_str3_start };
9361 self.user_grammar.lit_str3_start(&lit_str3_start_built)?;
9363 self.push(ASTType::LitStr3Start(lit_str3_start_built), context);
9364 Ok(())
9365 }
9366
9367 #[parol_runtime::function_name::named]
9372 fn lit_str2_start(&mut self, lit_str2_start: &ParseTreeType<'t>) -> Result<()> {
9373 let context = function_name!();
9374 trace!("{}", self.trace_item_stack(context));
9375 let lit_str2_start = lit_str2_start.token()?.clone();
9376 let lit_str2_start_built = LitStr2Start { lit_str2_start };
9377 self.user_grammar.lit_str2_start(&lit_str2_start_built)?;
9379 self.push(ASTType::LitStr2Start(lit_str2_start_built), context);
9380 Ok(())
9381 }
9382
9383 #[parol_runtime::function_name::named]
9388 fn lit_str1_start(&mut self, lit_str1_start: &ParseTreeType<'t>) -> Result<()> {
9389 let context = function_name!();
9390 trace!("{}", self.trace_item_stack(context));
9391 let lit_str1_start = lit_str1_start.token()?.clone();
9392 let lit_str1_start_built = LitStr1Start { lit_str1_start };
9393 self.user_grammar.lit_str1_start(&lit_str1_start_built)?;
9395 self.push(ASTType::LitStr1Start(lit_str1_start_built), context);
9396 Ok(())
9397 }
9398
9399 #[parol_runtime::function_name::named]
9404 fn delim_code_start3(&mut self, delim_code_start3: &ParseTreeType<'t>) -> Result<()> {
9405 let context = function_name!();
9406 trace!("{}", self.trace_item_stack(context));
9407 let delim_code_start3 = delim_code_start3.token()?.clone();
9408 let delim_code_start3_built = DelimCodeStart3 { delim_code_start3 };
9409 self.user_grammar
9411 .delim_code_start3(&delim_code_start3_built)?;
9412 self.push(ASTType::DelimCodeStart3(delim_code_start3_built), context);
9413 Ok(())
9414 }
9415
9416 #[parol_runtime::function_name::named]
9421 fn delim_code_start2(&mut self, delim_code_start2: &ParseTreeType<'t>) -> Result<()> {
9422 let context = function_name!();
9423 trace!("{}", self.trace_item_stack(context));
9424 let delim_code_start2 = delim_code_start2.token()?.clone();
9425 let delim_code_start2_built = DelimCodeStart2 { delim_code_start2 };
9426 self.user_grammar
9428 .delim_code_start2(&delim_code_start2_built)?;
9429 self.push(ASTType::DelimCodeStart2(delim_code_start2_built), context);
9430 Ok(())
9431 }
9432
9433 #[parol_runtime::function_name::named]
9438 fn delim_code_start1(&mut self, delim_code_start1: &ParseTreeType<'t>) -> Result<()> {
9439 let context = function_name!();
9440 trace!("{}", self.trace_item_stack(context));
9441 let delim_code_start1 = delim_code_start1.token()?.clone();
9442 let delim_code_start1_built = DelimCodeStart1 { delim_code_start1 };
9443 self.user_grammar
9445 .delim_code_start1(&delim_code_start1_built)?;
9446 self.push(ASTType::DelimCodeStart1(delim_code_start1_built), context);
9447 Ok(())
9448 }
9449
9450 #[parol_runtime::function_name::named]
9455 fn code_block_start3(&mut self, code_block_start3: &ParseTreeType<'t>) -> Result<()> {
9456 let context = function_name!();
9457 trace!("{}", self.trace_item_stack(context));
9458 let code_block_start3 = code_block_start3.token()?.clone();
9459 let code_block_start3_built = CodeBlockStart3 { code_block_start3 };
9460 self.user_grammar
9462 .code_block_start3(&code_block_start3_built)?;
9463 self.push(ASTType::CodeBlockStart3(code_block_start3_built), context);
9464 Ok(())
9465 }
9466
9467 #[parol_runtime::function_name::named]
9472 fn code_block_start4(&mut self, code_block_start4: &ParseTreeType<'t>) -> Result<()> {
9473 let context = function_name!();
9474 trace!("{}", self.trace_item_stack(context));
9475 let code_block_start4 = code_block_start4.token()?.clone();
9476 let code_block_start4_built = CodeBlockStart4 { code_block_start4 };
9477 self.user_grammar
9479 .code_block_start4(&code_block_start4_built)?;
9480 self.push(ASTType::CodeBlockStart4(code_block_start4_built), context);
9481 Ok(())
9482 }
9483
9484 #[parol_runtime::function_name::named]
9489 fn code_block_start5(&mut self, code_block_start5: &ParseTreeType<'t>) -> Result<()> {
9490 let context = function_name!();
9491 trace!("{}", self.trace_item_stack(context));
9492 let code_block_start5 = code_block_start5.token()?.clone();
9493 let code_block_start5_built = CodeBlockStart5 { code_block_start5 };
9494 self.user_grammar
9496 .code_block_start5(&code_block_start5_built)?;
9497 self.push(ASTType::CodeBlockStart5(code_block_start5_built), context);
9498 Ok(())
9499 }
9500
9501 #[parol_runtime::function_name::named]
9506 fn code_block_start6(&mut self, code_block_start6: &ParseTreeType<'t>) -> Result<()> {
9507 let context = function_name!();
9508 trace!("{}", self.trace_item_stack(context));
9509 let code_block_start6 = code_block_start6.token()?.clone();
9510 let code_block_start6_built = CodeBlockStart6 { code_block_start6 };
9511 self.user_grammar
9513 .code_block_start6(&code_block_start6_built)?;
9514 self.push(ASTType::CodeBlockStart6(code_block_start6_built), context);
9515 Ok(())
9516 }
9517
9518 #[parol_runtime::function_name::named]
9523 fn code_block_end3(&mut self, code_block_end3: &ParseTreeType<'t>) -> Result<()> {
9524 let context = function_name!();
9525 trace!("{}", self.trace_item_stack(context));
9526 let code_block_end3 = code_block_end3.token()?.clone();
9527 let code_block_end3_built = CodeBlockEnd3 { code_block_end3 };
9528 self.user_grammar.code_block_end3(&code_block_end3_built)?;
9530 self.push(ASTType::CodeBlockEnd3(code_block_end3_built), context);
9531 Ok(())
9532 }
9533
9534 #[parol_runtime::function_name::named]
9539 fn backtick2(&mut self, backtick2: &ParseTreeType<'t>) -> Result<()> {
9540 let context = function_name!();
9541 trace!("{}", self.trace_item_stack(context));
9542 let backtick2 = backtick2.token()?.clone();
9543 let backtick2_built = Backtick2 { backtick2 };
9544 self.user_grammar.backtick2(&backtick2_built)?;
9546 self.push(ASTType::Backtick2(backtick2_built), context);
9547 Ok(())
9548 }
9549
9550 #[parol_runtime::function_name::named]
9555 fn code_block_end4(&mut self, code_block_end4: &ParseTreeType<'t>) -> Result<()> {
9556 let context = function_name!();
9557 trace!("{}", self.trace_item_stack(context));
9558 let code_block_end4 = code_block_end4.token()?.clone();
9559 let code_block_end4_built = CodeBlockEnd4 { code_block_end4 };
9560 self.user_grammar.code_block_end4(&code_block_end4_built)?;
9562 self.push(ASTType::CodeBlockEnd4(code_block_end4_built), context);
9563 Ok(())
9564 }
9565
9566 #[parol_runtime::function_name::named]
9571 fn backtick3(&mut self, backtick3: &ParseTreeType<'t>) -> Result<()> {
9572 let context = function_name!();
9573 trace!("{}", self.trace_item_stack(context));
9574 let backtick3 = backtick3.token()?.clone();
9575 let backtick3_built = Backtick3 { backtick3 };
9576 self.user_grammar.backtick3(&backtick3_built)?;
9578 self.push(ASTType::Backtick3(backtick3_built), context);
9579 Ok(())
9580 }
9581
9582 #[parol_runtime::function_name::named]
9587 fn code_block_end5(&mut self, code_block_end5: &ParseTreeType<'t>) -> Result<()> {
9588 let context = function_name!();
9589 trace!("{}", self.trace_item_stack(context));
9590 let code_block_end5 = code_block_end5.token()?.clone();
9591 let code_block_end5_built = CodeBlockEnd5 { code_block_end5 };
9592 self.user_grammar.code_block_end5(&code_block_end5_built)?;
9594 self.push(ASTType::CodeBlockEnd5(code_block_end5_built), context);
9595 Ok(())
9596 }
9597
9598 #[parol_runtime::function_name::named]
9603 fn backtick4(&mut self, backtick4: &ParseTreeType<'t>) -> Result<()> {
9604 let context = function_name!();
9605 trace!("{}", self.trace_item_stack(context));
9606 let backtick4 = backtick4.token()?.clone();
9607 let backtick4_built = Backtick4 { backtick4 };
9608 self.user_grammar.backtick4(&backtick4_built)?;
9610 self.push(ASTType::Backtick4(backtick4_built), context);
9611 Ok(())
9612 }
9613
9614 #[parol_runtime::function_name::named]
9619 fn code_block_end6(&mut self, code_block_end6: &ParseTreeType<'t>) -> Result<()> {
9620 let context = function_name!();
9621 trace!("{}", self.trace_item_stack(context));
9622 let code_block_end6 = code_block_end6.token()?.clone();
9623 let code_block_end6_built = CodeBlockEnd6 { code_block_end6 };
9624 self.user_grammar.code_block_end6(&code_block_end6_built)?;
9626 self.push(ASTType::CodeBlockEnd6(code_block_end6_built), context);
9627 Ok(())
9628 }
9629
9630 #[parol_runtime::function_name::named]
9635 fn backtick5(&mut self, backtick5: &ParseTreeType<'t>) -> Result<()> {
9636 let context = function_name!();
9637 trace!("{}", self.trace_item_stack(context));
9638 let backtick5 = backtick5.token()?.clone();
9639 let backtick5_built = Backtick5 { backtick5 };
9640 self.user_grammar.backtick5(&backtick5_built)?;
9642 self.push(ASTType::Backtick5(backtick5_built), context);
9643 Ok(())
9644 }
9645
9646 #[parol_runtime::function_name::named]
9651 fn no_backtick(&mut self, no_backtick: &ParseTreeType<'t>) -> Result<()> {
9652 let context = function_name!();
9653 trace!("{}", self.trace_item_stack(context));
9654 let no_backtick = no_backtick.token()?.clone();
9655 let no_backtick_built = NoBacktick { no_backtick };
9656 self.user_grammar.no_backtick(&no_backtick_built)?;
9658 self.push(ASTType::NoBacktick(no_backtick_built), context);
9659 Ok(())
9660 }
9661
9662 #[parol_runtime::function_name::named]
9667 fn lit_str3_end(&mut self, lit_str3_end: &ParseTreeType<'t>) -> Result<()> {
9668 let context = function_name!();
9669 trace!("{}", self.trace_item_stack(context));
9670 let lit_str3_end = lit_str3_end.token()?.clone();
9671 let lit_str3_end_built = LitStr3End { lit_str3_end };
9672 self.user_grammar.lit_str3_end(&lit_str3_end_built)?;
9674 self.push(ASTType::LitStr3End(lit_str3_end_built), context);
9675 Ok(())
9676 }
9677
9678 #[parol_runtime::function_name::named]
9683 fn lit_str2_end(&mut self, lit_str2_end: &ParseTreeType<'t>) -> Result<()> {
9684 let context = function_name!();
9685 trace!("{}", self.trace_item_stack(context));
9686 let lit_str2_end = lit_str2_end.token()?.clone();
9687 let lit_str2_end_built = LitStr2End { lit_str2_end };
9688 self.user_grammar.lit_str2_end(&lit_str2_end_built)?;
9690 self.push(ASTType::LitStr2End(lit_str2_end_built), context);
9691 Ok(())
9692 }
9693
9694 #[parol_runtime::function_name::named]
9699 fn lit_str1_end(&mut self, lit_str1_end: &ParseTreeType<'t>) -> Result<()> {
9700 let context = function_name!();
9701 trace!("{}", self.trace_item_stack(context));
9702 let lit_str1_end = lit_str1_end.token()?.clone();
9703 let lit_str1_end_built = LitStr1End { lit_str1_end };
9704 self.user_grammar.lit_str1_end(&lit_str1_end_built)?;
9706 self.push(ASTType::LitStr1End(lit_str1_end_built), context);
9707 Ok(())
9708 }
9709
9710 #[parol_runtime::function_name::named]
9715 fn s_quote(&mut self, s_quote: &ParseTreeType<'t>) -> Result<()> {
9716 let context = function_name!();
9717 trace!("{}", self.trace_item_stack(context));
9718 let s_quote = s_quote.token()?.clone();
9719 let s_quote_built = SQuote { s_quote };
9720 self.user_grammar.s_quote(&s_quote_built)?;
9722 self.push(ASTType::SQuote(s_quote_built), context);
9723 Ok(())
9724 }
9725
9726 #[parol_runtime::function_name::named]
9731 fn no_s_quote(&mut self, no_s_quote: &ParseTreeType<'t>) -> Result<()> {
9732 let context = function_name!();
9733 trace!("{}", self.trace_item_stack(context));
9734 let no_s_quote = no_s_quote.token()?.clone();
9735 let no_s_quote_built = NoSQuote { no_s_quote };
9736 self.user_grammar.no_s_quote(&no_s_quote_built)?;
9738 self.push(ASTType::NoSQuote(no_s_quote_built), context);
9739 Ok(())
9740 }
9741
9742 #[parol_runtime::function_name::named]
9747 fn delim_code_end3(&mut self, delim_code_end3: &ParseTreeType<'t>) -> Result<()> {
9748 let context = function_name!();
9749 trace!("{}", self.trace_item_stack(context));
9750 let delim_code_end3 = delim_code_end3.token()?.clone();
9751 let delim_code_end3_built = DelimCodeEnd3 { delim_code_end3 };
9752 self.user_grammar.delim_code_end3(&delim_code_end3_built)?;
9754 self.push(ASTType::DelimCodeEnd3(delim_code_end3_built), context);
9755 Ok(())
9756 }
9757
9758 #[parol_runtime::function_name::named]
9763 fn delim_code_end2(&mut self, delim_code_end2: &ParseTreeType<'t>) -> Result<()> {
9764 let context = function_name!();
9765 trace!("{}", self.trace_item_stack(context));
9766 let delim_code_end2 = delim_code_end2.token()?.clone();
9767 let delim_code_end2_built = DelimCodeEnd2 { delim_code_end2 };
9768 self.user_grammar.delim_code_end2(&delim_code_end2_built)?;
9770 self.push(ASTType::DelimCodeEnd2(delim_code_end2_built), context);
9771 Ok(())
9772 }
9773
9774 #[parol_runtime::function_name::named]
9779 fn delim_code_end1(&mut self, delim_code_end1: &ParseTreeType<'t>) -> Result<()> {
9780 let context = function_name!();
9781 trace!("{}", self.trace_item_stack(context));
9782 let delim_code_end1 = delim_code_end1.token()?.clone();
9783 let delim_code_end1_built = DelimCodeEnd1 { delim_code_end1 };
9784 self.user_grammar.delim_code_end1(&delim_code_end1_built)?;
9786 self.push(ASTType::DelimCodeEnd1(delim_code_end1_built), context);
9787 Ok(())
9788 }
9789
9790 #[parol_runtime::function_name::named]
9795 fn backtick_delim(&mut self, backtick_delim: &ParseTreeType<'t>) -> Result<()> {
9796 let context = function_name!();
9797 trace!("{}", self.trace_item_stack(context));
9798 let backtick_delim = backtick_delim.token()?.clone();
9799 let backtick_delim_built = BacktickDelim { backtick_delim };
9800 self.user_grammar.backtick_delim(&backtick_delim_built)?;
9802 self.push(ASTType::BacktickDelim(backtick_delim_built), context);
9803 Ok(())
9804 }
9805
9806 #[parol_runtime::function_name::named]
9811 fn grammar_newline(&mut self, grammar_newline: &ParseTreeType<'t>) -> Result<()> {
9812 let context = function_name!();
9813 trace!("{}", self.trace_item_stack(context));
9814 let grammar_newline = grammar_newline.token()?.clone();
9815 let grammar_newline_built = GrammarNewline { grammar_newline };
9816 self.user_grammar.grammar_newline(&grammar_newline_built)?;
9818 self.push(ASTType::GrammarNewline(grammar_newline_built), context);
9819 Ok(())
9820 }
9821
9822 #[parol_runtime::function_name::named]
9827 fn ws(&mut self, ws: &ParseTreeType<'t>) -> Result<()> {
9828 let context = function_name!();
9829 trace!("{}", self.trace_item_stack(context));
9830 let ws = ws.token()?.clone();
9831 let ws_built = Ws { ws };
9832 self.user_grammar.ws(&ws_built)?;
9834 self.push(ASTType::Ws(ws_built), context);
9835 Ok(())
9836 }
9837
9838 #[parol_runtime::function_name::named]
9843 fn at(&mut self, at: &ParseTreeType<'t>) -> Result<()> {
9844 let context = function_name!();
9845 trace!("{}", self.trace_item_stack(context));
9846 let at = at.token()?.clone();
9847 let at_built = At { at };
9848 self.user_grammar.at(&at_built)?;
9850 self.push(ASTType::At(at_built), context);
9851 Ok(())
9852 }
9853
9854 #[parol_runtime::function_name::named]
9859 fn ext(&mut self, ext: &ParseTreeType<'t>) -> Result<()> {
9860 let context = function_name!();
9861 trace!("{}", self.trace_item_stack(context));
9862 let ext = ext.token()?.clone();
9863 let ext_built = Ext { ext };
9864 self.user_grammar.ext(&ext_built)?;
9866 self.push(ASTType::Ext(ext_built), context);
9867 Ok(())
9868 }
9869
9870 #[parol_runtime::function_name::named]
9875 fn dot(&mut self, dot: &ParseTreeType<'t>) -> Result<()> {
9876 let context = function_name!();
9877 trace!("{}", self.trace_item_stack(context));
9878 let dot = dot.token()?.clone();
9879 let dot_built = Dot { dot };
9880 self.user_grammar.dot(&dot_built)?;
9882 self.push(ASTType::Dot(dot_built), context);
9883 Ok(())
9884 }
9885
9886 #[parol_runtime::function_name::named]
9891 fn begin(&mut self, begin: &ParseTreeType<'t>) -> Result<()> {
9892 let context = function_name!();
9893 trace!("{}", self.trace_item_stack(context));
9894 let begin = begin.token()?.clone();
9895 let begin_built = Begin { begin };
9896 self.user_grammar.begin(&begin_built)?;
9898 self.push(ASTType::Begin(begin_built), context);
9899 Ok(())
9900 }
9901
9902 #[parol_runtime::function_name::named]
9907 fn end(&mut self, end: &ParseTreeType<'t>) -> Result<()> {
9908 let context = function_name!();
9909 trace!("{}", self.trace_item_stack(context));
9910 let end = end.token()?.clone();
9911 let end_built = End { end };
9912 self.user_grammar.end(&end_built)?;
9914 self.push(ASTType::End(end_built), context);
9915 Ok(())
9916 }
9917
9918 #[parol_runtime::function_name::named]
9923 fn array_begin(&mut self, array_begin: &ParseTreeType<'t>) -> Result<()> {
9924 let context = function_name!();
9925 trace!("{}", self.trace_item_stack(context));
9926 let array_begin = array_begin.token()?.clone();
9927 let array_begin_built = ArrayBegin { array_begin };
9928 self.user_grammar.array_begin(&array_begin_built)?;
9930 self.push(ASTType::ArrayBegin(array_begin_built), context);
9931 Ok(())
9932 }
9933
9934 #[parol_runtime::function_name::named]
9939 fn array_end(&mut self, array_end: &ParseTreeType<'t>) -> Result<()> {
9940 let context = function_name!();
9941 trace!("{}", self.trace_item_stack(context));
9942 let array_end = array_end.token()?.clone();
9943 let array_end_built = ArrayEnd { array_end };
9944 self.user_grammar.array_end(&array_end_built)?;
9946 self.push(ASTType::ArrayEnd(array_end_built), context);
9947 Ok(())
9948 }
9949
9950 #[parol_runtime::function_name::named]
9955 fn caret(&mut self, caret: &ParseTreeType<'t>) -> Result<()> {
9956 let context = function_name!();
9957 trace!("{}", self.trace_item_stack(context));
9958 let caret = caret.token()?.clone();
9959 let caret_built = Caret { caret };
9960 self.user_grammar.caret(&caret_built)?;
9962 self.push(ASTType::Caret(caret_built), context);
9963 Ok(())
9964 }
9965
9966 #[parol_runtime::function_name::named]
9971 fn l_paren(&mut self, l_paren: &ParseTreeType<'t>) -> Result<()> {
9972 let context = function_name!();
9973 trace!("{}", self.trace_item_stack(context));
9974 let l_paren = l_paren.token()?.clone();
9975 let l_paren_built = LParen { l_paren };
9976 self.user_grammar.l_paren(&l_paren_built)?;
9978 self.push(ASTType::LParen(l_paren_built), context);
9979 Ok(())
9980 }
9981
9982 #[parol_runtime::function_name::named]
9987 fn r_paren(&mut self, r_paren: &ParseTreeType<'t>) -> Result<()> {
9988 let context = function_name!();
9989 trace!("{}", self.trace_item_stack(context));
9990 let r_paren = r_paren.token()?.clone();
9991 let r_paren_built = RParen { r_paren };
9992 self.user_grammar.r_paren(&r_paren_built)?;
9994 self.push(ASTType::RParen(r_paren_built), context);
9995 Ok(())
9996 }
9997
9998 #[parol_runtime::function_name::named]
10003 fn newline_bind(&mut self, newline_bind: &ParseTreeType<'t>) -> Result<()> {
10004 let context = function_name!();
10005 trace!("{}", self.trace_item_stack(context));
10006 let newline_bind = newline_bind.token()?.clone();
10007 let newline_bind_built = NewlineBind { newline_bind };
10008 self.user_grammar.newline_bind(&newline_bind_built)?;
10010 self.push(ASTType::NewlineBind(newline_bind_built), context);
10011 Ok(())
10012 }
10013
10014 #[parol_runtime::function_name::named]
10019 fn bind(&mut self, bind: &ParseTreeType<'t>) -> Result<()> {
10020 let context = function_name!();
10021 trace!("{}", self.trace_item_stack(context));
10022 let bind = bind.token()?.clone();
10023 let bind_built = Bind { bind };
10024 self.user_grammar.bind(&bind_built)?;
10026 self.push(ASTType::Bind(bind_built), context);
10027 Ok(())
10028 }
10029
10030 #[parol_runtime::function_name::named]
10035 fn comma(&mut self, comma: &ParseTreeType<'t>) -> Result<()> {
10036 let context = function_name!();
10037 trace!("{}", self.trace_item_stack(context));
10038 let comma = comma.token()?.clone();
10039 let comma_built = Comma { comma };
10040 self.user_grammar.comma(&comma_built)?;
10042 self.push(ASTType::Comma(comma_built), context);
10043 Ok(())
10044 }
10045
10046 #[parol_runtime::function_name::named]
10051 fn r#continue(&mut self, r#continue: &ParseTreeType<'t>) -> Result<()> {
10052 let context = function_name!();
10053 trace!("{}", self.trace_item_stack(context));
10054 let r#continue = r#continue.token()?.clone();
10055 let r#continue_built = Continue { r#continue };
10056 self.user_grammar.r#continue(&r#continue_built)?;
10058 self.push(ASTType::Continue(r#continue_built), context);
10059 Ok(())
10060 }
10061
10062 #[parol_runtime::function_name::named]
10067 fn newline_text_start(&mut self, newline_text_start: &ParseTreeType<'t>) -> Result<()> {
10068 let context = function_name!();
10069 trace!("{}", self.trace_item_stack(context));
10070 let newline_text_start = newline_text_start.token()?.clone();
10071 let newline_text_start_built = NewlineTextStart { newline_text_start };
10072 self.user_grammar
10074 .newline_text_start(&newline_text_start_built)?;
10075 self.push(ASTType::NewlineTextStart(newline_text_start_built), context);
10076 Ok(())
10077 }
10078
10079 #[parol_runtime::function_name::named]
10084 fn text_start(&mut self, text_start: &ParseTreeType<'t>) -> Result<()> {
10085 let context = function_name!();
10086 trace!("{}", self.trace_item_stack(context));
10087 let text_start = text_start.token()?.clone();
10088 let text_start_built = TextStart { text_start };
10089 self.user_grammar.text_start(&text_start_built)?;
10091 self.push(ASTType::TextStart(text_start_built), context);
10092 Ok(())
10093 }
10094
10095 #[parol_runtime::function_name::named]
10100 fn ident(&mut self, ident: &ParseTreeType<'t>) -> Result<()> {
10101 let context = function_name!();
10102 trace!("{}", self.trace_item_stack(context));
10103 let ident = ident.token()?.clone();
10104 let ident_built = Ident { ident };
10105 self.user_grammar.ident(&ident_built)?;
10107 self.push(ASTType::Ident(ident_built), context);
10108 Ok(())
10109 }
10110}
10111
10112impl<'t> UserActionsTrait<'t> for GrammarAuto<'t, '_> {
10113 fn call_semantic_action_for_production_number(
10117 &mut self,
10118 prod_num: usize,
10119 children: &[ParseTreeType<'t>],
10120 ) -> Result<()> {
10121 match prod_num {
10122 0 => self.eure(&children[0], &children[1], &children[2]),
10123 1 => self.eure_list0_0(&children[0], &children[1]),
10124 2 => self.eure_list0_1(),
10125 3 => self.eure_list_0(&children[0], &children[1]),
10126 4 => self.eure_list_1(),
10127 5 => self.eure_opt_0(&children[0]),
10128 6 => self.eure_opt_1(),
10129 7 => self.top_level_binding_0(&children[0]),
10130 8 => self.top_level_binding_1(&children[0]),
10131 9 => self.root_binding_0(&children[0]),
10132 10 => self.root_binding_1(&children[0]),
10133 11 => self.root_value_binding(&children[0], &children[1]),
10134 12 => self.root_text_binding(&children[0], &children[1], &children[2], &children[3]),
10135 13 => self.root_text_binding_opt1_0(&children[0]),
10136 14 => self.root_text_binding_opt1_1(),
10137 15 => self.root_text_binding_opt0_0(&children[0]),
10138 16 => self.root_text_binding_opt0_1(),
10139 17 => self.root_text_binding_opt_0(&children[0]),
10140 18 => self.root_text_binding_opt_1(),
10141 19 => self.binding(&children[0], &children[1]),
10142 20 => self.binding_rhs_0(&children[0]),
10143 21 => self.binding_rhs_1(&children[0]),
10144 22 => self.binding_rhs_2(&children[0]),
10145 23 => self.value_binding(&children[0], &children[1]),
10146 24 => self.section_binding(&children[0], &children[1], &children[2]),
10147 25 => self.text_binding(&children[0], &children[1], &children[2], &children[3]),
10148 26 => self.text_binding_opt1_0(&children[0]),
10149 27 => self.text_binding_opt1_1(),
10150 28 => self.text_binding_opt0_0(&children[0]),
10151 29 => self.text_binding_opt0_1(),
10152 30 => self.text_binding_opt_0(&children[0]),
10153 31 => self.text_binding_opt_1(),
10154 32 => self.section(&children[0], &children[1], &children[2]),
10155 33 => self.section_body_0(&children[0]),
10156 34 => self.section_body_1(&children[0]),
10157 35 => self.section_body_opt_0(&children[0]),
10158 36 => self.section_body_opt_1(),
10159 37 => self.flat_body(&children[0], &children[1]),
10160 38 => self.flat_body_list_0(&children[0], &children[1]),
10161 39 => self.flat_body_list_1(),
10162 40 => self.section_head_0(&children[0]),
10163 41 => self.section_head_1(&children[0]),
10164 42 => self.newline_head(&children[0], &children[1]),
10165 43 => self.newline_head_opt_0(&children[0]),
10166 44 => self.newline_head_opt_1(),
10167 45 => self.flat_root_binding_0(&children[0]),
10168 46 => self.flat_root_binding_1(&children[0]),
10169 47 => self.block_body(&children[0], &children[1], &children[2]),
10170 48 => self.keys(&children[0], &children[1]),
10171 49 => self.keys_list_0(&children[0], &children[1]),
10172 50 => self.keys_list_1(),
10173 51 => self.first_key_0(&children[0]),
10174 52 => self.first_key_1(&children[0]),
10175 53 => self.key_tail_0(&children[0]),
10176 54 => self.key_tail_1(&children[0]),
10177 55 => self.dot_key(&children[0], &children[1]),
10178 56 => self.array_marker(&children[0], &children[1], &children[2]),
10179 57 => self.array_marker_opt_0(&children[0]),
10180 58 => self.array_marker_opt_group_0(&children[0]),
10181 59 => self.array_marker_opt_group_1(&children[0]),
10182 60 => self.array_marker_opt_1(),
10183 61 => self.key_0(&children[0]),
10184 62 => self.key_1(&children[0]),
10185 63 => self.key_2(&children[0]),
10186 64 => self.key_3(&children[0]),
10187 65 => self.key_4(&children[0]),
10188 66 => self.key_5(&children[0]),
10189 67 => self.key_6(&children[0]),
10190 68 => self.key_7(&children[0]),
10191 69 => self.tuple_index(&children[0], &children[1]),
10192 70 => self.extension_name_space(&children[0], &children[1]),
10193 71 => self.key_tuple(&children[0], &children[1], &children[2]),
10194 72 => self.key_tuple_opt_0(&children[0]),
10195 73 => self.key_tuple_opt_1(),
10196 74 => self.key_tuple_elements(&children[0], &children[1]),
10197 75 => self.key_tuple_elements_opt_0(&children[0]),
10198 76 => self.key_tuple_elements_opt_1(),
10199 77 => self.key_tuple_elements_tail(&children[0], &children[1]),
10200 78 => self.key_tuple_elements_tail_opt_0(&children[0]),
10201 79 => self.key_tuple_elements_tail_opt_1(),
10202 80 => self.key_value_0(&children[0]),
10203 81 => self.key_value_1(&children[0]),
10204 82 => self.key_value_2(&children[0]),
10205 83 => self.key_value_3(&children[0]),
10206 84 => self.key_value_4(&children[0]),
10207 85 => self.key_ident_0(&children[0]),
10208 86 => self.key_ident_1(&children[0]),
10209 87 => self.key_ident_2(&children[0]),
10210 88 => self.key_ident_3(&children[0]),
10211 89 => self.value_0(&children[0]),
10212 90 => self.value_1(&children[0]),
10213 91 => self.value_2(&children[0]),
10214 92 => self.value_3(&children[0]),
10215 93 => self.value_4(&children[0]),
10216 94 => self.value_5(&children[0]),
10217 95 => self.value_6(&children[0]),
10218 96 => self.value_7(&children[0]),
10219 97 => self.value_8(&children[0]),
10220 98 => self.value_9(&children[0]),
10221 99 => self.object(&children[0], &children[1], &children[2], &children[3]),
10222 100 => self.object_list_0(
10223 &children[0],
10224 &children[1],
10225 &children[2],
10226 &children[3],
10227 &children[4],
10228 ),
10229 101 => self.object_list_1(),
10230 102 => self.object_opt0_0(&children[0]),
10231 103 => self.object_opt0_1(),
10232 104 => self.object_opt_0(&children[0], &children[1]),
10233 105 => self.object_opt1_0(&children[0]),
10234 106 => self.object_opt1_1(),
10235 107 => self.object_opt_1(),
10236 108 => self.map_bind(&children[0]),
10237 109 => self.array(&children[0], &children[1], &children[2]),
10238 110 => self.array_opt_0(&children[0]),
10239 111 => self.array_opt_1(),
10240 112 => self.array_elements(&children[0], &children[1]),
10241 113 => self.array_elements_opt_0(&children[0]),
10242 114 => self.array_elements_opt_1(),
10243 115 => self.array_elements_tail(&children[0], &children[1]),
10244 116 => self.array_elements_tail_opt_0(&children[0]),
10245 117 => self.array_elements_tail_opt_1(),
10246 118 => self.tuple(&children[0], &children[1], &children[2]),
10247 119 => self.tuple_opt_0(&children[0]),
10248 120 => self.tuple_opt_1(),
10249 121 => self.tuple_elements(&children[0], &children[1]),
10250 122 => self.tuple_elements_opt_0(&children[0]),
10251 123 => self.tuple_elements_opt_1(),
10252 124 => self.tuple_elements_tail(&children[0], &children[1]),
10253 125 => self.tuple_elements_tail_opt_0(&children[0]),
10254 126 => self.tuple_elements_tail_opt_1(),
10255 127 => self.number_0(&children[0]),
10256 128 => self.number_1(&children[0]),
10257 129 => self.number_2(&children[0]),
10258 130 => self.number_3(&children[0]),
10259 131 => self.integer(&children[0]),
10260 132 => self.float(&children[0]),
10261 133 => self.inf(&children[0]),
10262 134 => self.na_n(&children[0]),
10263 135 => self.boolean_0(&children[0]),
10264 136 => self.boolean_1(&children[0]),
10265 137 => self.r#true(&children[0]),
10266 138 => self.r#false(&children[0]),
10267 139 => self.null(&children[0]),
10268 140 => self.hole(&children[0]),
10269 141 => self.string_0(&children[0]),
10270 142 => self.string_1(&children[0]),
10271 143 => self.string_2(&children[0]),
10272 144 => self.string_3(&children[0]),
10273 145 => self.string_4(&children[0]),
10274 146 => self.strings(&children[0], &children[1]),
10275 147 => self.strings_list_0(&children[0], &children[1], &children[2]),
10276 148 => self.strings_list_1(),
10277 149 => self.str(&children[0]),
10278 150 => self.lit_str(&children[0]),
10279 151 => self.text(&children[0]),
10280 152 => self.inline_code_0(&children[0]),
10281 153 => self.inline_code_1(&children[0]),
10282 154 => self.inline_code1(&children[0]),
10283 155 => self.lit_str1(&children[0], &children[1], &children[2]),
10284 156 => self.lit_str1_list_0(&children[0], &children[1]),
10285 157 => self.lit_str1_list_group_0(&children[0]),
10286 158 => self.lit_str1_list_group_1(&children[0]),
10287 159 => self.lit_str1_list_1(),
10288 160 => self.lit_str2(&children[0], &children[1], &children[2]),
10289 161 => self.lit_str2_list_0(&children[0], &children[1]),
10290 162 => self.lit_str2_list_group_0(&children[0]),
10291 163 => self.lit_str2_list_group_1(&children[0]),
10292 164 => self.lit_str2_list_1(),
10293 165 => self.lit_str3(&children[0], &children[1], &children[2]),
10294 166 => self.lit_str3_list_0(&children[0], &children[1]),
10295 167 => self.lit_str3_list_group_0(&children[0]),
10296 168 => self.lit_str3_list_group_1(&children[0]),
10297 169 => self.lit_str3_list_1(),
10298 170 => self.delim_code_0(&children[0]),
10299 171 => self.delim_code_1(&children[0]),
10300 172 => self.delim_code_2(&children[0]),
10301 173 => self.delim_code1(&children[0], &children[1], &children[2]),
10302 174 => self.delim_code1_list_0(&children[0], &children[1]),
10303 175 => self.delim_code1_list_group_0(&children[0]),
10304 176 => self.delim_code1_list_group_1(&children[0]),
10305 177 => self.delim_code1_list_1(),
10306 178 => self.delim_code2(&children[0], &children[1], &children[2]),
10307 179 => self.delim_code2_list_0(&children[0], &children[1]),
10308 180 => self.delim_code2_list_group_0(&children[0]),
10309 181 => self.delim_code2_list_group_1(&children[0]),
10310 182 => self.delim_code2_list_1(),
10311 183 => self.delim_code3(&children[0], &children[1], &children[2]),
10312 184 => self.delim_code3_list_0(&children[0], &children[1]),
10313 185 => self.delim_code3_list_group_0(&children[0]),
10314 186 => self.delim_code3_list_group_1(&children[0]),
10315 187 => self.delim_code3_list_1(),
10316 188 => self.code_block_0(&children[0]),
10317 189 => self.code_block_1(&children[0]),
10318 190 => self.code_block_2(&children[0]),
10319 191 => self.code_block_3(&children[0]),
10320 192 => self.code_block3(&children[0], &children[1], &children[2]),
10321 193 => self.code_block3_list_0(&children[0], &children[1]),
10322 194 => self.code_block3_list_group_0(&children[0]),
10323 195 => self.code_block3_list_group_1(&children[0]),
10324 196 => self.code_block3_list_1(),
10325 197 => self.code_block4(&children[0], &children[1], &children[2]),
10326 198 => self.code_block4_list_0(&children[0], &children[1]),
10327 199 => self.code_block4_list_group_0(&children[0]),
10328 200 => self.code_block4_list_group_1(&children[0]),
10329 201 => self.code_block4_list_1(),
10330 202 => self.code_block5(&children[0], &children[1], &children[2]),
10331 203 => self.code_block5_list_0(&children[0], &children[1]),
10332 204 => self.code_block5_list_group_0(&children[0]),
10333 205 => self.code_block5_list_group_1(&children[0]),
10334 206 => self.code_block5_list_1(),
10335 207 => self.code_block6(&children[0], &children[1], &children[2]),
10336 208 => self.code_block6_list_0(&children[0], &children[1]),
10337 209 => self.code_block6_list_group_0(&children[0]),
10338 210 => self.code_block6_list_group_1(&children[0]),
10339 211 => self.code_block6_list_1(),
10340 212 => self.lit_str3_start(&children[0]),
10341 213 => self.lit_str2_start(&children[0]),
10342 214 => self.lit_str1_start(&children[0]),
10343 215 => self.delim_code_start3(&children[0]),
10344 216 => self.delim_code_start2(&children[0]),
10345 217 => self.delim_code_start1(&children[0]),
10346 218 => self.code_block_start3(&children[0]),
10347 219 => self.code_block_start4(&children[0]),
10348 220 => self.code_block_start5(&children[0]),
10349 221 => self.code_block_start6(&children[0]),
10350 222 => self.code_block_end3(&children[0]),
10351 223 => self.backtick2(&children[0]),
10352 224 => self.code_block_end4(&children[0]),
10353 225 => self.backtick3(&children[0]),
10354 226 => self.code_block_end5(&children[0]),
10355 227 => self.backtick4(&children[0]),
10356 228 => self.code_block_end6(&children[0]),
10357 229 => self.backtick5(&children[0]),
10358 230 => self.no_backtick(&children[0]),
10359 231 => self.lit_str3_end(&children[0]),
10360 232 => self.lit_str2_end(&children[0]),
10361 233 => self.lit_str1_end(&children[0]),
10362 234 => self.s_quote(&children[0]),
10363 235 => self.no_s_quote(&children[0]),
10364 236 => self.delim_code_end3(&children[0]),
10365 237 => self.delim_code_end2(&children[0]),
10366 238 => self.delim_code_end1(&children[0]),
10367 239 => self.backtick_delim(&children[0]),
10368 240 => self.grammar_newline(&children[0]),
10369 241 => self.ws(&children[0]),
10370 242 => self.at(&children[0]),
10371 243 => self.ext(&children[0]),
10372 244 => self.dot(&children[0]),
10373 245 => self.begin(&children[0]),
10374 246 => self.end(&children[0]),
10375 247 => self.array_begin(&children[0]),
10376 248 => self.array_end(&children[0]),
10377 249 => self.caret(&children[0]),
10378 250 => self.l_paren(&children[0]),
10379 251 => self.r_paren(&children[0]),
10380 252 => self.newline_bind(&children[0]),
10381 253 => self.bind(&children[0]),
10382 254 => self.comma(&children[0]),
10383 255 => self.r#continue(&children[0]),
10384 256 => self.newline_text_start(&children[0]),
10385 257 => self.text_start(&children[0]),
10386 258 => self.ident(&children[0]),
10387 _ => Err(ParserError::InternalError(format!(
10388 "Unhandled production number: {prod_num}"
10389 ))
10390 .into()),
10391 }
10392 }
10393
10394 fn on_comment(&mut self, token: Token<'t>) {
10395 self.user_grammar.on_comment(token)
10396 }
10397}