1#![allow(clippy::enum_variant_names)]
9#![allow(clippy::large_enum_variant)]
10#![allow(clippy::upper_case_acronyms)]
11
12use parol_runtime::derive_builder::Builder;
13use parol_runtime::log::trace;
14#[allow(unused_imports)]
15use parol_runtime::parol_macros::{pop_and_reverse_item, pop_item};
16use parol_runtime::parser::{ParseTreeType, UserActionsTrait};
17use parol_runtime::{ParserError, Result, Token};
18use std::marker::PhantomData;
19
20pub trait VerylGrammarTrait {
23 fn comments_term(&mut self, _arg: &CommentsTerm) -> Result<()> {
25 Ok(())
26 }
27
28 fn string_literal_term(&mut self, _arg: &StringLiteralTerm) -> Result<()> {
30 Ok(())
31 }
32
33 fn exponent_term(&mut self, _arg: &ExponentTerm) -> Result<()> {
35 Ok(())
36 }
37
38 fn fixed_point_term(&mut self, _arg: &FixedPointTerm) -> Result<()> {
40 Ok(())
41 }
42
43 fn based_term(&mut self, _arg: &BasedTerm) -> Result<()> {
45 Ok(())
46 }
47
48 fn all_bit_term(&mut self, _arg: &AllBitTerm) -> Result<()> {
50 Ok(())
51 }
52
53 fn base_less_term(&mut self, _arg: &BaseLessTerm) -> Result<()> {
55 Ok(())
56 }
57
58 fn minus_colon_term(&mut self, _arg: &MinusColonTerm) -> Result<()> {
60 Ok(())
61 }
62
63 fn minus_g_t_term(&mut self, _arg: &MinusGTTerm) -> Result<()> {
65 Ok(())
66 }
67
68 fn plus_colon_term(&mut self, _arg: &PlusColonTerm) -> Result<()> {
70 Ok(())
71 }
72
73 fn assignment_operator_term(&mut self, _arg: &AssignmentOperatorTerm) -> Result<()> {
75 Ok(())
76 }
77
78 fn operator11_term(&mut self, _arg: &Operator11Term) -> Result<()> {
80 Ok(())
81 }
82
83 fn operator10_term(&mut self, _arg: &Operator10Term) -> Result<()> {
85 Ok(())
86 }
87
88 fn operator09_term(&mut self, _arg: &Operator09Term) -> Result<()> {
90 Ok(())
91 }
92
93 fn operator08_term(&mut self, _arg: &Operator08Term) -> Result<()> {
95 Ok(())
96 }
97
98 fn operator07_term(&mut self, _arg: &Operator07Term) -> Result<()> {
100 Ok(())
101 }
102
103 fn operator06_term(&mut self, _arg: &Operator06Term) -> Result<()> {
105 Ok(())
106 }
107
108 fn operator02_term(&mut self, _arg: &Operator02Term) -> Result<()> {
110 Ok(())
111 }
112
113 fn operator01_term(&mut self, _arg: &Operator01Term) -> Result<()> {
115 Ok(())
116 }
117
118 fn operator05_term(&mut self, _arg: &Operator05Term) -> Result<()> {
120 Ok(())
121 }
122
123 fn operator04_term(&mut self, _arg: &Operator04Term) -> Result<()> {
125 Ok(())
126 }
127
128 fn operator03_term(&mut self, _arg: &Operator03Term) -> Result<()> {
130 Ok(())
131 }
132
133 fn unary_operator_term(&mut self, _arg: &UnaryOperatorTerm) -> Result<()> {
135 Ok(())
136 }
137
138 fn back_quote_term(&mut self, _arg: &BackQuoteTerm) -> Result<()> {
140 Ok(())
141 }
142
143 fn colon_colon_l_angle_term(&mut self, _arg: &ColonColonLAngleTerm) -> Result<()> {
145 Ok(())
146 }
147
148 fn colon_colon_term(&mut self, _arg: &ColonColonTerm) -> Result<()> {
150 Ok(())
151 }
152
153 fn colon_term(&mut self, _arg: &ColonTerm) -> Result<()> {
155 Ok(())
156 }
157
158 fn comma_term(&mut self, _arg: &CommaTerm) -> Result<()> {
160 Ok(())
161 }
162
163 fn dot_dot_equ_term(&mut self, _arg: &DotDotEquTerm) -> Result<()> {
165 Ok(())
166 }
167
168 fn dot_dot_term(&mut self, _arg: &DotDotTerm) -> Result<()> {
170 Ok(())
171 }
172
173 fn dot_term(&mut self, _arg: &DotTerm) -> Result<()> {
175 Ok(())
176 }
177
178 fn equ_term(&mut self, _arg: &EquTerm) -> Result<()> {
180 Ok(())
181 }
182
183 fn hash_term(&mut self, _arg: &HashTerm) -> Result<()> {
185 Ok(())
186 }
187
188 fn l_angle_term(&mut self, _arg: &LAngleTerm) -> Result<()> {
190 Ok(())
191 }
192
193 fn quote_l_brace_term(&mut self, _arg: &QuoteLBraceTerm) -> Result<()> {
195 Ok(())
196 }
197
198 fn l_brace_term(&mut self, _arg: &LBraceTerm) -> Result<()> {
200 Ok(())
201 }
202
203 fn l_bracket_term(&mut self, _arg: &LBracketTerm) -> Result<()> {
205 Ok(())
206 }
207
208 fn l_paren_term(&mut self, _arg: &LParenTerm) -> Result<()> {
210 Ok(())
211 }
212
213 fn r_angle_term(&mut self, _arg: &RAngleTerm) -> Result<()> {
215 Ok(())
216 }
217
218 fn r_brace_term(&mut self, _arg: &RBraceTerm) -> Result<()> {
220 Ok(())
221 }
222
223 fn r_bracket_term(&mut self, _arg: &RBracketTerm) -> Result<()> {
225 Ok(())
226 }
227
228 fn r_paren_term(&mut self, _arg: &RParenTerm) -> Result<()> {
230 Ok(())
231 }
232
233 fn semicolon_term(&mut self, _arg: &SemicolonTerm) -> Result<()> {
235 Ok(())
236 }
237
238 fn star_term(&mut self, _arg: &StarTerm) -> Result<()> {
240 Ok(())
241 }
242
243 fn always_comb_term(&mut self, _arg: &AlwaysCombTerm) -> Result<()> {
245 Ok(())
246 }
247
248 fn always_ff_term(&mut self, _arg: &AlwaysFfTerm) -> Result<()> {
250 Ok(())
251 }
252
253 fn assign_term(&mut self, _arg: &AssignTerm) -> Result<()> {
255 Ok(())
256 }
257
258 fn as_term(&mut self, _arg: &AsTerm) -> Result<()> {
260 Ok(())
261 }
262
263 fn bit_term(&mut self, _arg: &BitTerm) -> Result<()> {
265 Ok(())
266 }
267
268 fn case_term(&mut self, _arg: &CaseTerm) -> Result<()> {
270 Ok(())
271 }
272
273 fn clock_term(&mut self, _arg: &ClockTerm) -> Result<()> {
275 Ok(())
276 }
277
278 fn clock_posedge_term(&mut self, _arg: &ClockPosedgeTerm) -> Result<()> {
280 Ok(())
281 }
282
283 fn clock_negedge_term(&mut self, _arg: &ClockNegedgeTerm) -> Result<()> {
285 Ok(())
286 }
287
288 fn const_term(&mut self, _arg: &ConstTerm) -> Result<()> {
290 Ok(())
291 }
292
293 fn converse_term(&mut self, _arg: &ConverseTerm) -> Result<()> {
295 Ok(())
296 }
297
298 fn default_term(&mut self, _arg: &DefaultTerm) -> Result<()> {
300 Ok(())
301 }
302
303 fn else_term(&mut self, _arg: &ElseTerm) -> Result<()> {
305 Ok(())
306 }
307
308 fn embed_term(&mut self, _arg: &EmbedTerm) -> Result<()> {
310 Ok(())
311 }
312
313 fn enum_term(&mut self, _arg: &EnumTerm) -> Result<()> {
315 Ok(())
316 }
317
318 fn export_term(&mut self, _arg: &ExportTerm) -> Result<()> {
320 Ok(())
321 }
322
323 fn f32_term(&mut self, _arg: &F32Term) -> Result<()> {
325 Ok(())
326 }
327
328 fn f64_term(&mut self, _arg: &F64Term) -> Result<()> {
330 Ok(())
331 }
332
333 fn final_term(&mut self, _arg: &FinalTerm) -> Result<()> {
335 Ok(())
336 }
337
338 fn for_term(&mut self, _arg: &ForTerm) -> Result<()> {
340 Ok(())
341 }
342
343 fn function_term(&mut self, _arg: &FunctionTerm) -> Result<()> {
345 Ok(())
346 }
347
348 fn i32_term(&mut self, _arg: &I32Term) -> Result<()> {
350 Ok(())
351 }
352
353 fn i64_term(&mut self, _arg: &I64Term) -> Result<()> {
355 Ok(())
356 }
357
358 fn if_reset_term(&mut self, _arg: &IfResetTerm) -> Result<()> {
360 Ok(())
361 }
362
363 fn if_term(&mut self, _arg: &IfTerm) -> Result<()> {
365 Ok(())
366 }
367
368 fn import_term(&mut self, _arg: &ImportTerm) -> Result<()> {
370 Ok(())
371 }
372
373 fn include_term(&mut self, _arg: &IncludeTerm) -> Result<()> {
375 Ok(())
376 }
377
378 fn initial_term(&mut self, _arg: &InitialTerm) -> Result<()> {
380 Ok(())
381 }
382
383 fn inout_term(&mut self, _arg: &InoutTerm) -> Result<()> {
385 Ok(())
386 }
387
388 fn input_term(&mut self, _arg: &InputTerm) -> Result<()> {
390 Ok(())
391 }
392
393 fn inside_term(&mut self, _arg: &InsideTerm) -> Result<()> {
395 Ok(())
396 }
397
398 fn inst_term(&mut self, _arg: &InstTerm) -> Result<()> {
400 Ok(())
401 }
402
403 fn interface_term(&mut self, _arg: &InterfaceTerm) -> Result<()> {
405 Ok(())
406 }
407
408 fn in_term(&mut self, _arg: &InTerm) -> Result<()> {
410 Ok(())
411 }
412
413 fn let_term(&mut self, _arg: &LetTerm) -> Result<()> {
415 Ok(())
416 }
417
418 fn logic_term(&mut self, _arg: &LogicTerm) -> Result<()> {
420 Ok(())
421 }
422
423 fn lsb_term(&mut self, _arg: &LsbTerm) -> Result<()> {
425 Ok(())
426 }
427
428 fn modport_term(&mut self, _arg: &ModportTerm) -> Result<()> {
430 Ok(())
431 }
432
433 fn module_term(&mut self, _arg: &ModuleTerm) -> Result<()> {
435 Ok(())
436 }
437
438 fn msb_term(&mut self, _arg: &MsbTerm) -> Result<()> {
440 Ok(())
441 }
442
443 fn output_term(&mut self, _arg: &OutputTerm) -> Result<()> {
445 Ok(())
446 }
447
448 fn outside_term(&mut self, _arg: &OutsideTerm) -> Result<()> {
450 Ok(())
451 }
452
453 fn package_term(&mut self, _arg: &PackageTerm) -> Result<()> {
455 Ok(())
456 }
457
458 fn param_term(&mut self, _arg: &ParamTerm) -> Result<()> {
460 Ok(())
461 }
462
463 fn proto_term(&mut self, _arg: &ProtoTerm) -> Result<()> {
465 Ok(())
466 }
467
468 fn pub_term(&mut self, _arg: &PubTerm) -> Result<()> {
470 Ok(())
471 }
472
473 fn ref_term(&mut self, _arg: &RefTerm) -> Result<()> {
475 Ok(())
476 }
477
478 fn repeat_term(&mut self, _arg: &RepeatTerm) -> Result<()> {
480 Ok(())
481 }
482
483 fn reset_term(&mut self, _arg: &ResetTerm) -> Result<()> {
485 Ok(())
486 }
487
488 fn reset_async_high_term(&mut self, _arg: &ResetAsyncHighTerm) -> Result<()> {
490 Ok(())
491 }
492
493 fn reset_async_low_term(&mut self, _arg: &ResetAsyncLowTerm) -> Result<()> {
495 Ok(())
496 }
497
498 fn reset_sync_high_term(&mut self, _arg: &ResetSyncHighTerm) -> Result<()> {
500 Ok(())
501 }
502
503 fn reset_sync_low_term(&mut self, _arg: &ResetSyncLowTerm) -> Result<()> {
505 Ok(())
506 }
507
508 fn return_term(&mut self, _arg: &ReturnTerm) -> Result<()> {
510 Ok(())
511 }
512
513 fn break_term(&mut self, _arg: &BreakTerm) -> Result<()> {
515 Ok(())
516 }
517
518 fn signed_term(&mut self, _arg: &SignedTerm) -> Result<()> {
520 Ok(())
521 }
522
523 fn step_term(&mut self, _arg: &StepTerm) -> Result<()> {
525 Ok(())
526 }
527
528 fn string_term(&mut self, _arg: &StringTerm) -> Result<()> {
530 Ok(())
531 }
532
533 fn struct_term(&mut self, _arg: &StructTerm) -> Result<()> {
535 Ok(())
536 }
537
538 fn switch_term(&mut self, _arg: &SwitchTerm) -> Result<()> {
540 Ok(())
541 }
542
543 fn tri_term(&mut self, _arg: &TriTerm) -> Result<()> {
545 Ok(())
546 }
547
548 fn type_term(&mut self, _arg: &TypeTerm) -> Result<()> {
550 Ok(())
551 }
552
553 fn u32_term(&mut self, _arg: &U32Term) -> Result<()> {
555 Ok(())
556 }
557
558 fn u64_term(&mut self, _arg: &U64Term) -> Result<()> {
560 Ok(())
561 }
562
563 fn union_term(&mut self, _arg: &UnionTerm) -> Result<()> {
565 Ok(())
566 }
567
568 fn unsafe_term(&mut self, _arg: &UnsafeTerm) -> Result<()> {
570 Ok(())
571 }
572
573 fn var_term(&mut self, _arg: &VarTerm) -> Result<()> {
575 Ok(())
576 }
577
578 fn dollar_identifier_term(&mut self, _arg: &DollarIdentifierTerm) -> Result<()> {
580 Ok(())
581 }
582
583 fn identifier_term(&mut self, _arg: &IdentifierTerm) -> Result<()> {
585 Ok(())
586 }
587
588 fn any_term(&mut self, _arg: &AnyTerm) -> Result<()> {
590 Ok(())
591 }
592
593 fn comments(&mut self, _arg: &Comments) -> Result<()> {
595 Ok(())
596 }
597
598 fn start_token(&mut self, _arg: &StartToken) -> Result<()> {
600 Ok(())
601 }
602
603 fn string_literal_token(&mut self, _arg: &StringLiteralToken) -> Result<()> {
605 Ok(())
606 }
607
608 fn exponent_token(&mut self, _arg: &ExponentToken) -> Result<()> {
610 Ok(())
611 }
612
613 fn fixed_point_token(&mut self, _arg: &FixedPointToken) -> Result<()> {
615 Ok(())
616 }
617
618 fn based_token(&mut self, _arg: &BasedToken) -> Result<()> {
620 Ok(())
621 }
622
623 fn base_less_token(&mut self, _arg: &BaseLessToken) -> Result<()> {
625 Ok(())
626 }
627
628 fn all_bit_token(&mut self, _arg: &AllBitToken) -> Result<()> {
630 Ok(())
631 }
632
633 fn assignment_operator_token(&mut self, _arg: &AssignmentOperatorToken) -> Result<()> {
635 Ok(())
636 }
637
638 fn operator01_token(&mut self, _arg: &Operator01Token) -> Result<()> {
640 Ok(())
641 }
642
643 fn operator02_token(&mut self, _arg: &Operator02Token) -> Result<()> {
645 Ok(())
646 }
647
648 fn operator03_token(&mut self, _arg: &Operator03Token) -> Result<()> {
650 Ok(())
651 }
652
653 fn operator04_token(&mut self, _arg: &Operator04Token) -> Result<()> {
655 Ok(())
656 }
657
658 fn operator05_token(&mut self, _arg: &Operator05Token) -> Result<()> {
660 Ok(())
661 }
662
663 fn operator06_token(&mut self, _arg: &Operator06Token) -> Result<()> {
665 Ok(())
666 }
667
668 fn operator07_token(&mut self, _arg: &Operator07Token) -> Result<()> {
670 Ok(())
671 }
672
673 fn operator08_token(&mut self, _arg: &Operator08Token) -> Result<()> {
675 Ok(())
676 }
677
678 fn operator09_token(&mut self, _arg: &Operator09Token) -> Result<()> {
680 Ok(())
681 }
682
683 fn operator10_token(&mut self, _arg: &Operator10Token) -> Result<()> {
685 Ok(())
686 }
687
688 fn operator11_token(&mut self, _arg: &Operator11Token) -> Result<()> {
690 Ok(())
691 }
692
693 fn unary_operator_token(&mut self, _arg: &UnaryOperatorToken) -> Result<()> {
695 Ok(())
696 }
697
698 fn back_quote_token(&mut self, _arg: &BackQuoteToken) -> Result<()> {
700 Ok(())
701 }
702
703 fn colon_token(&mut self, _arg: &ColonToken) -> Result<()> {
705 Ok(())
706 }
707
708 fn colon_colon_l_angle_token(&mut self, _arg: &ColonColonLAngleToken) -> Result<()> {
710 Ok(())
711 }
712
713 fn colon_colon_token(&mut self, _arg: &ColonColonToken) -> Result<()> {
715 Ok(())
716 }
717
718 fn comma_token(&mut self, _arg: &CommaToken) -> Result<()> {
720 Ok(())
721 }
722
723 fn dot_dot_token(&mut self, _arg: &DotDotToken) -> Result<()> {
725 Ok(())
726 }
727
728 fn dot_dot_equ_token(&mut self, _arg: &DotDotEquToken) -> Result<()> {
730 Ok(())
731 }
732
733 fn dot_token(&mut self, _arg: &DotToken) -> Result<()> {
735 Ok(())
736 }
737
738 fn equ_token(&mut self, _arg: &EquToken) -> Result<()> {
740 Ok(())
741 }
742
743 fn hash_token(&mut self, _arg: &HashToken) -> Result<()> {
745 Ok(())
746 }
747
748 fn quote_l_brace_token(&mut self, _arg: &QuoteLBraceToken) -> Result<()> {
750 Ok(())
751 }
752
753 fn l_angle_token(&mut self, _arg: &LAngleToken) -> Result<()> {
755 Ok(())
756 }
757
758 fn l_brace_token(&mut self, _arg: &LBraceToken) -> Result<()> {
760 Ok(())
761 }
762
763 fn l_bracket_token(&mut self, _arg: &LBracketToken) -> Result<()> {
765 Ok(())
766 }
767
768 fn l_paren_token(&mut self, _arg: &LParenToken) -> Result<()> {
770 Ok(())
771 }
772
773 fn minus_colon_token(&mut self, _arg: &MinusColonToken) -> Result<()> {
775 Ok(())
776 }
777
778 fn minus_g_t_token(&mut self, _arg: &MinusGTToken) -> Result<()> {
780 Ok(())
781 }
782
783 fn plus_colon_token(&mut self, _arg: &PlusColonToken) -> Result<()> {
785 Ok(())
786 }
787
788 fn r_angle_token(&mut self, _arg: &RAngleToken) -> Result<()> {
790 Ok(())
791 }
792
793 fn r_brace_token(&mut self, _arg: &RBraceToken) -> Result<()> {
795 Ok(())
796 }
797
798 fn r_bracket_token(&mut self, _arg: &RBracketToken) -> Result<()> {
800 Ok(())
801 }
802
803 fn r_paren_token(&mut self, _arg: &RParenToken) -> Result<()> {
805 Ok(())
806 }
807
808 fn semicolon_token(&mut self, _arg: &SemicolonToken) -> Result<()> {
810 Ok(())
811 }
812
813 fn star_token(&mut self, _arg: &StarToken) -> Result<()> {
815 Ok(())
816 }
817
818 fn always_comb_token(&mut self, _arg: &AlwaysCombToken) -> Result<()> {
820 Ok(())
821 }
822
823 fn always_ff_token(&mut self, _arg: &AlwaysFfToken) -> Result<()> {
825 Ok(())
826 }
827
828 fn as_token(&mut self, _arg: &AsToken) -> Result<()> {
830 Ok(())
831 }
832
833 fn assign_token(&mut self, _arg: &AssignToken) -> Result<()> {
835 Ok(())
836 }
837
838 fn bit_token(&mut self, _arg: &BitToken) -> Result<()> {
840 Ok(())
841 }
842
843 fn case_token(&mut self, _arg: &CaseToken) -> Result<()> {
845 Ok(())
846 }
847
848 fn clock_token(&mut self, _arg: &ClockToken) -> Result<()> {
850 Ok(())
851 }
852
853 fn clock_posedge_token(&mut self, _arg: &ClockPosedgeToken) -> Result<()> {
855 Ok(())
856 }
857
858 fn clock_negedge_token(&mut self, _arg: &ClockNegedgeToken) -> Result<()> {
860 Ok(())
861 }
862
863 fn const_token(&mut self, _arg: &ConstToken) -> Result<()> {
865 Ok(())
866 }
867
868 fn converse_token(&mut self, _arg: &ConverseToken) -> Result<()> {
870 Ok(())
871 }
872
873 fn default_token(&mut self, _arg: &DefaultToken) -> Result<()> {
875 Ok(())
876 }
877
878 fn else_token(&mut self, _arg: &ElseToken) -> Result<()> {
880 Ok(())
881 }
882
883 fn embed_token(&mut self, _arg: &EmbedToken) -> Result<()> {
885 Ok(())
886 }
887
888 fn enum_token(&mut self, _arg: &EnumToken) -> Result<()> {
890 Ok(())
891 }
892
893 fn export_token(&mut self, _arg: &ExportToken) -> Result<()> {
895 Ok(())
896 }
897
898 fn f32_token(&mut self, _arg: &F32Token) -> Result<()> {
900 Ok(())
901 }
902
903 fn f64_token(&mut self, _arg: &F64Token) -> Result<()> {
905 Ok(())
906 }
907
908 fn final_token(&mut self, _arg: &FinalToken) -> Result<()> {
910 Ok(())
911 }
912
913 fn for_token(&mut self, _arg: &ForToken) -> Result<()> {
915 Ok(())
916 }
917
918 fn function_token(&mut self, _arg: &FunctionToken) -> Result<()> {
920 Ok(())
921 }
922
923 fn i32_token(&mut self, _arg: &I32Token) -> Result<()> {
925 Ok(())
926 }
927
928 fn i64_token(&mut self, _arg: &I64Token) -> Result<()> {
930 Ok(())
931 }
932
933 fn if_reset_token(&mut self, _arg: &IfResetToken) -> Result<()> {
935 Ok(())
936 }
937
938 fn if_token(&mut self, _arg: &IfToken) -> Result<()> {
940 Ok(())
941 }
942
943 fn import_token(&mut self, _arg: &ImportToken) -> Result<()> {
945 Ok(())
946 }
947
948 fn include_token(&mut self, _arg: &IncludeToken) -> Result<()> {
950 Ok(())
951 }
952
953 fn initial_token(&mut self, _arg: &InitialToken) -> Result<()> {
955 Ok(())
956 }
957
958 fn inout_token(&mut self, _arg: &InoutToken) -> Result<()> {
960 Ok(())
961 }
962
963 fn input_token(&mut self, _arg: &InputToken) -> Result<()> {
965 Ok(())
966 }
967
968 fn inside_token(&mut self, _arg: &InsideToken) -> Result<()> {
970 Ok(())
971 }
972
973 fn inst_token(&mut self, _arg: &InstToken) -> Result<()> {
975 Ok(())
976 }
977
978 fn interface_token(&mut self, _arg: &InterfaceToken) -> Result<()> {
980 Ok(())
981 }
982
983 fn in_token(&mut self, _arg: &InToken) -> Result<()> {
985 Ok(())
986 }
987
988 fn let_token(&mut self, _arg: &LetToken) -> Result<()> {
990 Ok(())
991 }
992
993 fn logic_token(&mut self, _arg: &LogicToken) -> Result<()> {
995 Ok(())
996 }
997
998 fn lsb_token(&mut self, _arg: &LsbToken) -> Result<()> {
1000 Ok(())
1001 }
1002
1003 fn modport_token(&mut self, _arg: &ModportToken) -> Result<()> {
1005 Ok(())
1006 }
1007
1008 fn module_token(&mut self, _arg: &ModuleToken) -> Result<()> {
1010 Ok(())
1011 }
1012
1013 fn msb_token(&mut self, _arg: &MsbToken) -> Result<()> {
1015 Ok(())
1016 }
1017
1018 fn output_token(&mut self, _arg: &OutputToken) -> Result<()> {
1020 Ok(())
1021 }
1022
1023 fn outside_token(&mut self, _arg: &OutsideToken) -> Result<()> {
1025 Ok(())
1026 }
1027
1028 fn package_token(&mut self, _arg: &PackageToken) -> Result<()> {
1030 Ok(())
1031 }
1032
1033 fn param_token(&mut self, _arg: &ParamToken) -> Result<()> {
1035 Ok(())
1036 }
1037
1038 fn proto_token(&mut self, _arg: &ProtoToken) -> Result<()> {
1040 Ok(())
1041 }
1042
1043 fn pub_token(&mut self, _arg: &PubToken) -> Result<()> {
1045 Ok(())
1046 }
1047
1048 fn ref_token(&mut self, _arg: &RefToken) -> Result<()> {
1050 Ok(())
1051 }
1052
1053 fn repeat_token(&mut self, _arg: &RepeatToken) -> Result<()> {
1055 Ok(())
1056 }
1057
1058 fn reset_token(&mut self, _arg: &ResetToken) -> Result<()> {
1060 Ok(())
1061 }
1062
1063 fn reset_async_high_token(&mut self, _arg: &ResetAsyncHighToken) -> Result<()> {
1065 Ok(())
1066 }
1067
1068 fn reset_async_low_token(&mut self, _arg: &ResetAsyncLowToken) -> Result<()> {
1070 Ok(())
1071 }
1072
1073 fn reset_sync_high_token(&mut self, _arg: &ResetSyncHighToken) -> Result<()> {
1075 Ok(())
1076 }
1077
1078 fn reset_sync_low_token(&mut self, _arg: &ResetSyncLowToken) -> Result<()> {
1080 Ok(())
1081 }
1082
1083 fn return_token(&mut self, _arg: &ReturnToken) -> Result<()> {
1085 Ok(())
1086 }
1087
1088 fn break_token(&mut self, _arg: &BreakToken) -> Result<()> {
1090 Ok(())
1091 }
1092
1093 fn signed_token(&mut self, _arg: &SignedToken) -> Result<()> {
1095 Ok(())
1096 }
1097
1098 fn step_token(&mut self, _arg: &StepToken) -> Result<()> {
1100 Ok(())
1101 }
1102
1103 fn string_token(&mut self, _arg: &StringToken) -> Result<()> {
1105 Ok(())
1106 }
1107
1108 fn struct_token(&mut self, _arg: &StructToken) -> Result<()> {
1110 Ok(())
1111 }
1112
1113 fn switch_token(&mut self, _arg: &SwitchToken) -> Result<()> {
1115 Ok(())
1116 }
1117
1118 fn tri_token(&mut self, _arg: &TriToken) -> Result<()> {
1120 Ok(())
1121 }
1122
1123 fn type_token(&mut self, _arg: &TypeToken) -> Result<()> {
1125 Ok(())
1126 }
1127
1128 fn u32_token(&mut self, _arg: &U32Token) -> Result<()> {
1130 Ok(())
1131 }
1132
1133 fn u64_token(&mut self, _arg: &U64Token) -> Result<()> {
1135 Ok(())
1136 }
1137
1138 fn union_token(&mut self, _arg: &UnionToken) -> Result<()> {
1140 Ok(())
1141 }
1142
1143 fn unsafe_token(&mut self, _arg: &UnsafeToken) -> Result<()> {
1145 Ok(())
1146 }
1147
1148 fn var_token(&mut self, _arg: &VarToken) -> Result<()> {
1150 Ok(())
1151 }
1152
1153 fn dollar_identifier_token(&mut self, _arg: &DollarIdentifierToken) -> Result<()> {
1155 Ok(())
1156 }
1157
1158 fn identifier_token(&mut self, _arg: &IdentifierToken) -> Result<()> {
1160 Ok(())
1161 }
1162
1163 fn start(&mut self, _arg: &Start) -> Result<()> {
1165 Ok(())
1166 }
1167
1168 fn string_literal(&mut self, _arg: &StringLiteral) -> Result<()> {
1170 Ok(())
1171 }
1172
1173 fn exponent(&mut self, _arg: &Exponent) -> Result<()> {
1175 Ok(())
1176 }
1177
1178 fn fixed_point(&mut self, _arg: &FixedPoint) -> Result<()> {
1180 Ok(())
1181 }
1182
1183 fn based(&mut self, _arg: &Based) -> Result<()> {
1185 Ok(())
1186 }
1187
1188 fn base_less(&mut self, _arg: &BaseLess) -> Result<()> {
1190 Ok(())
1191 }
1192
1193 fn all_bit(&mut self, _arg: &AllBit) -> Result<()> {
1195 Ok(())
1196 }
1197
1198 fn assignment_operator(&mut self, _arg: &AssignmentOperator) -> Result<()> {
1200 Ok(())
1201 }
1202
1203 fn operator01(&mut self, _arg: &Operator01) -> Result<()> {
1205 Ok(())
1206 }
1207
1208 fn operator02(&mut self, _arg: &Operator02) -> Result<()> {
1210 Ok(())
1211 }
1212
1213 fn operator03(&mut self, _arg: &Operator03) -> Result<()> {
1215 Ok(())
1216 }
1217
1218 fn operator04(&mut self, _arg: &Operator04) -> Result<()> {
1220 Ok(())
1221 }
1222
1223 fn operator05(&mut self, _arg: &Operator05) -> Result<()> {
1225 Ok(())
1226 }
1227
1228 fn operator06(&mut self, _arg: &Operator06) -> Result<()> {
1230 Ok(())
1231 }
1232
1233 fn operator07(&mut self, _arg: &Operator07) -> Result<()> {
1235 Ok(())
1236 }
1237
1238 fn operator08(&mut self, _arg: &Operator08) -> Result<()> {
1240 Ok(())
1241 }
1242
1243 fn operator09(&mut self, _arg: &Operator09) -> Result<()> {
1245 Ok(())
1246 }
1247
1248 fn operator10(&mut self, _arg: &Operator10) -> Result<()> {
1250 Ok(())
1251 }
1252
1253 fn operator11(&mut self, _arg: &Operator11) -> Result<()> {
1255 Ok(())
1256 }
1257
1258 fn unary_operator(&mut self, _arg: &UnaryOperator) -> Result<()> {
1260 Ok(())
1261 }
1262
1263 fn back_quote(&mut self, _arg: &BackQuote) -> Result<()> {
1265 Ok(())
1266 }
1267
1268 fn colon(&mut self, _arg: &Colon) -> Result<()> {
1270 Ok(())
1271 }
1272
1273 fn colon_colon_l_angle(&mut self, _arg: &ColonColonLAngle) -> Result<()> {
1275 Ok(())
1276 }
1277
1278 fn colon_colon(&mut self, _arg: &ColonColon) -> Result<()> {
1280 Ok(())
1281 }
1282
1283 fn comma(&mut self, _arg: &Comma) -> Result<()> {
1285 Ok(())
1286 }
1287
1288 fn dot_dot(&mut self, _arg: &DotDot) -> Result<()> {
1290 Ok(())
1291 }
1292
1293 fn dot_dot_equ(&mut self, _arg: &DotDotEqu) -> Result<()> {
1295 Ok(())
1296 }
1297
1298 fn dot(&mut self, _arg: &Dot) -> Result<()> {
1300 Ok(())
1301 }
1302
1303 fn equ(&mut self, _arg: &Equ) -> Result<()> {
1305 Ok(())
1306 }
1307
1308 fn hash(&mut self, _arg: &Hash) -> Result<()> {
1310 Ok(())
1311 }
1312
1313 fn quote_l_brace(&mut self, _arg: &QuoteLBrace) -> Result<()> {
1315 Ok(())
1316 }
1317
1318 fn l_angle(&mut self, _arg: &LAngle) -> Result<()> {
1320 Ok(())
1321 }
1322
1323 fn l_brace(&mut self, _arg: &LBrace) -> Result<()> {
1325 Ok(())
1326 }
1327
1328 fn l_bracket(&mut self, _arg: &LBracket) -> Result<()> {
1330 Ok(())
1331 }
1332
1333 fn l_paren(&mut self, _arg: &LParen) -> Result<()> {
1335 Ok(())
1336 }
1337
1338 fn minus_colon(&mut self, _arg: &MinusColon) -> Result<()> {
1340 Ok(())
1341 }
1342
1343 fn minus_g_t(&mut self, _arg: &MinusGT) -> Result<()> {
1345 Ok(())
1346 }
1347
1348 fn plus_colon(&mut self, _arg: &PlusColon) -> Result<()> {
1350 Ok(())
1351 }
1352
1353 fn r_angle(&mut self, _arg: &RAngle) -> Result<()> {
1355 Ok(())
1356 }
1357
1358 fn r_brace(&mut self, _arg: &RBrace) -> Result<()> {
1360 Ok(())
1361 }
1362
1363 fn r_bracket(&mut self, _arg: &RBracket) -> Result<()> {
1365 Ok(())
1366 }
1367
1368 fn r_paren(&mut self, _arg: &RParen) -> Result<()> {
1370 Ok(())
1371 }
1372
1373 fn semicolon(&mut self, _arg: &Semicolon) -> Result<()> {
1375 Ok(())
1376 }
1377
1378 fn star(&mut self, _arg: &Star) -> Result<()> {
1380 Ok(())
1381 }
1382
1383 fn always_comb(&mut self, _arg: &AlwaysComb) -> Result<()> {
1385 Ok(())
1386 }
1387
1388 fn always_ff(&mut self, _arg: &AlwaysFf) -> Result<()> {
1390 Ok(())
1391 }
1392
1393 fn r#as(&mut self, _arg: &As) -> Result<()> {
1395 Ok(())
1396 }
1397
1398 fn assign(&mut self, _arg: &Assign) -> Result<()> {
1400 Ok(())
1401 }
1402
1403 fn bit(&mut self, _arg: &Bit) -> Result<()> {
1405 Ok(())
1406 }
1407
1408 fn r#break(&mut self, _arg: &Break) -> Result<()> {
1410 Ok(())
1411 }
1412
1413 fn case(&mut self, _arg: &Case) -> Result<()> {
1415 Ok(())
1416 }
1417
1418 fn clock(&mut self, _arg: &Clock) -> Result<()> {
1420 Ok(())
1421 }
1422
1423 fn clock_posedge(&mut self, _arg: &ClockPosedge) -> Result<()> {
1425 Ok(())
1426 }
1427
1428 fn clock_negedge(&mut self, _arg: &ClockNegedge) -> Result<()> {
1430 Ok(())
1431 }
1432
1433 fn r#const(&mut self, _arg: &Const) -> Result<()> {
1435 Ok(())
1436 }
1437
1438 fn converse(&mut self, _arg: &Converse) -> Result<()> {
1440 Ok(())
1441 }
1442
1443 fn defaul(&mut self, _arg: &Defaul) -> Result<()> {
1445 Ok(())
1446 }
1447
1448 fn r#else(&mut self, _arg: &Else) -> Result<()> {
1450 Ok(())
1451 }
1452
1453 fn embed(&mut self, _arg: &Embed) -> Result<()> {
1455 Ok(())
1456 }
1457
1458 fn r#enum(&mut self, _arg: &Enum) -> Result<()> {
1460 Ok(())
1461 }
1462
1463 fn export(&mut self, _arg: &Export) -> Result<()> {
1465 Ok(())
1466 }
1467
1468 fn f32(&mut self, _arg: &F32) -> Result<()> {
1470 Ok(())
1471 }
1472
1473 fn f64(&mut self, _arg: &F64) -> Result<()> {
1475 Ok(())
1476 }
1477
1478 fn r#final(&mut self, _arg: &Final) -> Result<()> {
1480 Ok(())
1481 }
1482
1483 fn r#for(&mut self, _arg: &For) -> Result<()> {
1485 Ok(())
1486 }
1487
1488 fn function(&mut self, _arg: &Function) -> Result<()> {
1490 Ok(())
1491 }
1492
1493 fn i32(&mut self, _arg: &I32) -> Result<()> {
1495 Ok(())
1496 }
1497
1498 fn i64(&mut self, _arg: &I64) -> Result<()> {
1500 Ok(())
1501 }
1502
1503 fn r#if(&mut self, _arg: &If) -> Result<()> {
1505 Ok(())
1506 }
1507
1508 fn if_reset(&mut self, _arg: &IfReset) -> Result<()> {
1510 Ok(())
1511 }
1512
1513 fn import(&mut self, _arg: &Import) -> Result<()> {
1515 Ok(())
1516 }
1517
1518 fn r#in(&mut self, _arg: &In) -> Result<()> {
1520 Ok(())
1521 }
1522
1523 fn include(&mut self, _arg: &Include) -> Result<()> {
1525 Ok(())
1526 }
1527
1528 fn initial(&mut self, _arg: &Initial) -> Result<()> {
1530 Ok(())
1531 }
1532
1533 fn inout(&mut self, _arg: &Inout) -> Result<()> {
1535 Ok(())
1536 }
1537
1538 fn input(&mut self, _arg: &Input) -> Result<()> {
1540 Ok(())
1541 }
1542
1543 fn inside(&mut self, _arg: &Inside) -> Result<()> {
1545 Ok(())
1546 }
1547
1548 fn inst(&mut self, _arg: &Inst) -> Result<()> {
1550 Ok(())
1551 }
1552
1553 fn interface(&mut self, _arg: &Interface) -> Result<()> {
1555 Ok(())
1556 }
1557
1558 fn r#let(&mut self, _arg: &Let) -> Result<()> {
1560 Ok(())
1561 }
1562
1563 fn logic(&mut self, _arg: &Logic) -> Result<()> {
1565 Ok(())
1566 }
1567
1568 fn lsb(&mut self, _arg: &Lsb) -> Result<()> {
1570 Ok(())
1571 }
1572
1573 fn modport(&mut self, _arg: &Modport) -> Result<()> {
1575 Ok(())
1576 }
1577
1578 fn module(&mut self, _arg: &Module) -> Result<()> {
1580 Ok(())
1581 }
1582
1583 fn msb(&mut self, _arg: &Msb) -> Result<()> {
1585 Ok(())
1586 }
1587
1588 fn output(&mut self, _arg: &Output) -> Result<()> {
1590 Ok(())
1591 }
1592
1593 fn outside(&mut self, _arg: &Outside) -> Result<()> {
1595 Ok(())
1596 }
1597
1598 fn package(&mut self, _arg: &Package) -> Result<()> {
1600 Ok(())
1601 }
1602
1603 fn param(&mut self, _arg: &Param) -> Result<()> {
1605 Ok(())
1606 }
1607
1608 fn proto(&mut self, _arg: &Proto) -> Result<()> {
1610 Ok(())
1611 }
1612
1613 fn r#pub(&mut self, _arg: &Pub) -> Result<()> {
1615 Ok(())
1616 }
1617
1618 fn r#ref(&mut self, _arg: &Ref) -> Result<()> {
1620 Ok(())
1621 }
1622
1623 fn repeat(&mut self, _arg: &Repeat) -> Result<()> {
1625 Ok(())
1626 }
1627
1628 fn reset(&mut self, _arg: &Reset) -> Result<()> {
1630 Ok(())
1631 }
1632
1633 fn reset_async_high(&mut self, _arg: &ResetAsyncHigh) -> Result<()> {
1635 Ok(())
1636 }
1637
1638 fn reset_async_low(&mut self, _arg: &ResetAsyncLow) -> Result<()> {
1640 Ok(())
1641 }
1642
1643 fn reset_sync_high(&mut self, _arg: &ResetSyncHigh) -> Result<()> {
1645 Ok(())
1646 }
1647
1648 fn reset_sync_low(&mut self, _arg: &ResetSyncLow) -> Result<()> {
1650 Ok(())
1651 }
1652
1653 fn r#return(&mut self, _arg: &Return) -> Result<()> {
1655 Ok(())
1656 }
1657
1658 fn signed(&mut self, _arg: &Signed) -> Result<()> {
1660 Ok(())
1661 }
1662
1663 fn step(&mut self, _arg: &Step) -> Result<()> {
1665 Ok(())
1666 }
1667
1668 fn strin(&mut self, _arg: &Strin) -> Result<()> {
1670 Ok(())
1671 }
1672
1673 fn r#struct(&mut self, _arg: &Struct) -> Result<()> {
1675 Ok(())
1676 }
1677
1678 fn switch(&mut self, _arg: &Switch) -> Result<()> {
1680 Ok(())
1681 }
1682
1683 fn tri(&mut self, _arg: &Tri) -> Result<()> {
1685 Ok(())
1686 }
1687
1688 fn r#type(&mut self, _arg: &Type) -> Result<()> {
1690 Ok(())
1691 }
1692
1693 fn u32(&mut self, _arg: &U32) -> Result<()> {
1695 Ok(())
1696 }
1697
1698 fn u64(&mut self, _arg: &U64) -> Result<()> {
1700 Ok(())
1701 }
1702
1703 fn r#union(&mut self, _arg: &Union) -> Result<()> {
1705 Ok(())
1706 }
1707
1708 fn r#unsafe(&mut self, _arg: &Unsafe) -> Result<()> {
1710 Ok(())
1711 }
1712
1713 fn var(&mut self, _arg: &Var) -> Result<()> {
1715 Ok(())
1716 }
1717
1718 fn dollar_identifier(&mut self, _arg: &DollarIdentifier) -> Result<()> {
1720 Ok(())
1721 }
1722
1723 fn identifier(&mut self, _arg: &Identifier) -> Result<()> {
1725 Ok(())
1726 }
1727
1728 fn number(&mut self, _arg: &Number) -> Result<()> {
1730 Ok(())
1731 }
1732
1733 fn integral_number(&mut self, _arg: &IntegralNumber) -> Result<()> {
1735 Ok(())
1736 }
1737
1738 fn real_number(&mut self, _arg: &RealNumber) -> Result<()> {
1740 Ok(())
1741 }
1742
1743 fn hierarchical_identifier(&mut self, _arg: &HierarchicalIdentifier) -> Result<()> {
1745 Ok(())
1746 }
1747
1748 fn scoped_identifier(&mut self, _arg: &ScopedIdentifier) -> Result<()> {
1750 Ok(())
1751 }
1752
1753 fn expression_identifier(&mut self, _arg: &ExpressionIdentifier) -> Result<()> {
1755 Ok(())
1756 }
1757
1758 fn expression(&mut self, _arg: &Expression) -> Result<()> {
1760 Ok(())
1761 }
1762
1763 fn expression01(&mut self, _arg: &Expression01) -> Result<()> {
1765 Ok(())
1766 }
1767
1768 fn expression02(&mut self, _arg: &Expression02) -> Result<()> {
1770 Ok(())
1771 }
1772
1773 fn expression03(&mut self, _arg: &Expression03) -> Result<()> {
1775 Ok(())
1776 }
1777
1778 fn expression04(&mut self, _arg: &Expression04) -> Result<()> {
1780 Ok(())
1781 }
1782
1783 fn expression05(&mut self, _arg: &Expression05) -> Result<()> {
1785 Ok(())
1786 }
1787
1788 fn expression06(&mut self, _arg: &Expression06) -> Result<()> {
1790 Ok(())
1791 }
1792
1793 fn expression07(&mut self, _arg: &Expression07) -> Result<()> {
1795 Ok(())
1796 }
1797
1798 fn expression08(&mut self, _arg: &Expression08) -> Result<()> {
1800 Ok(())
1801 }
1802
1803 fn expression09(&mut self, _arg: &Expression09) -> Result<()> {
1805 Ok(())
1806 }
1807
1808 fn expression10(&mut self, _arg: &Expression10) -> Result<()> {
1810 Ok(())
1811 }
1812
1813 fn expression11(&mut self, _arg: &Expression11) -> Result<()> {
1815 Ok(())
1816 }
1817
1818 fn expression12(&mut self, _arg: &Expression12) -> Result<()> {
1820 Ok(())
1821 }
1822
1823 fn factor(&mut self, _arg: &Factor) -> Result<()> {
1825 Ok(())
1826 }
1827
1828 fn identifier_factor(&mut self, _arg: &IdentifierFactor) -> Result<()> {
1830 Ok(())
1831 }
1832
1833 fn factor_type_factor(&mut self, _arg: &FactorTypeFactor) -> Result<()> {
1835 Ok(())
1836 }
1837
1838 fn function_call(&mut self, _arg: &FunctionCall) -> Result<()> {
1840 Ok(())
1841 }
1842
1843 fn argument_list(&mut self, _arg: &ArgumentList) -> Result<()> {
1845 Ok(())
1846 }
1847
1848 fn argument_item(&mut self, _arg: &ArgumentItem) -> Result<()> {
1850 Ok(())
1851 }
1852
1853 fn concatenation_list(&mut self, _arg: &ConcatenationList) -> Result<()> {
1855 Ok(())
1856 }
1857
1858 fn concatenation_item(&mut self, _arg: &ConcatenationItem) -> Result<()> {
1860 Ok(())
1861 }
1862
1863 fn array_literal_list(&mut self, _arg: &ArrayLiteralList) -> Result<()> {
1865 Ok(())
1866 }
1867
1868 fn array_literal_item(&mut self, _arg: &ArrayLiteralItem) -> Result<()> {
1870 Ok(())
1871 }
1872
1873 fn if_expression(&mut self, _arg: &IfExpression) -> Result<()> {
1875 Ok(())
1876 }
1877
1878 fn case_expression(&mut self, _arg: &CaseExpression) -> Result<()> {
1880 Ok(())
1881 }
1882
1883 fn switch_expression(&mut self, _arg: &SwitchExpression) -> Result<()> {
1885 Ok(())
1886 }
1887
1888 fn type_expression(&mut self, _arg: &TypeExpression) -> Result<()> {
1890 Ok(())
1891 }
1892
1893 fn inside_expression(&mut self, _arg: &InsideExpression) -> Result<()> {
1895 Ok(())
1896 }
1897
1898 fn outside_expression(&mut self, _arg: &OutsideExpression) -> Result<()> {
1900 Ok(())
1901 }
1902
1903 fn range_list(&mut self, _arg: &RangeList) -> Result<()> {
1905 Ok(())
1906 }
1907
1908 fn range_item(&mut self, _arg: &RangeItem) -> Result<()> {
1910 Ok(())
1911 }
1912
1913 fn select(&mut self, _arg: &Select) -> Result<()> {
1915 Ok(())
1916 }
1917
1918 fn select_operator(&mut self, _arg: &SelectOperator) -> Result<()> {
1920 Ok(())
1921 }
1922
1923 fn width(&mut self, _arg: &Width) -> Result<()> {
1925 Ok(())
1926 }
1927
1928 fn array(&mut self, _arg: &Array) -> Result<()> {
1930 Ok(())
1931 }
1932
1933 fn range(&mut self, _arg: &Range) -> Result<()> {
1935 Ok(())
1936 }
1937
1938 fn range_operator(&mut self, _arg: &RangeOperator) -> Result<()> {
1940 Ok(())
1941 }
1942
1943 fn fixed_type(&mut self, _arg: &FixedType) -> Result<()> {
1945 Ok(())
1946 }
1947
1948 fn variable_type(&mut self, _arg: &VariableType) -> Result<()> {
1950 Ok(())
1951 }
1952
1953 fn user_defined_type(&mut self, _arg: &UserDefinedType) -> Result<()> {
1955 Ok(())
1956 }
1957
1958 fn type_modifier(&mut self, _arg: &TypeModifier) -> Result<()> {
1960 Ok(())
1961 }
1962
1963 fn factor_type(&mut self, _arg: &FactorType) -> Result<()> {
1965 Ok(())
1966 }
1967
1968 fn scalar_type(&mut self, _arg: &ScalarType) -> Result<()> {
1970 Ok(())
1971 }
1972
1973 fn array_type(&mut self, _arg: &ArrayType) -> Result<()> {
1975 Ok(())
1976 }
1977
1978 fn casting_type(&mut self, _arg: &CastingType) -> Result<()> {
1980 Ok(())
1981 }
1982
1983 fn clock_domain(&mut self, _arg: &ClockDomain) -> Result<()> {
1985 Ok(())
1986 }
1987
1988 fn statement_block(&mut self, _arg: &StatementBlock) -> Result<()> {
1990 Ok(())
1991 }
1992
1993 fn statement_block_group(&mut self, _arg: &StatementBlockGroup) -> Result<()> {
1995 Ok(())
1996 }
1997
1998 fn statement_block_item(&mut self, _arg: &StatementBlockItem) -> Result<()> {
2000 Ok(())
2001 }
2002
2003 fn statement(&mut self, _arg: &Statement) -> Result<()> {
2005 Ok(())
2006 }
2007
2008 fn let_statement(&mut self, _arg: &LetStatement) -> Result<()> {
2010 Ok(())
2011 }
2012
2013 fn identifier_statement(&mut self, _arg: &IdentifierStatement) -> Result<()> {
2015 Ok(())
2016 }
2017
2018 fn assignment(&mut self, _arg: &Assignment) -> Result<()> {
2020 Ok(())
2021 }
2022
2023 fn if_statement(&mut self, _arg: &IfStatement) -> Result<()> {
2025 Ok(())
2026 }
2027
2028 fn if_reset_statement(&mut self, _arg: &IfResetStatement) -> Result<()> {
2030 Ok(())
2031 }
2032
2033 fn return_statement(&mut self, _arg: &ReturnStatement) -> Result<()> {
2035 Ok(())
2036 }
2037
2038 fn break_statement(&mut self, _arg: &BreakStatement) -> Result<()> {
2040 Ok(())
2041 }
2042
2043 fn for_statement(&mut self, _arg: &ForStatement) -> Result<()> {
2045 Ok(())
2046 }
2047
2048 fn case_statement(&mut self, _arg: &CaseStatement) -> Result<()> {
2050 Ok(())
2051 }
2052
2053 fn case_item(&mut self, _arg: &CaseItem) -> Result<()> {
2055 Ok(())
2056 }
2057
2058 fn case_condition(&mut self, _arg: &CaseCondition) -> Result<()> {
2060 Ok(())
2061 }
2062
2063 fn switch_statement(&mut self, _arg: &SwitchStatement) -> Result<()> {
2065 Ok(())
2066 }
2067
2068 fn switch_item(&mut self, _arg: &SwitchItem) -> Result<()> {
2070 Ok(())
2071 }
2072
2073 fn switch_condition(&mut self, _arg: &SwitchCondition) -> Result<()> {
2075 Ok(())
2076 }
2077
2078 fn attribute(&mut self, _arg: &Attribute) -> Result<()> {
2080 Ok(())
2081 }
2082
2083 fn attribute_list(&mut self, _arg: &AttributeList) -> Result<()> {
2085 Ok(())
2086 }
2087
2088 fn attribute_item(&mut self, _arg: &AttributeItem) -> Result<()> {
2090 Ok(())
2091 }
2092
2093 fn let_declaration(&mut self, _arg: &LetDeclaration) -> Result<()> {
2095 Ok(())
2096 }
2097
2098 fn var_declaration(&mut self, _arg: &VarDeclaration) -> Result<()> {
2100 Ok(())
2101 }
2102
2103 fn const_declaration(&mut self, _arg: &ConstDeclaration) -> Result<()> {
2105 Ok(())
2106 }
2107
2108 fn type_def_declaration(&mut self, _arg: &TypeDefDeclaration) -> Result<()> {
2110 Ok(())
2111 }
2112
2113 fn always_ff_declaration(&mut self, _arg: &AlwaysFfDeclaration) -> Result<()> {
2115 Ok(())
2116 }
2117
2118 fn always_ff_event_list(&mut self, _arg: &AlwaysFfEventList) -> Result<()> {
2120 Ok(())
2121 }
2122
2123 fn always_ff_clock(&mut self, _arg: &AlwaysFfClock) -> Result<()> {
2125 Ok(())
2126 }
2127
2128 fn always_ff_reset(&mut self, _arg: &AlwaysFfReset) -> Result<()> {
2130 Ok(())
2131 }
2132
2133 fn always_comb_declaration(&mut self, _arg: &AlwaysCombDeclaration) -> Result<()> {
2135 Ok(())
2136 }
2137
2138 fn assign_declaration(&mut self, _arg: &AssignDeclaration) -> Result<()> {
2140 Ok(())
2141 }
2142
2143 fn assign_destination(&mut self, _arg: &AssignDestination) -> Result<()> {
2145 Ok(())
2146 }
2147
2148 fn assign_concatenation_list(&mut self, _arg: &AssignConcatenationList) -> Result<()> {
2150 Ok(())
2151 }
2152
2153 fn assign_concatenation_item(&mut self, _arg: &AssignConcatenationItem) -> Result<()> {
2155 Ok(())
2156 }
2157
2158 fn modport_declaration(&mut self, _arg: &ModportDeclaration) -> Result<()> {
2160 Ok(())
2161 }
2162
2163 fn modport_list(&mut self, _arg: &ModportList) -> Result<()> {
2165 Ok(())
2166 }
2167
2168 fn modport_group(&mut self, _arg: &ModportGroup) -> Result<()> {
2170 Ok(())
2171 }
2172
2173 fn modport_item(&mut self, _arg: &ModportItem) -> Result<()> {
2175 Ok(())
2176 }
2177
2178 fn modport_default(&mut self, _arg: &ModportDefault) -> Result<()> {
2180 Ok(())
2181 }
2182
2183 fn enum_declaration(&mut self, _arg: &EnumDeclaration) -> Result<()> {
2185 Ok(())
2186 }
2187
2188 fn enum_list(&mut self, _arg: &EnumList) -> Result<()> {
2190 Ok(())
2191 }
2192
2193 fn enum_group(&mut self, _arg: &EnumGroup) -> Result<()> {
2195 Ok(())
2196 }
2197
2198 fn enum_item(&mut self, _arg: &EnumItem) -> Result<()> {
2200 Ok(())
2201 }
2202
2203 fn struct_union(&mut self, _arg: &StructUnion) -> Result<()> {
2205 Ok(())
2206 }
2207
2208 fn struct_union_declaration(&mut self, _arg: &StructUnionDeclaration) -> Result<()> {
2210 Ok(())
2211 }
2212
2213 fn struct_union_list(&mut self, _arg: &StructUnionList) -> Result<()> {
2215 Ok(())
2216 }
2217
2218 fn struct_union_group(&mut self, _arg: &StructUnionGroup) -> Result<()> {
2220 Ok(())
2221 }
2222
2223 fn struct_union_item(&mut self, _arg: &StructUnionItem) -> Result<()> {
2225 Ok(())
2226 }
2227
2228 fn initial_declaration(&mut self, _arg: &InitialDeclaration) -> Result<()> {
2230 Ok(())
2231 }
2232
2233 fn final_declaration(&mut self, _arg: &FinalDeclaration) -> Result<()> {
2235 Ok(())
2236 }
2237
2238 fn inst_declaration(&mut self, _arg: &InstDeclaration) -> Result<()> {
2240 Ok(())
2241 }
2242
2243 fn inst_parameter(&mut self, _arg: &InstParameter) -> Result<()> {
2245 Ok(())
2246 }
2247
2248 fn inst_parameter_list(&mut self, _arg: &InstParameterList) -> Result<()> {
2250 Ok(())
2251 }
2252
2253 fn inst_parameter_group(&mut self, _arg: &InstParameterGroup) -> Result<()> {
2255 Ok(())
2256 }
2257
2258 fn inst_parameter_item(&mut self, _arg: &InstParameterItem) -> Result<()> {
2260 Ok(())
2261 }
2262
2263 fn inst_port_list(&mut self, _arg: &InstPortList) -> Result<()> {
2265 Ok(())
2266 }
2267
2268 fn inst_port_group(&mut self, _arg: &InstPortGroup) -> Result<()> {
2270 Ok(())
2271 }
2272
2273 fn inst_port_item(&mut self, _arg: &InstPortItem) -> Result<()> {
2275 Ok(())
2276 }
2277
2278 fn with_parameter(&mut self, _arg: &WithParameter) -> Result<()> {
2280 Ok(())
2281 }
2282
2283 fn with_parameter_list(&mut self, _arg: &WithParameterList) -> Result<()> {
2285 Ok(())
2286 }
2287
2288 fn with_parameter_group(&mut self, _arg: &WithParameterGroup) -> Result<()> {
2290 Ok(())
2291 }
2292
2293 fn with_parameter_item(&mut self, _arg: &WithParameterItem) -> Result<()> {
2295 Ok(())
2296 }
2297
2298 fn generic_bound(&mut self, _arg: &GenericBound) -> Result<()> {
2300 Ok(())
2301 }
2302
2303 fn with_generic_parameter(&mut self, _arg: &WithGenericParameter) -> Result<()> {
2305 Ok(())
2306 }
2307
2308 fn with_generic_parameter_list(&mut self, _arg: &WithGenericParameterList) -> Result<()> {
2310 Ok(())
2311 }
2312
2313 fn with_generic_parameter_item(&mut self, _arg: &WithGenericParameterItem) -> Result<()> {
2315 Ok(())
2316 }
2317
2318 fn with_generic_argument(&mut self, _arg: &WithGenericArgument) -> Result<()> {
2320 Ok(())
2321 }
2322
2323 fn with_generic_argument_list(&mut self, _arg: &WithGenericArgumentList) -> Result<()> {
2325 Ok(())
2326 }
2327
2328 fn with_generic_argument_item(&mut self, _arg: &WithGenericArgumentItem) -> Result<()> {
2330 Ok(())
2331 }
2332
2333 fn port_declaration(&mut self, _arg: &PortDeclaration) -> Result<()> {
2335 Ok(())
2336 }
2337
2338 fn port_declaration_list(&mut self, _arg: &PortDeclarationList) -> Result<()> {
2340 Ok(())
2341 }
2342
2343 fn port_declaration_group(&mut self, _arg: &PortDeclarationGroup) -> Result<()> {
2345 Ok(())
2346 }
2347
2348 fn port_declaration_item(&mut self, _arg: &PortDeclarationItem) -> Result<()> {
2350 Ok(())
2351 }
2352
2353 fn port_type_concrete(&mut self, _arg: &PortTypeConcrete) -> Result<()> {
2355 Ok(())
2356 }
2357
2358 fn port_default_value(&mut self, _arg: &PortDefaultValue) -> Result<()> {
2360 Ok(())
2361 }
2362
2363 fn port_type_abstract(&mut self, _arg: &PortTypeAbstract) -> Result<()> {
2365 Ok(())
2366 }
2367
2368 fn direction(&mut self, _arg: &Direction) -> Result<()> {
2370 Ok(())
2371 }
2372
2373 fn function_declaration(&mut self, _arg: &FunctionDeclaration) -> Result<()> {
2375 Ok(())
2376 }
2377
2378 fn import_declaration(&mut self, _arg: &ImportDeclaration) -> Result<()> {
2380 Ok(())
2381 }
2382
2383 fn export_declaration(&mut self, _arg: &ExportDeclaration) -> Result<()> {
2385 Ok(())
2386 }
2387
2388 fn unsafe_block(&mut self, _arg: &UnsafeBlock) -> Result<()> {
2390 Ok(())
2391 }
2392
2393 fn module_declaration(&mut self, _arg: &ModuleDeclaration) -> Result<()> {
2395 Ok(())
2396 }
2397
2398 fn module_group(&mut self, _arg: &ModuleGroup) -> Result<()> {
2400 Ok(())
2401 }
2402
2403 fn module_item(&mut self, _arg: &ModuleItem) -> Result<()> {
2405 Ok(())
2406 }
2407
2408 fn interface_declaration(&mut self, _arg: &InterfaceDeclaration) -> Result<()> {
2410 Ok(())
2411 }
2412
2413 fn interface_group(&mut self, _arg: &InterfaceGroup) -> Result<()> {
2415 Ok(())
2416 }
2417
2418 fn interface_item(&mut self, _arg: &InterfaceItem) -> Result<()> {
2420 Ok(())
2421 }
2422
2423 fn generate_if_declaration(&mut self, _arg: &GenerateIfDeclaration) -> Result<()> {
2425 Ok(())
2426 }
2427
2428 fn generate_for_declaration(&mut self, _arg: &GenerateForDeclaration) -> Result<()> {
2430 Ok(())
2431 }
2432
2433 fn generate_block_declaration(&mut self, _arg: &GenerateBlockDeclaration) -> Result<()> {
2435 Ok(())
2436 }
2437
2438 fn generate_named_block(&mut self, _arg: &GenerateNamedBlock) -> Result<()> {
2440 Ok(())
2441 }
2442
2443 fn generate_optional_named_block(&mut self, _arg: &GenerateOptionalNamedBlock) -> Result<()> {
2445 Ok(())
2446 }
2447
2448 fn generate_group(&mut self, _arg: &GenerateGroup) -> Result<()> {
2450 Ok(())
2451 }
2452
2453 fn generate_item(&mut self, _arg: &GenerateItem) -> Result<()> {
2455 Ok(())
2456 }
2457
2458 fn package_declaration(&mut self, _arg: &PackageDeclaration) -> Result<()> {
2460 Ok(())
2461 }
2462
2463 fn package_group(&mut self, _arg: &PackageGroup) -> Result<()> {
2465 Ok(())
2466 }
2467
2468 fn package_item(&mut self, _arg: &PackageItem) -> Result<()> {
2470 Ok(())
2471 }
2472
2473 fn proto_module_declaration(&mut self, _arg: &ProtoModuleDeclaration) -> Result<()> {
2475 Ok(())
2476 }
2477
2478 fn embed_declaration(&mut self, _arg: &EmbedDeclaration) -> Result<()> {
2480 Ok(())
2481 }
2482
2483 fn embed_content(&mut self, _arg: &EmbedContent) -> Result<()> {
2485 Ok(())
2486 }
2487
2488 fn embed_content_token(&mut self, _arg: &EmbedContentToken) -> Result<()> {
2490 Ok(())
2491 }
2492
2493 fn embed_item(&mut self, _arg: &EmbedItem) -> Result<()> {
2495 Ok(())
2496 }
2497
2498 fn include_declaration(&mut self, _arg: &IncludeDeclaration) -> Result<()> {
2500 Ok(())
2501 }
2502
2503 fn description_group(&mut self, _arg: &DescriptionGroup) -> Result<()> {
2505 Ok(())
2506 }
2507
2508 fn description_item(&mut self, _arg: &DescriptionItem) -> Result<()> {
2510 Ok(())
2511 }
2512
2513 fn public_description_item(&mut self, _arg: &PublicDescriptionItem) -> Result<()> {
2515 Ok(())
2516 }
2517
2518 fn veryl(&mut self, _arg: &Veryl) -> Result<()> {
2520 Ok(())
2521 }
2522
2523 fn on_comment(&mut self, _token: Token<'_>) {}
2526}
2527
2528#[allow(dead_code)]
2539#[derive(Builder, Debug, Clone)]
2540#[builder(crate = "parol_runtime::derive_builder")]
2541pub struct NumberIntegralNumber {
2542 pub integral_number: Box<IntegralNumber>,
2543}
2544
2545#[allow(dead_code)]
2551#[derive(Builder, Debug, Clone)]
2552#[builder(crate = "parol_runtime::derive_builder")]
2553pub struct NumberRealNumber {
2554 pub real_number: Box<RealNumber>,
2555}
2556
2557#[allow(dead_code)]
2563#[derive(Builder, Debug, Clone)]
2564#[builder(crate = "parol_runtime::derive_builder")]
2565pub struct IntegralNumberBased {
2566 pub based: Box<Based>,
2567}
2568
2569#[allow(dead_code)]
2575#[derive(Builder, Debug, Clone)]
2576#[builder(crate = "parol_runtime::derive_builder")]
2577pub struct IntegralNumberBaseLess {
2578 pub base_less: Box<BaseLess>,
2579}
2580
2581#[allow(dead_code)]
2587#[derive(Builder, Debug, Clone)]
2588#[builder(crate = "parol_runtime::derive_builder")]
2589pub struct IntegralNumberAllBit {
2590 pub all_bit: Box<AllBit>,
2591}
2592
2593#[allow(dead_code)]
2599#[derive(Builder, Debug, Clone)]
2600#[builder(crate = "parol_runtime::derive_builder")]
2601pub struct RealNumberFixedPoint {
2602 pub fixed_point: Box<FixedPoint>,
2603}
2604
2605#[allow(dead_code)]
2611#[derive(Builder, Debug, Clone)]
2612#[builder(crate = "parol_runtime::derive_builder")]
2613pub struct RealNumberExponent {
2614 pub exponent: Box<Exponent>,
2615}
2616
2617#[allow(dead_code)]
2623#[derive(Builder, Debug, Clone)]
2624#[builder(crate = "parol_runtime::derive_builder")]
2625pub struct ScopedIdentifierGroupDollarIdentifier {
2626 pub dollar_identifier: Box<DollarIdentifier>,
2627}
2628
2629#[allow(dead_code)]
2635#[derive(Builder, Debug, Clone)]
2636#[builder(crate = "parol_runtime::derive_builder")]
2637pub struct ScopedIdentifierGroupIdentifierScopedIdentifierOpt {
2638 pub identifier: Box<Identifier>,
2639 pub scoped_identifier_opt: Option<ScopedIdentifierOpt>,
2640}
2641
2642#[allow(dead_code)]
2648#[derive(Builder, Debug, Clone)]
2649#[builder(crate = "parol_runtime::derive_builder")]
2650pub struct Expression09ListGroupOperator10 {
2651 pub operator10: Box<Operator10>,
2652}
2653
2654#[allow(dead_code)]
2660#[derive(Builder, Debug, Clone)]
2661#[builder(crate = "parol_runtime::derive_builder")]
2662pub struct Expression09ListGroupStar {
2663 pub star: Box<Star>,
2664}
2665
2666#[allow(dead_code)]
2672#[derive(Builder, Debug, Clone)]
2673#[builder(crate = "parol_runtime::derive_builder")]
2674pub struct Expression12ListGroupUnaryOperator {
2675 pub unary_operator: Box<UnaryOperator>,
2676}
2677
2678#[allow(dead_code)]
2684#[derive(Builder, Debug, Clone)]
2685#[builder(crate = "parol_runtime::derive_builder")]
2686pub struct Expression12ListGroupOperator09 {
2687 pub operator09: Box<Operator09>,
2688}
2689
2690#[allow(dead_code)]
2696#[derive(Builder, Debug, Clone)]
2697#[builder(crate = "parol_runtime::derive_builder")]
2698pub struct Expression12ListGroupOperator05 {
2699 pub operator05: Box<Operator05>,
2700}
2701
2702#[allow(dead_code)]
2708#[derive(Builder, Debug, Clone)]
2709#[builder(crate = "parol_runtime::derive_builder")]
2710pub struct Expression12ListGroupOperator03 {
2711 pub operator03: Box<Operator03>,
2712}
2713
2714#[allow(dead_code)]
2720#[derive(Builder, Debug, Clone)]
2721#[builder(crate = "parol_runtime::derive_builder")]
2722pub struct Expression12ListGroupOperator04 {
2723 pub operator04: Box<Operator04>,
2724}
2725
2726#[allow(dead_code)]
2732#[derive(Builder, Debug, Clone)]
2733#[builder(crate = "parol_runtime::derive_builder")]
2734pub struct FactorNumber {
2735 pub number: Box<Number>,
2736}
2737
2738#[allow(dead_code)]
2744#[derive(Builder, Debug, Clone)]
2745#[builder(crate = "parol_runtime::derive_builder")]
2746pub struct FactorIdentifierFactor {
2747 pub identifier_factor: Box<IdentifierFactor>,
2748}
2749
2750#[allow(dead_code)]
2756#[derive(Builder, Debug, Clone)]
2757#[builder(crate = "parol_runtime::derive_builder")]
2758pub struct FactorLParenExpressionRParen {
2759 pub l_paren: Box<LParen>,
2760 pub expression: Box<Expression>,
2761 pub r_paren: Box<RParen>,
2762}
2763
2764#[allow(dead_code)]
2770#[derive(Builder, Debug, Clone)]
2771#[builder(crate = "parol_runtime::derive_builder")]
2772pub struct FactorLBraceConcatenationListRBrace {
2773 pub l_brace: Box<LBrace>,
2774 pub concatenation_list: Box<ConcatenationList>,
2775 pub r_brace: Box<RBrace>,
2776}
2777
2778#[allow(dead_code)]
2784#[derive(Builder, Debug, Clone)]
2785#[builder(crate = "parol_runtime::derive_builder")]
2786pub struct FactorQuoteLBraceArrayLiteralListRBrace {
2787 pub quote_l_brace: Box<QuoteLBrace>,
2788 pub array_literal_list: Box<ArrayLiteralList>,
2789 pub r_brace: Box<RBrace>,
2790}
2791
2792#[allow(dead_code)]
2798#[derive(Builder, Debug, Clone)]
2799#[builder(crate = "parol_runtime::derive_builder")]
2800pub struct FactorIfExpression {
2801 pub if_expression: Box<IfExpression>,
2802}
2803
2804#[allow(dead_code)]
2810#[derive(Builder, Debug, Clone)]
2811#[builder(crate = "parol_runtime::derive_builder")]
2812pub struct FactorCaseExpression {
2813 pub case_expression: Box<CaseExpression>,
2814}
2815
2816#[allow(dead_code)]
2822#[derive(Builder, Debug, Clone)]
2823#[builder(crate = "parol_runtime::derive_builder")]
2824pub struct FactorSwitchExpression {
2825 pub switch_expression: Box<SwitchExpression>,
2826}
2827
2828#[allow(dead_code)]
2834#[derive(Builder, Debug, Clone)]
2835#[builder(crate = "parol_runtime::derive_builder")]
2836pub struct FactorStringLiteral {
2837 pub string_literal: Box<StringLiteral>,
2838}
2839
2840#[allow(dead_code)]
2846#[derive(Builder, Debug, Clone)]
2847#[builder(crate = "parol_runtime::derive_builder")]
2848pub struct FactorFactorGroup {
2849 pub factor_group: Box<FactorGroup>,
2850}
2851
2852#[allow(dead_code)]
2858#[derive(Builder, Debug, Clone)]
2859#[builder(crate = "parol_runtime::derive_builder")]
2860pub struct FactorGroupMsb {
2861 pub msb: Box<Msb>,
2862}
2863
2864#[allow(dead_code)]
2870#[derive(Builder, Debug, Clone)]
2871#[builder(crate = "parol_runtime::derive_builder")]
2872pub struct FactorGroupLsb {
2873 pub lsb: Box<Lsb>,
2874}
2875
2876#[allow(dead_code)]
2882#[derive(Builder, Debug, Clone)]
2883#[builder(crate = "parol_runtime::derive_builder")]
2884pub struct FactorInsideExpression {
2885 pub inside_expression: Box<InsideExpression>,
2886}
2887
2888#[allow(dead_code)]
2894#[derive(Builder, Debug, Clone)]
2895#[builder(crate = "parol_runtime::derive_builder")]
2896pub struct FactorOutsideExpression {
2897 pub outside_expression: Box<OutsideExpression>,
2898}
2899
2900#[allow(dead_code)]
2906#[derive(Builder, Debug, Clone)]
2907#[builder(crate = "parol_runtime::derive_builder")]
2908pub struct FactorTypeExpression {
2909 pub type_expression: Box<TypeExpression>,
2910}
2911
2912#[allow(dead_code)]
2918#[derive(Builder, Debug, Clone)]
2919#[builder(crate = "parol_runtime::derive_builder")]
2920pub struct FactorFactorTypeFactor {
2921 pub factor_type_factor: Box<FactorTypeFactor>,
2922}
2923
2924#[allow(dead_code)]
2930#[derive(Builder, Debug, Clone)]
2931#[builder(crate = "parol_runtime::derive_builder")]
2932pub struct ArrayLiteralItemGroupExpressionArrayLiteralItemOpt {
2933 pub expression: Box<Expression>,
2934 pub array_literal_item_opt: Option<ArrayLiteralItemOpt>,
2935}
2936
2937#[allow(dead_code)]
2943#[derive(Builder, Debug, Clone)]
2944#[builder(crate = "parol_runtime::derive_builder")]
2945pub struct ArrayLiteralItemGroupDefaulColonExpression {
2946 pub defaul: Box<Defaul>,
2947 pub colon: Box<Colon>,
2948 pub expression: Box<Expression>,
2949}
2950
2951#[allow(dead_code)]
2957#[derive(Builder, Debug, Clone)]
2958#[builder(crate = "parol_runtime::derive_builder")]
2959pub struct SelectOperatorColon {
2960 pub colon: Box<Colon>,
2961}
2962
2963#[allow(dead_code)]
2969#[derive(Builder, Debug, Clone)]
2970#[builder(crate = "parol_runtime::derive_builder")]
2971pub struct SelectOperatorPlusColon {
2972 pub plus_colon: Box<PlusColon>,
2973}
2974
2975#[allow(dead_code)]
2981#[derive(Builder, Debug, Clone)]
2982#[builder(crate = "parol_runtime::derive_builder")]
2983pub struct SelectOperatorMinusColon {
2984 pub minus_colon: Box<MinusColon>,
2985}
2986
2987#[allow(dead_code)]
2993#[derive(Builder, Debug, Clone)]
2994#[builder(crate = "parol_runtime::derive_builder")]
2995pub struct SelectOperatorStep {
2996 pub step: Box<Step>,
2997}
2998
2999#[allow(dead_code)]
3005#[derive(Builder, Debug, Clone)]
3006#[builder(crate = "parol_runtime::derive_builder")]
3007pub struct RangeOperatorDotDot {
3008 pub dot_dot: Box<DotDot>,
3009}
3010
3011#[allow(dead_code)]
3017#[derive(Builder, Debug, Clone)]
3018#[builder(crate = "parol_runtime::derive_builder")]
3019pub struct RangeOperatorDotDotEqu {
3020 pub dot_dot_equ: Box<DotDotEqu>,
3021}
3022
3023#[allow(dead_code)]
3029#[derive(Builder, Debug, Clone)]
3030#[builder(crate = "parol_runtime::derive_builder")]
3031pub struct FixedTypeU32 {
3032 pub u32: Box<U32>,
3033}
3034
3035#[allow(dead_code)]
3041#[derive(Builder, Debug, Clone)]
3042#[builder(crate = "parol_runtime::derive_builder")]
3043pub struct FixedTypeU64 {
3044 pub u64: Box<U64>,
3045}
3046
3047#[allow(dead_code)]
3053#[derive(Builder, Debug, Clone)]
3054#[builder(crate = "parol_runtime::derive_builder")]
3055pub struct FixedTypeI32 {
3056 pub i32: Box<I32>,
3057}
3058
3059#[allow(dead_code)]
3065#[derive(Builder, Debug, Clone)]
3066#[builder(crate = "parol_runtime::derive_builder")]
3067pub struct FixedTypeI64 {
3068 pub i64: Box<I64>,
3069}
3070
3071#[allow(dead_code)]
3077#[derive(Builder, Debug, Clone)]
3078#[builder(crate = "parol_runtime::derive_builder")]
3079pub struct FixedTypeF32 {
3080 pub f32: Box<F32>,
3081}
3082
3083#[allow(dead_code)]
3089#[derive(Builder, Debug, Clone)]
3090#[builder(crate = "parol_runtime::derive_builder")]
3091pub struct FixedTypeF64 {
3092 pub f64: Box<F64>,
3093}
3094
3095#[allow(dead_code)]
3101#[derive(Builder, Debug, Clone)]
3102#[builder(crate = "parol_runtime::derive_builder")]
3103pub struct FixedTypeStrin {
3104 pub strin: Box<Strin>,
3105}
3106
3107#[allow(dead_code)]
3113#[derive(Builder, Debug, Clone)]
3114#[builder(crate = "parol_runtime::derive_builder")]
3115pub struct VariableTypeClock {
3116 pub clock: Box<Clock>,
3117}
3118
3119#[allow(dead_code)]
3125#[derive(Builder, Debug, Clone)]
3126#[builder(crate = "parol_runtime::derive_builder")]
3127pub struct VariableTypeClockPosedge {
3128 pub clock_posedge: Box<ClockPosedge>,
3129}
3130
3131#[allow(dead_code)]
3137#[derive(Builder, Debug, Clone)]
3138#[builder(crate = "parol_runtime::derive_builder")]
3139pub struct VariableTypeClockNegedge {
3140 pub clock_negedge: Box<ClockNegedge>,
3141}
3142
3143#[allow(dead_code)]
3149#[derive(Builder, Debug, Clone)]
3150#[builder(crate = "parol_runtime::derive_builder")]
3151pub struct VariableTypeReset {
3152 pub reset: Box<Reset>,
3153}
3154
3155#[allow(dead_code)]
3161#[derive(Builder, Debug, Clone)]
3162#[builder(crate = "parol_runtime::derive_builder")]
3163pub struct VariableTypeResetAsyncHigh {
3164 pub reset_async_high: Box<ResetAsyncHigh>,
3165}
3166
3167#[allow(dead_code)]
3173#[derive(Builder, Debug, Clone)]
3174#[builder(crate = "parol_runtime::derive_builder")]
3175pub struct VariableTypeResetAsyncLow {
3176 pub reset_async_low: Box<ResetAsyncLow>,
3177}
3178
3179#[allow(dead_code)]
3185#[derive(Builder, Debug, Clone)]
3186#[builder(crate = "parol_runtime::derive_builder")]
3187pub struct VariableTypeResetSyncHigh {
3188 pub reset_sync_high: Box<ResetSyncHigh>,
3189}
3190
3191#[allow(dead_code)]
3197#[derive(Builder, Debug, Clone)]
3198#[builder(crate = "parol_runtime::derive_builder")]
3199pub struct VariableTypeResetSyncLow {
3200 pub reset_sync_low: Box<ResetSyncLow>,
3201}
3202
3203#[allow(dead_code)]
3209#[derive(Builder, Debug, Clone)]
3210#[builder(crate = "parol_runtime::derive_builder")]
3211pub struct VariableTypeLogic {
3212 pub logic: Box<Logic>,
3213}
3214
3215#[allow(dead_code)]
3221#[derive(Builder, Debug, Clone)]
3222#[builder(crate = "parol_runtime::derive_builder")]
3223pub struct VariableTypeBit {
3224 pub bit: Box<Bit>,
3225}
3226
3227#[allow(dead_code)]
3233#[derive(Builder, Debug, Clone)]
3234#[builder(crate = "parol_runtime::derive_builder")]
3235pub struct TypeModifierTri {
3236 pub tri: Box<Tri>,
3237}
3238
3239#[allow(dead_code)]
3245#[derive(Builder, Debug, Clone)]
3246#[builder(crate = "parol_runtime::derive_builder")]
3247pub struct TypeModifierSigned {
3248 pub signed: Box<Signed>,
3249}
3250
3251#[allow(dead_code)]
3257#[derive(Builder, Debug, Clone)]
3258#[builder(crate = "parol_runtime::derive_builder")]
3259pub struct FactorTypeGroupVariableTypeFactorTypeOpt {
3260 pub variable_type: Box<VariableType>,
3261 pub factor_type_opt: Option<FactorTypeOpt>,
3262}
3263
3264#[allow(dead_code)]
3270#[derive(Builder, Debug, Clone)]
3271#[builder(crate = "parol_runtime::derive_builder")]
3272pub struct FactorTypeGroupFixedType {
3273 pub fixed_type: Box<FixedType>,
3274}
3275
3276#[allow(dead_code)]
3282#[derive(Builder, Debug, Clone)]
3283#[builder(crate = "parol_runtime::derive_builder")]
3284pub struct ScalarTypeGroupUserDefinedTypeScalarTypeOpt {
3285 pub user_defined_type: Box<UserDefinedType>,
3286 pub scalar_type_opt: Option<ScalarTypeOpt>,
3287}
3288
3289#[allow(dead_code)]
3295#[derive(Builder, Debug, Clone)]
3296#[builder(crate = "parol_runtime::derive_builder")]
3297pub struct ScalarTypeGroupFactorType {
3298 pub factor_type: Box<FactorType>,
3299}
3300
3301#[allow(dead_code)]
3307#[derive(Builder, Debug, Clone)]
3308#[builder(crate = "parol_runtime::derive_builder")]
3309pub struct CastingTypeU32 {
3310 pub u32: Box<U32>,
3311}
3312
3313#[allow(dead_code)]
3319#[derive(Builder, Debug, Clone)]
3320#[builder(crate = "parol_runtime::derive_builder")]
3321pub struct CastingTypeU64 {
3322 pub u64: Box<U64>,
3323}
3324
3325#[allow(dead_code)]
3331#[derive(Builder, Debug, Clone)]
3332#[builder(crate = "parol_runtime::derive_builder")]
3333pub struct CastingTypeI32 {
3334 pub i32: Box<I32>,
3335}
3336
3337#[allow(dead_code)]
3343#[derive(Builder, Debug, Clone)]
3344#[builder(crate = "parol_runtime::derive_builder")]
3345pub struct CastingTypeI64 {
3346 pub i64: Box<I64>,
3347}
3348
3349#[allow(dead_code)]
3355#[derive(Builder, Debug, Clone)]
3356#[builder(crate = "parol_runtime::derive_builder")]
3357pub struct CastingTypeF32 {
3358 pub f32: Box<F32>,
3359}
3360
3361#[allow(dead_code)]
3367#[derive(Builder, Debug, Clone)]
3368#[builder(crate = "parol_runtime::derive_builder")]
3369pub struct CastingTypeF64 {
3370 pub f64: Box<F64>,
3371}
3372
3373#[allow(dead_code)]
3379#[derive(Builder, Debug, Clone)]
3380#[builder(crate = "parol_runtime::derive_builder")]
3381pub struct CastingTypeClock {
3382 pub clock: Box<Clock>,
3383}
3384
3385#[allow(dead_code)]
3391#[derive(Builder, Debug, Clone)]
3392#[builder(crate = "parol_runtime::derive_builder")]
3393pub struct CastingTypeClockPosedge {
3394 pub clock_posedge: Box<ClockPosedge>,
3395}
3396
3397#[allow(dead_code)]
3403#[derive(Builder, Debug, Clone)]
3404#[builder(crate = "parol_runtime::derive_builder")]
3405pub struct CastingTypeClockNegedge {
3406 pub clock_negedge: Box<ClockNegedge>,
3407}
3408
3409#[allow(dead_code)]
3415#[derive(Builder, Debug, Clone)]
3416#[builder(crate = "parol_runtime::derive_builder")]
3417pub struct CastingTypeReset {
3418 pub reset: Box<Reset>,
3419}
3420
3421#[allow(dead_code)]
3427#[derive(Builder, Debug, Clone)]
3428#[builder(crate = "parol_runtime::derive_builder")]
3429pub struct CastingTypeResetAsyncHigh {
3430 pub reset_async_high: Box<ResetAsyncHigh>,
3431}
3432
3433#[allow(dead_code)]
3439#[derive(Builder, Debug, Clone)]
3440#[builder(crate = "parol_runtime::derive_builder")]
3441pub struct CastingTypeResetAsyncLow {
3442 pub reset_async_low: Box<ResetAsyncLow>,
3443}
3444
3445#[allow(dead_code)]
3451#[derive(Builder, Debug, Clone)]
3452#[builder(crate = "parol_runtime::derive_builder")]
3453pub struct CastingTypeResetSyncHigh {
3454 pub reset_sync_high: Box<ResetSyncHigh>,
3455}
3456
3457#[allow(dead_code)]
3463#[derive(Builder, Debug, Clone)]
3464#[builder(crate = "parol_runtime::derive_builder")]
3465pub struct CastingTypeResetSyncLow {
3466 pub reset_sync_low: Box<ResetSyncLow>,
3467}
3468
3469#[allow(dead_code)]
3475#[derive(Builder, Debug, Clone)]
3476#[builder(crate = "parol_runtime::derive_builder")]
3477pub struct CastingTypeUserDefinedType {
3478 pub user_defined_type: Box<UserDefinedType>,
3479}
3480
3481#[allow(dead_code)]
3487#[derive(Builder, Debug, Clone)]
3488#[builder(crate = "parol_runtime::derive_builder")]
3489pub struct CastingTypeBased {
3490 pub based: Box<Based>,
3491}
3492
3493#[allow(dead_code)]
3499#[derive(Builder, Debug, Clone)]
3500#[builder(crate = "parol_runtime::derive_builder")]
3501pub struct CastingTypeBaseLess {
3502 pub base_less: Box<BaseLess>,
3503}
3504
3505#[allow(dead_code)]
3511#[derive(Builder, Debug, Clone)]
3512#[builder(crate = "parol_runtime::derive_builder")]
3513pub struct StatementBlockGroupGroupLBraceStatementBlockGroupGroupListRBrace {
3514 pub l_brace: Box<LBrace>,
3515 pub statement_block_group_group_list: Vec<StatementBlockGroupGroupList>,
3516 pub r_brace: Box<RBrace>,
3517}
3518
3519#[allow(dead_code)]
3525#[derive(Builder, Debug, Clone)]
3526#[builder(crate = "parol_runtime::derive_builder")]
3527pub struct StatementBlockGroupGroupStatementBlockItem {
3528 pub statement_block_item: Box<StatementBlockItem>,
3529}
3530
3531#[allow(dead_code)]
3537#[derive(Builder, Debug, Clone)]
3538#[builder(crate = "parol_runtime::derive_builder")]
3539pub struct StatementBlockItemVarDeclaration {
3540 pub var_declaration: Box<VarDeclaration>,
3541}
3542
3543#[allow(dead_code)]
3549#[derive(Builder, Debug, Clone)]
3550#[builder(crate = "parol_runtime::derive_builder")]
3551pub struct StatementBlockItemLetStatement {
3552 pub let_statement: Box<LetStatement>,
3553}
3554
3555#[allow(dead_code)]
3561#[derive(Builder, Debug, Clone)]
3562#[builder(crate = "parol_runtime::derive_builder")]
3563pub struct StatementBlockItemStatement {
3564 pub statement: Box<Statement>,
3565}
3566
3567#[allow(dead_code)]
3573#[derive(Builder, Debug, Clone)]
3574#[builder(crate = "parol_runtime::derive_builder")]
3575pub struct StatementIdentifierStatement {
3576 pub identifier_statement: Box<IdentifierStatement>,
3577}
3578
3579#[allow(dead_code)]
3585#[derive(Builder, Debug, Clone)]
3586#[builder(crate = "parol_runtime::derive_builder")]
3587pub struct StatementIfStatement {
3588 pub if_statement: Box<IfStatement>,
3589}
3590
3591#[allow(dead_code)]
3597#[derive(Builder, Debug, Clone)]
3598#[builder(crate = "parol_runtime::derive_builder")]
3599pub struct StatementIfResetStatement {
3600 pub if_reset_statement: Box<IfResetStatement>,
3601}
3602
3603#[allow(dead_code)]
3609#[derive(Builder, Debug, Clone)]
3610#[builder(crate = "parol_runtime::derive_builder")]
3611pub struct StatementReturnStatement {
3612 pub return_statement: Box<ReturnStatement>,
3613}
3614
3615#[allow(dead_code)]
3621#[derive(Builder, Debug, Clone)]
3622#[builder(crate = "parol_runtime::derive_builder")]
3623pub struct StatementBreakStatement {
3624 pub break_statement: Box<BreakStatement>,
3625}
3626
3627#[allow(dead_code)]
3633#[derive(Builder, Debug, Clone)]
3634#[builder(crate = "parol_runtime::derive_builder")]
3635pub struct StatementForStatement {
3636 pub for_statement: Box<ForStatement>,
3637}
3638
3639#[allow(dead_code)]
3645#[derive(Builder, Debug, Clone)]
3646#[builder(crate = "parol_runtime::derive_builder")]
3647pub struct StatementCaseStatement {
3648 pub case_statement: Box<CaseStatement>,
3649}
3650
3651#[allow(dead_code)]
3657#[derive(Builder, Debug, Clone)]
3658#[builder(crate = "parol_runtime::derive_builder")]
3659pub struct StatementSwitchStatement {
3660 pub switch_statement: Box<SwitchStatement>,
3661}
3662
3663#[allow(dead_code)]
3669#[derive(Builder, Debug, Clone)]
3670#[builder(crate = "parol_runtime::derive_builder")]
3671pub struct IdentifierStatementGroupFunctionCall {
3672 pub function_call: Box<FunctionCall>,
3673}
3674
3675#[allow(dead_code)]
3681#[derive(Builder, Debug, Clone)]
3682#[builder(crate = "parol_runtime::derive_builder")]
3683pub struct IdentifierStatementGroupAssignment {
3684 pub assignment: Box<Assignment>,
3685}
3686
3687#[allow(dead_code)]
3693#[derive(Builder, Debug, Clone)]
3694#[builder(crate = "parol_runtime::derive_builder")]
3695pub struct AssignmentGroupEqu {
3696 pub equ: Box<Equ>,
3697}
3698
3699#[allow(dead_code)]
3705#[derive(Builder, Debug, Clone)]
3706#[builder(crate = "parol_runtime::derive_builder")]
3707pub struct AssignmentGroupAssignmentOperator {
3708 pub assignment_operator: Box<AssignmentOperator>,
3709}
3710
3711#[allow(dead_code)]
3717#[derive(Builder, Debug, Clone)]
3718#[builder(crate = "parol_runtime::derive_builder")]
3719pub struct CaseItemGroup0Statement {
3720 pub statement: Box<Statement>,
3721}
3722
3723#[allow(dead_code)]
3729#[derive(Builder, Debug, Clone)]
3730#[builder(crate = "parol_runtime::derive_builder")]
3731pub struct CaseItemGroup0StatementBlock {
3732 pub statement_block: Box<StatementBlock>,
3733}
3734
3735#[allow(dead_code)]
3741#[derive(Builder, Debug, Clone)]
3742#[builder(crate = "parol_runtime::derive_builder")]
3743pub struct CaseItemGroupCaseCondition {
3744 pub case_condition: Box<CaseCondition>,
3745}
3746
3747#[allow(dead_code)]
3753#[derive(Builder, Debug, Clone)]
3754#[builder(crate = "parol_runtime::derive_builder")]
3755pub struct CaseItemGroupDefaul {
3756 pub defaul: Box<Defaul>,
3757}
3758
3759#[allow(dead_code)]
3765#[derive(Builder, Debug, Clone)]
3766#[builder(crate = "parol_runtime::derive_builder")]
3767pub struct SwitchItemGroup0Statement {
3768 pub statement: Box<Statement>,
3769}
3770
3771#[allow(dead_code)]
3777#[derive(Builder, Debug, Clone)]
3778#[builder(crate = "parol_runtime::derive_builder")]
3779pub struct SwitchItemGroup0StatementBlock {
3780 pub statement_block: Box<StatementBlock>,
3781}
3782
3783#[allow(dead_code)]
3789#[derive(Builder, Debug, Clone)]
3790#[builder(crate = "parol_runtime::derive_builder")]
3791pub struct SwitchItemGroupSwitchCondition {
3792 pub switch_condition: Box<SwitchCondition>,
3793}
3794
3795#[allow(dead_code)]
3801#[derive(Builder, Debug, Clone)]
3802#[builder(crate = "parol_runtime::derive_builder")]
3803pub struct SwitchItemGroupDefaul {
3804 pub defaul: Box<Defaul>,
3805}
3806
3807#[allow(dead_code)]
3813#[derive(Builder, Debug, Clone)]
3814#[builder(crate = "parol_runtime::derive_builder")]
3815pub struct AttributeItemIdentifier {
3816 pub identifier: Box<Identifier>,
3817}
3818
3819#[allow(dead_code)]
3825#[derive(Builder, Debug, Clone)]
3826#[builder(crate = "parol_runtime::derive_builder")]
3827pub struct AttributeItemStringLiteral {
3828 pub string_literal: Box<StringLiteral>,
3829}
3830
3831#[allow(dead_code)]
3837#[derive(Builder, Debug, Clone)]
3838#[builder(crate = "parol_runtime::derive_builder")]
3839pub struct ConstDeclarationGroupArrayType {
3840 pub array_type: Box<ArrayType>,
3841}
3842
3843#[allow(dead_code)]
3849#[derive(Builder, Debug, Clone)]
3850#[builder(crate = "parol_runtime::derive_builder")]
3851pub struct ConstDeclarationGroupType {
3852 pub r#type: Box<Type>,
3853}
3854
3855#[allow(dead_code)]
3861#[derive(Builder, Debug, Clone)]
3862#[builder(crate = "parol_runtime::derive_builder")]
3863pub struct AssignDestinationHierarchicalIdentifier {
3864 pub hierarchical_identifier: Box<HierarchicalIdentifier>,
3865}
3866
3867#[allow(dead_code)]
3873#[derive(Builder, Debug, Clone)]
3874#[builder(crate = "parol_runtime::derive_builder")]
3875pub struct AssignDestinationLBraceAssignConcatenationListRBrace {
3876 pub l_brace: Box<LBrace>,
3877 pub assign_concatenation_list: Box<AssignConcatenationList>,
3878 pub r_brace: Box<RBrace>,
3879}
3880
3881#[allow(dead_code)]
3887#[derive(Builder, Debug, Clone)]
3888#[builder(crate = "parol_runtime::derive_builder")]
3889pub struct ModportGroupGroupLBraceModportListRBrace {
3890 pub l_brace: Box<LBrace>,
3891 pub modport_list: Box<ModportList>,
3892 pub r_brace: Box<RBrace>,
3893}
3894
3895#[allow(dead_code)]
3901#[derive(Builder, Debug, Clone)]
3902#[builder(crate = "parol_runtime::derive_builder")]
3903pub struct ModportGroupGroupModportItem {
3904 pub modport_item: Box<ModportItem>,
3905}
3906
3907#[allow(dead_code)]
3913#[derive(Builder, Debug, Clone)]
3914#[builder(crate = "parol_runtime::derive_builder")]
3915pub struct ModportDefaultInput {
3916 pub input: Box<Input>,
3917}
3918
3919#[allow(dead_code)]
3925#[derive(Builder, Debug, Clone)]
3926#[builder(crate = "parol_runtime::derive_builder")]
3927pub struct ModportDefaultOutput {
3928 pub output: Box<Output>,
3929}
3930
3931#[allow(dead_code)]
3937#[derive(Builder, Debug, Clone)]
3938#[builder(crate = "parol_runtime::derive_builder")]
3939pub struct ModportDefaultConverseLParenIdentifierRParen {
3940 pub converse: Box<Converse>,
3941 pub l_paren: Box<LParen>,
3942 pub identifier: Box<Identifier>,
3943 pub r_paren: Box<RParen>,
3944}
3945
3946#[allow(dead_code)]
3952#[derive(Builder, Debug, Clone)]
3953#[builder(crate = "parol_runtime::derive_builder")]
3954pub struct EnumGroupGroupLBraceEnumListRBrace {
3955 pub l_brace: Box<LBrace>,
3956 pub enum_list: Box<EnumList>,
3957 pub r_brace: Box<RBrace>,
3958}
3959
3960#[allow(dead_code)]
3966#[derive(Builder, Debug, Clone)]
3967#[builder(crate = "parol_runtime::derive_builder")]
3968pub struct EnumGroupGroupEnumItem {
3969 pub enum_item: Box<EnumItem>,
3970}
3971
3972#[allow(dead_code)]
3978#[derive(Builder, Debug, Clone)]
3979#[builder(crate = "parol_runtime::derive_builder")]
3980pub struct StructUnionStruct {
3981 pub r#struct: Box<Struct>,
3982}
3983
3984#[allow(dead_code)]
3990#[derive(Builder, Debug, Clone)]
3991#[builder(crate = "parol_runtime::derive_builder")]
3992pub struct StructUnionUnion {
3993 pub r#union: Box<Union>,
3994}
3995
3996#[allow(dead_code)]
4002#[derive(Builder, Debug, Clone)]
4003#[builder(crate = "parol_runtime::derive_builder")]
4004pub struct StructUnionGroupGroupLBraceStructUnionListRBrace {
4005 pub l_brace: Box<LBrace>,
4006 pub struct_union_list: Box<StructUnionList>,
4007 pub r_brace: Box<RBrace>,
4008}
4009
4010#[allow(dead_code)]
4016#[derive(Builder, Debug, Clone)]
4017#[builder(crate = "parol_runtime::derive_builder")]
4018pub struct StructUnionGroupGroupStructUnionItem {
4019 pub struct_union_item: Box<StructUnionItem>,
4020}
4021
4022#[allow(dead_code)]
4028#[derive(Builder, Debug, Clone)]
4029#[builder(crate = "parol_runtime::derive_builder")]
4030pub struct InstParameterGroupGroupLBraceInstParameterListRBrace {
4031 pub l_brace: Box<LBrace>,
4032 pub inst_parameter_list: Box<InstParameterList>,
4033 pub r_brace: Box<RBrace>,
4034}
4035
4036#[allow(dead_code)]
4042#[derive(Builder, Debug, Clone)]
4043#[builder(crate = "parol_runtime::derive_builder")]
4044pub struct InstParameterGroupGroupInstParameterItem {
4045 pub inst_parameter_item: Box<InstParameterItem>,
4046}
4047
4048#[allow(dead_code)]
4054#[derive(Builder, Debug, Clone)]
4055#[builder(crate = "parol_runtime::derive_builder")]
4056pub struct InstPortGroupGroupLBraceInstPortListRBrace {
4057 pub l_brace: Box<LBrace>,
4058 pub inst_port_list: Box<InstPortList>,
4059 pub r_brace: Box<RBrace>,
4060}
4061
4062#[allow(dead_code)]
4068#[derive(Builder, Debug, Clone)]
4069#[builder(crate = "parol_runtime::derive_builder")]
4070pub struct InstPortGroupGroupInstPortItem {
4071 pub inst_port_item: Box<InstPortItem>,
4072}
4073
4074#[allow(dead_code)]
4080#[derive(Builder, Debug, Clone)]
4081#[builder(crate = "parol_runtime::derive_builder")]
4082pub struct WithParameterGroupGroupLBraceWithParameterListRBrace {
4083 pub l_brace: Box<LBrace>,
4084 pub with_parameter_list: Box<WithParameterList>,
4085 pub r_brace: Box<RBrace>,
4086}
4087
4088#[allow(dead_code)]
4094#[derive(Builder, Debug, Clone)]
4095#[builder(crate = "parol_runtime::derive_builder")]
4096pub struct WithParameterGroupGroupWithParameterItem {
4097 pub with_parameter_item: Box<WithParameterItem>,
4098}
4099
4100#[allow(dead_code)]
4106#[derive(Builder, Debug, Clone)]
4107#[builder(crate = "parol_runtime::derive_builder")]
4108pub struct WithParameterItemGroup0ArrayType {
4109 pub array_type: Box<ArrayType>,
4110}
4111
4112#[allow(dead_code)]
4118#[derive(Builder, Debug, Clone)]
4119#[builder(crate = "parol_runtime::derive_builder")]
4120pub struct WithParameterItemGroup0Type {
4121 pub r#type: Box<Type>,
4122}
4123
4124#[allow(dead_code)]
4130#[derive(Builder, Debug, Clone)]
4131#[builder(crate = "parol_runtime::derive_builder")]
4132pub struct WithParameterItemGroupParam {
4133 pub param: Box<Param>,
4134}
4135
4136#[allow(dead_code)]
4142#[derive(Builder, Debug, Clone)]
4143#[builder(crate = "parol_runtime::derive_builder")]
4144pub struct WithParameterItemGroupConst {
4145 pub r#const: Box<Const>,
4146}
4147
4148#[allow(dead_code)]
4154#[derive(Builder, Debug, Clone)]
4155#[builder(crate = "parol_runtime::derive_builder")]
4156pub struct GenericBoundConst {
4157 pub r#const: Box<Const>,
4158}
4159
4160#[allow(dead_code)]
4166#[derive(Builder, Debug, Clone)]
4167#[builder(crate = "parol_runtime::derive_builder")]
4168pub struct GenericBoundType {
4169 pub r#type: Box<Type>,
4170}
4171
4172#[allow(dead_code)]
4178#[derive(Builder, Debug, Clone)]
4179#[builder(crate = "parol_runtime::derive_builder")]
4180pub struct GenericBoundInstScopedIdentifier {
4181 pub inst: Box<Inst>,
4182 pub scoped_identifier: Box<ScopedIdentifier>,
4183}
4184
4185#[allow(dead_code)]
4191#[derive(Builder, Debug, Clone)]
4192#[builder(crate = "parol_runtime::derive_builder")]
4193pub struct GenericBoundScopedIdentifier {
4194 pub scoped_identifier: Box<ScopedIdentifier>,
4195}
4196
4197#[allow(dead_code)]
4203#[derive(Builder, Debug, Clone)]
4204#[builder(crate = "parol_runtime::derive_builder")]
4205pub struct WithGenericArgumentItemScopedIdentifier {
4206 pub scoped_identifier: Box<ScopedIdentifier>,
4207}
4208
4209#[allow(dead_code)]
4215#[derive(Builder, Debug, Clone)]
4216#[builder(crate = "parol_runtime::derive_builder")]
4217pub struct WithGenericArgumentItemNumber {
4218 pub number: Box<Number>,
4219}
4220
4221#[allow(dead_code)]
4227#[derive(Builder, Debug, Clone)]
4228#[builder(crate = "parol_runtime::derive_builder")]
4229pub struct PortDeclarationGroupGroupLBracePortDeclarationListRBrace {
4230 pub l_brace: Box<LBrace>,
4231 pub port_declaration_list: Box<PortDeclarationList>,
4232 pub r_brace: Box<RBrace>,
4233}
4234
4235#[allow(dead_code)]
4241#[derive(Builder, Debug, Clone)]
4242#[builder(crate = "parol_runtime::derive_builder")]
4243pub struct PortDeclarationGroupGroupPortDeclarationItem {
4244 pub port_declaration_item: Box<PortDeclarationItem>,
4245}
4246
4247#[allow(dead_code)]
4253#[derive(Builder, Debug, Clone)]
4254#[builder(crate = "parol_runtime::derive_builder")]
4255pub struct PortDeclarationItemGroupPortTypeConcrete {
4256 pub port_type_concrete: Box<PortTypeConcrete>,
4257}
4258
4259#[allow(dead_code)]
4265#[derive(Builder, Debug, Clone)]
4266#[builder(crate = "parol_runtime::derive_builder")]
4267pub struct PortDeclarationItemGroupPortTypeAbstract {
4268 pub port_type_abstract: Box<PortTypeAbstract>,
4269}
4270
4271#[allow(dead_code)]
4277#[derive(Builder, Debug, Clone)]
4278#[builder(crate = "parol_runtime::derive_builder")]
4279pub struct DirectionInput {
4280 pub input: Box<Input>,
4281}
4282
4283#[allow(dead_code)]
4289#[derive(Builder, Debug, Clone)]
4290#[builder(crate = "parol_runtime::derive_builder")]
4291pub struct DirectionOutput {
4292 pub output: Box<Output>,
4293}
4294
4295#[allow(dead_code)]
4301#[derive(Builder, Debug, Clone)]
4302#[builder(crate = "parol_runtime::derive_builder")]
4303pub struct DirectionInout {
4304 pub inout: Box<Inout>,
4305}
4306
4307#[allow(dead_code)]
4313#[derive(Builder, Debug, Clone)]
4314#[builder(crate = "parol_runtime::derive_builder")]
4315pub struct DirectionRef {
4316 pub r#ref: Box<Ref>,
4317}
4318
4319#[allow(dead_code)]
4325#[derive(Builder, Debug, Clone)]
4326#[builder(crate = "parol_runtime::derive_builder")]
4327pub struct DirectionModport {
4328 pub modport: Box<Modport>,
4329}
4330
4331#[allow(dead_code)]
4337#[derive(Builder, Debug, Clone)]
4338#[builder(crate = "parol_runtime::derive_builder")]
4339pub struct DirectionImport {
4340 pub import: Box<Import>,
4341}
4342
4343#[allow(dead_code)]
4349#[derive(Builder, Debug, Clone)]
4350#[builder(crate = "parol_runtime::derive_builder")]
4351pub struct ExportDeclarationGroupStar {
4352 pub star: Box<Star>,
4353}
4354
4355#[allow(dead_code)]
4361#[derive(Builder, Debug, Clone)]
4362#[builder(crate = "parol_runtime::derive_builder")]
4363pub struct ExportDeclarationGroupScopedIdentifierExportDeclarationOpt {
4364 pub scoped_identifier: Box<ScopedIdentifier>,
4365 pub export_declaration_opt: Option<ExportDeclarationOpt>,
4366}
4367
4368#[allow(dead_code)]
4374#[derive(Builder, Debug, Clone)]
4375#[builder(crate = "parol_runtime::derive_builder")]
4376pub struct ModuleGroupGroupLBraceModuleGroupGroupListRBrace {
4377 pub l_brace: Box<LBrace>,
4378 pub module_group_group_list: Vec<ModuleGroupGroupList>,
4379 pub r_brace: Box<RBrace>,
4380}
4381
4382#[allow(dead_code)]
4388#[derive(Builder, Debug, Clone)]
4389#[builder(crate = "parol_runtime::derive_builder")]
4390pub struct ModuleGroupGroupModuleItem {
4391 pub module_item: Box<ModuleItem>,
4392}
4393
4394#[allow(dead_code)]
4400#[derive(Builder, Debug, Clone)]
4401#[builder(crate = "parol_runtime::derive_builder")]
4402pub struct InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace {
4403 pub l_brace: Box<LBrace>,
4404 pub interface_group_group_list: Vec<InterfaceGroupGroupList>,
4405 pub r_brace: Box<RBrace>,
4406}
4407
4408#[allow(dead_code)]
4414#[derive(Builder, Debug, Clone)]
4415#[builder(crate = "parol_runtime::derive_builder")]
4416pub struct InterfaceGroupGroupInterfaceItem {
4417 pub interface_item: Box<InterfaceItem>,
4418}
4419
4420#[allow(dead_code)]
4426#[derive(Builder, Debug, Clone)]
4427#[builder(crate = "parol_runtime::derive_builder")]
4428pub struct InterfaceItemGenerateItem {
4429 pub generate_item: Box<GenerateItem>,
4430}
4431
4432#[allow(dead_code)]
4438#[derive(Builder, Debug, Clone)]
4439#[builder(crate = "parol_runtime::derive_builder")]
4440pub struct InterfaceItemModportDeclaration {
4441 pub modport_declaration: Box<ModportDeclaration>,
4442}
4443
4444#[allow(dead_code)]
4450#[derive(Builder, Debug, Clone)]
4451#[builder(crate = "parol_runtime::derive_builder")]
4452pub struct GenerateGroupGroupLBraceGenerateGroupGroupListRBrace {
4453 pub l_brace: Box<LBrace>,
4454 pub generate_group_group_list: Vec<GenerateGroupGroupList>,
4455 pub r_brace: Box<RBrace>,
4456}
4457
4458#[allow(dead_code)]
4464#[derive(Builder, Debug, Clone)]
4465#[builder(crate = "parol_runtime::derive_builder")]
4466pub struct GenerateGroupGroupGenerateItem {
4467 pub generate_item: Box<GenerateItem>,
4468}
4469
4470#[allow(dead_code)]
4476#[derive(Builder, Debug, Clone)]
4477#[builder(crate = "parol_runtime::derive_builder")]
4478pub struct GenerateItemLetDeclaration {
4479 pub let_declaration: Box<LetDeclaration>,
4480}
4481
4482#[allow(dead_code)]
4488#[derive(Builder, Debug, Clone)]
4489#[builder(crate = "parol_runtime::derive_builder")]
4490pub struct GenerateItemVarDeclaration {
4491 pub var_declaration: Box<VarDeclaration>,
4492}
4493
4494#[allow(dead_code)]
4500#[derive(Builder, Debug, Clone)]
4501#[builder(crate = "parol_runtime::derive_builder")]
4502pub struct GenerateItemInstDeclaration {
4503 pub inst_declaration: Box<InstDeclaration>,
4504}
4505
4506#[allow(dead_code)]
4512#[derive(Builder, Debug, Clone)]
4513#[builder(crate = "parol_runtime::derive_builder")]
4514pub struct GenerateItemConstDeclaration {
4515 pub const_declaration: Box<ConstDeclaration>,
4516}
4517
4518#[allow(dead_code)]
4524#[derive(Builder, Debug, Clone)]
4525#[builder(crate = "parol_runtime::derive_builder")]
4526pub struct GenerateItemAlwaysFfDeclaration {
4527 pub always_ff_declaration: Box<AlwaysFfDeclaration>,
4528}
4529
4530#[allow(dead_code)]
4536#[derive(Builder, Debug, Clone)]
4537#[builder(crate = "parol_runtime::derive_builder")]
4538pub struct GenerateItemAlwaysCombDeclaration {
4539 pub always_comb_declaration: Box<AlwaysCombDeclaration>,
4540}
4541
4542#[allow(dead_code)]
4548#[derive(Builder, Debug, Clone)]
4549#[builder(crate = "parol_runtime::derive_builder")]
4550pub struct GenerateItemAssignDeclaration {
4551 pub assign_declaration: Box<AssignDeclaration>,
4552}
4553
4554#[allow(dead_code)]
4560#[derive(Builder, Debug, Clone)]
4561#[builder(crate = "parol_runtime::derive_builder")]
4562pub struct GenerateItemFunctionDeclaration {
4563 pub function_declaration: Box<FunctionDeclaration>,
4564}
4565
4566#[allow(dead_code)]
4572#[derive(Builder, Debug, Clone)]
4573#[builder(crate = "parol_runtime::derive_builder")]
4574pub struct GenerateItemGenerateIfDeclaration {
4575 pub generate_if_declaration: Box<GenerateIfDeclaration>,
4576}
4577
4578#[allow(dead_code)]
4584#[derive(Builder, Debug, Clone)]
4585#[builder(crate = "parol_runtime::derive_builder")]
4586pub struct GenerateItemGenerateForDeclaration {
4587 pub generate_for_declaration: Box<GenerateForDeclaration>,
4588}
4589
4590#[allow(dead_code)]
4596#[derive(Builder, Debug, Clone)]
4597#[builder(crate = "parol_runtime::derive_builder")]
4598pub struct GenerateItemGenerateBlockDeclaration {
4599 pub generate_block_declaration: Box<GenerateBlockDeclaration>,
4600}
4601
4602#[allow(dead_code)]
4608#[derive(Builder, Debug, Clone)]
4609#[builder(crate = "parol_runtime::derive_builder")]
4610pub struct GenerateItemTypeDefDeclaration {
4611 pub type_def_declaration: Box<TypeDefDeclaration>,
4612}
4613
4614#[allow(dead_code)]
4620#[derive(Builder, Debug, Clone)]
4621#[builder(crate = "parol_runtime::derive_builder")]
4622pub struct GenerateItemEnumDeclaration {
4623 pub enum_declaration: Box<EnumDeclaration>,
4624}
4625
4626#[allow(dead_code)]
4632#[derive(Builder, Debug, Clone)]
4633#[builder(crate = "parol_runtime::derive_builder")]
4634pub struct GenerateItemStructUnionDeclaration {
4635 pub struct_union_declaration: Box<StructUnionDeclaration>,
4636}
4637
4638#[allow(dead_code)]
4644#[derive(Builder, Debug, Clone)]
4645#[builder(crate = "parol_runtime::derive_builder")]
4646pub struct GenerateItemImportDeclaration {
4647 pub import_declaration: Box<ImportDeclaration>,
4648}
4649
4650#[allow(dead_code)]
4656#[derive(Builder, Debug, Clone)]
4657#[builder(crate = "parol_runtime::derive_builder")]
4658pub struct GenerateItemInitialDeclaration {
4659 pub initial_declaration: Box<InitialDeclaration>,
4660}
4661
4662#[allow(dead_code)]
4668#[derive(Builder, Debug, Clone)]
4669#[builder(crate = "parol_runtime::derive_builder")]
4670pub struct GenerateItemFinalDeclaration {
4671 pub final_declaration: Box<FinalDeclaration>,
4672}
4673
4674#[allow(dead_code)]
4680#[derive(Builder, Debug, Clone)]
4681#[builder(crate = "parol_runtime::derive_builder")]
4682pub struct GenerateItemUnsafeBlock {
4683 pub unsafe_block: Box<UnsafeBlock>,
4684}
4685
4686#[allow(dead_code)]
4692#[derive(Builder, Debug, Clone)]
4693#[builder(crate = "parol_runtime::derive_builder")]
4694pub struct PackageGroupGroupLBracePackageGroupGroupListRBrace {
4695 pub l_brace: Box<LBrace>,
4696 pub package_group_group_list: Vec<PackageGroupGroupList>,
4697 pub r_brace: Box<RBrace>,
4698}
4699
4700#[allow(dead_code)]
4706#[derive(Builder, Debug, Clone)]
4707#[builder(crate = "parol_runtime::derive_builder")]
4708pub struct PackageGroupGroupPackageItem {
4709 pub package_item: Box<PackageItem>,
4710}
4711
4712#[allow(dead_code)]
4718#[derive(Builder, Debug, Clone)]
4719#[builder(crate = "parol_runtime::derive_builder")]
4720pub struct PackageItemConstDeclaration {
4721 pub const_declaration: Box<ConstDeclaration>,
4722}
4723
4724#[allow(dead_code)]
4730#[derive(Builder, Debug, Clone)]
4731#[builder(crate = "parol_runtime::derive_builder")]
4732pub struct PackageItemTypeDefDeclaration {
4733 pub type_def_declaration: Box<TypeDefDeclaration>,
4734}
4735
4736#[allow(dead_code)]
4742#[derive(Builder, Debug, Clone)]
4743#[builder(crate = "parol_runtime::derive_builder")]
4744pub struct PackageItemEnumDeclaration {
4745 pub enum_declaration: Box<EnumDeclaration>,
4746}
4747
4748#[allow(dead_code)]
4754#[derive(Builder, Debug, Clone)]
4755#[builder(crate = "parol_runtime::derive_builder")]
4756pub struct PackageItemStructUnionDeclaration {
4757 pub struct_union_declaration: Box<StructUnionDeclaration>,
4758}
4759
4760#[allow(dead_code)]
4766#[derive(Builder, Debug, Clone)]
4767#[builder(crate = "parol_runtime::derive_builder")]
4768pub struct PackageItemFunctionDeclaration {
4769 pub function_declaration: Box<FunctionDeclaration>,
4770}
4771
4772#[allow(dead_code)]
4778#[derive(Builder, Debug, Clone)]
4779#[builder(crate = "parol_runtime::derive_builder")]
4780pub struct PackageItemImportDeclaration {
4781 pub import_declaration: Box<ImportDeclaration>,
4782}
4783
4784#[allow(dead_code)]
4790#[derive(Builder, Debug, Clone)]
4791#[builder(crate = "parol_runtime::derive_builder")]
4792pub struct PackageItemExportDeclaration {
4793 pub export_declaration: Box<ExportDeclaration>,
4794}
4795
4796#[allow(dead_code)]
4802#[derive(Builder, Debug, Clone)]
4803#[builder(crate = "parol_runtime::derive_builder")]
4804pub struct EmbedItemLBraceTermEmbedItemListRBraceTerm {
4805 pub l_brace_term: Box<LBraceTerm>,
4806 pub embed_item_list: Vec<EmbedItemList>,
4807 pub r_brace_term: Box<RBraceTerm>,
4808}
4809
4810#[allow(dead_code)]
4816#[derive(Builder, Debug, Clone)]
4817#[builder(crate = "parol_runtime::derive_builder")]
4818pub struct EmbedItemAnyTerm {
4819 pub any_term: Box<AnyTerm>,
4820}
4821
4822#[allow(dead_code)]
4828#[derive(Builder, Debug, Clone)]
4829#[builder(crate = "parol_runtime::derive_builder")]
4830pub struct DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace {
4831 pub l_brace: Box<LBrace>,
4832 pub description_group_group_list: Vec<DescriptionGroupGroupList>,
4833 pub r_brace: Box<RBrace>,
4834}
4835
4836#[allow(dead_code)]
4842#[derive(Builder, Debug, Clone)]
4843#[builder(crate = "parol_runtime::derive_builder")]
4844pub struct DescriptionGroupGroupDescriptionItem {
4845 pub description_item: Box<DescriptionItem>,
4846}
4847
4848#[allow(dead_code)]
4854#[derive(Builder, Debug, Clone)]
4855#[builder(crate = "parol_runtime::derive_builder")]
4856pub struct DescriptionItemDescriptionItemOptPublicDescriptionItem {
4857 pub description_item_opt: Option<DescriptionItemOpt>,
4858 pub public_description_item: Box<PublicDescriptionItem>,
4859}
4860
4861#[allow(dead_code)]
4867#[derive(Builder, Debug, Clone)]
4868#[builder(crate = "parol_runtime::derive_builder")]
4869pub struct DescriptionItemImportDeclaration {
4870 pub import_declaration: Box<ImportDeclaration>,
4871}
4872
4873#[allow(dead_code)]
4879#[derive(Builder, Debug, Clone)]
4880#[builder(crate = "parol_runtime::derive_builder")]
4881pub struct DescriptionItemEmbedDeclaration {
4882 pub embed_declaration: Box<EmbedDeclaration>,
4883}
4884
4885#[allow(dead_code)]
4891#[derive(Builder, Debug, Clone)]
4892#[builder(crate = "parol_runtime::derive_builder")]
4893pub struct DescriptionItemIncludeDeclaration {
4894 pub include_declaration: Box<IncludeDeclaration>,
4895}
4896
4897#[allow(dead_code)]
4903#[derive(Builder, Debug, Clone)]
4904#[builder(crate = "parol_runtime::derive_builder")]
4905pub struct PublicDescriptionItemModuleDeclaration {
4906 pub module_declaration: Box<ModuleDeclaration>,
4907}
4908
4909#[allow(dead_code)]
4915#[derive(Builder, Debug, Clone)]
4916#[builder(crate = "parol_runtime::derive_builder")]
4917pub struct PublicDescriptionItemInterfaceDeclaration {
4918 pub interface_declaration: Box<InterfaceDeclaration>,
4919}
4920
4921#[allow(dead_code)]
4927#[derive(Builder, Debug, Clone)]
4928#[builder(crate = "parol_runtime::derive_builder")]
4929pub struct PublicDescriptionItemPackageDeclaration {
4930 pub package_declaration: Box<PackageDeclaration>,
4931}
4932
4933#[allow(dead_code)]
4939#[derive(Builder, Debug, Clone)]
4940#[builder(crate = "parol_runtime::derive_builder")]
4941pub struct PublicDescriptionItemProtoModuleDeclaration {
4942 pub proto_module_declaration: Box<ProtoModuleDeclaration>,
4943}
4944
4945#[allow(dead_code)]
4954#[derive(Builder, Debug, Clone)]
4955#[builder(crate = "parol_runtime::derive_builder")]
4956pub struct AllBit {
4957 pub all_bit_token: crate::veryl_token::VerylToken,
4958}
4959
4960#[allow(dead_code)]
4964#[derive(Builder, Debug, Clone)]
4965#[builder(crate = "parol_runtime::derive_builder")]
4966pub struct AllBitTerm {
4967 pub all_bit_term: crate::veryl_token::Token, }
4969
4970#[allow(dead_code)]
4974#[derive(Builder, Debug, Clone)]
4975#[builder(crate = "parol_runtime::derive_builder")]
4976pub struct AllBitToken {
4977 pub all_bit_term: crate::veryl_token::Token,
4978 pub comments: Box<Comments>,
4979}
4980
4981#[allow(dead_code)]
4985#[derive(Builder, Debug, Clone)]
4986#[builder(crate = "parol_runtime::derive_builder")]
4987pub struct AlwaysComb {
4988 pub always_comb_token: crate::veryl_token::VerylToken,
4989}
4990
4991#[allow(dead_code)]
4995#[derive(Builder, Debug, Clone)]
4996#[builder(crate = "parol_runtime::derive_builder")]
4997pub struct AlwaysCombDeclaration {
4998 pub always_comb: Box<AlwaysComb>,
4999 pub statement_block: Box<StatementBlock>,
5000}
5001
5002#[allow(dead_code)]
5006#[derive(Builder, Debug, Clone)]
5007#[builder(crate = "parol_runtime::derive_builder")]
5008pub struct AlwaysCombTerm {
5009 pub always_comb_term: crate::veryl_token::Token, }
5011
5012#[allow(dead_code)]
5016#[derive(Builder, Debug, Clone)]
5017#[builder(crate = "parol_runtime::derive_builder")]
5018pub struct AlwaysCombToken {
5019 pub always_comb_term: crate::veryl_token::Token,
5020 pub comments: Box<Comments>,
5021}
5022
5023#[allow(dead_code)]
5027#[derive(Builder, Debug, Clone)]
5028#[builder(crate = "parol_runtime::derive_builder")]
5029pub struct AlwaysFf {
5030 pub always_ff_token: crate::veryl_token::VerylToken,
5031}
5032
5033#[allow(dead_code)]
5037#[derive(Builder, Debug, Clone)]
5038#[builder(crate = "parol_runtime::derive_builder")]
5039pub struct AlwaysFfClock {
5040 pub hierarchical_identifier: Box<HierarchicalIdentifier>,
5041}
5042
5043#[allow(dead_code)]
5047#[derive(Builder, Debug, Clone)]
5048#[builder(crate = "parol_runtime::derive_builder")]
5049pub struct AlwaysFfDeclaration {
5050 pub always_ff: Box<AlwaysFf>,
5051 pub always_ff_declaration_opt: Option<AlwaysFfDeclarationOpt>,
5052 pub statement_block: Box<StatementBlock>,
5053}
5054
5055#[allow(dead_code)]
5059#[derive(Builder, Debug, Clone)]
5060#[builder(crate = "parol_runtime::derive_builder")]
5061pub struct AlwaysFfDeclarationOpt {
5062 pub always_ff_event_list: Box<AlwaysFfEventList>,
5063}
5064
5065#[allow(dead_code)]
5069#[derive(Builder, Debug, Clone)]
5070#[builder(crate = "parol_runtime::derive_builder")]
5071pub struct AlwaysFfEventList {
5072 pub l_paren: Box<LParen>,
5073 pub always_ff_clock: Box<AlwaysFfClock>,
5074 pub always_ff_event_list_opt: Option<AlwaysFfEventListOpt>,
5075 pub r_paren: Box<RParen>,
5076}
5077
5078#[allow(dead_code)]
5082#[derive(Builder, Debug, Clone)]
5083#[builder(crate = "parol_runtime::derive_builder")]
5084pub struct AlwaysFfEventListOpt {
5085 pub comma: Box<Comma>,
5086 pub always_ff_reset: Box<AlwaysFfReset>,
5087}
5088
5089#[allow(dead_code)]
5093#[derive(Builder, Debug, Clone)]
5094#[builder(crate = "parol_runtime::derive_builder")]
5095pub struct AlwaysFfReset {
5096 pub hierarchical_identifier: Box<HierarchicalIdentifier>,
5097}
5098
5099#[allow(dead_code)]
5103#[derive(Builder, Debug, Clone)]
5104#[builder(crate = "parol_runtime::derive_builder")]
5105pub struct AlwaysFfTerm {
5106 pub always_ff_term: crate::veryl_token::Token, }
5108
5109#[allow(dead_code)]
5113#[derive(Builder, Debug, Clone)]
5114#[builder(crate = "parol_runtime::derive_builder")]
5115pub struct AlwaysFfToken {
5116 pub always_ff_term: crate::veryl_token::Token,
5117 pub comments: Box<Comments>,
5118}
5119
5120#[allow(dead_code)]
5124#[derive(Builder, Debug, Clone)]
5125#[builder(crate = "parol_runtime::derive_builder")]
5126pub struct AnyTerm {
5127 pub any_term: crate::veryl_token::Token, }
5129
5130#[allow(dead_code)]
5134#[derive(Builder, Debug, Clone)]
5135#[builder(crate = "parol_runtime::derive_builder")]
5136pub struct ArgumentItem {
5137 pub expression: Box<Expression>,
5138}
5139
5140#[allow(dead_code)]
5144#[derive(Builder, Debug, Clone)]
5145#[builder(crate = "parol_runtime::derive_builder")]
5146pub struct ArgumentList {
5147 pub argument_item: Box<ArgumentItem>,
5148 pub argument_list_list: Vec<ArgumentListList>,
5149 pub argument_list_opt: Option<ArgumentListOpt>,
5150}
5151
5152#[allow(dead_code)]
5156#[derive(Builder, Debug, Clone)]
5157#[builder(crate = "parol_runtime::derive_builder")]
5158pub struct ArgumentListList {
5159 pub comma: Box<Comma>,
5160 pub argument_item: Box<ArgumentItem>,
5161}
5162
5163#[allow(dead_code)]
5167#[derive(Builder, Debug, Clone)]
5168#[builder(crate = "parol_runtime::derive_builder")]
5169pub struct ArgumentListOpt {
5170 pub comma: Box<Comma>,
5171}
5172
5173#[allow(dead_code)]
5177#[derive(Builder, Debug, Clone)]
5178#[builder(crate = "parol_runtime::derive_builder")]
5179pub struct Array {
5180 pub l_bracket: Box<LBracket>,
5181 pub expression: Box<Expression>,
5182 pub array_list: Vec<ArrayList>,
5183 pub r_bracket: Box<RBracket>,
5184}
5185
5186#[allow(dead_code)]
5190#[derive(Builder, Debug, Clone)]
5191#[builder(crate = "parol_runtime::derive_builder")]
5192pub struct ArrayList {
5193 pub comma: Box<Comma>,
5194 pub expression: Box<Expression>,
5195}
5196
5197#[allow(dead_code)]
5201#[derive(Builder, Debug, Clone)]
5202#[builder(crate = "parol_runtime::derive_builder")]
5203pub struct ArrayLiteralItem {
5204 pub array_literal_item_group: Box<ArrayLiteralItemGroup>,
5205}
5206
5207#[allow(dead_code)]
5211#[derive(Debug, Clone)]
5212pub enum ArrayLiteralItemGroup {
5213 ExpressionArrayLiteralItemOpt(ArrayLiteralItemGroupExpressionArrayLiteralItemOpt),
5214 DefaulColonExpression(ArrayLiteralItemGroupDefaulColonExpression),
5215}
5216
5217#[allow(dead_code)]
5221#[derive(Builder, Debug, Clone)]
5222#[builder(crate = "parol_runtime::derive_builder")]
5223pub struct ArrayLiteralItemOpt {
5224 pub repeat: Box<Repeat>,
5225 pub expression: Box<Expression>,
5226}
5227
5228#[allow(dead_code)]
5232#[derive(Builder, Debug, Clone)]
5233#[builder(crate = "parol_runtime::derive_builder")]
5234pub struct ArrayLiteralList {
5235 pub array_literal_item: Box<ArrayLiteralItem>,
5236 pub array_literal_list_list: Vec<ArrayLiteralListList>,
5237 pub array_literal_list_opt: Option<ArrayLiteralListOpt>,
5238}
5239
5240#[allow(dead_code)]
5244#[derive(Builder, Debug, Clone)]
5245#[builder(crate = "parol_runtime::derive_builder")]
5246pub struct ArrayLiteralListList {
5247 pub comma: Box<Comma>,
5248 pub array_literal_item: Box<ArrayLiteralItem>,
5249}
5250
5251#[allow(dead_code)]
5255#[derive(Builder, Debug, Clone)]
5256#[builder(crate = "parol_runtime::derive_builder")]
5257pub struct ArrayLiteralListOpt {
5258 pub comma: Box<Comma>,
5259}
5260
5261#[allow(dead_code)]
5265#[derive(Builder, Debug, Clone)]
5266#[builder(crate = "parol_runtime::derive_builder")]
5267pub struct ArrayType {
5268 pub scalar_type: Box<ScalarType>,
5269 pub array_type_opt: Option<ArrayTypeOpt>,
5270}
5271
5272#[allow(dead_code)]
5276#[derive(Builder, Debug, Clone)]
5277#[builder(crate = "parol_runtime::derive_builder")]
5278pub struct ArrayTypeOpt {
5279 pub array: Box<Array>,
5280}
5281
5282#[allow(dead_code)]
5286#[derive(Builder, Debug, Clone)]
5287#[builder(crate = "parol_runtime::derive_builder")]
5288pub struct As {
5289 pub as_token: crate::veryl_token::VerylToken,
5290}
5291
5292#[allow(dead_code)]
5296#[derive(Builder, Debug, Clone)]
5297#[builder(crate = "parol_runtime::derive_builder")]
5298pub struct AsTerm {
5299 pub as_term: crate::veryl_token::Token, }
5301
5302#[allow(dead_code)]
5306#[derive(Builder, Debug, Clone)]
5307#[builder(crate = "parol_runtime::derive_builder")]
5308pub struct AsToken {
5309 pub as_term: crate::veryl_token::Token,
5310 pub comments: Box<Comments>,
5311}
5312
5313#[allow(dead_code)]
5317#[derive(Builder, Debug, Clone)]
5318#[builder(crate = "parol_runtime::derive_builder")]
5319pub struct Assign {
5320 pub assign_token: crate::veryl_token::VerylToken,
5321}
5322
5323#[allow(dead_code)]
5327#[derive(Builder, Debug, Clone)]
5328#[builder(crate = "parol_runtime::derive_builder")]
5329pub struct AssignConcatenationItem {
5330 pub hierarchical_identifier: Box<HierarchicalIdentifier>,
5331}
5332
5333#[allow(dead_code)]
5337#[derive(Builder, Debug, Clone)]
5338#[builder(crate = "parol_runtime::derive_builder")]
5339pub struct AssignConcatenationList {
5340 pub assign_concatenation_item: Box<AssignConcatenationItem>,
5341 pub assign_concatenation_list_list: Vec<AssignConcatenationListList>,
5342 pub assign_concatenation_list_opt: Option<AssignConcatenationListOpt>,
5343}
5344
5345#[allow(dead_code)]
5349#[derive(Builder, Debug, Clone)]
5350#[builder(crate = "parol_runtime::derive_builder")]
5351pub struct AssignConcatenationListList {
5352 pub comma: Box<Comma>,
5353 pub assign_concatenation_item: Box<AssignConcatenationItem>,
5354}
5355
5356#[allow(dead_code)]
5360#[derive(Builder, Debug, Clone)]
5361#[builder(crate = "parol_runtime::derive_builder")]
5362pub struct AssignConcatenationListOpt {
5363 pub comma: Box<Comma>,
5364}
5365
5366#[allow(dead_code)]
5370#[derive(Builder, Debug, Clone)]
5371#[builder(crate = "parol_runtime::derive_builder")]
5372pub struct AssignDeclaration {
5373 pub assign: Box<Assign>,
5374 pub assign_destination: Box<AssignDestination>,
5375 pub equ: Box<Equ>,
5376 pub expression: Box<Expression>,
5377 pub semicolon: Box<Semicolon>,
5378}
5379
5380#[allow(dead_code)]
5384#[derive(Debug, Clone)]
5385pub enum AssignDestination {
5386 HierarchicalIdentifier(AssignDestinationHierarchicalIdentifier),
5387 LBraceAssignConcatenationListRBrace(AssignDestinationLBraceAssignConcatenationListRBrace),
5388}
5389
5390#[allow(dead_code)]
5394#[derive(Builder, Debug, Clone)]
5395#[builder(crate = "parol_runtime::derive_builder")]
5396pub struct AssignTerm {
5397 pub assign_term: crate::veryl_token::Token, }
5399
5400#[allow(dead_code)]
5404#[derive(Builder, Debug, Clone)]
5405#[builder(crate = "parol_runtime::derive_builder")]
5406pub struct AssignToken {
5407 pub assign_term: crate::veryl_token::Token,
5408 pub comments: Box<Comments>,
5409}
5410
5411#[allow(dead_code)]
5415#[derive(Builder, Debug, Clone)]
5416#[builder(crate = "parol_runtime::derive_builder")]
5417pub struct Assignment {
5418 pub assignment_group: Box<AssignmentGroup>,
5419 pub expression: Box<Expression>,
5420}
5421
5422#[allow(dead_code)]
5426#[derive(Debug, Clone)]
5427pub enum AssignmentGroup {
5428 Equ(AssignmentGroupEqu),
5429 AssignmentOperator(AssignmentGroupAssignmentOperator),
5430}
5431
5432#[allow(dead_code)]
5436#[derive(Builder, Debug, Clone)]
5437#[builder(crate = "parol_runtime::derive_builder")]
5438pub struct AssignmentOperator {
5439 pub assignment_operator_token: crate::veryl_token::VerylToken,
5440}
5441
5442#[allow(dead_code)]
5446#[derive(Builder, Debug, Clone)]
5447#[builder(crate = "parol_runtime::derive_builder")]
5448pub struct AssignmentOperatorTerm {
5449 pub assignment_operator_term: crate::veryl_token::Token, }
5451
5452#[allow(dead_code)]
5456#[derive(Builder, Debug, Clone)]
5457#[builder(crate = "parol_runtime::derive_builder")]
5458pub struct AssignmentOperatorToken {
5459 pub assignment_operator_term: crate::veryl_token::Token,
5460 pub comments: Box<Comments>,
5461}
5462
5463#[allow(dead_code)]
5467#[derive(Builder, Debug, Clone)]
5468#[builder(crate = "parol_runtime::derive_builder")]
5469pub struct Attribute {
5470 pub hash: Box<Hash>,
5471 pub l_bracket: Box<LBracket>,
5472 pub identifier: Box<Identifier>,
5473 pub attribute_opt: Option<AttributeOpt>,
5474 pub r_bracket: Box<RBracket>,
5475}
5476
5477#[allow(dead_code)]
5481#[derive(Debug, Clone)]
5482pub enum AttributeItem {
5483 Identifier(AttributeItemIdentifier),
5484 StringLiteral(AttributeItemStringLiteral),
5485}
5486
5487#[allow(dead_code)]
5491#[derive(Builder, Debug, Clone)]
5492#[builder(crate = "parol_runtime::derive_builder")]
5493pub struct AttributeList {
5494 pub attribute_item: Box<AttributeItem>,
5495 pub attribute_list_list: Vec<AttributeListList>,
5496 pub attribute_list_opt: Option<AttributeListOpt>,
5497}
5498
5499#[allow(dead_code)]
5503#[derive(Builder, Debug, Clone)]
5504#[builder(crate = "parol_runtime::derive_builder")]
5505pub struct AttributeListList {
5506 pub comma: Box<Comma>,
5507 pub attribute_item: Box<AttributeItem>,
5508}
5509
5510#[allow(dead_code)]
5514#[derive(Builder, Debug, Clone)]
5515#[builder(crate = "parol_runtime::derive_builder")]
5516pub struct AttributeListOpt {
5517 pub comma: Box<Comma>,
5518}
5519
5520#[allow(dead_code)]
5524#[derive(Builder, Debug, Clone)]
5525#[builder(crate = "parol_runtime::derive_builder")]
5526pub struct AttributeOpt {
5527 pub l_paren: Box<LParen>,
5528 pub attribute_list: Box<AttributeList>,
5529 pub r_paren: Box<RParen>,
5530}
5531
5532#[allow(dead_code)]
5536#[derive(Builder, Debug, Clone)]
5537#[builder(crate = "parol_runtime::derive_builder")]
5538pub struct BackQuote {
5539 pub back_quote_token: crate::veryl_token::VerylToken,
5540}
5541
5542#[allow(dead_code)]
5546#[derive(Builder, Debug, Clone)]
5547#[builder(crate = "parol_runtime::derive_builder")]
5548pub struct BackQuoteTerm {
5549 pub back_quote_term: crate::veryl_token::Token, }
5551
5552#[allow(dead_code)]
5556#[derive(Builder, Debug, Clone)]
5557#[builder(crate = "parol_runtime::derive_builder")]
5558pub struct BackQuoteToken {
5559 pub back_quote_term: crate::veryl_token::Token,
5560 pub comments: Box<Comments>,
5561}
5562
5563#[allow(dead_code)]
5567#[derive(Builder, Debug, Clone)]
5568#[builder(crate = "parol_runtime::derive_builder")]
5569pub struct BaseLess {
5570 pub base_less_token: crate::veryl_token::VerylToken,
5571}
5572
5573#[allow(dead_code)]
5577#[derive(Builder, Debug, Clone)]
5578#[builder(crate = "parol_runtime::derive_builder")]
5579pub struct BaseLessTerm {
5580 pub base_less_term: crate::veryl_token::Token, }
5582
5583#[allow(dead_code)]
5587#[derive(Builder, Debug, Clone)]
5588#[builder(crate = "parol_runtime::derive_builder")]
5589pub struct BaseLessToken {
5590 pub base_less_term: crate::veryl_token::Token,
5591 pub comments: Box<Comments>,
5592}
5593
5594#[allow(dead_code)]
5598#[derive(Builder, Debug, Clone)]
5599#[builder(crate = "parol_runtime::derive_builder")]
5600pub struct Based {
5601 pub based_token: crate::veryl_token::VerylToken,
5602}
5603
5604#[allow(dead_code)]
5608#[derive(Builder, Debug, Clone)]
5609#[builder(crate = "parol_runtime::derive_builder")]
5610pub struct BasedTerm {
5611 pub based_term: crate::veryl_token::Token, }
5613
5614#[allow(dead_code)]
5618#[derive(Builder, Debug, Clone)]
5619#[builder(crate = "parol_runtime::derive_builder")]
5620pub struct BasedToken {
5621 pub based_term: crate::veryl_token::Token,
5622 pub comments: Box<Comments>,
5623}
5624
5625#[allow(dead_code)]
5629#[derive(Builder, Debug, Clone)]
5630#[builder(crate = "parol_runtime::derive_builder")]
5631pub struct Bit {
5632 pub bit_token: crate::veryl_token::VerylToken,
5633}
5634
5635#[allow(dead_code)]
5639#[derive(Builder, Debug, Clone)]
5640#[builder(crate = "parol_runtime::derive_builder")]
5641pub struct BitTerm {
5642 pub bit_term: crate::veryl_token::Token, }
5644
5645#[allow(dead_code)]
5649#[derive(Builder, Debug, Clone)]
5650#[builder(crate = "parol_runtime::derive_builder")]
5651pub struct BitToken {
5652 pub bit_term: crate::veryl_token::Token,
5653 pub comments: Box<Comments>,
5654}
5655
5656#[allow(dead_code)]
5660#[derive(Builder, Debug, Clone)]
5661#[builder(crate = "parol_runtime::derive_builder")]
5662pub struct Break {
5663 pub break_token: crate::veryl_token::VerylToken,
5664}
5665
5666#[allow(dead_code)]
5670#[derive(Builder, Debug, Clone)]
5671#[builder(crate = "parol_runtime::derive_builder")]
5672pub struct BreakStatement {
5673 pub r#break: Box<Break>,
5674 pub semicolon: Box<Semicolon>,
5675}
5676
5677#[allow(dead_code)]
5681#[derive(Builder, Debug, Clone)]
5682#[builder(crate = "parol_runtime::derive_builder")]
5683pub struct BreakTerm {
5684 pub break_term: crate::veryl_token::Token, }
5686
5687#[allow(dead_code)]
5691#[derive(Builder, Debug, Clone)]
5692#[builder(crate = "parol_runtime::derive_builder")]
5693pub struct BreakToken {
5694 pub break_term: crate::veryl_token::Token,
5695 pub comments: Box<Comments>,
5696}
5697
5698#[allow(dead_code)]
5702#[derive(Builder, Debug, Clone)]
5703#[builder(crate = "parol_runtime::derive_builder")]
5704pub struct Case {
5705 pub case_token: crate::veryl_token::VerylToken,
5706}
5707
5708#[allow(dead_code)]
5712#[derive(Builder, Debug, Clone)]
5713#[builder(crate = "parol_runtime::derive_builder")]
5714pub struct CaseCondition {
5715 pub range_item: Box<RangeItem>,
5716 pub case_condition_list: Vec<CaseConditionList>,
5717}
5718
5719#[allow(dead_code)]
5723#[derive(Builder, Debug, Clone)]
5724#[builder(crate = "parol_runtime::derive_builder")]
5725pub struct CaseConditionList {
5726 pub comma: Box<Comma>,
5727 pub range_item: Box<RangeItem>,
5728}
5729
5730#[allow(dead_code)]
5734#[derive(Builder, Debug, Clone)]
5735#[builder(crate = "parol_runtime::derive_builder")]
5736pub struct CaseExpression {
5737 pub case: Box<Case>,
5738 pub expression: Box<Expression>,
5739 pub l_brace: Box<LBrace>,
5740 pub case_condition: Box<CaseCondition>,
5741 pub colon: Box<Colon>,
5742 pub expression0: Box<Expression>,
5743 pub comma: Box<Comma>,
5744 pub case_expression_list: Vec<CaseExpressionList>,
5745 pub defaul: Box<Defaul>,
5746 pub colon0: Box<Colon>,
5747 pub expression1: Box<Expression>,
5748 pub case_expression_opt: Option<CaseExpressionOpt>,
5749 pub r_brace: Box<RBrace>,
5750}
5751
5752#[allow(dead_code)]
5756#[derive(Builder, Debug, Clone)]
5757#[builder(crate = "parol_runtime::derive_builder")]
5758pub struct CaseExpressionList {
5759 pub case_condition: Box<CaseCondition>,
5760 pub colon: Box<Colon>,
5761 pub expression: Box<Expression>,
5762 pub comma: Box<Comma>,
5763}
5764
5765#[allow(dead_code)]
5769#[derive(Builder, Debug, Clone)]
5770#[builder(crate = "parol_runtime::derive_builder")]
5771pub struct CaseExpressionOpt {
5772 pub comma: Box<Comma>,
5773}
5774
5775#[allow(dead_code)]
5779#[derive(Builder, Debug, Clone)]
5780#[builder(crate = "parol_runtime::derive_builder")]
5781pub struct CaseItem {
5782 pub case_item_group: Box<CaseItemGroup>,
5783 pub colon: Box<Colon>,
5784 pub case_item_group0: Box<CaseItemGroup0>,
5785}
5786
5787#[allow(dead_code)]
5791#[derive(Debug, Clone)]
5792pub enum CaseItemGroup {
5793 CaseCondition(CaseItemGroupCaseCondition),
5794 Defaul(CaseItemGroupDefaul),
5795}
5796
5797#[allow(dead_code)]
5801#[derive(Debug, Clone)]
5802pub enum CaseItemGroup0 {
5803 Statement(CaseItemGroup0Statement),
5804 StatementBlock(CaseItemGroup0StatementBlock),
5805}
5806
5807#[allow(dead_code)]
5811#[derive(Builder, Debug, Clone)]
5812#[builder(crate = "parol_runtime::derive_builder")]
5813pub struct CaseStatement {
5814 pub case: Box<Case>,
5815 pub expression: Box<Expression>,
5816 pub l_brace: Box<LBrace>,
5817 pub case_statement_list: Vec<CaseStatementList>,
5818 pub r_brace: Box<RBrace>,
5819}
5820
5821#[allow(dead_code)]
5825#[derive(Builder, Debug, Clone)]
5826#[builder(crate = "parol_runtime::derive_builder")]
5827pub struct CaseStatementList {
5828 pub case_item: Box<CaseItem>,
5829}
5830
5831#[allow(dead_code)]
5835#[derive(Builder, Debug, Clone)]
5836#[builder(crate = "parol_runtime::derive_builder")]
5837pub struct CaseTerm {
5838 pub case_term: crate::veryl_token::Token, }
5840
5841#[allow(dead_code)]
5845#[derive(Builder, Debug, Clone)]
5846#[builder(crate = "parol_runtime::derive_builder")]
5847pub struct CaseToken {
5848 pub case_term: crate::veryl_token::Token,
5849 pub comments: Box<Comments>,
5850}
5851
5852#[allow(dead_code)]
5856#[derive(Debug, Clone)]
5857pub enum CastingType {
5858 U32(CastingTypeU32),
5859 U64(CastingTypeU64),
5860 I32(CastingTypeI32),
5861 I64(CastingTypeI64),
5862 F32(CastingTypeF32),
5863 F64(CastingTypeF64),
5864 Clock(CastingTypeClock),
5865 ClockPosedge(CastingTypeClockPosedge),
5866 ClockNegedge(CastingTypeClockNegedge),
5867 Reset(CastingTypeReset),
5868 ResetAsyncHigh(CastingTypeResetAsyncHigh),
5869 ResetAsyncLow(CastingTypeResetAsyncLow),
5870 ResetSyncHigh(CastingTypeResetSyncHigh),
5871 ResetSyncLow(CastingTypeResetSyncLow),
5872 UserDefinedType(CastingTypeUserDefinedType),
5873 Based(CastingTypeBased),
5874 BaseLess(CastingTypeBaseLess),
5875}
5876
5877#[allow(dead_code)]
5881#[derive(Builder, Debug, Clone)]
5882#[builder(crate = "parol_runtime::derive_builder")]
5883pub struct Clock {
5884 pub clock_token: crate::veryl_token::VerylToken,
5885}
5886
5887#[allow(dead_code)]
5891#[derive(Builder, Debug, Clone)]
5892#[builder(crate = "parol_runtime::derive_builder")]
5893pub struct ClockDomain {
5894 pub back_quote: Box<BackQuote>,
5895 pub identifier: Box<Identifier>,
5896}
5897
5898#[allow(dead_code)]
5902#[derive(Builder, Debug, Clone)]
5903#[builder(crate = "parol_runtime::derive_builder")]
5904pub struct ClockNegedge {
5905 pub clock_negedge_token: crate::veryl_token::VerylToken,
5906}
5907
5908#[allow(dead_code)]
5912#[derive(Builder, Debug, Clone)]
5913#[builder(crate = "parol_runtime::derive_builder")]
5914pub struct ClockNegedgeTerm {
5915 pub clock_negedge_term: crate::veryl_token::Token, }
5917
5918#[allow(dead_code)]
5922#[derive(Builder, Debug, Clone)]
5923#[builder(crate = "parol_runtime::derive_builder")]
5924pub struct ClockNegedgeToken {
5925 pub clock_negedge_term: crate::veryl_token::Token,
5926 pub comments: Box<Comments>,
5927}
5928
5929#[allow(dead_code)]
5933#[derive(Builder, Debug, Clone)]
5934#[builder(crate = "parol_runtime::derive_builder")]
5935pub struct ClockPosedge {
5936 pub clock_posedge_token: crate::veryl_token::VerylToken,
5937}
5938
5939#[allow(dead_code)]
5943#[derive(Builder, Debug, Clone)]
5944#[builder(crate = "parol_runtime::derive_builder")]
5945pub struct ClockPosedgeTerm {
5946 pub clock_posedge_term: crate::veryl_token::Token, }
5948
5949#[allow(dead_code)]
5953#[derive(Builder, Debug, Clone)]
5954#[builder(crate = "parol_runtime::derive_builder")]
5955pub struct ClockPosedgeToken {
5956 pub clock_posedge_term: crate::veryl_token::Token,
5957 pub comments: Box<Comments>,
5958}
5959
5960#[allow(dead_code)]
5964#[derive(Builder, Debug, Clone)]
5965#[builder(crate = "parol_runtime::derive_builder")]
5966pub struct ClockTerm {
5967 pub clock_term: crate::veryl_token::Token, }
5969
5970#[allow(dead_code)]
5974#[derive(Builder, Debug, Clone)]
5975#[builder(crate = "parol_runtime::derive_builder")]
5976pub struct ClockToken {
5977 pub clock_term: crate::veryl_token::Token,
5978 pub comments: Box<Comments>,
5979}
5980
5981#[allow(dead_code)]
5985#[derive(Builder, Debug, Clone)]
5986#[builder(crate = "parol_runtime::derive_builder")]
5987pub struct Colon {
5988 pub colon_token: crate::veryl_token::VerylToken,
5989}
5990
5991#[allow(dead_code)]
5995#[derive(Builder, Debug, Clone)]
5996#[builder(crate = "parol_runtime::derive_builder")]
5997pub struct ColonColon {
5998 pub colon_colon_token: crate::veryl_token::VerylToken,
5999}
6000
6001#[allow(dead_code)]
6005#[derive(Builder, Debug, Clone)]
6006#[builder(crate = "parol_runtime::derive_builder")]
6007pub struct ColonColonLAngle {
6008 pub colon_colon_l_angle_token: crate::veryl_token::VerylToken,
6009}
6010
6011#[allow(dead_code)]
6015#[derive(Builder, Debug, Clone)]
6016#[builder(crate = "parol_runtime::derive_builder")]
6017pub struct ColonColonLAngleTerm {
6018 pub colon_colon_l_angle_term: crate::veryl_token::Token, }
6020
6021#[allow(dead_code)]
6025#[derive(Builder, Debug, Clone)]
6026#[builder(crate = "parol_runtime::derive_builder")]
6027pub struct ColonColonLAngleToken {
6028 pub colon_colon_l_angle_term: crate::veryl_token::Token,
6029 pub comments: Box<Comments>,
6030}
6031
6032#[allow(dead_code)]
6036#[derive(Builder, Debug, Clone)]
6037#[builder(crate = "parol_runtime::derive_builder")]
6038pub struct ColonColonTerm {
6039 pub colon_colon_term: crate::veryl_token::Token, }
6041
6042#[allow(dead_code)]
6046#[derive(Builder, Debug, Clone)]
6047#[builder(crate = "parol_runtime::derive_builder")]
6048pub struct ColonColonToken {
6049 pub colon_colon_term: crate::veryl_token::Token,
6050 pub comments: Box<Comments>,
6051}
6052
6053#[allow(dead_code)]
6057#[derive(Builder, Debug, Clone)]
6058#[builder(crate = "parol_runtime::derive_builder")]
6059pub struct ColonTerm {
6060 pub colon_term: crate::veryl_token::Token, }
6062
6063#[allow(dead_code)]
6067#[derive(Builder, Debug, Clone)]
6068#[builder(crate = "parol_runtime::derive_builder")]
6069pub struct ColonToken {
6070 pub colon_term: crate::veryl_token::Token,
6071 pub comments: Box<Comments>,
6072}
6073
6074#[allow(dead_code)]
6078#[derive(Builder, Debug, Clone)]
6079#[builder(crate = "parol_runtime::derive_builder")]
6080pub struct Comma {
6081 pub comma_token: crate::veryl_token::VerylToken,
6082}
6083
6084#[allow(dead_code)]
6088#[derive(Builder, Debug, Clone)]
6089#[builder(crate = "parol_runtime::derive_builder")]
6090pub struct CommaTerm {
6091 pub comma_term: crate::veryl_token::Token, }
6093
6094#[allow(dead_code)]
6098#[derive(Builder, Debug, Clone)]
6099#[builder(crate = "parol_runtime::derive_builder")]
6100pub struct CommaToken {
6101 pub comma_term: crate::veryl_token::Token,
6102 pub comments: Box<Comments>,
6103}
6104
6105#[allow(dead_code)]
6109#[derive(Builder, Debug, Clone)]
6110#[builder(crate = "parol_runtime::derive_builder")]
6111pub struct Comments {
6112 pub comments_opt: Option<CommentsOpt>,
6113}
6114
6115#[allow(dead_code)]
6119#[derive(Builder, Debug, Clone)]
6120#[builder(crate = "parol_runtime::derive_builder")]
6121pub struct CommentsOpt {
6122 pub comments_term: Box<CommentsTerm>,
6123}
6124
6125#[allow(dead_code)]
6129#[derive(Builder, Debug, Clone)]
6130#[builder(crate = "parol_runtime::derive_builder")]
6131pub struct CommentsTerm {
6132 pub comments_term: crate::veryl_token::Token, }
6134
6135#[allow(dead_code)]
6139#[derive(Builder, Debug, Clone)]
6140#[builder(crate = "parol_runtime::derive_builder")]
6141pub struct ConcatenationItem {
6142 pub expression: Box<Expression>,
6143 pub concatenation_item_opt: Option<ConcatenationItemOpt>,
6144}
6145
6146#[allow(dead_code)]
6150#[derive(Builder, Debug, Clone)]
6151#[builder(crate = "parol_runtime::derive_builder")]
6152pub struct ConcatenationItemOpt {
6153 pub repeat: Box<Repeat>,
6154 pub expression: Box<Expression>,
6155}
6156
6157#[allow(dead_code)]
6161#[derive(Builder, Debug, Clone)]
6162#[builder(crate = "parol_runtime::derive_builder")]
6163pub struct ConcatenationList {
6164 pub concatenation_item: Box<ConcatenationItem>,
6165 pub concatenation_list_list: Vec<ConcatenationListList>,
6166 pub concatenation_list_opt: Option<ConcatenationListOpt>,
6167}
6168
6169#[allow(dead_code)]
6173#[derive(Builder, Debug, Clone)]
6174#[builder(crate = "parol_runtime::derive_builder")]
6175pub struct ConcatenationListList {
6176 pub comma: Box<Comma>,
6177 pub concatenation_item: Box<ConcatenationItem>,
6178}
6179
6180#[allow(dead_code)]
6184#[derive(Builder, Debug, Clone)]
6185#[builder(crate = "parol_runtime::derive_builder")]
6186pub struct ConcatenationListOpt {
6187 pub comma: Box<Comma>,
6188}
6189
6190#[allow(dead_code)]
6194#[derive(Builder, Debug, Clone)]
6195#[builder(crate = "parol_runtime::derive_builder")]
6196pub struct Const {
6197 pub const_token: crate::veryl_token::VerylToken,
6198}
6199
6200#[allow(dead_code)]
6204#[derive(Builder, Debug, Clone)]
6205#[builder(crate = "parol_runtime::derive_builder")]
6206pub struct ConstDeclaration {
6207 pub r#const: Box<Const>,
6208 pub identifier: Box<Identifier>,
6209 pub colon: Box<Colon>,
6210 pub const_declaration_group: Box<ConstDeclarationGroup>,
6211 pub equ: Box<Equ>,
6212 pub expression: Box<Expression>,
6213 pub semicolon: Box<Semicolon>,
6214}
6215
6216#[allow(dead_code)]
6220#[derive(Debug, Clone)]
6221pub enum ConstDeclarationGroup {
6222 ArrayType(ConstDeclarationGroupArrayType),
6223 Type(ConstDeclarationGroupType),
6224}
6225
6226#[allow(dead_code)]
6230#[derive(Builder, Debug, Clone)]
6231#[builder(crate = "parol_runtime::derive_builder")]
6232pub struct ConstTerm {
6233 pub const_term: crate::veryl_token::Token, }
6235
6236#[allow(dead_code)]
6240#[derive(Builder, Debug, Clone)]
6241#[builder(crate = "parol_runtime::derive_builder")]
6242pub struct ConstToken {
6243 pub const_term: crate::veryl_token::Token,
6244 pub comments: Box<Comments>,
6245}
6246
6247#[allow(dead_code)]
6251#[derive(Builder, Debug, Clone)]
6252#[builder(crate = "parol_runtime::derive_builder")]
6253pub struct Converse {
6254 pub converse_token: crate::veryl_token::VerylToken,
6255}
6256
6257#[allow(dead_code)]
6261#[derive(Builder, Debug, Clone)]
6262#[builder(crate = "parol_runtime::derive_builder")]
6263pub struct ConverseTerm {
6264 pub converse_term: crate::veryl_token::Token, }
6266
6267#[allow(dead_code)]
6271#[derive(Builder, Debug, Clone)]
6272#[builder(crate = "parol_runtime::derive_builder")]
6273pub struct ConverseToken {
6274 pub converse_term: crate::veryl_token::Token,
6275 pub comments: Box<Comments>,
6276}
6277
6278#[allow(dead_code)]
6282#[derive(Builder, Debug, Clone)]
6283#[builder(crate = "parol_runtime::derive_builder")]
6284pub struct Defaul {
6285 pub default_token: crate::veryl_token::VerylToken,
6286}
6287
6288#[allow(dead_code)]
6292#[derive(Builder, Debug, Clone)]
6293#[builder(crate = "parol_runtime::derive_builder")]
6294pub struct DefaultTerm {
6295 pub default_term: crate::veryl_token::Token, }
6297
6298#[allow(dead_code)]
6302#[derive(Builder, Debug, Clone)]
6303#[builder(crate = "parol_runtime::derive_builder")]
6304pub struct DefaultToken {
6305 pub default_term: crate::veryl_token::Token,
6306 pub comments: Box<Comments>,
6307}
6308
6309#[allow(dead_code)]
6313#[derive(Builder, Debug, Clone)]
6314#[builder(crate = "parol_runtime::derive_builder")]
6315pub struct DescriptionGroup {
6316 pub description_group_list: Vec<DescriptionGroupList>,
6317 pub description_group_group: Box<DescriptionGroupGroup>,
6318}
6319
6320#[allow(dead_code)]
6324#[derive(Debug, Clone)]
6325pub enum DescriptionGroupGroup {
6326 LBraceDescriptionGroupGroupListRBrace(
6327 DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace,
6328 ),
6329 DescriptionItem(DescriptionGroupGroupDescriptionItem),
6330}
6331
6332#[allow(dead_code)]
6336#[derive(Builder, Debug, Clone)]
6337#[builder(crate = "parol_runtime::derive_builder")]
6338pub struct DescriptionGroupGroupList {
6339 pub description_group: Box<DescriptionGroup>,
6340}
6341
6342#[allow(dead_code)]
6346#[derive(Builder, Debug, Clone)]
6347#[builder(crate = "parol_runtime::derive_builder")]
6348pub struct DescriptionGroupList {
6349 pub attribute: Box<Attribute>,
6350}
6351
6352#[allow(dead_code)]
6356#[derive(Debug, Clone)]
6357pub enum DescriptionItem {
6358 DescriptionItemOptPublicDescriptionItem(DescriptionItemDescriptionItemOptPublicDescriptionItem),
6359 ImportDeclaration(DescriptionItemImportDeclaration),
6360 EmbedDeclaration(DescriptionItemEmbedDeclaration),
6361 IncludeDeclaration(DescriptionItemIncludeDeclaration),
6362}
6363
6364#[allow(dead_code)]
6368#[derive(Builder, Debug, Clone)]
6369#[builder(crate = "parol_runtime::derive_builder")]
6370pub struct DescriptionItemOpt {
6371 pub r#pub: Box<Pub>,
6372}
6373
6374#[allow(dead_code)]
6378#[derive(Debug, Clone)]
6379pub enum Direction {
6380 Input(DirectionInput),
6381 Output(DirectionOutput),
6382 Inout(DirectionInout),
6383 Ref(DirectionRef),
6384 Modport(DirectionModport),
6385 Import(DirectionImport),
6386}
6387
6388#[allow(dead_code)]
6392#[derive(Builder, Debug, Clone)]
6393#[builder(crate = "parol_runtime::derive_builder")]
6394pub struct DollarIdentifier {
6395 pub dollar_identifier_token: crate::veryl_token::VerylToken,
6396}
6397
6398#[allow(dead_code)]
6402#[derive(Builder, Debug, Clone)]
6403#[builder(crate = "parol_runtime::derive_builder")]
6404pub struct DollarIdentifierTerm {
6405 pub dollar_identifier_term: crate::veryl_token::Token, }
6407
6408#[allow(dead_code)]
6412#[derive(Builder, Debug, Clone)]
6413#[builder(crate = "parol_runtime::derive_builder")]
6414pub struct DollarIdentifierToken {
6415 pub dollar_identifier_term: crate::veryl_token::Token,
6416 pub comments: Box<Comments>,
6417}
6418
6419#[allow(dead_code)]
6423#[derive(Builder, Debug, Clone)]
6424#[builder(crate = "parol_runtime::derive_builder")]
6425pub struct Dot {
6426 pub dot_token: crate::veryl_token::VerylToken,
6427}
6428
6429#[allow(dead_code)]
6433#[derive(Builder, Debug, Clone)]
6434#[builder(crate = "parol_runtime::derive_builder")]
6435pub struct DotDot {
6436 pub dot_dot_token: crate::veryl_token::VerylToken,
6437}
6438
6439#[allow(dead_code)]
6443#[derive(Builder, Debug, Clone)]
6444#[builder(crate = "parol_runtime::derive_builder")]
6445pub struct DotDotEqu {
6446 pub dot_dot_equ_token: crate::veryl_token::VerylToken,
6447}
6448
6449#[allow(dead_code)]
6453#[derive(Builder, Debug, Clone)]
6454#[builder(crate = "parol_runtime::derive_builder")]
6455pub struct DotDotEquTerm {
6456 pub dot_dot_equ_term: crate::veryl_token::Token, }
6458
6459#[allow(dead_code)]
6463#[derive(Builder, Debug, Clone)]
6464#[builder(crate = "parol_runtime::derive_builder")]
6465pub struct DotDotEquToken {
6466 pub dot_dot_equ_term: crate::veryl_token::Token,
6467 pub comments: Box<Comments>,
6468}
6469
6470#[allow(dead_code)]
6474#[derive(Builder, Debug, Clone)]
6475#[builder(crate = "parol_runtime::derive_builder")]
6476pub struct DotDotTerm {
6477 pub dot_dot_term: crate::veryl_token::Token, }
6479
6480#[allow(dead_code)]
6484#[derive(Builder, Debug, Clone)]
6485#[builder(crate = "parol_runtime::derive_builder")]
6486pub struct DotDotToken {
6487 pub dot_dot_term: crate::veryl_token::Token,
6488 pub comments: Box<Comments>,
6489}
6490
6491#[allow(dead_code)]
6495#[derive(Builder, Debug, Clone)]
6496#[builder(crate = "parol_runtime::derive_builder")]
6497pub struct DotTerm {
6498 pub dot_term: crate::veryl_token::Token, }
6500
6501#[allow(dead_code)]
6505#[derive(Builder, Debug, Clone)]
6506#[builder(crate = "parol_runtime::derive_builder")]
6507pub struct DotToken {
6508 pub dot_term: crate::veryl_token::Token,
6509 pub comments: Box<Comments>,
6510}
6511
6512#[allow(dead_code)]
6516#[derive(Builder, Debug, Clone)]
6517#[builder(crate = "parol_runtime::derive_builder")]
6518pub struct Else {
6519 pub else_token: crate::veryl_token::VerylToken,
6520}
6521
6522#[allow(dead_code)]
6526#[derive(Builder, Debug, Clone)]
6527#[builder(crate = "parol_runtime::derive_builder")]
6528pub struct ElseTerm {
6529 pub else_term: crate::veryl_token::Token, }
6531
6532#[allow(dead_code)]
6536#[derive(Builder, Debug, Clone)]
6537#[builder(crate = "parol_runtime::derive_builder")]
6538pub struct ElseToken {
6539 pub else_term: crate::veryl_token::Token,
6540 pub comments: Box<Comments>,
6541}
6542
6543#[allow(dead_code)]
6547#[derive(Builder, Debug, Clone)]
6548#[builder(crate = "parol_runtime::derive_builder")]
6549pub struct Embed {
6550 pub embed_token: crate::veryl_token::VerylToken,
6551}
6552
6553#[allow(dead_code)]
6557#[derive(Builder, Debug, Clone)]
6558#[builder(crate = "parol_runtime::derive_builder")]
6559pub struct EmbedContent {
6560 pub embed_content_token: crate::veryl_token::VerylToken,
6561}
6562
6563#[allow(dead_code)]
6567#[derive(Builder, Debug, Clone)]
6568#[builder(crate = "parol_runtime::derive_builder")]
6569pub struct EmbedContentToken {
6570 pub l_brace_term: Box<LBraceTerm>,
6571 pub l_brace_term0: Box<LBraceTerm>,
6572 pub l_brace_term1: Box<LBraceTerm>,
6573 pub embed_content_token_list: Vec<EmbedContentTokenList>,
6574 pub r_brace_term: Box<RBraceTerm>,
6575 pub r_brace_term0: Box<RBraceTerm>,
6576 pub r_brace_term1: Box<RBraceTerm>,
6577 pub comments: Box<Comments>,
6578}
6579
6580#[allow(dead_code)]
6584#[derive(Builder, Debug, Clone)]
6585#[builder(crate = "parol_runtime::derive_builder")]
6586pub struct EmbedContentTokenList {
6587 pub embed_item: Box<EmbedItem>,
6588}
6589
6590#[allow(dead_code)]
6594#[derive(Builder, Debug, Clone)]
6595#[builder(crate = "parol_runtime::derive_builder")]
6596pub struct EmbedDeclaration {
6597 pub embed: Box<Embed>,
6598 pub l_paren: Box<LParen>,
6599 pub identifier: Box<Identifier>,
6600 pub r_paren: Box<RParen>,
6601 pub identifier0: Box<Identifier>,
6602 pub embed_content: Box<EmbedContent>,
6603}
6604
6605#[allow(dead_code)]
6609#[derive(Debug, Clone)]
6610pub enum EmbedItem {
6611 LBraceTermEmbedItemListRBraceTerm(EmbedItemLBraceTermEmbedItemListRBraceTerm),
6612 AnyTerm(EmbedItemAnyTerm),
6613}
6614
6615#[allow(dead_code)]
6619#[derive(Builder, Debug, Clone)]
6620#[builder(crate = "parol_runtime::derive_builder")]
6621pub struct EmbedItemList {
6622 pub embed_item: Box<EmbedItem>,
6623}
6624
6625#[allow(dead_code)]
6629#[derive(Builder, Debug, Clone)]
6630#[builder(crate = "parol_runtime::derive_builder")]
6631pub struct EmbedTerm {
6632 pub embed_term: crate::veryl_token::Token, }
6634
6635#[allow(dead_code)]
6639#[derive(Builder, Debug, Clone)]
6640#[builder(crate = "parol_runtime::derive_builder")]
6641pub struct EmbedToken {
6642 pub embed_term: crate::veryl_token::Token,
6643 pub comments: Box<Comments>,
6644}
6645
6646#[allow(dead_code)]
6650#[derive(Builder, Debug, Clone)]
6651#[builder(crate = "parol_runtime::derive_builder")]
6652pub struct Enum {
6653 pub enum_token: crate::veryl_token::VerylToken,
6654}
6655
6656#[allow(dead_code)]
6660#[derive(Builder, Debug, Clone)]
6661#[builder(crate = "parol_runtime::derive_builder")]
6662pub struct EnumDeclaration {
6663 pub r#enum: Box<Enum>,
6664 pub identifier: Box<Identifier>,
6665 pub enum_declaration_opt: Option<EnumDeclarationOpt>,
6666 pub l_brace: Box<LBrace>,
6667 pub enum_list: Box<EnumList>,
6668 pub r_brace: Box<RBrace>,
6669}
6670
6671#[allow(dead_code)]
6675#[derive(Builder, Debug, Clone)]
6676#[builder(crate = "parol_runtime::derive_builder")]
6677pub struct EnumDeclarationOpt {
6678 pub colon: Box<Colon>,
6679 pub scalar_type: Box<ScalarType>,
6680}
6681
6682#[allow(dead_code)]
6686#[derive(Builder, Debug, Clone)]
6687#[builder(crate = "parol_runtime::derive_builder")]
6688pub struct EnumGroup {
6689 pub enum_group_list: Vec<EnumGroupList>,
6690 pub enum_group_group: Box<EnumGroupGroup>,
6691}
6692
6693#[allow(dead_code)]
6697#[derive(Debug, Clone)]
6698pub enum EnumGroupGroup {
6699 LBraceEnumListRBrace(EnumGroupGroupLBraceEnumListRBrace),
6700 EnumItem(EnumGroupGroupEnumItem),
6701}
6702
6703#[allow(dead_code)]
6707#[derive(Builder, Debug, Clone)]
6708#[builder(crate = "parol_runtime::derive_builder")]
6709pub struct EnumGroupList {
6710 pub attribute: Box<Attribute>,
6711}
6712
6713#[allow(dead_code)]
6717#[derive(Builder, Debug, Clone)]
6718#[builder(crate = "parol_runtime::derive_builder")]
6719pub struct EnumItem {
6720 pub identifier: Box<Identifier>,
6721 pub enum_item_opt: Option<EnumItemOpt>,
6722}
6723
6724#[allow(dead_code)]
6728#[derive(Builder, Debug, Clone)]
6729#[builder(crate = "parol_runtime::derive_builder")]
6730pub struct EnumItemOpt {
6731 pub equ: Box<Equ>,
6732 pub expression: Box<Expression>,
6733}
6734
6735#[allow(dead_code)]
6739#[derive(Builder, Debug, Clone)]
6740#[builder(crate = "parol_runtime::derive_builder")]
6741pub struct EnumList {
6742 pub enum_group: Box<EnumGroup>,
6743 pub enum_list_list: Vec<EnumListList>,
6744 pub enum_list_opt: Option<EnumListOpt>,
6745}
6746
6747#[allow(dead_code)]
6751#[derive(Builder, Debug, Clone)]
6752#[builder(crate = "parol_runtime::derive_builder")]
6753pub struct EnumListList {
6754 pub comma: Box<Comma>,
6755 pub enum_group: Box<EnumGroup>,
6756}
6757
6758#[allow(dead_code)]
6762#[derive(Builder, Debug, Clone)]
6763#[builder(crate = "parol_runtime::derive_builder")]
6764pub struct EnumListOpt {
6765 pub comma: Box<Comma>,
6766}
6767
6768#[allow(dead_code)]
6772#[derive(Builder, Debug, Clone)]
6773#[builder(crate = "parol_runtime::derive_builder")]
6774pub struct EnumTerm {
6775 pub enum_term: crate::veryl_token::Token, }
6777
6778#[allow(dead_code)]
6782#[derive(Builder, Debug, Clone)]
6783#[builder(crate = "parol_runtime::derive_builder")]
6784pub struct EnumToken {
6785 pub enum_term: crate::veryl_token::Token,
6786 pub comments: Box<Comments>,
6787}
6788
6789#[allow(dead_code)]
6793#[derive(Builder, Debug, Clone)]
6794#[builder(crate = "parol_runtime::derive_builder")]
6795pub struct Equ {
6796 pub equ_token: crate::veryl_token::VerylToken,
6797}
6798
6799#[allow(dead_code)]
6803#[derive(Builder, Debug, Clone)]
6804#[builder(crate = "parol_runtime::derive_builder")]
6805pub struct EquTerm {
6806 pub equ_term: crate::veryl_token::Token, }
6808
6809#[allow(dead_code)]
6813#[derive(Builder, Debug, Clone)]
6814#[builder(crate = "parol_runtime::derive_builder")]
6815pub struct EquToken {
6816 pub equ_term: crate::veryl_token::Token,
6817 pub comments: Box<Comments>,
6818}
6819
6820#[allow(dead_code)]
6824#[derive(Builder, Debug, Clone)]
6825#[builder(crate = "parol_runtime::derive_builder")]
6826pub struct Exponent {
6827 pub exponent_token: crate::veryl_token::VerylToken,
6828}
6829
6830#[allow(dead_code)]
6834#[derive(Builder, Debug, Clone)]
6835#[builder(crate = "parol_runtime::derive_builder")]
6836pub struct ExponentTerm {
6837 pub exponent_term: crate::veryl_token::Token, }
6839
6840#[allow(dead_code)]
6844#[derive(Builder, Debug, Clone)]
6845#[builder(crate = "parol_runtime::derive_builder")]
6846pub struct ExponentToken {
6847 pub exponent_term: crate::veryl_token::Token,
6848 pub comments: Box<Comments>,
6849}
6850
6851#[allow(dead_code)]
6855#[derive(Builder, Debug, Clone)]
6856#[builder(crate = "parol_runtime::derive_builder")]
6857pub struct Export {
6858 pub export_token: crate::veryl_token::VerylToken,
6859}
6860
6861#[allow(dead_code)]
6865#[derive(Builder, Debug, Clone)]
6866#[builder(crate = "parol_runtime::derive_builder")]
6867pub struct ExportDeclaration {
6868 pub export: Box<Export>,
6869 pub export_declaration_group: Box<ExportDeclarationGroup>,
6870 pub semicolon: Box<Semicolon>,
6871}
6872
6873#[allow(dead_code)]
6877#[derive(Debug, Clone)]
6878pub enum ExportDeclarationGroup {
6879 Star(ExportDeclarationGroupStar),
6880 ScopedIdentifierExportDeclarationOpt(
6881 ExportDeclarationGroupScopedIdentifierExportDeclarationOpt,
6882 ),
6883}
6884
6885#[allow(dead_code)]
6889#[derive(Builder, Debug, Clone)]
6890#[builder(crate = "parol_runtime::derive_builder")]
6891pub struct ExportDeclarationOpt {
6892 pub colon_colon: Box<ColonColon>,
6893 pub star: Box<Star>,
6894}
6895
6896#[allow(dead_code)]
6900#[derive(Builder, Debug, Clone)]
6901#[builder(crate = "parol_runtime::derive_builder")]
6902pub struct ExportTerm {
6903 pub export_term: crate::veryl_token::Token, }
6905
6906#[allow(dead_code)]
6910#[derive(Builder, Debug, Clone)]
6911#[builder(crate = "parol_runtime::derive_builder")]
6912pub struct ExportToken {
6913 pub export_term: crate::veryl_token::Token,
6914 pub comments: Box<Comments>,
6915}
6916
6917#[allow(dead_code)]
6921#[derive(Builder, Debug, Clone)]
6922#[builder(crate = "parol_runtime::derive_builder")]
6923pub struct Expression {
6924 pub expression01: Box<Expression01>,
6925 pub expression_list: Vec<ExpressionList>,
6926}
6927
6928#[allow(dead_code)]
6932#[derive(Builder, Debug, Clone)]
6933#[builder(crate = "parol_runtime::derive_builder")]
6934pub struct Expression01 {
6935 pub expression02: Box<Expression02>,
6936 pub expression01_list: Vec<Expression01List>,
6937}
6938
6939#[allow(dead_code)]
6943#[derive(Builder, Debug, Clone)]
6944#[builder(crate = "parol_runtime::derive_builder")]
6945pub struct Expression01List {
6946 pub operator02: Box<Operator02>,
6947 pub expression02: Box<Expression02>,
6948}
6949
6950#[allow(dead_code)]
6954#[derive(Builder, Debug, Clone)]
6955#[builder(crate = "parol_runtime::derive_builder")]
6956pub struct Expression02 {
6957 pub expression03: Box<Expression03>,
6958 pub expression02_list: Vec<Expression02List>,
6959}
6960
6961#[allow(dead_code)]
6965#[derive(Builder, Debug, Clone)]
6966#[builder(crate = "parol_runtime::derive_builder")]
6967pub struct Expression02List {
6968 pub operator03: Box<Operator03>,
6969 pub expression03: Box<Expression03>,
6970}
6971
6972#[allow(dead_code)]
6976#[derive(Builder, Debug, Clone)]
6977#[builder(crate = "parol_runtime::derive_builder")]
6978pub struct Expression03 {
6979 pub expression04: Box<Expression04>,
6980 pub expression03_list: Vec<Expression03List>,
6981}
6982
6983#[allow(dead_code)]
6987#[derive(Builder, Debug, Clone)]
6988#[builder(crate = "parol_runtime::derive_builder")]
6989pub struct Expression03List {
6990 pub operator04: Box<Operator04>,
6991 pub expression04: Box<Expression04>,
6992}
6993
6994#[allow(dead_code)]
6998#[derive(Builder, Debug, Clone)]
6999#[builder(crate = "parol_runtime::derive_builder")]
7000pub struct Expression04 {
7001 pub expression05: Box<Expression05>,
7002 pub expression04_list: Vec<Expression04List>,
7003}
7004
7005#[allow(dead_code)]
7009#[derive(Builder, Debug, Clone)]
7010#[builder(crate = "parol_runtime::derive_builder")]
7011pub struct Expression04List {
7012 pub operator05: Box<Operator05>,
7013 pub expression05: Box<Expression05>,
7014}
7015
7016#[allow(dead_code)]
7020#[derive(Builder, Debug, Clone)]
7021#[builder(crate = "parol_runtime::derive_builder")]
7022pub struct Expression05 {
7023 pub expression06: Box<Expression06>,
7024 pub expression05_list: Vec<Expression05List>,
7025}
7026
7027#[allow(dead_code)]
7031#[derive(Builder, Debug, Clone)]
7032#[builder(crate = "parol_runtime::derive_builder")]
7033pub struct Expression05List {
7034 pub operator06: Box<Operator06>,
7035 pub expression06: Box<Expression06>,
7036}
7037
7038#[allow(dead_code)]
7042#[derive(Builder, Debug, Clone)]
7043#[builder(crate = "parol_runtime::derive_builder")]
7044pub struct Expression06 {
7045 pub expression07: Box<Expression07>,
7046 pub expression06_list: Vec<Expression06List>,
7047}
7048
7049#[allow(dead_code)]
7053#[derive(Builder, Debug, Clone)]
7054#[builder(crate = "parol_runtime::derive_builder")]
7055pub struct Expression06List {
7056 pub operator07: Box<Operator07>,
7057 pub expression07: Box<Expression07>,
7058}
7059
7060#[allow(dead_code)]
7064#[derive(Builder, Debug, Clone)]
7065#[builder(crate = "parol_runtime::derive_builder")]
7066pub struct Expression07 {
7067 pub expression08: Box<Expression08>,
7068 pub expression07_list: Vec<Expression07List>,
7069}
7070
7071#[allow(dead_code)]
7075#[derive(Builder, Debug, Clone)]
7076#[builder(crate = "parol_runtime::derive_builder")]
7077pub struct Expression07List {
7078 pub operator08: Box<Operator08>,
7079 pub expression08: Box<Expression08>,
7080}
7081
7082#[allow(dead_code)]
7086#[derive(Builder, Debug, Clone)]
7087#[builder(crate = "parol_runtime::derive_builder")]
7088pub struct Expression08 {
7089 pub expression09: Box<Expression09>,
7090 pub expression08_list: Vec<Expression08List>,
7091}
7092
7093#[allow(dead_code)]
7097#[derive(Builder, Debug, Clone)]
7098#[builder(crate = "parol_runtime::derive_builder")]
7099pub struct Expression08List {
7100 pub operator09: Box<Operator09>,
7101 pub expression09: Box<Expression09>,
7102}
7103
7104#[allow(dead_code)]
7108#[derive(Builder, Debug, Clone)]
7109#[builder(crate = "parol_runtime::derive_builder")]
7110pub struct Expression09 {
7111 pub expression10: Box<Expression10>,
7112 pub expression09_list: Vec<Expression09List>,
7113}
7114
7115#[allow(dead_code)]
7119#[derive(Builder, Debug, Clone)]
7120#[builder(crate = "parol_runtime::derive_builder")]
7121pub struct Expression09List {
7122 pub expression09_list_group: Box<Expression09ListGroup>,
7123 pub expression10: Box<Expression10>,
7124}
7125
7126#[allow(dead_code)]
7130#[derive(Debug, Clone)]
7131pub enum Expression09ListGroup {
7132 Operator10(Expression09ListGroupOperator10),
7133 Star(Expression09ListGroupStar),
7134}
7135
7136#[allow(dead_code)]
7140#[derive(Builder, Debug, Clone)]
7141#[builder(crate = "parol_runtime::derive_builder")]
7142pub struct Expression10 {
7143 pub expression11: Box<Expression11>,
7144 pub expression10_list: Vec<Expression10List>,
7145}
7146
7147#[allow(dead_code)]
7151#[derive(Builder, Debug, Clone)]
7152#[builder(crate = "parol_runtime::derive_builder")]
7153pub struct Expression10List {
7154 pub operator11: Box<Operator11>,
7155 pub expression11: Box<Expression11>,
7156}
7157
7158#[allow(dead_code)]
7162#[derive(Builder, Debug, Clone)]
7163#[builder(crate = "parol_runtime::derive_builder")]
7164pub struct Expression11 {
7165 pub expression12: Box<Expression12>,
7166 pub expression11_opt: Option<Expression11Opt>,
7167}
7168
7169#[allow(dead_code)]
7173#[derive(Builder, Debug, Clone)]
7174#[builder(crate = "parol_runtime::derive_builder")]
7175pub struct Expression11Opt {
7176 pub r#as: Box<As>,
7177 pub casting_type: Box<CastingType>,
7178}
7179
7180#[allow(dead_code)]
7184#[derive(Builder, Debug, Clone)]
7185#[builder(crate = "parol_runtime::derive_builder")]
7186pub struct Expression12 {
7187 pub expression12_list: Vec<Expression12List>,
7188 pub factor: Box<Factor>,
7189}
7190
7191#[allow(dead_code)]
7195#[derive(Builder, Debug, Clone)]
7196#[builder(crate = "parol_runtime::derive_builder")]
7197pub struct Expression12List {
7198 pub expression12_list_group: Box<Expression12ListGroup>,
7199}
7200
7201#[allow(dead_code)]
7205#[derive(Debug, Clone)]
7206pub enum Expression12ListGroup {
7207 UnaryOperator(Expression12ListGroupUnaryOperator),
7208 Operator09(Expression12ListGroupOperator09),
7209 Operator05(Expression12ListGroupOperator05),
7210 Operator03(Expression12ListGroupOperator03),
7211 Operator04(Expression12ListGroupOperator04),
7212}
7213
7214#[allow(dead_code)]
7218#[derive(Builder, Debug, Clone)]
7219#[builder(crate = "parol_runtime::derive_builder")]
7220pub struct ExpressionIdentifier {
7221 pub scoped_identifier: Box<ScopedIdentifier>,
7222 pub expression_identifier_opt: Option<ExpressionIdentifierOpt>,
7223 pub expression_identifier_list: Vec<ExpressionIdentifierList>,
7224 pub expression_identifier_list0: Vec<ExpressionIdentifierList0>,
7225}
7226
7227#[allow(dead_code)]
7231#[derive(Builder, Debug, Clone)]
7232#[builder(crate = "parol_runtime::derive_builder")]
7233pub struct ExpressionIdentifierList {
7234 pub select: Box<Select>,
7235}
7236
7237#[allow(dead_code)]
7241#[derive(Builder, Debug, Clone)]
7242#[builder(crate = "parol_runtime::derive_builder")]
7243pub struct ExpressionIdentifierList0 {
7244 pub dot: Box<Dot>,
7245 pub identifier: Box<Identifier>,
7246 pub expression_identifier_list0_list: Vec<ExpressionIdentifierList0List>,
7247}
7248
7249#[allow(dead_code)]
7253#[derive(Builder, Debug, Clone)]
7254#[builder(crate = "parol_runtime::derive_builder")]
7255pub struct ExpressionIdentifierList0List {
7256 pub select: Box<Select>,
7257}
7258
7259#[allow(dead_code)]
7263#[derive(Builder, Debug, Clone)]
7264#[builder(crate = "parol_runtime::derive_builder")]
7265pub struct ExpressionIdentifierOpt {
7266 pub width: Box<Width>,
7267}
7268
7269#[allow(dead_code)]
7273#[derive(Builder, Debug, Clone)]
7274#[builder(crate = "parol_runtime::derive_builder")]
7275pub struct ExpressionList {
7276 pub operator01: Box<Operator01>,
7277 pub expression01: Box<Expression01>,
7278}
7279
7280#[allow(dead_code)]
7284#[derive(Builder, Debug, Clone)]
7285#[builder(crate = "parol_runtime::derive_builder")]
7286pub struct F32 {
7287 pub f32_token: crate::veryl_token::VerylToken,
7288}
7289
7290#[allow(dead_code)]
7294#[derive(Builder, Debug, Clone)]
7295#[builder(crate = "parol_runtime::derive_builder")]
7296pub struct F32Term {
7297 pub f32_term: crate::veryl_token::Token, }
7299
7300#[allow(dead_code)]
7304#[derive(Builder, Debug, Clone)]
7305#[builder(crate = "parol_runtime::derive_builder")]
7306pub struct F32Token {
7307 pub f32_term: crate::veryl_token::Token,
7308 pub comments: Box<Comments>,
7309}
7310
7311#[allow(dead_code)]
7315#[derive(Builder, Debug, Clone)]
7316#[builder(crate = "parol_runtime::derive_builder")]
7317pub struct F64 {
7318 pub f64_token: crate::veryl_token::VerylToken,
7319}
7320
7321#[allow(dead_code)]
7325#[derive(Builder, Debug, Clone)]
7326#[builder(crate = "parol_runtime::derive_builder")]
7327pub struct F64Term {
7328 pub f64_term: crate::veryl_token::Token, }
7330
7331#[allow(dead_code)]
7335#[derive(Builder, Debug, Clone)]
7336#[builder(crate = "parol_runtime::derive_builder")]
7337pub struct F64Token {
7338 pub f64_term: crate::veryl_token::Token,
7339 pub comments: Box<Comments>,
7340}
7341
7342#[allow(dead_code)]
7346#[derive(Debug, Clone)]
7347pub enum Factor {
7348 Number(FactorNumber),
7349 IdentifierFactor(FactorIdentifierFactor),
7350 LParenExpressionRParen(FactorLParenExpressionRParen),
7351 LBraceConcatenationListRBrace(FactorLBraceConcatenationListRBrace),
7352 QuoteLBraceArrayLiteralListRBrace(FactorQuoteLBraceArrayLiteralListRBrace),
7353 IfExpression(FactorIfExpression),
7354 CaseExpression(FactorCaseExpression),
7355 SwitchExpression(FactorSwitchExpression),
7356 StringLiteral(FactorStringLiteral),
7357 FactorGroup(FactorFactorGroup),
7358 InsideExpression(FactorInsideExpression),
7359 OutsideExpression(FactorOutsideExpression),
7360 TypeExpression(FactorTypeExpression),
7361 FactorTypeFactor(FactorFactorTypeFactor),
7362}
7363
7364#[allow(dead_code)]
7368#[derive(Debug, Clone)]
7369pub enum FactorGroup {
7370 Msb(FactorGroupMsb),
7371 Lsb(FactorGroupLsb),
7372}
7373
7374#[allow(dead_code)]
7378#[derive(Builder, Debug, Clone)]
7379#[builder(crate = "parol_runtime::derive_builder")]
7380pub struct FactorType {
7381 pub factor_type_group: Box<FactorTypeGroup>,
7382}
7383
7384#[allow(dead_code)]
7388#[derive(Builder, Debug, Clone)]
7389#[builder(crate = "parol_runtime::derive_builder")]
7390pub struct FactorTypeFactor {
7391 pub factor_type_factor_list: Vec<FactorTypeFactorList>,
7392 pub factor_type: Box<FactorType>,
7393}
7394
7395#[allow(dead_code)]
7399#[derive(Builder, Debug, Clone)]
7400#[builder(crate = "parol_runtime::derive_builder")]
7401pub struct FactorTypeFactorList {
7402 pub type_modifier: Box<TypeModifier>,
7403}
7404
7405#[allow(dead_code)]
7409#[derive(Debug, Clone)]
7410pub enum FactorTypeGroup {
7411 VariableTypeFactorTypeOpt(FactorTypeGroupVariableTypeFactorTypeOpt),
7412 FixedType(FactorTypeGroupFixedType),
7413}
7414
7415#[allow(dead_code)]
7419#[derive(Builder, Debug, Clone)]
7420#[builder(crate = "parol_runtime::derive_builder")]
7421pub struct FactorTypeOpt {
7422 pub width: Box<Width>,
7423}
7424
7425#[allow(dead_code)]
7429#[derive(Builder, Debug, Clone)]
7430#[builder(crate = "parol_runtime::derive_builder")]
7431pub struct Final {
7432 pub final_token: crate::veryl_token::VerylToken,
7433}
7434
7435#[allow(dead_code)]
7439#[derive(Builder, Debug, Clone)]
7440#[builder(crate = "parol_runtime::derive_builder")]
7441pub struct FinalDeclaration {
7442 pub r#final: Box<Final>,
7443 pub statement_block: Box<StatementBlock>,
7444}
7445
7446#[allow(dead_code)]
7450#[derive(Builder, Debug, Clone)]
7451#[builder(crate = "parol_runtime::derive_builder")]
7452pub struct FinalTerm {
7453 pub final_term: crate::veryl_token::Token, }
7455
7456#[allow(dead_code)]
7460#[derive(Builder, Debug, Clone)]
7461#[builder(crate = "parol_runtime::derive_builder")]
7462pub struct FinalToken {
7463 pub final_term: crate::veryl_token::Token,
7464 pub comments: Box<Comments>,
7465}
7466
7467#[allow(dead_code)]
7471#[derive(Builder, Debug, Clone)]
7472#[builder(crate = "parol_runtime::derive_builder")]
7473pub struct FixedPoint {
7474 pub fixed_point_token: crate::veryl_token::VerylToken,
7475}
7476
7477#[allow(dead_code)]
7481#[derive(Builder, Debug, Clone)]
7482#[builder(crate = "parol_runtime::derive_builder")]
7483pub struct FixedPointTerm {
7484 pub fixed_point_term: crate::veryl_token::Token, }
7486
7487#[allow(dead_code)]
7491#[derive(Builder, Debug, Clone)]
7492#[builder(crate = "parol_runtime::derive_builder")]
7493pub struct FixedPointToken {
7494 pub fixed_point_term: crate::veryl_token::Token,
7495 pub comments: Box<Comments>,
7496}
7497
7498#[allow(dead_code)]
7502#[derive(Debug, Clone)]
7503pub enum FixedType {
7504 U32(FixedTypeU32),
7505 U64(FixedTypeU64),
7506 I32(FixedTypeI32),
7507 I64(FixedTypeI64),
7508 F32(FixedTypeF32),
7509 F64(FixedTypeF64),
7510 Strin(FixedTypeStrin),
7511}
7512
7513#[allow(dead_code)]
7517#[derive(Builder, Debug, Clone)]
7518#[builder(crate = "parol_runtime::derive_builder")]
7519pub struct For {
7520 pub for_token: crate::veryl_token::VerylToken,
7521}
7522
7523#[allow(dead_code)]
7527#[derive(Builder, Debug, Clone)]
7528#[builder(crate = "parol_runtime::derive_builder")]
7529pub struct ForStatement {
7530 pub r#for: Box<For>,
7531 pub identifier: Box<Identifier>,
7532 pub colon: Box<Colon>,
7533 pub scalar_type: Box<ScalarType>,
7534 pub r#in: Box<In>,
7535 pub range: Box<Range>,
7536 pub for_statement_opt: Option<ForStatementOpt>,
7537 pub statement_block: Box<StatementBlock>,
7538}
7539
7540#[allow(dead_code)]
7544#[derive(Builder, Debug, Clone)]
7545#[builder(crate = "parol_runtime::derive_builder")]
7546pub struct ForStatementOpt {
7547 pub step: Box<Step>,
7548 pub assignment_operator: Box<AssignmentOperator>,
7549 pub expression: Box<Expression>,
7550}
7551
7552#[allow(dead_code)]
7556#[derive(Builder, Debug, Clone)]
7557#[builder(crate = "parol_runtime::derive_builder")]
7558pub struct ForTerm {
7559 pub for_term: crate::veryl_token::Token, }
7561
7562#[allow(dead_code)]
7566#[derive(Builder, Debug, Clone)]
7567#[builder(crate = "parol_runtime::derive_builder")]
7568pub struct ForToken {
7569 pub for_term: crate::veryl_token::Token,
7570 pub comments: Box<Comments>,
7571}
7572
7573#[allow(dead_code)]
7577#[derive(Builder, Debug, Clone)]
7578#[builder(crate = "parol_runtime::derive_builder")]
7579pub struct Function {
7580 pub function_token: crate::veryl_token::VerylToken,
7581}
7582
7583#[allow(dead_code)]
7587#[derive(Builder, Debug, Clone)]
7588#[builder(crate = "parol_runtime::derive_builder")]
7589pub struct FunctionCall {
7590 pub l_paren: Box<LParen>,
7591 pub function_call_opt: Option<FunctionCallOpt>,
7592 pub r_paren: Box<RParen>,
7593}
7594
7595#[allow(dead_code)]
7599#[derive(Builder, Debug, Clone)]
7600#[builder(crate = "parol_runtime::derive_builder")]
7601pub struct FunctionCallOpt {
7602 pub argument_list: Box<ArgumentList>,
7603}
7604
7605#[allow(dead_code)]
7609#[derive(Builder, Debug, Clone)]
7610#[builder(crate = "parol_runtime::derive_builder")]
7611pub struct FunctionDeclaration {
7612 pub function: Box<Function>,
7613 pub identifier: Box<Identifier>,
7614 pub function_declaration_opt: Option<FunctionDeclarationOpt>,
7615 pub function_declaration_opt0: Option<FunctionDeclarationOpt0>,
7616 pub function_declaration_opt1: Option<FunctionDeclarationOpt1>,
7617 pub statement_block: Box<StatementBlock>,
7618}
7619
7620#[allow(dead_code)]
7624#[derive(Builder, Debug, Clone)]
7625#[builder(crate = "parol_runtime::derive_builder")]
7626pub struct FunctionDeclarationOpt {
7627 pub with_generic_parameter: Box<WithGenericParameter>,
7628}
7629
7630#[allow(dead_code)]
7634#[derive(Builder, Debug, Clone)]
7635#[builder(crate = "parol_runtime::derive_builder")]
7636pub struct FunctionDeclarationOpt0 {
7637 pub port_declaration: Box<PortDeclaration>,
7638}
7639
7640#[allow(dead_code)]
7644#[derive(Builder, Debug, Clone)]
7645#[builder(crate = "parol_runtime::derive_builder")]
7646pub struct FunctionDeclarationOpt1 {
7647 pub minus_g_t: Box<MinusGT>,
7648 pub scalar_type: Box<ScalarType>,
7649}
7650
7651#[allow(dead_code)]
7655#[derive(Builder, Debug, Clone)]
7656#[builder(crate = "parol_runtime::derive_builder")]
7657pub struct FunctionTerm {
7658 pub function_term: crate::veryl_token::Token, }
7660
7661#[allow(dead_code)]
7665#[derive(Builder, Debug, Clone)]
7666#[builder(crate = "parol_runtime::derive_builder")]
7667pub struct FunctionToken {
7668 pub function_term: crate::veryl_token::Token,
7669 pub comments: Box<Comments>,
7670}
7671
7672#[allow(dead_code)]
7676#[derive(Builder, Debug, Clone)]
7677#[builder(crate = "parol_runtime::derive_builder")]
7678pub struct GenerateBlockDeclaration {
7679 pub generate_named_block: Box<GenerateNamedBlock>,
7680}
7681
7682#[allow(dead_code)]
7686#[derive(Builder, Debug, Clone)]
7687#[builder(crate = "parol_runtime::derive_builder")]
7688pub struct GenerateForDeclaration {
7689 pub r#for: Box<For>,
7690 pub identifier: Box<Identifier>,
7691 pub r#in: Box<In>,
7692 pub range: Box<Range>,
7693 pub generate_for_declaration_opt: Option<GenerateForDeclarationOpt>,
7694 pub generate_named_block: Box<GenerateNamedBlock>,
7695}
7696
7697#[allow(dead_code)]
7701#[derive(Builder, Debug, Clone)]
7702#[builder(crate = "parol_runtime::derive_builder")]
7703pub struct GenerateForDeclarationOpt {
7704 pub step: Box<Step>,
7705 pub assignment_operator: Box<AssignmentOperator>,
7706 pub expression: Box<Expression>,
7707}
7708
7709#[allow(dead_code)]
7713#[derive(Builder, Debug, Clone)]
7714#[builder(crate = "parol_runtime::derive_builder")]
7715pub struct GenerateGroup {
7716 pub generate_group_list: Vec<GenerateGroupList>,
7717 pub generate_group_group: Box<GenerateGroupGroup>,
7718}
7719
7720#[allow(dead_code)]
7724#[derive(Debug, Clone)]
7725pub enum GenerateGroupGroup {
7726 LBraceGenerateGroupGroupListRBrace(GenerateGroupGroupLBraceGenerateGroupGroupListRBrace),
7727 GenerateItem(GenerateGroupGroupGenerateItem),
7728}
7729
7730#[allow(dead_code)]
7734#[derive(Builder, Debug, Clone)]
7735#[builder(crate = "parol_runtime::derive_builder")]
7736pub struct GenerateGroupGroupList {
7737 pub generate_group: Box<GenerateGroup>,
7738}
7739
7740#[allow(dead_code)]
7744#[derive(Builder, Debug, Clone)]
7745#[builder(crate = "parol_runtime::derive_builder")]
7746pub struct GenerateGroupList {
7747 pub attribute: Box<Attribute>,
7748}
7749
7750#[allow(dead_code)]
7754#[derive(Builder, Debug, Clone)]
7755#[builder(crate = "parol_runtime::derive_builder")]
7756pub struct GenerateIfDeclaration {
7757 pub r#if: Box<If>,
7758 pub expression: Box<Expression>,
7759 pub generate_named_block: Box<GenerateNamedBlock>,
7760 pub generate_if_declaration_list: Vec<GenerateIfDeclarationList>,
7761 pub generate_if_declaration_opt: Option<GenerateIfDeclarationOpt>,
7762}
7763
7764#[allow(dead_code)]
7768#[derive(Builder, Debug, Clone)]
7769#[builder(crate = "parol_runtime::derive_builder")]
7770pub struct GenerateIfDeclarationList {
7771 pub r#else: Box<Else>,
7772 pub r#if: Box<If>,
7773 pub expression: Box<Expression>,
7774 pub generate_optional_named_block: Box<GenerateOptionalNamedBlock>,
7775}
7776
7777#[allow(dead_code)]
7781#[derive(Builder, Debug, Clone)]
7782#[builder(crate = "parol_runtime::derive_builder")]
7783pub struct GenerateIfDeclarationOpt {
7784 pub r#else: Box<Else>,
7785 pub generate_optional_named_block: Box<GenerateOptionalNamedBlock>,
7786}
7787
7788#[allow(dead_code)]
7792#[derive(Debug, Clone)]
7793pub enum GenerateItem {
7794 LetDeclaration(GenerateItemLetDeclaration),
7795 VarDeclaration(GenerateItemVarDeclaration),
7796 InstDeclaration(GenerateItemInstDeclaration),
7797 ConstDeclaration(GenerateItemConstDeclaration),
7798 AlwaysFfDeclaration(GenerateItemAlwaysFfDeclaration),
7799 AlwaysCombDeclaration(GenerateItemAlwaysCombDeclaration),
7800 AssignDeclaration(GenerateItemAssignDeclaration),
7801 FunctionDeclaration(GenerateItemFunctionDeclaration),
7802 GenerateIfDeclaration(GenerateItemGenerateIfDeclaration),
7803 GenerateForDeclaration(GenerateItemGenerateForDeclaration),
7804 GenerateBlockDeclaration(GenerateItemGenerateBlockDeclaration),
7805 TypeDefDeclaration(GenerateItemTypeDefDeclaration),
7806 EnumDeclaration(GenerateItemEnumDeclaration),
7807 StructUnionDeclaration(GenerateItemStructUnionDeclaration),
7808 ImportDeclaration(GenerateItemImportDeclaration),
7809 InitialDeclaration(GenerateItemInitialDeclaration),
7810 FinalDeclaration(GenerateItemFinalDeclaration),
7811 UnsafeBlock(GenerateItemUnsafeBlock),
7812}
7813
7814#[allow(dead_code)]
7818#[derive(Builder, Debug, Clone)]
7819#[builder(crate = "parol_runtime::derive_builder")]
7820pub struct GenerateNamedBlock {
7821 pub colon: Box<Colon>,
7822 pub identifier: Box<Identifier>,
7823 pub l_brace: Box<LBrace>,
7824 pub generate_named_block_list: Vec<GenerateNamedBlockList>,
7825 pub r_brace: Box<RBrace>,
7826}
7827
7828#[allow(dead_code)]
7832#[derive(Builder, Debug, Clone)]
7833#[builder(crate = "parol_runtime::derive_builder")]
7834pub struct GenerateNamedBlockList {
7835 pub generate_group: Box<GenerateGroup>,
7836}
7837
7838#[allow(dead_code)]
7842#[derive(Builder, Debug, Clone)]
7843#[builder(crate = "parol_runtime::derive_builder")]
7844pub struct GenerateOptionalNamedBlock {
7845 pub generate_optional_named_block_opt: Option<GenerateOptionalNamedBlockOpt>,
7846 pub l_brace: Box<LBrace>,
7847 pub generate_optional_named_block_list: Vec<GenerateOptionalNamedBlockList>,
7848 pub r_brace: Box<RBrace>,
7849}
7850
7851#[allow(dead_code)]
7855#[derive(Builder, Debug, Clone)]
7856#[builder(crate = "parol_runtime::derive_builder")]
7857pub struct GenerateOptionalNamedBlockList {
7858 pub generate_group: Box<GenerateGroup>,
7859}
7860
7861#[allow(dead_code)]
7865#[derive(Builder, Debug, Clone)]
7866#[builder(crate = "parol_runtime::derive_builder")]
7867pub struct GenerateOptionalNamedBlockOpt {
7868 pub colon: Box<Colon>,
7869 pub identifier: Box<Identifier>,
7870}
7871
7872#[allow(dead_code)]
7876#[derive(Debug, Clone)]
7877pub enum GenericBound {
7878 Const(GenericBoundConst),
7879 Type(GenericBoundType),
7880 InstScopedIdentifier(GenericBoundInstScopedIdentifier),
7881 ScopedIdentifier(GenericBoundScopedIdentifier),
7882}
7883
7884#[allow(dead_code)]
7888#[derive(Builder, Debug, Clone)]
7889#[builder(crate = "parol_runtime::derive_builder")]
7890pub struct Hash {
7891 pub hash_token: crate::veryl_token::VerylToken,
7892}
7893
7894#[allow(dead_code)]
7898#[derive(Builder, Debug, Clone)]
7899#[builder(crate = "parol_runtime::derive_builder")]
7900pub struct HashTerm {
7901 pub hash_term: crate::veryl_token::Token, }
7903
7904#[allow(dead_code)]
7908#[derive(Builder, Debug, Clone)]
7909#[builder(crate = "parol_runtime::derive_builder")]
7910pub struct HashToken {
7911 pub hash_term: crate::veryl_token::Token,
7912 pub comments: Box<Comments>,
7913}
7914
7915#[allow(dead_code)]
7919#[derive(Builder, Debug, Clone)]
7920#[builder(crate = "parol_runtime::derive_builder")]
7921pub struct HierarchicalIdentifier {
7922 pub identifier: Box<Identifier>,
7923 pub hierarchical_identifier_list: Vec<HierarchicalIdentifierList>,
7924 pub hierarchical_identifier_list0: Vec<HierarchicalIdentifierList0>,
7925}
7926
7927#[allow(dead_code)]
7931#[derive(Builder, Debug, Clone)]
7932#[builder(crate = "parol_runtime::derive_builder")]
7933pub struct HierarchicalIdentifierList {
7934 pub select: Box<Select>,
7935}
7936
7937#[allow(dead_code)]
7941#[derive(Builder, Debug, Clone)]
7942#[builder(crate = "parol_runtime::derive_builder")]
7943pub struct HierarchicalIdentifierList0 {
7944 pub dot: Box<Dot>,
7945 pub identifier: Box<Identifier>,
7946 pub hierarchical_identifier_list0_list: Vec<HierarchicalIdentifierList0List>,
7947}
7948
7949#[allow(dead_code)]
7953#[derive(Builder, Debug, Clone)]
7954#[builder(crate = "parol_runtime::derive_builder")]
7955pub struct HierarchicalIdentifierList0List {
7956 pub select: Box<Select>,
7957}
7958
7959#[allow(dead_code)]
7963#[derive(Builder, Debug, Clone)]
7964#[builder(crate = "parol_runtime::derive_builder")]
7965pub struct I32 {
7966 pub i32_token: crate::veryl_token::VerylToken,
7967}
7968
7969#[allow(dead_code)]
7973#[derive(Builder, Debug, Clone)]
7974#[builder(crate = "parol_runtime::derive_builder")]
7975pub struct I32Term {
7976 pub i32_term: crate::veryl_token::Token, }
7978
7979#[allow(dead_code)]
7983#[derive(Builder, Debug, Clone)]
7984#[builder(crate = "parol_runtime::derive_builder")]
7985pub struct I32Token {
7986 pub i32_term: crate::veryl_token::Token,
7987 pub comments: Box<Comments>,
7988}
7989
7990#[allow(dead_code)]
7994#[derive(Builder, Debug, Clone)]
7995#[builder(crate = "parol_runtime::derive_builder")]
7996pub struct I64 {
7997 pub i64_token: crate::veryl_token::VerylToken,
7998}
7999
8000#[allow(dead_code)]
8004#[derive(Builder, Debug, Clone)]
8005#[builder(crate = "parol_runtime::derive_builder")]
8006pub struct I64Term {
8007 pub i64_term: crate::veryl_token::Token, }
8009
8010#[allow(dead_code)]
8014#[derive(Builder, Debug, Clone)]
8015#[builder(crate = "parol_runtime::derive_builder")]
8016pub struct I64Token {
8017 pub i64_term: crate::veryl_token::Token,
8018 pub comments: Box<Comments>,
8019}
8020
8021#[allow(dead_code)]
8025#[derive(Builder, Debug, Clone)]
8026#[builder(crate = "parol_runtime::derive_builder")]
8027pub struct Identifier {
8028 pub identifier_token: crate::veryl_token::VerylToken,
8029}
8030
8031#[allow(dead_code)]
8035#[derive(Builder, Debug, Clone)]
8036#[builder(crate = "parol_runtime::derive_builder")]
8037pub struct IdentifierFactor {
8038 pub expression_identifier: Box<ExpressionIdentifier>,
8039 pub identifier_factor_opt: Option<IdentifierFactorOpt>,
8040}
8041
8042#[allow(dead_code)]
8046#[derive(Builder, Debug, Clone)]
8047#[builder(crate = "parol_runtime::derive_builder")]
8048pub struct IdentifierFactorOpt {
8049 pub function_call: Box<FunctionCall>,
8050}
8051
8052#[allow(dead_code)]
8056#[derive(Builder, Debug, Clone)]
8057#[builder(crate = "parol_runtime::derive_builder")]
8058pub struct IdentifierStatement {
8059 pub expression_identifier: Box<ExpressionIdentifier>,
8060 pub identifier_statement_group: Box<IdentifierStatementGroup>,
8061 pub semicolon: Box<Semicolon>,
8062}
8063
8064#[allow(dead_code)]
8068#[derive(Debug, Clone)]
8069pub enum IdentifierStatementGroup {
8070 FunctionCall(IdentifierStatementGroupFunctionCall),
8071 Assignment(IdentifierStatementGroupAssignment),
8072}
8073
8074#[allow(dead_code)]
8078#[derive(Builder, Debug, Clone)]
8079#[builder(crate = "parol_runtime::derive_builder")]
8080pub struct IdentifierTerm {
8081 pub identifier_term: crate::veryl_token::Token, }
8083
8084#[allow(dead_code)]
8088#[derive(Builder, Debug, Clone)]
8089#[builder(crate = "parol_runtime::derive_builder")]
8090pub struct IdentifierToken {
8091 pub identifier_term: crate::veryl_token::Token,
8092 pub comments: Box<Comments>,
8093}
8094
8095#[allow(dead_code)]
8099#[derive(Builder, Debug, Clone)]
8100#[builder(crate = "parol_runtime::derive_builder")]
8101pub struct If {
8102 pub if_token: crate::veryl_token::VerylToken,
8103}
8104
8105#[allow(dead_code)]
8109#[derive(Builder, Debug, Clone)]
8110#[builder(crate = "parol_runtime::derive_builder")]
8111pub struct IfExpression {
8112 pub r#if: Box<If>,
8113 pub expression: Box<Expression>,
8114 pub l_brace: Box<LBrace>,
8115 pub expression0: Box<Expression>,
8116 pub r_brace: Box<RBrace>,
8117 pub if_expression_list: Vec<IfExpressionList>,
8118 pub r#else: Box<Else>,
8119 pub l_brace0: Box<LBrace>,
8120 pub expression1: Box<Expression>,
8121 pub r_brace0: Box<RBrace>,
8122}
8123
8124#[allow(dead_code)]
8128#[derive(Builder, Debug, Clone)]
8129#[builder(crate = "parol_runtime::derive_builder")]
8130pub struct IfExpressionList {
8131 pub r#else: Box<Else>,
8132 pub r#if: Box<If>,
8133 pub expression: Box<Expression>,
8134 pub l_brace: Box<LBrace>,
8135 pub expression0: Box<Expression>,
8136 pub r_brace: Box<RBrace>,
8137}
8138
8139#[allow(dead_code)]
8143#[derive(Builder, Debug, Clone)]
8144#[builder(crate = "parol_runtime::derive_builder")]
8145pub struct IfReset {
8146 pub if_reset_token: crate::veryl_token::VerylToken,
8147}
8148
8149#[allow(dead_code)]
8153#[derive(Builder, Debug, Clone)]
8154#[builder(crate = "parol_runtime::derive_builder")]
8155pub struct IfResetStatement {
8156 pub if_reset: Box<IfReset>,
8157 pub statement_block: Box<StatementBlock>,
8158 pub if_reset_statement_list: Vec<IfResetStatementList>,
8159 pub if_reset_statement_opt: Option<IfResetStatementOpt>,
8160}
8161
8162#[allow(dead_code)]
8166#[derive(Builder, Debug, Clone)]
8167#[builder(crate = "parol_runtime::derive_builder")]
8168pub struct IfResetStatementList {
8169 pub r#else: Box<Else>,
8170 pub r#if: Box<If>,
8171 pub expression: Box<Expression>,
8172 pub statement_block: Box<StatementBlock>,
8173}
8174
8175#[allow(dead_code)]
8179#[derive(Builder, Debug, Clone)]
8180#[builder(crate = "parol_runtime::derive_builder")]
8181pub struct IfResetStatementOpt {
8182 pub r#else: Box<Else>,
8183 pub statement_block: Box<StatementBlock>,
8184}
8185
8186#[allow(dead_code)]
8190#[derive(Builder, Debug, Clone)]
8191#[builder(crate = "parol_runtime::derive_builder")]
8192pub struct IfResetTerm {
8193 pub if_reset_term: crate::veryl_token::Token, }
8195
8196#[allow(dead_code)]
8200#[derive(Builder, Debug, Clone)]
8201#[builder(crate = "parol_runtime::derive_builder")]
8202pub struct IfResetToken {
8203 pub if_reset_term: crate::veryl_token::Token,
8204 pub comments: Box<Comments>,
8205}
8206
8207#[allow(dead_code)]
8211#[derive(Builder, Debug, Clone)]
8212#[builder(crate = "parol_runtime::derive_builder")]
8213pub struct IfStatement {
8214 pub r#if: Box<If>,
8215 pub expression: Box<Expression>,
8216 pub statement_block: Box<StatementBlock>,
8217 pub if_statement_list: Vec<IfStatementList>,
8218 pub if_statement_opt: Option<IfStatementOpt>,
8219}
8220
8221#[allow(dead_code)]
8225#[derive(Builder, Debug, Clone)]
8226#[builder(crate = "parol_runtime::derive_builder")]
8227pub struct IfStatementList {
8228 pub r#else: Box<Else>,
8229 pub r#if: Box<If>,
8230 pub expression: Box<Expression>,
8231 pub statement_block: Box<StatementBlock>,
8232}
8233
8234#[allow(dead_code)]
8238#[derive(Builder, Debug, Clone)]
8239#[builder(crate = "parol_runtime::derive_builder")]
8240pub struct IfStatementOpt {
8241 pub r#else: Box<Else>,
8242 pub statement_block: Box<StatementBlock>,
8243}
8244
8245#[allow(dead_code)]
8249#[derive(Builder, Debug, Clone)]
8250#[builder(crate = "parol_runtime::derive_builder")]
8251pub struct IfTerm {
8252 pub if_term: crate::veryl_token::Token, }
8254
8255#[allow(dead_code)]
8259#[derive(Builder, Debug, Clone)]
8260#[builder(crate = "parol_runtime::derive_builder")]
8261pub struct IfToken {
8262 pub if_term: crate::veryl_token::Token,
8263 pub comments: Box<Comments>,
8264}
8265
8266#[allow(dead_code)]
8270#[derive(Builder, Debug, Clone)]
8271#[builder(crate = "parol_runtime::derive_builder")]
8272pub struct Import {
8273 pub import_token: crate::veryl_token::VerylToken,
8274}
8275
8276#[allow(dead_code)]
8280#[derive(Builder, Debug, Clone)]
8281#[builder(crate = "parol_runtime::derive_builder")]
8282pub struct ImportDeclaration {
8283 pub import: Box<Import>,
8284 pub scoped_identifier: Box<ScopedIdentifier>,
8285 pub import_declaration_opt: Option<ImportDeclarationOpt>,
8286 pub semicolon: Box<Semicolon>,
8287}
8288
8289#[allow(dead_code)]
8293#[derive(Builder, Debug, Clone)]
8294#[builder(crate = "parol_runtime::derive_builder")]
8295pub struct ImportDeclarationOpt {
8296 pub colon_colon: Box<ColonColon>,
8297 pub star: Box<Star>,
8298}
8299
8300#[allow(dead_code)]
8304#[derive(Builder, Debug, Clone)]
8305#[builder(crate = "parol_runtime::derive_builder")]
8306pub struct ImportTerm {
8307 pub import_term: crate::veryl_token::Token, }
8309
8310#[allow(dead_code)]
8314#[derive(Builder, Debug, Clone)]
8315#[builder(crate = "parol_runtime::derive_builder")]
8316pub struct ImportToken {
8317 pub import_term: crate::veryl_token::Token,
8318 pub comments: Box<Comments>,
8319}
8320
8321#[allow(dead_code)]
8325#[derive(Builder, Debug, Clone)]
8326#[builder(crate = "parol_runtime::derive_builder")]
8327pub struct In {
8328 pub in_token: crate::veryl_token::VerylToken,
8329}
8330
8331#[allow(dead_code)]
8335#[derive(Builder, Debug, Clone)]
8336#[builder(crate = "parol_runtime::derive_builder")]
8337pub struct InTerm {
8338 pub in_term: crate::veryl_token::Token, }
8340
8341#[allow(dead_code)]
8345#[derive(Builder, Debug, Clone)]
8346#[builder(crate = "parol_runtime::derive_builder")]
8347pub struct InToken {
8348 pub in_term: crate::veryl_token::Token,
8349 pub comments: Box<Comments>,
8350}
8351
8352#[allow(dead_code)]
8356#[derive(Builder, Debug, Clone)]
8357#[builder(crate = "parol_runtime::derive_builder")]
8358pub struct Include {
8359 pub include_token: crate::veryl_token::VerylToken,
8360}
8361
8362#[allow(dead_code)]
8366#[derive(Builder, Debug, Clone)]
8367#[builder(crate = "parol_runtime::derive_builder")]
8368pub struct IncludeDeclaration {
8369 pub include: Box<Include>,
8370 pub l_paren: Box<LParen>,
8371 pub identifier: Box<Identifier>,
8372 pub comma: Box<Comma>,
8373 pub string_literal: Box<StringLiteral>,
8374 pub r_paren: Box<RParen>,
8375 pub semicolon: Box<Semicolon>,
8376}
8377
8378#[allow(dead_code)]
8382#[derive(Builder, Debug, Clone)]
8383#[builder(crate = "parol_runtime::derive_builder")]
8384pub struct IncludeTerm {
8385 pub include_term: crate::veryl_token::Token, }
8387
8388#[allow(dead_code)]
8392#[derive(Builder, Debug, Clone)]
8393#[builder(crate = "parol_runtime::derive_builder")]
8394pub struct IncludeToken {
8395 pub include_term: crate::veryl_token::Token,
8396 pub comments: Box<Comments>,
8397}
8398
8399#[allow(dead_code)]
8403#[derive(Builder, Debug, Clone)]
8404#[builder(crate = "parol_runtime::derive_builder")]
8405pub struct Initial {
8406 pub initial_token: crate::veryl_token::VerylToken,
8407}
8408
8409#[allow(dead_code)]
8413#[derive(Builder, Debug, Clone)]
8414#[builder(crate = "parol_runtime::derive_builder")]
8415pub struct InitialDeclaration {
8416 pub initial: Box<Initial>,
8417 pub statement_block: Box<StatementBlock>,
8418}
8419
8420#[allow(dead_code)]
8424#[derive(Builder, Debug, Clone)]
8425#[builder(crate = "parol_runtime::derive_builder")]
8426pub struct InitialTerm {
8427 pub initial_term: crate::veryl_token::Token, }
8429
8430#[allow(dead_code)]
8434#[derive(Builder, Debug, Clone)]
8435#[builder(crate = "parol_runtime::derive_builder")]
8436pub struct InitialToken {
8437 pub initial_term: crate::veryl_token::Token,
8438 pub comments: Box<Comments>,
8439}
8440
8441#[allow(dead_code)]
8445#[derive(Builder, Debug, Clone)]
8446#[builder(crate = "parol_runtime::derive_builder")]
8447pub struct Inout {
8448 pub inout_token: crate::veryl_token::VerylToken,
8449}
8450
8451#[allow(dead_code)]
8455#[derive(Builder, Debug, Clone)]
8456#[builder(crate = "parol_runtime::derive_builder")]
8457pub struct InoutTerm {
8458 pub inout_term: crate::veryl_token::Token, }
8460
8461#[allow(dead_code)]
8465#[derive(Builder, Debug, Clone)]
8466#[builder(crate = "parol_runtime::derive_builder")]
8467pub struct InoutToken {
8468 pub inout_term: crate::veryl_token::Token,
8469 pub comments: Box<Comments>,
8470}
8471
8472#[allow(dead_code)]
8476#[derive(Builder, Debug, Clone)]
8477#[builder(crate = "parol_runtime::derive_builder")]
8478pub struct Input {
8479 pub input_token: crate::veryl_token::VerylToken,
8480}
8481
8482#[allow(dead_code)]
8486#[derive(Builder, Debug, Clone)]
8487#[builder(crate = "parol_runtime::derive_builder")]
8488pub struct InputTerm {
8489 pub input_term: crate::veryl_token::Token, }
8491
8492#[allow(dead_code)]
8496#[derive(Builder, Debug, Clone)]
8497#[builder(crate = "parol_runtime::derive_builder")]
8498pub struct InputToken {
8499 pub input_term: crate::veryl_token::Token,
8500 pub comments: Box<Comments>,
8501}
8502
8503#[allow(dead_code)]
8507#[derive(Builder, Debug, Clone)]
8508#[builder(crate = "parol_runtime::derive_builder")]
8509pub struct Inside {
8510 pub inside_token: crate::veryl_token::VerylToken,
8511}
8512
8513#[allow(dead_code)]
8517#[derive(Builder, Debug, Clone)]
8518#[builder(crate = "parol_runtime::derive_builder")]
8519pub struct InsideExpression {
8520 pub inside: Box<Inside>,
8521 pub expression: Box<Expression>,
8522 pub l_brace: Box<LBrace>,
8523 pub range_list: Box<RangeList>,
8524 pub r_brace: Box<RBrace>,
8525}
8526
8527#[allow(dead_code)]
8531#[derive(Builder, Debug, Clone)]
8532#[builder(crate = "parol_runtime::derive_builder")]
8533pub struct InsideTerm {
8534 pub inside_term: crate::veryl_token::Token, }
8536
8537#[allow(dead_code)]
8541#[derive(Builder, Debug, Clone)]
8542#[builder(crate = "parol_runtime::derive_builder")]
8543pub struct InsideToken {
8544 pub inside_term: crate::veryl_token::Token,
8545 pub comments: Box<Comments>,
8546}
8547
8548#[allow(dead_code)]
8552#[derive(Builder, Debug, Clone)]
8553#[builder(crate = "parol_runtime::derive_builder")]
8554pub struct Inst {
8555 pub inst_token: crate::veryl_token::VerylToken,
8556}
8557
8558#[allow(dead_code)]
8562#[derive(Builder, Debug, Clone)]
8563#[builder(crate = "parol_runtime::derive_builder")]
8564pub struct InstDeclaration {
8565 pub inst: Box<Inst>,
8566 pub identifier: Box<Identifier>,
8567 pub colon: Box<Colon>,
8568 pub inst_declaration_opt: Option<InstDeclarationOpt>,
8569 pub scoped_identifier: Box<ScopedIdentifier>,
8570 pub inst_declaration_opt0: Option<InstDeclarationOpt0>,
8571 pub inst_declaration_opt1: Option<InstDeclarationOpt1>,
8572 pub inst_declaration_opt2: Option<InstDeclarationOpt2>,
8573 pub semicolon: Box<Semicolon>,
8574}
8575
8576#[allow(dead_code)]
8580#[derive(Builder, Debug, Clone)]
8581#[builder(crate = "parol_runtime::derive_builder")]
8582pub struct InstDeclarationOpt {
8583 pub clock_domain: Box<ClockDomain>,
8584}
8585
8586#[allow(dead_code)]
8590#[derive(Builder, Debug, Clone)]
8591#[builder(crate = "parol_runtime::derive_builder")]
8592pub struct InstDeclarationOpt0 {
8593 pub array: Box<Array>,
8594}
8595
8596#[allow(dead_code)]
8600#[derive(Builder, Debug, Clone)]
8601#[builder(crate = "parol_runtime::derive_builder")]
8602pub struct InstDeclarationOpt1 {
8603 pub inst_parameter: Box<InstParameter>,
8604}
8605
8606#[allow(dead_code)]
8610#[derive(Builder, Debug, Clone)]
8611#[builder(crate = "parol_runtime::derive_builder")]
8612pub struct InstDeclarationOpt2 {
8613 pub l_paren: Box<LParen>,
8614 pub inst_declaration_opt3: Option<InstDeclarationOpt3>,
8615 pub r_paren: Box<RParen>,
8616}
8617
8618#[allow(dead_code)]
8622#[derive(Builder, Debug, Clone)]
8623#[builder(crate = "parol_runtime::derive_builder")]
8624pub struct InstDeclarationOpt3 {
8625 pub inst_port_list: Box<InstPortList>,
8626}
8627
8628#[allow(dead_code)]
8632#[derive(Builder, Debug, Clone)]
8633#[builder(crate = "parol_runtime::derive_builder")]
8634pub struct InstParameter {
8635 pub hash: Box<Hash>,
8636 pub l_paren: Box<LParen>,
8637 pub inst_parameter_opt: Option<InstParameterOpt>,
8638 pub r_paren: Box<RParen>,
8639}
8640
8641#[allow(dead_code)]
8645#[derive(Builder, Debug, Clone)]
8646#[builder(crate = "parol_runtime::derive_builder")]
8647pub struct InstParameterGroup {
8648 pub inst_parameter_group_list: Vec<InstParameterGroupList>,
8649 pub inst_parameter_group_group: Box<InstParameterGroupGroup>,
8650}
8651
8652#[allow(dead_code)]
8656#[derive(Debug, Clone)]
8657pub enum InstParameterGroupGroup {
8658 LBraceInstParameterListRBrace(InstParameterGroupGroupLBraceInstParameterListRBrace),
8659 InstParameterItem(InstParameterGroupGroupInstParameterItem),
8660}
8661
8662#[allow(dead_code)]
8666#[derive(Builder, Debug, Clone)]
8667#[builder(crate = "parol_runtime::derive_builder")]
8668pub struct InstParameterGroupList {
8669 pub attribute: Box<Attribute>,
8670}
8671
8672#[allow(dead_code)]
8676#[derive(Builder, Debug, Clone)]
8677#[builder(crate = "parol_runtime::derive_builder")]
8678pub struct InstParameterItem {
8679 pub identifier: Box<Identifier>,
8680 pub inst_parameter_item_opt: Option<InstParameterItemOpt>,
8681}
8682
8683#[allow(dead_code)]
8687#[derive(Builder, Debug, Clone)]
8688#[builder(crate = "parol_runtime::derive_builder")]
8689pub struct InstParameterItemOpt {
8690 pub colon: Box<Colon>,
8691 pub expression: Box<Expression>,
8692}
8693
8694#[allow(dead_code)]
8698#[derive(Builder, Debug, Clone)]
8699#[builder(crate = "parol_runtime::derive_builder")]
8700pub struct InstParameterList {
8701 pub inst_parameter_group: Box<InstParameterGroup>,
8702 pub inst_parameter_list_list: Vec<InstParameterListList>,
8703 pub inst_parameter_list_opt: Option<InstParameterListOpt>,
8704}
8705
8706#[allow(dead_code)]
8710#[derive(Builder, Debug, Clone)]
8711#[builder(crate = "parol_runtime::derive_builder")]
8712pub struct InstParameterListList {
8713 pub comma: Box<Comma>,
8714 pub inst_parameter_group: Box<InstParameterGroup>,
8715}
8716
8717#[allow(dead_code)]
8721#[derive(Builder, Debug, Clone)]
8722#[builder(crate = "parol_runtime::derive_builder")]
8723pub struct InstParameterListOpt {
8724 pub comma: Box<Comma>,
8725}
8726
8727#[allow(dead_code)]
8731#[derive(Builder, Debug, Clone)]
8732#[builder(crate = "parol_runtime::derive_builder")]
8733pub struct InstParameterOpt {
8734 pub inst_parameter_list: Box<InstParameterList>,
8735}
8736
8737#[allow(dead_code)]
8741#[derive(Builder, Debug, Clone)]
8742#[builder(crate = "parol_runtime::derive_builder")]
8743pub struct InstPortGroup {
8744 pub inst_port_group_list: Vec<InstPortGroupList>,
8745 pub inst_port_group_group: Box<InstPortGroupGroup>,
8746}
8747
8748#[allow(dead_code)]
8752#[derive(Debug, Clone)]
8753pub enum InstPortGroupGroup {
8754 LBraceInstPortListRBrace(InstPortGroupGroupLBraceInstPortListRBrace),
8755 InstPortItem(InstPortGroupGroupInstPortItem),
8756}
8757
8758#[allow(dead_code)]
8762#[derive(Builder, Debug, Clone)]
8763#[builder(crate = "parol_runtime::derive_builder")]
8764pub struct InstPortGroupList {
8765 pub attribute: Box<Attribute>,
8766}
8767
8768#[allow(dead_code)]
8772#[derive(Builder, Debug, Clone)]
8773#[builder(crate = "parol_runtime::derive_builder")]
8774pub struct InstPortItem {
8775 pub identifier: Box<Identifier>,
8776 pub inst_port_item_opt: Option<InstPortItemOpt>,
8777}
8778
8779#[allow(dead_code)]
8783#[derive(Builder, Debug, Clone)]
8784#[builder(crate = "parol_runtime::derive_builder")]
8785pub struct InstPortItemOpt {
8786 pub colon: Box<Colon>,
8787 pub expression: Box<Expression>,
8788}
8789
8790#[allow(dead_code)]
8794#[derive(Builder, Debug, Clone)]
8795#[builder(crate = "parol_runtime::derive_builder")]
8796pub struct InstPortList {
8797 pub inst_port_group: Box<InstPortGroup>,
8798 pub inst_port_list_list: Vec<InstPortListList>,
8799 pub inst_port_list_opt: Option<InstPortListOpt>,
8800}
8801
8802#[allow(dead_code)]
8806#[derive(Builder, Debug, Clone)]
8807#[builder(crate = "parol_runtime::derive_builder")]
8808pub struct InstPortListList {
8809 pub comma: Box<Comma>,
8810 pub inst_port_group: Box<InstPortGroup>,
8811}
8812
8813#[allow(dead_code)]
8817#[derive(Builder, Debug, Clone)]
8818#[builder(crate = "parol_runtime::derive_builder")]
8819pub struct InstPortListOpt {
8820 pub comma: Box<Comma>,
8821}
8822
8823#[allow(dead_code)]
8827#[derive(Builder, Debug, Clone)]
8828#[builder(crate = "parol_runtime::derive_builder")]
8829pub struct InstTerm {
8830 pub inst_term: crate::veryl_token::Token, }
8832
8833#[allow(dead_code)]
8837#[derive(Builder, Debug, Clone)]
8838#[builder(crate = "parol_runtime::derive_builder")]
8839pub struct InstToken {
8840 pub inst_term: crate::veryl_token::Token,
8841 pub comments: Box<Comments>,
8842}
8843
8844#[allow(dead_code)]
8848#[derive(Debug, Clone)]
8849pub enum IntegralNumber {
8850 Based(IntegralNumberBased),
8851 BaseLess(IntegralNumberBaseLess),
8852 AllBit(IntegralNumberAllBit),
8853}
8854
8855#[allow(dead_code)]
8859#[derive(Builder, Debug, Clone)]
8860#[builder(crate = "parol_runtime::derive_builder")]
8861pub struct Interface {
8862 pub interface_token: crate::veryl_token::VerylToken,
8863}
8864
8865#[allow(dead_code)]
8869#[derive(Builder, Debug, Clone)]
8870#[builder(crate = "parol_runtime::derive_builder")]
8871pub struct InterfaceDeclaration {
8872 pub interface: Box<Interface>,
8873 pub identifier: Box<Identifier>,
8874 pub interface_declaration_opt: Option<InterfaceDeclarationOpt>,
8875 pub interface_declaration_opt0: Option<InterfaceDeclarationOpt0>,
8876 pub l_brace: Box<LBrace>,
8877 pub interface_declaration_list: Vec<InterfaceDeclarationList>,
8878 pub r_brace: Box<RBrace>,
8879}
8880
8881#[allow(dead_code)]
8885#[derive(Builder, Debug, Clone)]
8886#[builder(crate = "parol_runtime::derive_builder")]
8887pub struct InterfaceDeclarationList {
8888 pub interface_group: Box<InterfaceGroup>,
8889}
8890
8891#[allow(dead_code)]
8895#[derive(Builder, Debug, Clone)]
8896#[builder(crate = "parol_runtime::derive_builder")]
8897pub struct InterfaceDeclarationOpt {
8898 pub with_generic_parameter: Box<WithGenericParameter>,
8899}
8900
8901#[allow(dead_code)]
8905#[derive(Builder, Debug, Clone)]
8906#[builder(crate = "parol_runtime::derive_builder")]
8907pub struct InterfaceDeclarationOpt0 {
8908 pub with_parameter: Box<WithParameter>,
8909}
8910
8911#[allow(dead_code)]
8915#[derive(Builder, Debug, Clone)]
8916#[builder(crate = "parol_runtime::derive_builder")]
8917pub struct InterfaceGroup {
8918 pub interface_group_list: Vec<InterfaceGroupList>,
8919 pub interface_group_group: Box<InterfaceGroupGroup>,
8920}
8921
8922#[allow(dead_code)]
8926#[derive(Debug, Clone)]
8927pub enum InterfaceGroupGroup {
8928 LBraceInterfaceGroupGroupListRBrace(InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace),
8929 InterfaceItem(InterfaceGroupGroupInterfaceItem),
8930}
8931
8932#[allow(dead_code)]
8936#[derive(Builder, Debug, Clone)]
8937#[builder(crate = "parol_runtime::derive_builder")]
8938pub struct InterfaceGroupGroupList {
8939 pub interface_group: Box<InterfaceGroup>,
8940}
8941
8942#[allow(dead_code)]
8946#[derive(Builder, Debug, Clone)]
8947#[builder(crate = "parol_runtime::derive_builder")]
8948pub struct InterfaceGroupList {
8949 pub attribute: Box<Attribute>,
8950}
8951
8952#[allow(dead_code)]
8956#[derive(Debug, Clone)]
8957pub enum InterfaceItem {
8958 GenerateItem(InterfaceItemGenerateItem),
8959 ModportDeclaration(InterfaceItemModportDeclaration),
8960}
8961
8962#[allow(dead_code)]
8966#[derive(Builder, Debug, Clone)]
8967#[builder(crate = "parol_runtime::derive_builder")]
8968pub struct InterfaceTerm {
8969 pub interface_term: crate::veryl_token::Token, }
8971
8972#[allow(dead_code)]
8976#[derive(Builder, Debug, Clone)]
8977#[builder(crate = "parol_runtime::derive_builder")]
8978pub struct InterfaceToken {
8979 pub interface_term: crate::veryl_token::Token,
8980 pub comments: Box<Comments>,
8981}
8982
8983#[allow(dead_code)]
8987#[derive(Builder, Debug, Clone)]
8988#[builder(crate = "parol_runtime::derive_builder")]
8989pub struct LAngle {
8990 pub l_angle_token: crate::veryl_token::VerylToken,
8991}
8992
8993#[allow(dead_code)]
8997#[derive(Builder, Debug, Clone)]
8998#[builder(crate = "parol_runtime::derive_builder")]
8999pub struct LAngleTerm {
9000 pub l_angle_term: crate::veryl_token::Token, }
9002
9003#[allow(dead_code)]
9007#[derive(Builder, Debug, Clone)]
9008#[builder(crate = "parol_runtime::derive_builder")]
9009pub struct LAngleToken {
9010 pub l_angle_term: crate::veryl_token::Token,
9011 pub comments: Box<Comments>,
9012}
9013
9014#[allow(dead_code)]
9018#[derive(Builder, Debug, Clone)]
9019#[builder(crate = "parol_runtime::derive_builder")]
9020pub struct LBrace {
9021 pub l_brace_token: crate::veryl_token::VerylToken,
9022}
9023
9024#[allow(dead_code)]
9028#[derive(Builder, Debug, Clone)]
9029#[builder(crate = "parol_runtime::derive_builder")]
9030pub struct LBraceTerm {
9031 pub l_brace_term: crate::veryl_token::Token, }
9033
9034#[allow(dead_code)]
9038#[derive(Builder, Debug, Clone)]
9039#[builder(crate = "parol_runtime::derive_builder")]
9040pub struct LBraceToken {
9041 pub l_brace_term: crate::veryl_token::Token,
9042 pub comments: Box<Comments>,
9043}
9044
9045#[allow(dead_code)]
9049#[derive(Builder, Debug, Clone)]
9050#[builder(crate = "parol_runtime::derive_builder")]
9051pub struct LBracket {
9052 pub l_bracket_token: crate::veryl_token::VerylToken,
9053}
9054
9055#[allow(dead_code)]
9059#[derive(Builder, Debug, Clone)]
9060#[builder(crate = "parol_runtime::derive_builder")]
9061pub struct LBracketTerm {
9062 pub l_bracket_term: crate::veryl_token::Token, }
9064
9065#[allow(dead_code)]
9069#[derive(Builder, Debug, Clone)]
9070#[builder(crate = "parol_runtime::derive_builder")]
9071pub struct LBracketToken {
9072 pub l_bracket_term: crate::veryl_token::Token,
9073 pub comments: Box<Comments>,
9074}
9075
9076#[allow(dead_code)]
9080#[derive(Builder, Debug, Clone)]
9081#[builder(crate = "parol_runtime::derive_builder")]
9082pub struct LParen {
9083 pub l_paren_token: crate::veryl_token::VerylToken,
9084}
9085
9086#[allow(dead_code)]
9090#[derive(Builder, Debug, Clone)]
9091#[builder(crate = "parol_runtime::derive_builder")]
9092pub struct LParenTerm {
9093 pub l_paren_term: crate::veryl_token::Token, }
9095
9096#[allow(dead_code)]
9100#[derive(Builder, Debug, Clone)]
9101#[builder(crate = "parol_runtime::derive_builder")]
9102pub struct LParenToken {
9103 pub l_paren_term: crate::veryl_token::Token,
9104 pub comments: Box<Comments>,
9105}
9106
9107#[allow(dead_code)]
9111#[derive(Builder, Debug, Clone)]
9112#[builder(crate = "parol_runtime::derive_builder")]
9113pub struct Let {
9114 pub let_token: crate::veryl_token::VerylToken,
9115}
9116
9117#[allow(dead_code)]
9121#[derive(Builder, Debug, Clone)]
9122#[builder(crate = "parol_runtime::derive_builder")]
9123pub struct LetDeclaration {
9124 pub r#let: Box<Let>,
9125 pub identifier: Box<Identifier>,
9126 pub colon: Box<Colon>,
9127 pub let_declaration_opt: Option<LetDeclarationOpt>,
9128 pub array_type: Box<ArrayType>,
9129 pub equ: Box<Equ>,
9130 pub expression: Box<Expression>,
9131 pub semicolon: Box<Semicolon>,
9132}
9133
9134#[allow(dead_code)]
9138#[derive(Builder, Debug, Clone)]
9139#[builder(crate = "parol_runtime::derive_builder")]
9140pub struct LetDeclarationOpt {
9141 pub clock_domain: Box<ClockDomain>,
9142}
9143
9144#[allow(dead_code)]
9148#[derive(Builder, Debug, Clone)]
9149#[builder(crate = "parol_runtime::derive_builder")]
9150pub struct LetStatement {
9151 pub r#let: Box<Let>,
9152 pub identifier: Box<Identifier>,
9153 pub colon: Box<Colon>,
9154 pub let_statement_opt: Option<LetStatementOpt>,
9155 pub array_type: Box<ArrayType>,
9156 pub equ: Box<Equ>,
9157 pub expression: Box<Expression>,
9158 pub semicolon: Box<Semicolon>,
9159}
9160
9161#[allow(dead_code)]
9165#[derive(Builder, Debug, Clone)]
9166#[builder(crate = "parol_runtime::derive_builder")]
9167pub struct LetStatementOpt {
9168 pub clock_domain: Box<ClockDomain>,
9169}
9170
9171#[allow(dead_code)]
9175#[derive(Builder, Debug, Clone)]
9176#[builder(crate = "parol_runtime::derive_builder")]
9177pub struct LetTerm {
9178 pub let_term: crate::veryl_token::Token, }
9180
9181#[allow(dead_code)]
9185#[derive(Builder, Debug, Clone)]
9186#[builder(crate = "parol_runtime::derive_builder")]
9187pub struct LetToken {
9188 pub let_term: crate::veryl_token::Token,
9189 pub comments: Box<Comments>,
9190}
9191
9192#[allow(dead_code)]
9196#[derive(Builder, Debug, Clone)]
9197#[builder(crate = "parol_runtime::derive_builder")]
9198pub struct Logic {
9199 pub logic_token: crate::veryl_token::VerylToken,
9200}
9201
9202#[allow(dead_code)]
9206#[derive(Builder, Debug, Clone)]
9207#[builder(crate = "parol_runtime::derive_builder")]
9208pub struct LogicTerm {
9209 pub logic_term: crate::veryl_token::Token, }
9211
9212#[allow(dead_code)]
9216#[derive(Builder, Debug, Clone)]
9217#[builder(crate = "parol_runtime::derive_builder")]
9218pub struct LogicToken {
9219 pub logic_term: crate::veryl_token::Token,
9220 pub comments: Box<Comments>,
9221}
9222
9223#[allow(dead_code)]
9227#[derive(Builder, Debug, Clone)]
9228#[builder(crate = "parol_runtime::derive_builder")]
9229pub struct Lsb {
9230 pub lsb_token: crate::veryl_token::VerylToken,
9231}
9232
9233#[allow(dead_code)]
9237#[derive(Builder, Debug, Clone)]
9238#[builder(crate = "parol_runtime::derive_builder")]
9239pub struct LsbTerm {
9240 pub lsb_term: crate::veryl_token::Token, }
9242
9243#[allow(dead_code)]
9247#[derive(Builder, Debug, Clone)]
9248#[builder(crate = "parol_runtime::derive_builder")]
9249pub struct LsbToken {
9250 pub lsb_term: crate::veryl_token::Token,
9251 pub comments: Box<Comments>,
9252}
9253
9254#[allow(dead_code)]
9258#[derive(Builder, Debug, Clone)]
9259#[builder(crate = "parol_runtime::derive_builder")]
9260pub struct MinusColon {
9261 pub minus_colon_token: crate::veryl_token::VerylToken,
9262}
9263
9264#[allow(dead_code)]
9268#[derive(Builder, Debug, Clone)]
9269#[builder(crate = "parol_runtime::derive_builder")]
9270pub struct MinusColonTerm {
9271 pub minus_colon_term: crate::veryl_token::Token, }
9273
9274#[allow(dead_code)]
9278#[derive(Builder, Debug, Clone)]
9279#[builder(crate = "parol_runtime::derive_builder")]
9280pub struct MinusColonToken {
9281 pub minus_colon_term: crate::veryl_token::Token,
9282 pub comments: Box<Comments>,
9283}
9284
9285#[allow(dead_code)]
9289#[derive(Builder, Debug, Clone)]
9290#[builder(crate = "parol_runtime::derive_builder")]
9291pub struct MinusGT {
9292 pub minus_g_t_token: crate::veryl_token::VerylToken,
9293}
9294
9295#[allow(dead_code)]
9299#[derive(Builder, Debug, Clone)]
9300#[builder(crate = "parol_runtime::derive_builder")]
9301pub struct MinusGTTerm {
9302 pub minus_g_t_term: crate::veryl_token::Token, }
9304
9305#[allow(dead_code)]
9309#[derive(Builder, Debug, Clone)]
9310#[builder(crate = "parol_runtime::derive_builder")]
9311pub struct MinusGTToken {
9312 pub minus_g_t_term: crate::veryl_token::Token,
9313 pub comments: Box<Comments>,
9314}
9315
9316#[allow(dead_code)]
9320#[derive(Builder, Debug, Clone)]
9321#[builder(crate = "parol_runtime::derive_builder")]
9322pub struct Modport {
9323 pub modport_token: crate::veryl_token::VerylToken,
9324}
9325
9326#[allow(dead_code)]
9330#[derive(Builder, Debug, Clone)]
9331#[builder(crate = "parol_runtime::derive_builder")]
9332pub struct ModportDeclaration {
9333 pub modport: Box<Modport>,
9334 pub identifier: Box<Identifier>,
9335 pub l_brace: Box<LBrace>,
9336 pub modport_declaration_opt: Option<ModportDeclarationOpt>,
9337 pub modport_declaration_opt0: Option<ModportDeclarationOpt0>,
9338 pub r_brace: Box<RBrace>,
9339}
9340
9341#[allow(dead_code)]
9345#[derive(Builder, Debug, Clone)]
9346#[builder(crate = "parol_runtime::derive_builder")]
9347pub struct ModportDeclarationOpt {
9348 pub modport_list: Box<ModportList>,
9349}
9350
9351#[allow(dead_code)]
9355#[derive(Builder, Debug, Clone)]
9356#[builder(crate = "parol_runtime::derive_builder")]
9357pub struct ModportDeclarationOpt0 {
9358 pub dot_dot: Box<DotDot>,
9359 pub modport_default: Box<ModportDefault>,
9360}
9361
9362#[allow(dead_code)]
9366#[derive(Debug, Clone)]
9367pub enum ModportDefault {
9368 Input(ModportDefaultInput),
9369 Output(ModportDefaultOutput),
9370 ConverseLParenIdentifierRParen(ModportDefaultConverseLParenIdentifierRParen),
9371}
9372
9373#[allow(dead_code)]
9377#[derive(Builder, Debug, Clone)]
9378#[builder(crate = "parol_runtime::derive_builder")]
9379pub struct ModportGroup {
9380 pub modport_group_list: Vec<ModportGroupList>,
9381 pub modport_group_group: Box<ModportGroupGroup>,
9382}
9383
9384#[allow(dead_code)]
9388#[derive(Debug, Clone)]
9389pub enum ModportGroupGroup {
9390 LBraceModportListRBrace(ModportGroupGroupLBraceModportListRBrace),
9391 ModportItem(ModportGroupGroupModportItem),
9392}
9393
9394#[allow(dead_code)]
9398#[derive(Builder, Debug, Clone)]
9399#[builder(crate = "parol_runtime::derive_builder")]
9400pub struct ModportGroupList {
9401 pub attribute: Box<Attribute>,
9402}
9403
9404#[allow(dead_code)]
9408#[derive(Builder, Debug, Clone)]
9409#[builder(crate = "parol_runtime::derive_builder")]
9410pub struct ModportItem {
9411 pub identifier: Box<Identifier>,
9412 pub colon: Box<Colon>,
9413 pub direction: Box<Direction>,
9414}
9415
9416#[allow(dead_code)]
9420#[derive(Builder, Debug, Clone)]
9421#[builder(crate = "parol_runtime::derive_builder")]
9422pub struct ModportList {
9423 pub modport_group: Box<ModportGroup>,
9424 pub modport_list_list: Vec<ModportListList>,
9425 pub modport_list_opt: Option<ModportListOpt>,
9426}
9427
9428#[allow(dead_code)]
9432#[derive(Builder, Debug, Clone)]
9433#[builder(crate = "parol_runtime::derive_builder")]
9434pub struct ModportListList {
9435 pub comma: Box<Comma>,
9436 pub modport_group: Box<ModportGroup>,
9437}
9438
9439#[allow(dead_code)]
9443#[derive(Builder, Debug, Clone)]
9444#[builder(crate = "parol_runtime::derive_builder")]
9445pub struct ModportListOpt {
9446 pub comma: Box<Comma>,
9447}
9448
9449#[allow(dead_code)]
9453#[derive(Builder, Debug, Clone)]
9454#[builder(crate = "parol_runtime::derive_builder")]
9455pub struct ModportTerm {
9456 pub modport_term: crate::veryl_token::Token, }
9458
9459#[allow(dead_code)]
9463#[derive(Builder, Debug, Clone)]
9464#[builder(crate = "parol_runtime::derive_builder")]
9465pub struct ModportToken {
9466 pub modport_term: crate::veryl_token::Token,
9467 pub comments: Box<Comments>,
9468}
9469
9470#[allow(dead_code)]
9474#[derive(Builder, Debug, Clone)]
9475#[builder(crate = "parol_runtime::derive_builder")]
9476pub struct Module {
9477 pub module_token: crate::veryl_token::VerylToken,
9478}
9479
9480#[allow(dead_code)]
9484#[derive(Builder, Debug, Clone)]
9485#[builder(crate = "parol_runtime::derive_builder")]
9486pub struct ModuleDeclaration {
9487 pub module: Box<Module>,
9488 pub identifier: Box<Identifier>,
9489 pub module_declaration_opt: Option<ModuleDeclarationOpt>,
9490 pub module_declaration_opt0: Option<ModuleDeclarationOpt0>,
9491 pub module_declaration_opt1: Option<ModuleDeclarationOpt1>,
9492 pub module_declaration_opt2: Option<ModuleDeclarationOpt2>,
9493 pub l_brace: Box<LBrace>,
9494 pub module_declaration_list: Vec<ModuleDeclarationList>,
9495 pub r_brace: Box<RBrace>,
9496}
9497
9498#[allow(dead_code)]
9502#[derive(Builder, Debug, Clone)]
9503#[builder(crate = "parol_runtime::derive_builder")]
9504pub struct ModuleDeclarationList {
9505 pub module_group: Box<ModuleGroup>,
9506}
9507
9508#[allow(dead_code)]
9512#[derive(Builder, Debug, Clone)]
9513#[builder(crate = "parol_runtime::derive_builder")]
9514pub struct ModuleDeclarationOpt {
9515 pub with_generic_parameter: Box<WithGenericParameter>,
9516}
9517
9518#[allow(dead_code)]
9522#[derive(Builder, Debug, Clone)]
9523#[builder(crate = "parol_runtime::derive_builder")]
9524pub struct ModuleDeclarationOpt0 {
9525 pub r#for: Box<For>,
9526 pub scoped_identifier: Box<ScopedIdentifier>,
9527}
9528
9529#[allow(dead_code)]
9533#[derive(Builder, Debug, Clone)]
9534#[builder(crate = "parol_runtime::derive_builder")]
9535pub struct ModuleDeclarationOpt1 {
9536 pub with_parameter: Box<WithParameter>,
9537}
9538
9539#[allow(dead_code)]
9543#[derive(Builder, Debug, Clone)]
9544#[builder(crate = "parol_runtime::derive_builder")]
9545pub struct ModuleDeclarationOpt2 {
9546 pub port_declaration: Box<PortDeclaration>,
9547}
9548
9549#[allow(dead_code)]
9553#[derive(Builder, Debug, Clone)]
9554#[builder(crate = "parol_runtime::derive_builder")]
9555pub struct ModuleGroup {
9556 pub module_group_list: Vec<ModuleGroupList>,
9557 pub module_group_group: Box<ModuleGroupGroup>,
9558}
9559
9560#[allow(dead_code)]
9564#[derive(Debug, Clone)]
9565pub enum ModuleGroupGroup {
9566 LBraceModuleGroupGroupListRBrace(ModuleGroupGroupLBraceModuleGroupGroupListRBrace),
9567 ModuleItem(ModuleGroupGroupModuleItem),
9568}
9569
9570#[allow(dead_code)]
9574#[derive(Builder, Debug, Clone)]
9575#[builder(crate = "parol_runtime::derive_builder")]
9576pub struct ModuleGroupGroupList {
9577 pub module_group: Box<ModuleGroup>,
9578}
9579
9580#[allow(dead_code)]
9584#[derive(Builder, Debug, Clone)]
9585#[builder(crate = "parol_runtime::derive_builder")]
9586pub struct ModuleGroupList {
9587 pub attribute: Box<Attribute>,
9588}
9589
9590#[allow(dead_code)]
9594#[derive(Builder, Debug, Clone)]
9595#[builder(crate = "parol_runtime::derive_builder")]
9596pub struct ModuleItem {
9597 pub generate_item: Box<GenerateItem>,
9598}
9599
9600#[allow(dead_code)]
9604#[derive(Builder, Debug, Clone)]
9605#[builder(crate = "parol_runtime::derive_builder")]
9606pub struct ModuleTerm {
9607 pub module_term: crate::veryl_token::Token, }
9609
9610#[allow(dead_code)]
9614#[derive(Builder, Debug, Clone)]
9615#[builder(crate = "parol_runtime::derive_builder")]
9616pub struct ModuleToken {
9617 pub module_term: crate::veryl_token::Token,
9618 pub comments: Box<Comments>,
9619}
9620
9621#[allow(dead_code)]
9625#[derive(Builder, Debug, Clone)]
9626#[builder(crate = "parol_runtime::derive_builder")]
9627pub struct Msb {
9628 pub msb_token: crate::veryl_token::VerylToken,
9629}
9630
9631#[allow(dead_code)]
9635#[derive(Builder, Debug, Clone)]
9636#[builder(crate = "parol_runtime::derive_builder")]
9637pub struct MsbTerm {
9638 pub msb_term: crate::veryl_token::Token, }
9640
9641#[allow(dead_code)]
9645#[derive(Builder, Debug, Clone)]
9646#[builder(crate = "parol_runtime::derive_builder")]
9647pub struct MsbToken {
9648 pub msb_term: crate::veryl_token::Token,
9649 pub comments: Box<Comments>,
9650}
9651
9652#[allow(dead_code)]
9656#[derive(Debug, Clone)]
9657pub enum Number {
9658 IntegralNumber(NumberIntegralNumber),
9659 RealNumber(NumberRealNumber),
9660}
9661
9662#[allow(dead_code)]
9666#[derive(Builder, Debug, Clone)]
9667#[builder(crate = "parol_runtime::derive_builder")]
9668pub struct Operator01 {
9669 pub operator01_token: crate::veryl_token::VerylToken,
9670}
9671
9672#[allow(dead_code)]
9676#[derive(Builder, Debug, Clone)]
9677#[builder(crate = "parol_runtime::derive_builder")]
9678pub struct Operator01Term {
9679 pub operator01_term: crate::veryl_token::Token, }
9681
9682#[allow(dead_code)]
9686#[derive(Builder, Debug, Clone)]
9687#[builder(crate = "parol_runtime::derive_builder")]
9688pub struct Operator01Token {
9689 pub operator01_term: crate::veryl_token::Token,
9690 pub comments: Box<Comments>,
9691}
9692
9693#[allow(dead_code)]
9697#[derive(Builder, Debug, Clone)]
9698#[builder(crate = "parol_runtime::derive_builder")]
9699pub struct Operator02 {
9700 pub operator02_token: crate::veryl_token::VerylToken,
9701}
9702
9703#[allow(dead_code)]
9707#[derive(Builder, Debug, Clone)]
9708#[builder(crate = "parol_runtime::derive_builder")]
9709pub struct Operator02Term {
9710 pub operator02_term: crate::veryl_token::Token, }
9712
9713#[allow(dead_code)]
9717#[derive(Builder, Debug, Clone)]
9718#[builder(crate = "parol_runtime::derive_builder")]
9719pub struct Operator02Token {
9720 pub operator02_term: crate::veryl_token::Token,
9721 pub comments: Box<Comments>,
9722}
9723
9724#[allow(dead_code)]
9728#[derive(Builder, Debug, Clone)]
9729#[builder(crate = "parol_runtime::derive_builder")]
9730pub struct Operator03 {
9731 pub operator03_token: crate::veryl_token::VerylToken,
9732}
9733
9734#[allow(dead_code)]
9738#[derive(Builder, Debug, Clone)]
9739#[builder(crate = "parol_runtime::derive_builder")]
9740pub struct Operator03Term {
9741 pub operator03_term: crate::veryl_token::Token, }
9743
9744#[allow(dead_code)]
9748#[derive(Builder, Debug, Clone)]
9749#[builder(crate = "parol_runtime::derive_builder")]
9750pub struct Operator03Token {
9751 pub operator03_term: crate::veryl_token::Token,
9752 pub comments: Box<Comments>,
9753}
9754
9755#[allow(dead_code)]
9759#[derive(Builder, Debug, Clone)]
9760#[builder(crate = "parol_runtime::derive_builder")]
9761pub struct Operator04 {
9762 pub operator04_token: crate::veryl_token::VerylToken,
9763}
9764
9765#[allow(dead_code)]
9769#[derive(Builder, Debug, Clone)]
9770#[builder(crate = "parol_runtime::derive_builder")]
9771pub struct Operator04Term {
9772 pub operator04_term: crate::veryl_token::Token, }
9774
9775#[allow(dead_code)]
9779#[derive(Builder, Debug, Clone)]
9780#[builder(crate = "parol_runtime::derive_builder")]
9781pub struct Operator04Token {
9782 pub operator04_term: crate::veryl_token::Token,
9783 pub comments: Box<Comments>,
9784}
9785
9786#[allow(dead_code)]
9790#[derive(Builder, Debug, Clone)]
9791#[builder(crate = "parol_runtime::derive_builder")]
9792pub struct Operator05 {
9793 pub operator05_token: crate::veryl_token::VerylToken,
9794}
9795
9796#[allow(dead_code)]
9800#[derive(Builder, Debug, Clone)]
9801#[builder(crate = "parol_runtime::derive_builder")]
9802pub struct Operator05Term {
9803 pub operator05_term: crate::veryl_token::Token, }
9805
9806#[allow(dead_code)]
9810#[derive(Builder, Debug, Clone)]
9811#[builder(crate = "parol_runtime::derive_builder")]
9812pub struct Operator05Token {
9813 pub operator05_term: crate::veryl_token::Token,
9814 pub comments: Box<Comments>,
9815}
9816
9817#[allow(dead_code)]
9821#[derive(Builder, Debug, Clone)]
9822#[builder(crate = "parol_runtime::derive_builder")]
9823pub struct Operator06 {
9824 pub operator06_token: crate::veryl_token::VerylToken,
9825}
9826
9827#[allow(dead_code)]
9831#[derive(Builder, Debug, Clone)]
9832#[builder(crate = "parol_runtime::derive_builder")]
9833pub struct Operator06Term {
9834 pub operator06_term: crate::veryl_token::Token, }
9836
9837#[allow(dead_code)]
9841#[derive(Builder, Debug, Clone)]
9842#[builder(crate = "parol_runtime::derive_builder")]
9843pub struct Operator06Token {
9844 pub operator06_term: crate::veryl_token::Token,
9845 pub comments: Box<Comments>,
9846}
9847
9848#[allow(dead_code)]
9852#[derive(Builder, Debug, Clone)]
9853#[builder(crate = "parol_runtime::derive_builder")]
9854pub struct Operator07 {
9855 pub operator07_token: crate::veryl_token::VerylToken,
9856}
9857
9858#[allow(dead_code)]
9862#[derive(Builder, Debug, Clone)]
9863#[builder(crate = "parol_runtime::derive_builder")]
9864pub struct Operator07Term {
9865 pub operator07_term: crate::veryl_token::Token, }
9867
9868#[allow(dead_code)]
9872#[derive(Builder, Debug, Clone)]
9873#[builder(crate = "parol_runtime::derive_builder")]
9874pub struct Operator07Token {
9875 pub operator07_term: crate::veryl_token::Token,
9876 pub comments: Box<Comments>,
9877}
9878
9879#[allow(dead_code)]
9883#[derive(Builder, Debug, Clone)]
9884#[builder(crate = "parol_runtime::derive_builder")]
9885pub struct Operator08 {
9886 pub operator08_token: crate::veryl_token::VerylToken,
9887}
9888
9889#[allow(dead_code)]
9893#[derive(Builder, Debug, Clone)]
9894#[builder(crate = "parol_runtime::derive_builder")]
9895pub struct Operator08Term {
9896 pub operator08_term: crate::veryl_token::Token, }
9898
9899#[allow(dead_code)]
9903#[derive(Builder, Debug, Clone)]
9904#[builder(crate = "parol_runtime::derive_builder")]
9905pub struct Operator08Token {
9906 pub operator08_term: crate::veryl_token::Token,
9907 pub comments: Box<Comments>,
9908}
9909
9910#[allow(dead_code)]
9914#[derive(Builder, Debug, Clone)]
9915#[builder(crate = "parol_runtime::derive_builder")]
9916pub struct Operator09 {
9917 pub operator09_token: crate::veryl_token::VerylToken,
9918}
9919
9920#[allow(dead_code)]
9924#[derive(Builder, Debug, Clone)]
9925#[builder(crate = "parol_runtime::derive_builder")]
9926pub struct Operator09Term {
9927 pub operator09_term: crate::veryl_token::Token, }
9929
9930#[allow(dead_code)]
9934#[derive(Builder, Debug, Clone)]
9935#[builder(crate = "parol_runtime::derive_builder")]
9936pub struct Operator09Token {
9937 pub operator09_term: crate::veryl_token::Token,
9938 pub comments: Box<Comments>,
9939}
9940
9941#[allow(dead_code)]
9945#[derive(Builder, Debug, Clone)]
9946#[builder(crate = "parol_runtime::derive_builder")]
9947pub struct Operator10 {
9948 pub operator10_token: crate::veryl_token::VerylToken,
9949}
9950
9951#[allow(dead_code)]
9955#[derive(Builder, Debug, Clone)]
9956#[builder(crate = "parol_runtime::derive_builder")]
9957pub struct Operator10Term {
9958 pub operator10_term: crate::veryl_token::Token, }
9960
9961#[allow(dead_code)]
9965#[derive(Builder, Debug, Clone)]
9966#[builder(crate = "parol_runtime::derive_builder")]
9967pub struct Operator10Token {
9968 pub operator10_term: crate::veryl_token::Token,
9969 pub comments: Box<Comments>,
9970}
9971
9972#[allow(dead_code)]
9976#[derive(Builder, Debug, Clone)]
9977#[builder(crate = "parol_runtime::derive_builder")]
9978pub struct Operator11 {
9979 pub operator11_token: crate::veryl_token::VerylToken,
9980}
9981
9982#[allow(dead_code)]
9986#[derive(Builder, Debug, Clone)]
9987#[builder(crate = "parol_runtime::derive_builder")]
9988pub struct Operator11Term {
9989 pub operator11_term: crate::veryl_token::Token, }
9991
9992#[allow(dead_code)]
9996#[derive(Builder, Debug, Clone)]
9997#[builder(crate = "parol_runtime::derive_builder")]
9998pub struct Operator11Token {
9999 pub operator11_term: crate::veryl_token::Token,
10000 pub comments: Box<Comments>,
10001}
10002
10003#[allow(dead_code)]
10007#[derive(Builder, Debug, Clone)]
10008#[builder(crate = "parol_runtime::derive_builder")]
10009pub struct Output {
10010 pub output_token: crate::veryl_token::VerylToken,
10011}
10012
10013#[allow(dead_code)]
10017#[derive(Builder, Debug, Clone)]
10018#[builder(crate = "parol_runtime::derive_builder")]
10019pub struct OutputTerm {
10020 pub output_term: crate::veryl_token::Token, }
10022
10023#[allow(dead_code)]
10027#[derive(Builder, Debug, Clone)]
10028#[builder(crate = "parol_runtime::derive_builder")]
10029pub struct OutputToken {
10030 pub output_term: crate::veryl_token::Token,
10031 pub comments: Box<Comments>,
10032}
10033
10034#[allow(dead_code)]
10038#[derive(Builder, Debug, Clone)]
10039#[builder(crate = "parol_runtime::derive_builder")]
10040pub struct Outside {
10041 pub outside_token: crate::veryl_token::VerylToken,
10042}
10043
10044#[allow(dead_code)]
10048#[derive(Builder, Debug, Clone)]
10049#[builder(crate = "parol_runtime::derive_builder")]
10050pub struct OutsideExpression {
10051 pub outside: Box<Outside>,
10052 pub expression: Box<Expression>,
10053 pub l_brace: Box<LBrace>,
10054 pub range_list: Box<RangeList>,
10055 pub r_brace: Box<RBrace>,
10056}
10057
10058#[allow(dead_code)]
10062#[derive(Builder, Debug, Clone)]
10063#[builder(crate = "parol_runtime::derive_builder")]
10064pub struct OutsideTerm {
10065 pub outside_term: crate::veryl_token::Token, }
10067
10068#[allow(dead_code)]
10072#[derive(Builder, Debug, Clone)]
10073#[builder(crate = "parol_runtime::derive_builder")]
10074pub struct OutsideToken {
10075 pub outside_term: crate::veryl_token::Token,
10076 pub comments: Box<Comments>,
10077}
10078
10079#[allow(dead_code)]
10083#[derive(Builder, Debug, Clone)]
10084#[builder(crate = "parol_runtime::derive_builder")]
10085pub struct Package {
10086 pub package_token: crate::veryl_token::VerylToken,
10087}
10088
10089#[allow(dead_code)]
10093#[derive(Builder, Debug, Clone)]
10094#[builder(crate = "parol_runtime::derive_builder")]
10095pub struct PackageDeclaration {
10096 pub package: Box<Package>,
10097 pub identifier: Box<Identifier>,
10098 pub package_declaration_opt: Option<PackageDeclarationOpt>,
10099 pub l_brace: Box<LBrace>,
10100 pub package_declaration_list: Vec<PackageDeclarationList>,
10101 pub r_brace: Box<RBrace>,
10102}
10103
10104#[allow(dead_code)]
10108#[derive(Builder, Debug, Clone)]
10109#[builder(crate = "parol_runtime::derive_builder")]
10110pub struct PackageDeclarationList {
10111 pub package_group: Box<PackageGroup>,
10112}
10113
10114#[allow(dead_code)]
10118#[derive(Builder, Debug, Clone)]
10119#[builder(crate = "parol_runtime::derive_builder")]
10120pub struct PackageDeclarationOpt {
10121 pub with_generic_parameter: Box<WithGenericParameter>,
10122}
10123
10124#[allow(dead_code)]
10128#[derive(Builder, Debug, Clone)]
10129#[builder(crate = "parol_runtime::derive_builder")]
10130pub struct PackageGroup {
10131 pub package_group_list: Vec<PackageGroupList>,
10132 pub package_group_group: Box<PackageGroupGroup>,
10133}
10134
10135#[allow(dead_code)]
10139#[derive(Debug, Clone)]
10140pub enum PackageGroupGroup {
10141 LBracePackageGroupGroupListRBrace(PackageGroupGroupLBracePackageGroupGroupListRBrace),
10142 PackageItem(PackageGroupGroupPackageItem),
10143}
10144
10145#[allow(dead_code)]
10149#[derive(Builder, Debug, Clone)]
10150#[builder(crate = "parol_runtime::derive_builder")]
10151pub struct PackageGroupGroupList {
10152 pub package_group: Box<PackageGroup>,
10153}
10154
10155#[allow(dead_code)]
10159#[derive(Builder, Debug, Clone)]
10160#[builder(crate = "parol_runtime::derive_builder")]
10161pub struct PackageGroupList {
10162 pub attribute: Box<Attribute>,
10163}
10164
10165#[allow(dead_code)]
10169#[derive(Debug, Clone)]
10170pub enum PackageItem {
10171 ConstDeclaration(PackageItemConstDeclaration),
10172 TypeDefDeclaration(PackageItemTypeDefDeclaration),
10173 EnumDeclaration(PackageItemEnumDeclaration),
10174 StructUnionDeclaration(PackageItemStructUnionDeclaration),
10175 FunctionDeclaration(PackageItemFunctionDeclaration),
10176 ImportDeclaration(PackageItemImportDeclaration),
10177 ExportDeclaration(PackageItemExportDeclaration),
10178}
10179
10180#[allow(dead_code)]
10184#[derive(Builder, Debug, Clone)]
10185#[builder(crate = "parol_runtime::derive_builder")]
10186pub struct PackageTerm {
10187 pub package_term: crate::veryl_token::Token, }
10189
10190#[allow(dead_code)]
10194#[derive(Builder, Debug, Clone)]
10195#[builder(crate = "parol_runtime::derive_builder")]
10196pub struct PackageToken {
10197 pub package_term: crate::veryl_token::Token,
10198 pub comments: Box<Comments>,
10199}
10200
10201#[allow(dead_code)]
10205#[derive(Builder, Debug, Clone)]
10206#[builder(crate = "parol_runtime::derive_builder")]
10207pub struct Param {
10208 pub param_token: crate::veryl_token::VerylToken,
10209}
10210
10211#[allow(dead_code)]
10215#[derive(Builder, Debug, Clone)]
10216#[builder(crate = "parol_runtime::derive_builder")]
10217pub struct ParamTerm {
10218 pub param_term: crate::veryl_token::Token, }
10220
10221#[allow(dead_code)]
10225#[derive(Builder, Debug, Clone)]
10226#[builder(crate = "parol_runtime::derive_builder")]
10227pub struct ParamToken {
10228 pub param_term: crate::veryl_token::Token,
10229 pub comments: Box<Comments>,
10230}
10231
10232#[allow(dead_code)]
10236#[derive(Builder, Debug, Clone)]
10237#[builder(crate = "parol_runtime::derive_builder")]
10238pub struct PlusColon {
10239 pub plus_colon_token: crate::veryl_token::VerylToken,
10240}
10241
10242#[allow(dead_code)]
10246#[derive(Builder, Debug, Clone)]
10247#[builder(crate = "parol_runtime::derive_builder")]
10248pub struct PlusColonTerm {
10249 pub plus_colon_term: crate::veryl_token::Token, }
10251
10252#[allow(dead_code)]
10256#[derive(Builder, Debug, Clone)]
10257#[builder(crate = "parol_runtime::derive_builder")]
10258pub struct PlusColonToken {
10259 pub plus_colon_term: crate::veryl_token::Token,
10260 pub comments: Box<Comments>,
10261}
10262
10263#[allow(dead_code)]
10267#[derive(Builder, Debug, Clone)]
10268#[builder(crate = "parol_runtime::derive_builder")]
10269pub struct PortDeclaration {
10270 pub l_paren: Box<LParen>,
10271 pub port_declaration_opt: Option<PortDeclarationOpt>,
10272 pub r_paren: Box<RParen>,
10273}
10274
10275#[allow(dead_code)]
10279#[derive(Builder, Debug, Clone)]
10280#[builder(crate = "parol_runtime::derive_builder")]
10281pub struct PortDeclarationGroup {
10282 pub port_declaration_group_list: Vec<PortDeclarationGroupList>,
10283 pub port_declaration_group_group: Box<PortDeclarationGroupGroup>,
10284}
10285
10286#[allow(dead_code)]
10290#[derive(Debug, Clone)]
10291pub enum PortDeclarationGroupGroup {
10292 LBracePortDeclarationListRBrace(PortDeclarationGroupGroupLBracePortDeclarationListRBrace),
10293 PortDeclarationItem(PortDeclarationGroupGroupPortDeclarationItem),
10294}
10295
10296#[allow(dead_code)]
10300#[derive(Builder, Debug, Clone)]
10301#[builder(crate = "parol_runtime::derive_builder")]
10302pub struct PortDeclarationGroupList {
10303 pub attribute: Box<Attribute>,
10304}
10305
10306#[allow(dead_code)]
10310#[derive(Builder, Debug, Clone)]
10311#[builder(crate = "parol_runtime::derive_builder")]
10312pub struct PortDeclarationItem {
10313 pub identifier: Box<Identifier>,
10314 pub colon: Box<Colon>,
10315 pub port_declaration_item_group: Box<PortDeclarationItemGroup>,
10316}
10317
10318#[allow(dead_code)]
10322#[derive(Debug, Clone)]
10323pub enum PortDeclarationItemGroup {
10324 PortTypeConcrete(PortDeclarationItemGroupPortTypeConcrete),
10325 PortTypeAbstract(PortDeclarationItemGroupPortTypeAbstract),
10326}
10327
10328#[allow(dead_code)]
10332#[derive(Builder, Debug, Clone)]
10333#[builder(crate = "parol_runtime::derive_builder")]
10334pub struct PortDeclarationList {
10335 pub port_declaration_group: Box<PortDeclarationGroup>,
10336 pub port_declaration_list_list: Vec<PortDeclarationListList>,
10337 pub port_declaration_list_opt: Option<PortDeclarationListOpt>,
10338}
10339
10340#[allow(dead_code)]
10344#[derive(Builder, Debug, Clone)]
10345#[builder(crate = "parol_runtime::derive_builder")]
10346pub struct PortDeclarationListList {
10347 pub comma: Box<Comma>,
10348 pub port_declaration_group: Box<PortDeclarationGroup>,
10349}
10350
10351#[allow(dead_code)]
10355#[derive(Builder, Debug, Clone)]
10356#[builder(crate = "parol_runtime::derive_builder")]
10357pub struct PortDeclarationListOpt {
10358 pub comma: Box<Comma>,
10359}
10360
10361#[allow(dead_code)]
10365#[derive(Builder, Debug, Clone)]
10366#[builder(crate = "parol_runtime::derive_builder")]
10367pub struct PortDeclarationOpt {
10368 pub port_declaration_list: Box<PortDeclarationList>,
10369}
10370
10371#[allow(dead_code)]
10375#[derive(Builder, Debug, Clone)]
10376#[builder(crate = "parol_runtime::derive_builder")]
10377pub struct PortDefaultValue {
10378 pub expression: Box<Expression>,
10379}
10380
10381#[allow(dead_code)]
10385#[derive(Builder, Debug, Clone)]
10386#[builder(crate = "parol_runtime::derive_builder")]
10387pub struct PortTypeAbstract {
10388 pub port_type_abstract_opt: Option<PortTypeAbstractOpt>,
10389 pub interface: Box<Interface>,
10390 pub port_type_abstract_opt0: Option<PortTypeAbstractOpt0>,
10391 pub port_type_abstract_opt1: Option<PortTypeAbstractOpt1>,
10392}
10393
10394#[allow(dead_code)]
10398#[derive(Builder, Debug, Clone)]
10399#[builder(crate = "parol_runtime::derive_builder")]
10400pub struct PortTypeAbstractOpt {
10401 pub clock_domain: Box<ClockDomain>,
10402}
10403
10404#[allow(dead_code)]
10408#[derive(Builder, Debug, Clone)]
10409#[builder(crate = "parol_runtime::derive_builder")]
10410pub struct PortTypeAbstractOpt0 {
10411 pub colon_colon: Box<ColonColon>,
10412 pub identifier: Box<Identifier>,
10413}
10414
10415#[allow(dead_code)]
10419#[derive(Builder, Debug, Clone)]
10420#[builder(crate = "parol_runtime::derive_builder")]
10421pub struct PortTypeAbstractOpt1 {
10422 pub array: Box<Array>,
10423}
10424
10425#[allow(dead_code)]
10429#[derive(Builder, Debug, Clone)]
10430#[builder(crate = "parol_runtime::derive_builder")]
10431pub struct PortTypeConcrete {
10432 pub direction: Box<Direction>,
10433 pub port_type_concrete_opt: Option<PortTypeConcreteOpt>,
10434 pub array_type: Box<ArrayType>,
10435 pub port_type_concrete_opt0: Option<PortTypeConcreteOpt0>,
10436}
10437
10438#[allow(dead_code)]
10442#[derive(Builder, Debug, Clone)]
10443#[builder(crate = "parol_runtime::derive_builder")]
10444pub struct PortTypeConcreteOpt {
10445 pub clock_domain: Box<ClockDomain>,
10446}
10447
10448#[allow(dead_code)]
10452#[derive(Builder, Debug, Clone)]
10453#[builder(crate = "parol_runtime::derive_builder")]
10454pub struct PortTypeConcreteOpt0 {
10455 pub equ: Box<Equ>,
10456 pub port_default_value: Box<PortDefaultValue>,
10457}
10458
10459#[allow(dead_code)]
10463#[derive(Builder, Debug, Clone)]
10464#[builder(crate = "parol_runtime::derive_builder")]
10465pub struct Proto {
10466 pub proto_token: crate::veryl_token::VerylToken,
10467}
10468
10469#[allow(dead_code)]
10473#[derive(Builder, Debug, Clone)]
10474#[builder(crate = "parol_runtime::derive_builder")]
10475pub struct ProtoModuleDeclaration {
10476 pub proto: Box<Proto>,
10477 pub module: Box<Module>,
10478 pub identifier: Box<Identifier>,
10479 pub proto_module_declaration_opt: Option<ProtoModuleDeclarationOpt>,
10480 pub proto_module_declaration_opt0: Option<ProtoModuleDeclarationOpt0>,
10481 pub semicolon: Box<Semicolon>,
10482}
10483
10484#[allow(dead_code)]
10488#[derive(Builder, Debug, Clone)]
10489#[builder(crate = "parol_runtime::derive_builder")]
10490pub struct ProtoModuleDeclarationOpt {
10491 pub with_parameter: Box<WithParameter>,
10492}
10493
10494#[allow(dead_code)]
10498#[derive(Builder, Debug, Clone)]
10499#[builder(crate = "parol_runtime::derive_builder")]
10500pub struct ProtoModuleDeclarationOpt0 {
10501 pub port_declaration: Box<PortDeclaration>,
10502}
10503
10504#[allow(dead_code)]
10508#[derive(Builder, Debug, Clone)]
10509#[builder(crate = "parol_runtime::derive_builder")]
10510pub struct ProtoTerm {
10511 pub proto_term: crate::veryl_token::Token, }
10513
10514#[allow(dead_code)]
10518#[derive(Builder, Debug, Clone)]
10519#[builder(crate = "parol_runtime::derive_builder")]
10520pub struct ProtoToken {
10521 pub proto_term: crate::veryl_token::Token,
10522 pub comments: Box<Comments>,
10523}
10524
10525#[allow(dead_code)]
10529#[derive(Builder, Debug, Clone)]
10530#[builder(crate = "parol_runtime::derive_builder")]
10531pub struct Pub {
10532 pub pub_token: crate::veryl_token::VerylToken,
10533}
10534
10535#[allow(dead_code)]
10539#[derive(Builder, Debug, Clone)]
10540#[builder(crate = "parol_runtime::derive_builder")]
10541pub struct PubTerm {
10542 pub pub_term: crate::veryl_token::Token, }
10544
10545#[allow(dead_code)]
10549#[derive(Builder, Debug, Clone)]
10550#[builder(crate = "parol_runtime::derive_builder")]
10551pub struct PubToken {
10552 pub pub_term: crate::veryl_token::Token,
10553 pub comments: Box<Comments>,
10554}
10555
10556#[allow(dead_code)]
10560#[derive(Debug, Clone)]
10561pub enum PublicDescriptionItem {
10562 ModuleDeclaration(PublicDescriptionItemModuleDeclaration),
10563 InterfaceDeclaration(PublicDescriptionItemInterfaceDeclaration),
10564 PackageDeclaration(PublicDescriptionItemPackageDeclaration),
10565 ProtoModuleDeclaration(PublicDescriptionItemProtoModuleDeclaration),
10566}
10567
10568#[allow(dead_code)]
10572#[derive(Builder, Debug, Clone)]
10573#[builder(crate = "parol_runtime::derive_builder")]
10574pub struct QuoteLBrace {
10575 pub quote_l_brace_token: crate::veryl_token::VerylToken,
10576}
10577
10578#[allow(dead_code)]
10582#[derive(Builder, Debug, Clone)]
10583#[builder(crate = "parol_runtime::derive_builder")]
10584pub struct QuoteLBraceTerm {
10585 pub quote_l_brace_term: crate::veryl_token::Token, }
10587
10588#[allow(dead_code)]
10592#[derive(Builder, Debug, Clone)]
10593#[builder(crate = "parol_runtime::derive_builder")]
10594pub struct QuoteLBraceToken {
10595 pub quote_l_brace_term: crate::veryl_token::Token,
10596 pub comments: Box<Comments>,
10597}
10598
10599#[allow(dead_code)]
10603#[derive(Builder, Debug, Clone)]
10604#[builder(crate = "parol_runtime::derive_builder")]
10605pub struct RAngle {
10606 pub r_angle_token: crate::veryl_token::VerylToken,
10607}
10608
10609#[allow(dead_code)]
10613#[derive(Builder, Debug, Clone)]
10614#[builder(crate = "parol_runtime::derive_builder")]
10615pub struct RAngleTerm {
10616 pub r_angle_term: crate::veryl_token::Token, }
10618
10619#[allow(dead_code)]
10623#[derive(Builder, Debug, Clone)]
10624#[builder(crate = "parol_runtime::derive_builder")]
10625pub struct RAngleToken {
10626 pub r_angle_term: crate::veryl_token::Token,
10627 pub comments: Box<Comments>,
10628}
10629
10630#[allow(dead_code)]
10634#[derive(Builder, Debug, Clone)]
10635#[builder(crate = "parol_runtime::derive_builder")]
10636pub struct RBrace {
10637 pub r_brace_token: crate::veryl_token::VerylToken,
10638}
10639
10640#[allow(dead_code)]
10644#[derive(Builder, Debug, Clone)]
10645#[builder(crate = "parol_runtime::derive_builder")]
10646pub struct RBraceTerm {
10647 pub r_brace_term: crate::veryl_token::Token, }
10649
10650#[allow(dead_code)]
10654#[derive(Builder, Debug, Clone)]
10655#[builder(crate = "parol_runtime::derive_builder")]
10656pub struct RBraceToken {
10657 pub r_brace_term: crate::veryl_token::Token,
10658 pub comments: Box<Comments>,
10659}
10660
10661#[allow(dead_code)]
10665#[derive(Builder, Debug, Clone)]
10666#[builder(crate = "parol_runtime::derive_builder")]
10667pub struct RBracket {
10668 pub r_bracket_token: crate::veryl_token::VerylToken,
10669}
10670
10671#[allow(dead_code)]
10675#[derive(Builder, Debug, Clone)]
10676#[builder(crate = "parol_runtime::derive_builder")]
10677pub struct RBracketTerm {
10678 pub r_bracket_term: crate::veryl_token::Token, }
10680
10681#[allow(dead_code)]
10685#[derive(Builder, Debug, Clone)]
10686#[builder(crate = "parol_runtime::derive_builder")]
10687pub struct RBracketToken {
10688 pub r_bracket_term: crate::veryl_token::Token,
10689 pub comments: Box<Comments>,
10690}
10691
10692#[allow(dead_code)]
10696#[derive(Builder, Debug, Clone)]
10697#[builder(crate = "parol_runtime::derive_builder")]
10698pub struct RParen {
10699 pub r_paren_token: crate::veryl_token::VerylToken,
10700}
10701
10702#[allow(dead_code)]
10706#[derive(Builder, Debug, Clone)]
10707#[builder(crate = "parol_runtime::derive_builder")]
10708pub struct RParenTerm {
10709 pub r_paren_term: crate::veryl_token::Token, }
10711
10712#[allow(dead_code)]
10716#[derive(Builder, Debug, Clone)]
10717#[builder(crate = "parol_runtime::derive_builder")]
10718pub struct RParenToken {
10719 pub r_paren_term: crate::veryl_token::Token,
10720 pub comments: Box<Comments>,
10721}
10722
10723#[allow(dead_code)]
10727#[derive(Builder, Debug, Clone)]
10728#[builder(crate = "parol_runtime::derive_builder")]
10729pub struct Range {
10730 pub expression: Box<Expression>,
10731 pub range_opt: Option<RangeOpt>,
10732}
10733
10734#[allow(dead_code)]
10738#[derive(Builder, Debug, Clone)]
10739#[builder(crate = "parol_runtime::derive_builder")]
10740pub struct RangeItem {
10741 pub range: Box<Range>,
10742}
10743
10744#[allow(dead_code)]
10748#[derive(Builder, Debug, Clone)]
10749#[builder(crate = "parol_runtime::derive_builder")]
10750pub struct RangeList {
10751 pub range_item: Box<RangeItem>,
10752 pub range_list_list: Vec<RangeListList>,
10753 pub range_list_opt: Option<RangeListOpt>,
10754}
10755
10756#[allow(dead_code)]
10760#[derive(Builder, Debug, Clone)]
10761#[builder(crate = "parol_runtime::derive_builder")]
10762pub struct RangeListList {
10763 pub comma: Box<Comma>,
10764 pub range_item: Box<RangeItem>,
10765}
10766
10767#[allow(dead_code)]
10771#[derive(Builder, Debug, Clone)]
10772#[builder(crate = "parol_runtime::derive_builder")]
10773pub struct RangeListOpt {
10774 pub comma: Box<Comma>,
10775}
10776
10777#[allow(dead_code)]
10781#[derive(Debug, Clone)]
10782pub enum RangeOperator {
10783 DotDot(RangeOperatorDotDot),
10784 DotDotEqu(RangeOperatorDotDotEqu),
10785}
10786
10787#[allow(dead_code)]
10791#[derive(Builder, Debug, Clone)]
10792#[builder(crate = "parol_runtime::derive_builder")]
10793pub struct RangeOpt {
10794 pub range_operator: Box<RangeOperator>,
10795 pub expression: Box<Expression>,
10796}
10797
10798#[allow(dead_code)]
10802#[derive(Debug, Clone)]
10803pub enum RealNumber {
10804 FixedPoint(RealNumberFixedPoint),
10805 Exponent(RealNumberExponent),
10806}
10807
10808#[allow(dead_code)]
10812#[derive(Builder, Debug, Clone)]
10813#[builder(crate = "parol_runtime::derive_builder")]
10814pub struct Ref {
10815 pub ref_token: crate::veryl_token::VerylToken,
10816}
10817
10818#[allow(dead_code)]
10822#[derive(Builder, Debug, Clone)]
10823#[builder(crate = "parol_runtime::derive_builder")]
10824pub struct RefTerm {
10825 pub ref_term: crate::veryl_token::Token, }
10827
10828#[allow(dead_code)]
10832#[derive(Builder, Debug, Clone)]
10833#[builder(crate = "parol_runtime::derive_builder")]
10834pub struct RefToken {
10835 pub ref_term: crate::veryl_token::Token,
10836 pub comments: Box<Comments>,
10837}
10838
10839#[allow(dead_code)]
10843#[derive(Builder, Debug, Clone)]
10844#[builder(crate = "parol_runtime::derive_builder")]
10845pub struct Repeat {
10846 pub repeat_token: crate::veryl_token::VerylToken,
10847}
10848
10849#[allow(dead_code)]
10853#[derive(Builder, Debug, Clone)]
10854#[builder(crate = "parol_runtime::derive_builder")]
10855pub struct RepeatTerm {
10856 pub repeat_term: crate::veryl_token::Token, }
10858
10859#[allow(dead_code)]
10863#[derive(Builder, Debug, Clone)]
10864#[builder(crate = "parol_runtime::derive_builder")]
10865pub struct RepeatToken {
10866 pub repeat_term: crate::veryl_token::Token,
10867 pub comments: Box<Comments>,
10868}
10869
10870#[allow(dead_code)]
10874#[derive(Builder, Debug, Clone)]
10875#[builder(crate = "parol_runtime::derive_builder")]
10876pub struct Reset {
10877 pub reset_token: crate::veryl_token::VerylToken,
10878}
10879
10880#[allow(dead_code)]
10884#[derive(Builder, Debug, Clone)]
10885#[builder(crate = "parol_runtime::derive_builder")]
10886pub struct ResetAsyncHigh {
10887 pub reset_async_high_token: crate::veryl_token::VerylToken,
10888}
10889
10890#[allow(dead_code)]
10894#[derive(Builder, Debug, Clone)]
10895#[builder(crate = "parol_runtime::derive_builder")]
10896pub struct ResetAsyncHighTerm {
10897 pub reset_async_high_term: crate::veryl_token::Token, }
10899
10900#[allow(dead_code)]
10904#[derive(Builder, Debug, Clone)]
10905#[builder(crate = "parol_runtime::derive_builder")]
10906pub struct ResetAsyncHighToken {
10907 pub reset_async_high_term: crate::veryl_token::Token,
10908 pub comments: Box<Comments>,
10909}
10910
10911#[allow(dead_code)]
10915#[derive(Builder, Debug, Clone)]
10916#[builder(crate = "parol_runtime::derive_builder")]
10917pub struct ResetAsyncLow {
10918 pub reset_async_low_token: crate::veryl_token::VerylToken,
10919}
10920
10921#[allow(dead_code)]
10925#[derive(Builder, Debug, Clone)]
10926#[builder(crate = "parol_runtime::derive_builder")]
10927pub struct ResetAsyncLowTerm {
10928 pub reset_async_low_term: crate::veryl_token::Token, }
10930
10931#[allow(dead_code)]
10935#[derive(Builder, Debug, Clone)]
10936#[builder(crate = "parol_runtime::derive_builder")]
10937pub struct ResetAsyncLowToken {
10938 pub reset_async_low_term: crate::veryl_token::Token,
10939 pub comments: Box<Comments>,
10940}
10941
10942#[allow(dead_code)]
10946#[derive(Builder, Debug, Clone)]
10947#[builder(crate = "parol_runtime::derive_builder")]
10948pub struct ResetSyncHigh {
10949 pub reset_sync_high_token: crate::veryl_token::VerylToken,
10950}
10951
10952#[allow(dead_code)]
10956#[derive(Builder, Debug, Clone)]
10957#[builder(crate = "parol_runtime::derive_builder")]
10958pub struct ResetSyncHighTerm {
10959 pub reset_sync_high_term: crate::veryl_token::Token, }
10961
10962#[allow(dead_code)]
10966#[derive(Builder, Debug, Clone)]
10967#[builder(crate = "parol_runtime::derive_builder")]
10968pub struct ResetSyncHighToken {
10969 pub reset_sync_high_term: crate::veryl_token::Token,
10970 pub comments: Box<Comments>,
10971}
10972
10973#[allow(dead_code)]
10977#[derive(Builder, Debug, Clone)]
10978#[builder(crate = "parol_runtime::derive_builder")]
10979pub struct ResetSyncLow {
10980 pub reset_sync_low_token: crate::veryl_token::VerylToken,
10981}
10982
10983#[allow(dead_code)]
10987#[derive(Builder, Debug, Clone)]
10988#[builder(crate = "parol_runtime::derive_builder")]
10989pub struct ResetSyncLowTerm {
10990 pub reset_sync_low_term: crate::veryl_token::Token, }
10992
10993#[allow(dead_code)]
10997#[derive(Builder, Debug, Clone)]
10998#[builder(crate = "parol_runtime::derive_builder")]
10999pub struct ResetSyncLowToken {
11000 pub reset_sync_low_term: crate::veryl_token::Token,
11001 pub comments: Box<Comments>,
11002}
11003
11004#[allow(dead_code)]
11008#[derive(Builder, Debug, Clone)]
11009#[builder(crate = "parol_runtime::derive_builder")]
11010pub struct ResetTerm {
11011 pub reset_term: crate::veryl_token::Token, }
11013
11014#[allow(dead_code)]
11018#[derive(Builder, Debug, Clone)]
11019#[builder(crate = "parol_runtime::derive_builder")]
11020pub struct ResetToken {
11021 pub reset_term: crate::veryl_token::Token,
11022 pub comments: Box<Comments>,
11023}
11024
11025#[allow(dead_code)]
11029#[derive(Builder, Debug, Clone)]
11030#[builder(crate = "parol_runtime::derive_builder")]
11031pub struct Return {
11032 pub return_token: crate::veryl_token::VerylToken,
11033}
11034
11035#[allow(dead_code)]
11039#[derive(Builder, Debug, Clone)]
11040#[builder(crate = "parol_runtime::derive_builder")]
11041pub struct ReturnStatement {
11042 pub r#return: Box<Return>,
11043 pub expression: Box<Expression>,
11044 pub semicolon: Box<Semicolon>,
11045}
11046
11047#[allow(dead_code)]
11051#[derive(Builder, Debug, Clone)]
11052#[builder(crate = "parol_runtime::derive_builder")]
11053pub struct ReturnTerm {
11054 pub return_term: crate::veryl_token::Token, }
11056
11057#[allow(dead_code)]
11061#[derive(Builder, Debug, Clone)]
11062#[builder(crate = "parol_runtime::derive_builder")]
11063pub struct ReturnToken {
11064 pub return_term: crate::veryl_token::Token,
11065 pub comments: Box<Comments>,
11066}
11067
11068#[allow(dead_code)]
11072#[derive(Builder, Debug, Clone)]
11073#[builder(crate = "parol_runtime::derive_builder")]
11074pub struct ScalarType {
11075 pub scalar_type_list: Vec<ScalarTypeList>,
11076 pub scalar_type_group: Box<ScalarTypeGroup>,
11077}
11078
11079#[allow(dead_code)]
11083#[derive(Debug, Clone)]
11084pub enum ScalarTypeGroup {
11085 UserDefinedTypeScalarTypeOpt(ScalarTypeGroupUserDefinedTypeScalarTypeOpt),
11086 FactorType(ScalarTypeGroupFactorType),
11087}
11088
11089#[allow(dead_code)]
11093#[derive(Builder, Debug, Clone)]
11094#[builder(crate = "parol_runtime::derive_builder")]
11095pub struct ScalarTypeList {
11096 pub type_modifier: Box<TypeModifier>,
11097}
11098
11099#[allow(dead_code)]
11103#[derive(Builder, Debug, Clone)]
11104#[builder(crate = "parol_runtime::derive_builder")]
11105pub struct ScalarTypeOpt {
11106 pub width: Box<Width>,
11107}
11108
11109#[allow(dead_code)]
11113#[derive(Builder, Debug, Clone)]
11114#[builder(crate = "parol_runtime::derive_builder")]
11115pub struct ScopedIdentifier {
11116 pub scoped_identifier_group: Box<ScopedIdentifierGroup>,
11117 pub scoped_identifier_list: Vec<ScopedIdentifierList>,
11118}
11119
11120#[allow(dead_code)]
11124#[derive(Debug, Clone)]
11125pub enum ScopedIdentifierGroup {
11126 DollarIdentifier(ScopedIdentifierGroupDollarIdentifier),
11127 IdentifierScopedIdentifierOpt(ScopedIdentifierGroupIdentifierScopedIdentifierOpt),
11128}
11129
11130#[allow(dead_code)]
11134#[derive(Builder, Debug, Clone)]
11135#[builder(crate = "parol_runtime::derive_builder")]
11136pub struct ScopedIdentifierList {
11137 pub colon_colon: Box<ColonColon>,
11138 pub identifier: Box<Identifier>,
11139 pub scoped_identifier_opt0: Option<ScopedIdentifierOpt0>,
11140}
11141
11142#[allow(dead_code)]
11146#[derive(Builder, Debug, Clone)]
11147#[builder(crate = "parol_runtime::derive_builder")]
11148pub struct ScopedIdentifierOpt {
11149 pub with_generic_argument: Box<WithGenericArgument>,
11150}
11151
11152#[allow(dead_code)]
11156#[derive(Builder, Debug, Clone)]
11157#[builder(crate = "parol_runtime::derive_builder")]
11158pub struct ScopedIdentifierOpt0 {
11159 pub with_generic_argument: Box<WithGenericArgument>,
11160}
11161
11162#[allow(dead_code)]
11166#[derive(Builder, Debug, Clone)]
11167#[builder(crate = "parol_runtime::derive_builder")]
11168pub struct Select {
11169 pub l_bracket: Box<LBracket>,
11170 pub expression: Box<Expression>,
11171 pub select_opt: Option<SelectOpt>,
11172 pub r_bracket: Box<RBracket>,
11173}
11174
11175#[allow(dead_code)]
11179#[derive(Debug, Clone)]
11180pub enum SelectOperator {
11181 Colon(SelectOperatorColon),
11182 PlusColon(SelectOperatorPlusColon),
11183 MinusColon(SelectOperatorMinusColon),
11184 Step(SelectOperatorStep),
11185}
11186
11187#[allow(dead_code)]
11191#[derive(Builder, Debug, Clone)]
11192#[builder(crate = "parol_runtime::derive_builder")]
11193pub struct SelectOpt {
11194 pub select_operator: Box<SelectOperator>,
11195 pub expression: Box<Expression>,
11196}
11197
11198#[allow(dead_code)]
11202#[derive(Builder, Debug, Clone)]
11203#[builder(crate = "parol_runtime::derive_builder")]
11204pub struct Semicolon {
11205 pub semicolon_token: crate::veryl_token::VerylToken,
11206}
11207
11208#[allow(dead_code)]
11212#[derive(Builder, Debug, Clone)]
11213#[builder(crate = "parol_runtime::derive_builder")]
11214pub struct SemicolonTerm {
11215 pub semicolon_term: crate::veryl_token::Token, }
11217
11218#[allow(dead_code)]
11222#[derive(Builder, Debug, Clone)]
11223#[builder(crate = "parol_runtime::derive_builder")]
11224pub struct SemicolonToken {
11225 pub semicolon_term: crate::veryl_token::Token,
11226 pub comments: Box<Comments>,
11227}
11228
11229#[allow(dead_code)]
11233#[derive(Builder, Debug, Clone)]
11234#[builder(crate = "parol_runtime::derive_builder")]
11235pub struct Signed {
11236 pub signed_token: crate::veryl_token::VerylToken,
11237}
11238
11239#[allow(dead_code)]
11243#[derive(Builder, Debug, Clone)]
11244#[builder(crate = "parol_runtime::derive_builder")]
11245pub struct SignedTerm {
11246 pub signed_term: crate::veryl_token::Token, }
11248
11249#[allow(dead_code)]
11253#[derive(Builder, Debug, Clone)]
11254#[builder(crate = "parol_runtime::derive_builder")]
11255pub struct SignedToken {
11256 pub signed_term: crate::veryl_token::Token,
11257 pub comments: Box<Comments>,
11258}
11259
11260#[allow(dead_code)]
11264#[derive(Builder, Debug, Clone)]
11265#[builder(crate = "parol_runtime::derive_builder")]
11266pub struct Star {
11267 pub star_token: crate::veryl_token::VerylToken,
11268}
11269
11270#[allow(dead_code)]
11274#[derive(Builder, Debug, Clone)]
11275#[builder(crate = "parol_runtime::derive_builder")]
11276pub struct StarTerm {
11277 pub star_term: crate::veryl_token::Token, }
11279
11280#[allow(dead_code)]
11284#[derive(Builder, Debug, Clone)]
11285#[builder(crate = "parol_runtime::derive_builder")]
11286pub struct StarToken {
11287 pub star_term: crate::veryl_token::Token,
11288 pub comments: Box<Comments>,
11289}
11290
11291#[allow(dead_code)]
11295#[derive(Builder, Debug, Clone)]
11296#[builder(crate = "parol_runtime::derive_builder")]
11297pub struct Start {
11298 pub start_token: crate::veryl_token::VerylToken,
11299}
11300
11301#[allow(dead_code)]
11305#[derive(Builder, Debug, Clone)]
11306#[builder(crate = "parol_runtime::derive_builder")]
11307pub struct StartToken {
11308 pub comments: Box<Comments>,
11309}
11310
11311#[allow(dead_code)]
11315#[derive(Debug, Clone)]
11316pub enum Statement {
11317 IdentifierStatement(StatementIdentifierStatement),
11318 IfStatement(StatementIfStatement),
11319 IfResetStatement(StatementIfResetStatement),
11320 ReturnStatement(StatementReturnStatement),
11321 BreakStatement(StatementBreakStatement),
11322 ForStatement(StatementForStatement),
11323 CaseStatement(StatementCaseStatement),
11324 SwitchStatement(StatementSwitchStatement),
11325}
11326
11327#[allow(dead_code)]
11331#[derive(Builder, Debug, Clone)]
11332#[builder(crate = "parol_runtime::derive_builder")]
11333pub struct StatementBlock {
11334 pub l_brace: Box<LBrace>,
11335 pub statement_block_list: Vec<StatementBlockList>,
11336 pub r_brace: Box<RBrace>,
11337}
11338
11339#[allow(dead_code)]
11343#[derive(Builder, Debug, Clone)]
11344#[builder(crate = "parol_runtime::derive_builder")]
11345pub struct StatementBlockGroup {
11346 pub statement_block_group_list: Vec<StatementBlockGroupList>,
11347 pub statement_block_group_group: Box<StatementBlockGroupGroup>,
11348}
11349
11350#[allow(dead_code)]
11354#[derive(Debug, Clone)]
11355pub enum StatementBlockGroupGroup {
11356 LBraceStatementBlockGroupGroupListRBrace(
11357 StatementBlockGroupGroupLBraceStatementBlockGroupGroupListRBrace,
11358 ),
11359 StatementBlockItem(StatementBlockGroupGroupStatementBlockItem),
11360}
11361
11362#[allow(dead_code)]
11366#[derive(Builder, Debug, Clone)]
11367#[builder(crate = "parol_runtime::derive_builder")]
11368pub struct StatementBlockGroupGroupList {
11369 pub statement_block_group: Box<StatementBlockGroup>,
11370}
11371
11372#[allow(dead_code)]
11376#[derive(Builder, Debug, Clone)]
11377#[builder(crate = "parol_runtime::derive_builder")]
11378pub struct StatementBlockGroupList {
11379 pub attribute: Box<Attribute>,
11380}
11381
11382#[allow(dead_code)]
11386#[derive(Debug, Clone)]
11387pub enum StatementBlockItem {
11388 VarDeclaration(StatementBlockItemVarDeclaration),
11389 LetStatement(StatementBlockItemLetStatement),
11390 Statement(StatementBlockItemStatement),
11391}
11392
11393#[allow(dead_code)]
11397#[derive(Builder, Debug, Clone)]
11398#[builder(crate = "parol_runtime::derive_builder")]
11399pub struct StatementBlockList {
11400 pub statement_block_group: Box<StatementBlockGroup>,
11401}
11402
11403#[allow(dead_code)]
11407#[derive(Builder, Debug, Clone)]
11408#[builder(crate = "parol_runtime::derive_builder")]
11409pub struct Step {
11410 pub step_token: crate::veryl_token::VerylToken,
11411}
11412
11413#[allow(dead_code)]
11417#[derive(Builder, Debug, Clone)]
11418#[builder(crate = "parol_runtime::derive_builder")]
11419pub struct StepTerm {
11420 pub step_term: crate::veryl_token::Token, }
11422
11423#[allow(dead_code)]
11427#[derive(Builder, Debug, Clone)]
11428#[builder(crate = "parol_runtime::derive_builder")]
11429pub struct StepToken {
11430 pub step_term: crate::veryl_token::Token,
11431 pub comments: Box<Comments>,
11432}
11433
11434#[allow(dead_code)]
11438#[derive(Builder, Debug, Clone)]
11439#[builder(crate = "parol_runtime::derive_builder")]
11440pub struct Strin {
11441 pub string_token: crate::veryl_token::VerylToken,
11442}
11443
11444#[allow(dead_code)]
11448#[derive(Builder, Debug, Clone)]
11449#[builder(crate = "parol_runtime::derive_builder")]
11450pub struct StringLiteral {
11451 pub string_literal_token: crate::veryl_token::VerylToken,
11452}
11453
11454#[allow(dead_code)]
11458#[derive(Builder, Debug, Clone)]
11459#[builder(crate = "parol_runtime::derive_builder")]
11460pub struct StringLiteralTerm {
11461 pub string_literal_term: crate::veryl_token::Token, }
11463
11464#[allow(dead_code)]
11468#[derive(Builder, Debug, Clone)]
11469#[builder(crate = "parol_runtime::derive_builder")]
11470pub struct StringLiteralToken {
11471 pub string_literal_term: crate::veryl_token::Token,
11472 pub comments: Box<Comments>,
11473}
11474
11475#[allow(dead_code)]
11479#[derive(Builder, Debug, Clone)]
11480#[builder(crate = "parol_runtime::derive_builder")]
11481pub struct StringTerm {
11482 pub string_term: crate::veryl_token::Token, }
11484
11485#[allow(dead_code)]
11489#[derive(Builder, Debug, Clone)]
11490#[builder(crate = "parol_runtime::derive_builder")]
11491pub struct StringToken {
11492 pub string_term: crate::veryl_token::Token,
11493 pub comments: Box<Comments>,
11494}
11495
11496#[allow(dead_code)]
11500#[derive(Builder, Debug, Clone)]
11501#[builder(crate = "parol_runtime::derive_builder")]
11502pub struct Struct {
11503 pub struct_token: crate::veryl_token::VerylToken,
11504}
11505
11506#[allow(dead_code)]
11510#[derive(Builder, Debug, Clone)]
11511#[builder(crate = "parol_runtime::derive_builder")]
11512pub struct StructTerm {
11513 pub struct_term: crate::veryl_token::Token, }
11515
11516#[allow(dead_code)]
11520#[derive(Builder, Debug, Clone)]
11521#[builder(crate = "parol_runtime::derive_builder")]
11522pub struct StructToken {
11523 pub struct_term: crate::veryl_token::Token,
11524 pub comments: Box<Comments>,
11525}
11526
11527#[allow(dead_code)]
11531#[derive(Debug, Clone)]
11532pub enum StructUnion {
11533 Struct(StructUnionStruct),
11534 Union(StructUnionUnion),
11535}
11536
11537#[allow(dead_code)]
11541#[derive(Builder, Debug, Clone)]
11542#[builder(crate = "parol_runtime::derive_builder")]
11543pub struct StructUnionDeclaration {
11544 pub struct_union: Box<StructUnion>,
11545 pub identifier: Box<Identifier>,
11546 pub struct_union_declaration_opt: Option<StructUnionDeclarationOpt>,
11547 pub l_brace: Box<LBrace>,
11548 pub struct_union_list: Box<StructUnionList>,
11549 pub r_brace: Box<RBrace>,
11550}
11551
11552#[allow(dead_code)]
11556#[derive(Builder, Debug, Clone)]
11557#[builder(crate = "parol_runtime::derive_builder")]
11558pub struct StructUnionDeclarationOpt {
11559 pub with_generic_parameter: Box<WithGenericParameter>,
11560}
11561
11562#[allow(dead_code)]
11566#[derive(Builder, Debug, Clone)]
11567#[builder(crate = "parol_runtime::derive_builder")]
11568pub struct StructUnionGroup {
11569 pub struct_union_group_list: Vec<StructUnionGroupList>,
11570 pub struct_union_group_group: Box<StructUnionGroupGroup>,
11571}
11572
11573#[allow(dead_code)]
11577#[derive(Debug, Clone)]
11578pub enum StructUnionGroupGroup {
11579 LBraceStructUnionListRBrace(StructUnionGroupGroupLBraceStructUnionListRBrace),
11580 StructUnionItem(StructUnionGroupGroupStructUnionItem),
11581}
11582
11583#[allow(dead_code)]
11587#[derive(Builder, Debug, Clone)]
11588#[builder(crate = "parol_runtime::derive_builder")]
11589pub struct StructUnionGroupList {
11590 pub attribute: Box<Attribute>,
11591}
11592
11593#[allow(dead_code)]
11597#[derive(Builder, Debug, Clone)]
11598#[builder(crate = "parol_runtime::derive_builder")]
11599pub struct StructUnionItem {
11600 pub identifier: Box<Identifier>,
11601 pub colon: Box<Colon>,
11602 pub scalar_type: Box<ScalarType>,
11603}
11604
11605#[allow(dead_code)]
11609#[derive(Builder, Debug, Clone)]
11610#[builder(crate = "parol_runtime::derive_builder")]
11611pub struct StructUnionList {
11612 pub struct_union_group: Box<StructUnionGroup>,
11613 pub struct_union_list_list: Vec<StructUnionListList>,
11614 pub struct_union_list_opt: Option<StructUnionListOpt>,
11615}
11616
11617#[allow(dead_code)]
11621#[derive(Builder, Debug, Clone)]
11622#[builder(crate = "parol_runtime::derive_builder")]
11623pub struct StructUnionListList {
11624 pub comma: Box<Comma>,
11625 pub struct_union_group: Box<StructUnionGroup>,
11626}
11627
11628#[allow(dead_code)]
11632#[derive(Builder, Debug, Clone)]
11633#[builder(crate = "parol_runtime::derive_builder")]
11634pub struct StructUnionListOpt {
11635 pub comma: Box<Comma>,
11636}
11637
11638#[allow(dead_code)]
11642#[derive(Builder, Debug, Clone)]
11643#[builder(crate = "parol_runtime::derive_builder")]
11644pub struct Switch {
11645 pub switch_token: crate::veryl_token::VerylToken,
11646}
11647
11648#[allow(dead_code)]
11652#[derive(Builder, Debug, Clone)]
11653#[builder(crate = "parol_runtime::derive_builder")]
11654pub struct SwitchCondition {
11655 pub expression: Box<Expression>,
11656 pub switch_condition_list: Vec<SwitchConditionList>,
11657}
11658
11659#[allow(dead_code)]
11663#[derive(Builder, Debug, Clone)]
11664#[builder(crate = "parol_runtime::derive_builder")]
11665pub struct SwitchConditionList {
11666 pub comma: Box<Comma>,
11667 pub expression: Box<Expression>,
11668}
11669
11670#[allow(dead_code)]
11674#[derive(Builder, Debug, Clone)]
11675#[builder(crate = "parol_runtime::derive_builder")]
11676pub struct SwitchExpression {
11677 pub switch: Box<Switch>,
11678 pub l_brace: Box<LBrace>,
11679 pub switch_condition: Box<SwitchCondition>,
11680 pub colon: Box<Colon>,
11681 pub expression: Box<Expression>,
11682 pub comma: Box<Comma>,
11683 pub switch_expression_list: Vec<SwitchExpressionList>,
11684 pub defaul: Box<Defaul>,
11685 pub colon0: Box<Colon>,
11686 pub expression0: Box<Expression>,
11687 pub switch_expression_opt: Option<SwitchExpressionOpt>,
11688 pub r_brace: Box<RBrace>,
11689}
11690
11691#[allow(dead_code)]
11695#[derive(Builder, Debug, Clone)]
11696#[builder(crate = "parol_runtime::derive_builder")]
11697pub struct SwitchExpressionList {
11698 pub switch_condition: Box<SwitchCondition>,
11699 pub colon: Box<Colon>,
11700 pub expression: Box<Expression>,
11701 pub comma: Box<Comma>,
11702}
11703
11704#[allow(dead_code)]
11708#[derive(Builder, Debug, Clone)]
11709#[builder(crate = "parol_runtime::derive_builder")]
11710pub struct SwitchExpressionOpt {
11711 pub comma: Box<Comma>,
11712}
11713
11714#[allow(dead_code)]
11718#[derive(Builder, Debug, Clone)]
11719#[builder(crate = "parol_runtime::derive_builder")]
11720pub struct SwitchItem {
11721 pub switch_item_group: Box<SwitchItemGroup>,
11722 pub colon: Box<Colon>,
11723 pub switch_item_group0: Box<SwitchItemGroup0>,
11724}
11725
11726#[allow(dead_code)]
11730#[derive(Debug, Clone)]
11731pub enum SwitchItemGroup {
11732 SwitchCondition(SwitchItemGroupSwitchCondition),
11733 Defaul(SwitchItemGroupDefaul),
11734}
11735
11736#[allow(dead_code)]
11740#[derive(Debug, Clone)]
11741pub enum SwitchItemGroup0 {
11742 Statement(SwitchItemGroup0Statement),
11743 StatementBlock(SwitchItemGroup0StatementBlock),
11744}
11745
11746#[allow(dead_code)]
11750#[derive(Builder, Debug, Clone)]
11751#[builder(crate = "parol_runtime::derive_builder")]
11752pub struct SwitchStatement {
11753 pub switch: Box<Switch>,
11754 pub l_brace: Box<LBrace>,
11755 pub switch_statement_list: Vec<SwitchStatementList>,
11756 pub r_brace: Box<RBrace>,
11757}
11758
11759#[allow(dead_code)]
11763#[derive(Builder, Debug, Clone)]
11764#[builder(crate = "parol_runtime::derive_builder")]
11765pub struct SwitchStatementList {
11766 pub switch_item: Box<SwitchItem>,
11767}
11768
11769#[allow(dead_code)]
11773#[derive(Builder, Debug, Clone)]
11774#[builder(crate = "parol_runtime::derive_builder")]
11775pub struct SwitchTerm {
11776 pub switch_term: crate::veryl_token::Token, }
11778
11779#[allow(dead_code)]
11783#[derive(Builder, Debug, Clone)]
11784#[builder(crate = "parol_runtime::derive_builder")]
11785pub struct SwitchToken {
11786 pub switch_term: crate::veryl_token::Token,
11787 pub comments: Box<Comments>,
11788}
11789
11790#[allow(dead_code)]
11794#[derive(Builder, Debug, Clone)]
11795#[builder(crate = "parol_runtime::derive_builder")]
11796pub struct Tri {
11797 pub tri_token: crate::veryl_token::VerylToken,
11798}
11799
11800#[allow(dead_code)]
11804#[derive(Builder, Debug, Clone)]
11805#[builder(crate = "parol_runtime::derive_builder")]
11806pub struct TriTerm {
11807 pub tri_term: crate::veryl_token::Token, }
11809
11810#[allow(dead_code)]
11814#[derive(Builder, Debug, Clone)]
11815#[builder(crate = "parol_runtime::derive_builder")]
11816pub struct TriToken {
11817 pub tri_term: crate::veryl_token::Token,
11818 pub comments: Box<Comments>,
11819}
11820
11821#[allow(dead_code)]
11825#[derive(Builder, Debug, Clone)]
11826#[builder(crate = "parol_runtime::derive_builder")]
11827pub struct Type {
11828 pub type_token: crate::veryl_token::VerylToken,
11829}
11830
11831#[allow(dead_code)]
11835#[derive(Builder, Debug, Clone)]
11836#[builder(crate = "parol_runtime::derive_builder")]
11837pub struct TypeDefDeclaration {
11838 pub r#type: Box<Type>,
11839 pub identifier: Box<Identifier>,
11840 pub equ: Box<Equ>,
11841 pub array_type: Box<ArrayType>,
11842 pub semicolon: Box<Semicolon>,
11843}
11844
11845#[allow(dead_code)]
11849#[derive(Builder, Debug, Clone)]
11850#[builder(crate = "parol_runtime::derive_builder")]
11851pub struct TypeExpression {
11852 pub r#type: Box<Type>,
11853 pub l_paren: Box<LParen>,
11854 pub expression: Box<Expression>,
11855 pub r_paren: Box<RParen>,
11856}
11857
11858#[allow(dead_code)]
11862#[derive(Debug, Clone)]
11863pub enum TypeModifier {
11864 Tri(TypeModifierTri),
11865 Signed(TypeModifierSigned),
11866}
11867
11868#[allow(dead_code)]
11872#[derive(Builder, Debug, Clone)]
11873#[builder(crate = "parol_runtime::derive_builder")]
11874pub struct TypeTerm {
11875 pub type_term: crate::veryl_token::Token, }
11877
11878#[allow(dead_code)]
11882#[derive(Builder, Debug, Clone)]
11883#[builder(crate = "parol_runtime::derive_builder")]
11884pub struct TypeToken {
11885 pub type_term: crate::veryl_token::Token,
11886 pub comments: Box<Comments>,
11887}
11888
11889#[allow(dead_code)]
11893#[derive(Builder, Debug, Clone)]
11894#[builder(crate = "parol_runtime::derive_builder")]
11895pub struct U32 {
11896 pub u32_token: crate::veryl_token::VerylToken,
11897}
11898
11899#[allow(dead_code)]
11903#[derive(Builder, Debug, Clone)]
11904#[builder(crate = "parol_runtime::derive_builder")]
11905pub struct U32Term {
11906 pub u32_term: crate::veryl_token::Token, }
11908
11909#[allow(dead_code)]
11913#[derive(Builder, Debug, Clone)]
11914#[builder(crate = "parol_runtime::derive_builder")]
11915pub struct U32Token {
11916 pub u32_term: crate::veryl_token::Token,
11917 pub comments: Box<Comments>,
11918}
11919
11920#[allow(dead_code)]
11924#[derive(Builder, Debug, Clone)]
11925#[builder(crate = "parol_runtime::derive_builder")]
11926pub struct U64 {
11927 pub u64_token: crate::veryl_token::VerylToken,
11928}
11929
11930#[allow(dead_code)]
11934#[derive(Builder, Debug, Clone)]
11935#[builder(crate = "parol_runtime::derive_builder")]
11936pub struct U64Term {
11937 pub u64_term: crate::veryl_token::Token, }
11939
11940#[allow(dead_code)]
11944#[derive(Builder, Debug, Clone)]
11945#[builder(crate = "parol_runtime::derive_builder")]
11946pub struct U64Token {
11947 pub u64_term: crate::veryl_token::Token,
11948 pub comments: Box<Comments>,
11949}
11950
11951#[allow(dead_code)]
11955#[derive(Builder, Debug, Clone)]
11956#[builder(crate = "parol_runtime::derive_builder")]
11957pub struct UnaryOperator {
11958 pub unary_operator_token: crate::veryl_token::VerylToken,
11959}
11960
11961#[allow(dead_code)]
11965#[derive(Builder, Debug, Clone)]
11966#[builder(crate = "parol_runtime::derive_builder")]
11967pub struct UnaryOperatorTerm {
11968 pub unary_operator_term: crate::veryl_token::Token, }
11970
11971#[allow(dead_code)]
11975#[derive(Builder, Debug, Clone)]
11976#[builder(crate = "parol_runtime::derive_builder")]
11977pub struct UnaryOperatorToken {
11978 pub unary_operator_term: crate::veryl_token::Token,
11979 pub comments: Box<Comments>,
11980}
11981
11982#[allow(dead_code)]
11986#[derive(Builder, Debug, Clone)]
11987#[builder(crate = "parol_runtime::derive_builder")]
11988pub struct Union {
11989 pub union_token: crate::veryl_token::VerylToken,
11990}
11991
11992#[allow(dead_code)]
11996#[derive(Builder, Debug, Clone)]
11997#[builder(crate = "parol_runtime::derive_builder")]
11998pub struct UnionTerm {
11999 pub union_term: crate::veryl_token::Token, }
12001
12002#[allow(dead_code)]
12006#[derive(Builder, Debug, Clone)]
12007#[builder(crate = "parol_runtime::derive_builder")]
12008pub struct UnionToken {
12009 pub union_term: crate::veryl_token::Token,
12010 pub comments: Box<Comments>,
12011}
12012
12013#[allow(dead_code)]
12017#[derive(Builder, Debug, Clone)]
12018#[builder(crate = "parol_runtime::derive_builder")]
12019pub struct Unsafe {
12020 pub unsafe_token: crate::veryl_token::VerylToken,
12021}
12022
12023#[allow(dead_code)]
12027#[derive(Builder, Debug, Clone)]
12028#[builder(crate = "parol_runtime::derive_builder")]
12029pub struct UnsafeBlock {
12030 pub r#unsafe: Box<Unsafe>,
12031 pub l_paren: Box<LParen>,
12032 pub identifier: Box<Identifier>,
12033 pub r_paren: Box<RParen>,
12034 pub l_brace: Box<LBrace>,
12035 pub unsafe_block_list: Vec<UnsafeBlockList>,
12036 pub r_brace: Box<RBrace>,
12037}
12038
12039#[allow(dead_code)]
12043#[derive(Builder, Debug, Clone)]
12044#[builder(crate = "parol_runtime::derive_builder")]
12045pub struct UnsafeBlockList {
12046 pub generate_group: Box<GenerateGroup>,
12047}
12048
12049#[allow(dead_code)]
12053#[derive(Builder, Debug, Clone)]
12054#[builder(crate = "parol_runtime::derive_builder")]
12055pub struct UnsafeTerm {
12056 pub unsafe_term: crate::veryl_token::Token, }
12058
12059#[allow(dead_code)]
12063#[derive(Builder, Debug, Clone)]
12064#[builder(crate = "parol_runtime::derive_builder")]
12065pub struct UnsafeToken {
12066 pub unsafe_term: crate::veryl_token::Token,
12067 pub comments: Box<Comments>,
12068}
12069
12070#[allow(dead_code)]
12074#[derive(Builder, Debug, Clone)]
12075#[builder(crate = "parol_runtime::derive_builder")]
12076pub struct UserDefinedType {
12077 pub scoped_identifier: Box<ScopedIdentifier>,
12078}
12079
12080#[allow(dead_code)]
12084#[derive(Builder, Debug, Clone)]
12085#[builder(crate = "parol_runtime::derive_builder")]
12086pub struct Var {
12087 pub var_token: crate::veryl_token::VerylToken,
12088}
12089
12090#[allow(dead_code)]
12094#[derive(Builder, Debug, Clone)]
12095#[builder(crate = "parol_runtime::derive_builder")]
12096pub struct VarDeclaration {
12097 pub var: Box<Var>,
12098 pub identifier: Box<Identifier>,
12099 pub colon: Box<Colon>,
12100 pub var_declaration_opt: Option<VarDeclarationOpt>,
12101 pub array_type: Box<ArrayType>,
12102 pub semicolon: Box<Semicolon>,
12103}
12104
12105#[allow(dead_code)]
12109#[derive(Builder, Debug, Clone)]
12110#[builder(crate = "parol_runtime::derive_builder")]
12111pub struct VarDeclarationOpt {
12112 pub clock_domain: Box<ClockDomain>,
12113}
12114
12115#[allow(dead_code)]
12119#[derive(Builder, Debug, Clone)]
12120#[builder(crate = "parol_runtime::derive_builder")]
12121pub struct VarTerm {
12122 pub var_term: crate::veryl_token::Token, }
12124
12125#[allow(dead_code)]
12129#[derive(Builder, Debug, Clone)]
12130#[builder(crate = "parol_runtime::derive_builder")]
12131pub struct VarToken {
12132 pub var_term: crate::veryl_token::Token,
12133 pub comments: Box<Comments>,
12134}
12135
12136#[allow(dead_code)]
12140#[derive(Debug, Clone)]
12141pub enum VariableType {
12142 Clock(VariableTypeClock),
12143 ClockPosedge(VariableTypeClockPosedge),
12144 ClockNegedge(VariableTypeClockNegedge),
12145 Reset(VariableTypeReset),
12146 ResetAsyncHigh(VariableTypeResetAsyncHigh),
12147 ResetAsyncLow(VariableTypeResetAsyncLow),
12148 ResetSyncHigh(VariableTypeResetSyncHigh),
12149 ResetSyncLow(VariableTypeResetSyncLow),
12150 Logic(VariableTypeLogic),
12151 Bit(VariableTypeBit),
12152}
12153
12154#[allow(dead_code)]
12158#[derive(Builder, Debug, Clone)]
12159#[builder(crate = "parol_runtime::derive_builder")]
12160pub struct Veryl {
12161 pub start: Box<Start>,
12162 pub veryl_list: Vec<VerylList>,
12163}
12164
12165#[allow(dead_code)]
12169#[derive(Builder, Debug, Clone)]
12170#[builder(crate = "parol_runtime::derive_builder")]
12171pub struct VerylList {
12172 pub description_group: Box<DescriptionGroup>,
12173}
12174
12175#[allow(dead_code)]
12179#[derive(Builder, Debug, Clone)]
12180#[builder(crate = "parol_runtime::derive_builder")]
12181pub struct Width {
12182 pub l_angle: Box<LAngle>,
12183 pub expression: Box<Expression>,
12184 pub width_list: Vec<WidthList>,
12185 pub r_angle: Box<RAngle>,
12186}
12187
12188#[allow(dead_code)]
12192#[derive(Builder, Debug, Clone)]
12193#[builder(crate = "parol_runtime::derive_builder")]
12194pub struct WidthList {
12195 pub comma: Box<Comma>,
12196 pub expression: Box<Expression>,
12197}
12198
12199#[allow(dead_code)]
12203#[derive(Builder, Debug, Clone)]
12204#[builder(crate = "parol_runtime::derive_builder")]
12205pub struct WithGenericArgument {
12206 pub colon_colon_l_angle: Box<ColonColonLAngle>,
12207 pub with_generic_argument_opt: Option<WithGenericArgumentOpt>,
12208 pub r_angle: Box<RAngle>,
12209}
12210
12211#[allow(dead_code)]
12215#[derive(Debug, Clone)]
12216pub enum WithGenericArgumentItem {
12217 ScopedIdentifier(WithGenericArgumentItemScopedIdentifier),
12218 Number(WithGenericArgumentItemNumber),
12219}
12220
12221#[allow(dead_code)]
12225#[derive(Builder, Debug, Clone)]
12226#[builder(crate = "parol_runtime::derive_builder")]
12227pub struct WithGenericArgumentList {
12228 pub with_generic_argument_item: Box<WithGenericArgumentItem>,
12229 pub with_generic_argument_list_list: Vec<WithGenericArgumentListList>,
12230 pub with_generic_argument_list_opt: Option<WithGenericArgumentListOpt>,
12231}
12232
12233#[allow(dead_code)]
12237#[derive(Builder, Debug, Clone)]
12238#[builder(crate = "parol_runtime::derive_builder")]
12239pub struct WithGenericArgumentListList {
12240 pub comma: Box<Comma>,
12241 pub with_generic_argument_item: Box<WithGenericArgumentItem>,
12242}
12243
12244#[allow(dead_code)]
12248#[derive(Builder, Debug, Clone)]
12249#[builder(crate = "parol_runtime::derive_builder")]
12250pub struct WithGenericArgumentListOpt {
12251 pub comma: Box<Comma>,
12252}
12253
12254#[allow(dead_code)]
12258#[derive(Builder, Debug, Clone)]
12259#[builder(crate = "parol_runtime::derive_builder")]
12260pub struct WithGenericArgumentOpt {
12261 pub with_generic_argument_list: Box<WithGenericArgumentList>,
12262}
12263
12264#[allow(dead_code)]
12268#[derive(Builder, Debug, Clone)]
12269#[builder(crate = "parol_runtime::derive_builder")]
12270pub struct WithGenericParameter {
12271 pub colon_colon_l_angle: Box<ColonColonLAngle>,
12272 pub with_generic_parameter_list: Box<WithGenericParameterList>,
12273 pub r_angle: Box<RAngle>,
12274}
12275
12276#[allow(dead_code)]
12280#[derive(Builder, Debug, Clone)]
12281#[builder(crate = "parol_runtime::derive_builder")]
12282pub struct WithGenericParameterItem {
12283 pub identifier: Box<Identifier>,
12284 pub colon: Box<Colon>,
12285 pub generic_bound: Box<GenericBound>,
12286 pub with_generic_parameter_item_opt: Option<WithGenericParameterItemOpt>,
12287}
12288
12289#[allow(dead_code)]
12293#[derive(Builder, Debug, Clone)]
12294#[builder(crate = "parol_runtime::derive_builder")]
12295pub struct WithGenericParameterItemOpt {
12296 pub equ: Box<Equ>,
12297 pub with_generic_argument_item: Box<WithGenericArgumentItem>,
12298}
12299
12300#[allow(dead_code)]
12304#[derive(Builder, Debug, Clone)]
12305#[builder(crate = "parol_runtime::derive_builder")]
12306pub struct WithGenericParameterList {
12307 pub with_generic_parameter_item: Box<WithGenericParameterItem>,
12308 pub with_generic_parameter_list_list: Vec<WithGenericParameterListList>,
12309 pub with_generic_parameter_list_opt: Option<WithGenericParameterListOpt>,
12310}
12311
12312#[allow(dead_code)]
12316#[derive(Builder, Debug, Clone)]
12317#[builder(crate = "parol_runtime::derive_builder")]
12318pub struct WithGenericParameterListList {
12319 pub comma: Box<Comma>,
12320 pub with_generic_parameter_item: Box<WithGenericParameterItem>,
12321}
12322
12323#[allow(dead_code)]
12327#[derive(Builder, Debug, Clone)]
12328#[builder(crate = "parol_runtime::derive_builder")]
12329pub struct WithGenericParameterListOpt {
12330 pub comma: Box<Comma>,
12331}
12332
12333#[allow(dead_code)]
12337#[derive(Builder, Debug, Clone)]
12338#[builder(crate = "parol_runtime::derive_builder")]
12339pub struct WithParameter {
12340 pub hash: Box<Hash>,
12341 pub l_paren: Box<LParen>,
12342 pub with_parameter_opt: Option<WithParameterOpt>,
12343 pub r_paren: Box<RParen>,
12344}
12345
12346#[allow(dead_code)]
12350#[derive(Builder, Debug, Clone)]
12351#[builder(crate = "parol_runtime::derive_builder")]
12352pub struct WithParameterGroup {
12353 pub with_parameter_group_list: Vec<WithParameterGroupList>,
12354 pub with_parameter_group_group: Box<WithParameterGroupGroup>,
12355}
12356
12357#[allow(dead_code)]
12361#[derive(Debug, Clone)]
12362pub enum WithParameterGroupGroup {
12363 LBraceWithParameterListRBrace(WithParameterGroupGroupLBraceWithParameterListRBrace),
12364 WithParameterItem(WithParameterGroupGroupWithParameterItem),
12365}
12366
12367#[allow(dead_code)]
12371#[derive(Builder, Debug, Clone)]
12372#[builder(crate = "parol_runtime::derive_builder")]
12373pub struct WithParameterGroupList {
12374 pub attribute: Box<Attribute>,
12375}
12376
12377#[allow(dead_code)]
12381#[derive(Builder, Debug, Clone)]
12382#[builder(crate = "parol_runtime::derive_builder")]
12383pub struct WithParameterItem {
12384 pub with_parameter_item_group: Box<WithParameterItemGroup>,
12385 pub identifier: Box<Identifier>,
12386 pub colon: Box<Colon>,
12387 pub with_parameter_item_group0: Box<WithParameterItemGroup0>,
12388 pub equ: Box<Equ>,
12389 pub expression: Box<Expression>,
12390}
12391
12392#[allow(dead_code)]
12396#[derive(Debug, Clone)]
12397pub enum WithParameterItemGroup {
12398 Param(WithParameterItemGroupParam),
12399 Const(WithParameterItemGroupConst),
12400}
12401
12402#[allow(dead_code)]
12406#[derive(Debug, Clone)]
12407pub enum WithParameterItemGroup0 {
12408 ArrayType(WithParameterItemGroup0ArrayType),
12409 Type(WithParameterItemGroup0Type),
12410}
12411
12412#[allow(dead_code)]
12416#[derive(Builder, Debug, Clone)]
12417#[builder(crate = "parol_runtime::derive_builder")]
12418pub struct WithParameterList {
12419 pub with_parameter_group: Box<WithParameterGroup>,
12420 pub with_parameter_list_list: Vec<WithParameterListList>,
12421 pub with_parameter_list_opt: Option<WithParameterListOpt>,
12422}
12423
12424#[allow(dead_code)]
12428#[derive(Builder, Debug, Clone)]
12429#[builder(crate = "parol_runtime::derive_builder")]
12430pub struct WithParameterListList {
12431 pub comma: Box<Comma>,
12432 pub with_parameter_group: Box<WithParameterGroup>,
12433}
12434
12435#[allow(dead_code)]
12439#[derive(Builder, Debug, Clone)]
12440#[builder(crate = "parol_runtime::derive_builder")]
12441pub struct WithParameterListOpt {
12442 pub comma: Box<Comma>,
12443}
12444
12445#[allow(dead_code)]
12449#[derive(Builder, Debug, Clone)]
12450#[builder(crate = "parol_runtime::derive_builder")]
12451pub struct WithParameterOpt {
12452 pub with_parameter_list: Box<WithParameterList>,
12453}
12454
12455#[allow(dead_code)]
12461#[derive(Debug, Clone)]
12462pub enum ASTType {
12463 AllBit(AllBit),
12464 AllBitTerm(AllBitTerm),
12465 AllBitToken(AllBitToken),
12466 AlwaysComb(AlwaysComb),
12467 AlwaysCombDeclaration(AlwaysCombDeclaration),
12468 AlwaysCombTerm(AlwaysCombTerm),
12469 AlwaysCombToken(AlwaysCombToken),
12470 AlwaysFf(AlwaysFf),
12471 AlwaysFfClock(AlwaysFfClock),
12472 AlwaysFfDeclaration(AlwaysFfDeclaration),
12473 AlwaysFfDeclarationOpt(Option<AlwaysFfDeclarationOpt>),
12474 AlwaysFfEventList(AlwaysFfEventList),
12475 AlwaysFfEventListOpt(Option<AlwaysFfEventListOpt>),
12476 AlwaysFfReset(AlwaysFfReset),
12477 AlwaysFfTerm(AlwaysFfTerm),
12478 AlwaysFfToken(AlwaysFfToken),
12479 AnyTerm(AnyTerm),
12480 ArgumentItem(ArgumentItem),
12481 ArgumentList(ArgumentList),
12482 ArgumentListList(Vec<ArgumentListList>),
12483 ArgumentListOpt(Option<ArgumentListOpt>),
12484 Array(Array),
12485 ArrayList(Vec<ArrayList>),
12486 ArrayLiteralItem(ArrayLiteralItem),
12487 ArrayLiteralItemGroup(ArrayLiteralItemGroup),
12488 ArrayLiteralItemOpt(Option<ArrayLiteralItemOpt>),
12489 ArrayLiteralList(ArrayLiteralList),
12490 ArrayLiteralListList(Vec<ArrayLiteralListList>),
12491 ArrayLiteralListOpt(Option<ArrayLiteralListOpt>),
12492 ArrayType(ArrayType),
12493 ArrayTypeOpt(Option<ArrayTypeOpt>),
12494 As(As),
12495 AsTerm(AsTerm),
12496 AsToken(AsToken),
12497 Assign(Assign),
12498 AssignConcatenationItem(AssignConcatenationItem),
12499 AssignConcatenationList(AssignConcatenationList),
12500 AssignConcatenationListList(Vec<AssignConcatenationListList>),
12501 AssignConcatenationListOpt(Option<AssignConcatenationListOpt>),
12502 AssignDeclaration(AssignDeclaration),
12503 AssignDestination(AssignDestination),
12504 AssignTerm(AssignTerm),
12505 AssignToken(AssignToken),
12506 Assignment(Assignment),
12507 AssignmentGroup(AssignmentGroup),
12508 AssignmentOperator(AssignmentOperator),
12509 AssignmentOperatorTerm(AssignmentOperatorTerm),
12510 AssignmentOperatorToken(AssignmentOperatorToken),
12511 Attribute(Attribute),
12512 AttributeItem(AttributeItem),
12513 AttributeList(AttributeList),
12514 AttributeListList(Vec<AttributeListList>),
12515 AttributeListOpt(Option<AttributeListOpt>),
12516 AttributeOpt(Option<AttributeOpt>),
12517 BackQuote(BackQuote),
12518 BackQuoteTerm(BackQuoteTerm),
12519 BackQuoteToken(BackQuoteToken),
12520 BaseLess(BaseLess),
12521 BaseLessTerm(BaseLessTerm),
12522 BaseLessToken(BaseLessToken),
12523 Based(Based),
12524 BasedTerm(BasedTerm),
12525 BasedToken(BasedToken),
12526 Bit(Bit),
12527 BitTerm(BitTerm),
12528 BitToken(BitToken),
12529 Break(Break),
12530 BreakStatement(BreakStatement),
12531 BreakTerm(BreakTerm),
12532 BreakToken(BreakToken),
12533 Case(Case),
12534 CaseCondition(CaseCondition),
12535 CaseConditionList(Vec<CaseConditionList>),
12536 CaseExpression(CaseExpression),
12537 CaseExpressionList(Vec<CaseExpressionList>),
12538 CaseExpressionOpt(Option<CaseExpressionOpt>),
12539 CaseItem(CaseItem),
12540 CaseItemGroup(CaseItemGroup),
12541 CaseItemGroup0(CaseItemGroup0),
12542 CaseStatement(CaseStatement),
12543 CaseStatementList(Vec<CaseStatementList>),
12544 CaseTerm(CaseTerm),
12545 CaseToken(CaseToken),
12546 CastingType(CastingType),
12547 Clock(Clock),
12548 ClockDomain(ClockDomain),
12549 ClockNegedge(ClockNegedge),
12550 ClockNegedgeTerm(ClockNegedgeTerm),
12551 ClockNegedgeToken(ClockNegedgeToken),
12552 ClockPosedge(ClockPosedge),
12553 ClockPosedgeTerm(ClockPosedgeTerm),
12554 ClockPosedgeToken(ClockPosedgeToken),
12555 ClockTerm(ClockTerm),
12556 ClockToken(ClockToken),
12557 Colon(Colon),
12558 ColonColon(ColonColon),
12559 ColonColonLAngle(ColonColonLAngle),
12560 ColonColonLAngleTerm(ColonColonLAngleTerm),
12561 ColonColonLAngleToken(ColonColonLAngleToken),
12562 ColonColonTerm(ColonColonTerm),
12563 ColonColonToken(ColonColonToken),
12564 ColonTerm(ColonTerm),
12565 ColonToken(ColonToken),
12566 Comma(Comma),
12567 CommaTerm(CommaTerm),
12568 CommaToken(CommaToken),
12569 Comments(Comments),
12570 CommentsOpt(Option<CommentsOpt>),
12571 CommentsTerm(CommentsTerm),
12572 ConcatenationItem(ConcatenationItem),
12573 ConcatenationItemOpt(Option<ConcatenationItemOpt>),
12574 ConcatenationList(ConcatenationList),
12575 ConcatenationListList(Vec<ConcatenationListList>),
12576 ConcatenationListOpt(Option<ConcatenationListOpt>),
12577 Const(Const),
12578 ConstDeclaration(ConstDeclaration),
12579 ConstDeclarationGroup(ConstDeclarationGroup),
12580 ConstTerm(ConstTerm),
12581 ConstToken(ConstToken),
12582 Converse(Converse),
12583 ConverseTerm(ConverseTerm),
12584 ConverseToken(ConverseToken),
12585 Defaul(Defaul),
12586 DefaultTerm(DefaultTerm),
12587 DefaultToken(DefaultToken),
12588 DescriptionGroup(DescriptionGroup),
12589 DescriptionGroupGroup(DescriptionGroupGroup),
12590 DescriptionGroupGroupList(Vec<DescriptionGroupGroupList>),
12591 DescriptionGroupList(Vec<DescriptionGroupList>),
12592 DescriptionItem(DescriptionItem),
12593 DescriptionItemOpt(Option<DescriptionItemOpt>),
12594 Direction(Direction),
12595 DollarIdentifier(DollarIdentifier),
12596 DollarIdentifierTerm(DollarIdentifierTerm),
12597 DollarIdentifierToken(DollarIdentifierToken),
12598 Dot(Dot),
12599 DotDot(DotDot),
12600 DotDotEqu(DotDotEqu),
12601 DotDotEquTerm(DotDotEquTerm),
12602 DotDotEquToken(DotDotEquToken),
12603 DotDotTerm(DotDotTerm),
12604 DotDotToken(DotDotToken),
12605 DotTerm(DotTerm),
12606 DotToken(DotToken),
12607 Else(Else),
12608 ElseTerm(ElseTerm),
12609 ElseToken(ElseToken),
12610 Embed(Embed),
12611 EmbedContent(EmbedContent),
12612 EmbedContentToken(EmbedContentToken),
12613 EmbedContentTokenList(Vec<EmbedContentTokenList>),
12614 EmbedDeclaration(EmbedDeclaration),
12615 EmbedItem(EmbedItem),
12616 EmbedItemList(Vec<EmbedItemList>),
12617 EmbedTerm(EmbedTerm),
12618 EmbedToken(EmbedToken),
12619 Enum(Enum),
12620 EnumDeclaration(EnumDeclaration),
12621 EnumDeclarationOpt(Option<EnumDeclarationOpt>),
12622 EnumGroup(EnumGroup),
12623 EnumGroupGroup(EnumGroupGroup),
12624 EnumGroupList(Vec<EnumGroupList>),
12625 EnumItem(EnumItem),
12626 EnumItemOpt(Option<EnumItemOpt>),
12627 EnumList(EnumList),
12628 EnumListList(Vec<EnumListList>),
12629 EnumListOpt(Option<EnumListOpt>),
12630 EnumTerm(EnumTerm),
12631 EnumToken(EnumToken),
12632 Equ(Equ),
12633 EquTerm(EquTerm),
12634 EquToken(EquToken),
12635 Exponent(Exponent),
12636 ExponentTerm(ExponentTerm),
12637 ExponentToken(ExponentToken),
12638 Export(Export),
12639 ExportDeclaration(ExportDeclaration),
12640 ExportDeclarationGroup(ExportDeclarationGroup),
12641 ExportDeclarationOpt(Option<ExportDeclarationOpt>),
12642 ExportTerm(ExportTerm),
12643 ExportToken(ExportToken),
12644 Expression(Expression),
12645 Expression01(Expression01),
12646 Expression01List(Vec<Expression01List>),
12647 Expression02(Expression02),
12648 Expression02List(Vec<Expression02List>),
12649 Expression03(Expression03),
12650 Expression03List(Vec<Expression03List>),
12651 Expression04(Expression04),
12652 Expression04List(Vec<Expression04List>),
12653 Expression05(Expression05),
12654 Expression05List(Vec<Expression05List>),
12655 Expression06(Expression06),
12656 Expression06List(Vec<Expression06List>),
12657 Expression07(Expression07),
12658 Expression07List(Vec<Expression07List>),
12659 Expression08(Expression08),
12660 Expression08List(Vec<Expression08List>),
12661 Expression09(Expression09),
12662 Expression09List(Vec<Expression09List>),
12663 Expression09ListGroup(Expression09ListGroup),
12664 Expression10(Expression10),
12665 Expression10List(Vec<Expression10List>),
12666 Expression11(Expression11),
12667 Expression11Opt(Option<Expression11Opt>),
12668 Expression12(Expression12),
12669 Expression12List(Vec<Expression12List>),
12670 Expression12ListGroup(Expression12ListGroup),
12671 ExpressionIdentifier(ExpressionIdentifier),
12672 ExpressionIdentifierList(Vec<ExpressionIdentifierList>),
12673 ExpressionIdentifierList0(Vec<ExpressionIdentifierList0>),
12674 ExpressionIdentifierList0List(Vec<ExpressionIdentifierList0List>),
12675 ExpressionIdentifierOpt(Option<ExpressionIdentifierOpt>),
12676 ExpressionList(Vec<ExpressionList>),
12677 F32(F32),
12678 F32Term(F32Term),
12679 F32Token(F32Token),
12680 F64(F64),
12681 F64Term(F64Term),
12682 F64Token(F64Token),
12683 Factor(Factor),
12684 FactorGroup(FactorGroup),
12685 FactorType(FactorType),
12686 FactorTypeFactor(FactorTypeFactor),
12687 FactorTypeFactorList(Vec<FactorTypeFactorList>),
12688 FactorTypeGroup(FactorTypeGroup),
12689 FactorTypeOpt(Option<FactorTypeOpt>),
12690 Final(Final),
12691 FinalDeclaration(FinalDeclaration),
12692 FinalTerm(FinalTerm),
12693 FinalToken(FinalToken),
12694 FixedPoint(FixedPoint),
12695 FixedPointTerm(FixedPointTerm),
12696 FixedPointToken(FixedPointToken),
12697 FixedType(FixedType),
12698 For(For),
12699 ForStatement(ForStatement),
12700 ForStatementOpt(Option<ForStatementOpt>),
12701 ForTerm(ForTerm),
12702 ForToken(ForToken),
12703 Function(Function),
12704 FunctionCall(FunctionCall),
12705 FunctionCallOpt(Option<FunctionCallOpt>),
12706 FunctionDeclaration(FunctionDeclaration),
12707 FunctionDeclarationOpt(Option<FunctionDeclarationOpt>),
12708 FunctionDeclarationOpt0(Option<FunctionDeclarationOpt0>),
12709 FunctionDeclarationOpt1(Option<FunctionDeclarationOpt1>),
12710 FunctionTerm(FunctionTerm),
12711 FunctionToken(FunctionToken),
12712 GenerateBlockDeclaration(GenerateBlockDeclaration),
12713 GenerateForDeclaration(GenerateForDeclaration),
12714 GenerateForDeclarationOpt(Option<GenerateForDeclarationOpt>),
12715 GenerateGroup(GenerateGroup),
12716 GenerateGroupGroup(GenerateGroupGroup),
12717 GenerateGroupGroupList(Vec<GenerateGroupGroupList>),
12718 GenerateGroupList(Vec<GenerateGroupList>),
12719 GenerateIfDeclaration(GenerateIfDeclaration),
12720 GenerateIfDeclarationList(Vec<GenerateIfDeclarationList>),
12721 GenerateIfDeclarationOpt(Option<GenerateIfDeclarationOpt>),
12722 GenerateItem(GenerateItem),
12723 GenerateNamedBlock(GenerateNamedBlock),
12724 GenerateNamedBlockList(Vec<GenerateNamedBlockList>),
12725 GenerateOptionalNamedBlock(GenerateOptionalNamedBlock),
12726 GenerateOptionalNamedBlockList(Vec<GenerateOptionalNamedBlockList>),
12727 GenerateOptionalNamedBlockOpt(Option<GenerateOptionalNamedBlockOpt>),
12728 GenericBound(GenericBound),
12729 Hash(Hash),
12730 HashTerm(HashTerm),
12731 HashToken(HashToken),
12732 HierarchicalIdentifier(HierarchicalIdentifier),
12733 HierarchicalIdentifierList(Vec<HierarchicalIdentifierList>),
12734 HierarchicalIdentifierList0(Vec<HierarchicalIdentifierList0>),
12735 HierarchicalIdentifierList0List(Vec<HierarchicalIdentifierList0List>),
12736 I32(I32),
12737 I32Term(I32Term),
12738 I32Token(I32Token),
12739 I64(I64),
12740 I64Term(I64Term),
12741 I64Token(I64Token),
12742 Identifier(Identifier),
12743 IdentifierFactor(IdentifierFactor),
12744 IdentifierFactorOpt(Option<IdentifierFactorOpt>),
12745 IdentifierStatement(IdentifierStatement),
12746 IdentifierStatementGroup(IdentifierStatementGroup),
12747 IdentifierTerm(IdentifierTerm),
12748 IdentifierToken(IdentifierToken),
12749 If(If),
12750 IfExpression(IfExpression),
12751 IfExpressionList(Vec<IfExpressionList>),
12752 IfReset(IfReset),
12753 IfResetStatement(IfResetStatement),
12754 IfResetStatementList(Vec<IfResetStatementList>),
12755 IfResetStatementOpt(Option<IfResetStatementOpt>),
12756 IfResetTerm(IfResetTerm),
12757 IfResetToken(IfResetToken),
12758 IfStatement(IfStatement),
12759 IfStatementList(Vec<IfStatementList>),
12760 IfStatementOpt(Option<IfStatementOpt>),
12761 IfTerm(IfTerm),
12762 IfToken(IfToken),
12763 Import(Import),
12764 ImportDeclaration(ImportDeclaration),
12765 ImportDeclarationOpt(Option<ImportDeclarationOpt>),
12766 ImportTerm(ImportTerm),
12767 ImportToken(ImportToken),
12768 In(In),
12769 InTerm(InTerm),
12770 InToken(InToken),
12771 Include(Include),
12772 IncludeDeclaration(IncludeDeclaration),
12773 IncludeTerm(IncludeTerm),
12774 IncludeToken(IncludeToken),
12775 Initial(Initial),
12776 InitialDeclaration(InitialDeclaration),
12777 InitialTerm(InitialTerm),
12778 InitialToken(InitialToken),
12779 Inout(Inout),
12780 InoutTerm(InoutTerm),
12781 InoutToken(InoutToken),
12782 Input(Input),
12783 InputTerm(InputTerm),
12784 InputToken(InputToken),
12785 Inside(Inside),
12786 InsideExpression(InsideExpression),
12787 InsideTerm(InsideTerm),
12788 InsideToken(InsideToken),
12789 Inst(Inst),
12790 InstDeclaration(InstDeclaration),
12791 InstDeclarationOpt(Option<InstDeclarationOpt>),
12792 InstDeclarationOpt0(Option<InstDeclarationOpt0>),
12793 InstDeclarationOpt1(Option<InstDeclarationOpt1>),
12794 InstDeclarationOpt2(Option<InstDeclarationOpt2>),
12795 InstDeclarationOpt3(Option<InstDeclarationOpt3>),
12796 InstParameter(InstParameter),
12797 InstParameterGroup(InstParameterGroup),
12798 InstParameterGroupGroup(InstParameterGroupGroup),
12799 InstParameterGroupList(Vec<InstParameterGroupList>),
12800 InstParameterItem(InstParameterItem),
12801 InstParameterItemOpt(Option<InstParameterItemOpt>),
12802 InstParameterList(InstParameterList),
12803 InstParameterListList(Vec<InstParameterListList>),
12804 InstParameterListOpt(Option<InstParameterListOpt>),
12805 InstParameterOpt(Option<InstParameterOpt>),
12806 InstPortGroup(InstPortGroup),
12807 InstPortGroupGroup(InstPortGroupGroup),
12808 InstPortGroupList(Vec<InstPortGroupList>),
12809 InstPortItem(InstPortItem),
12810 InstPortItemOpt(Option<InstPortItemOpt>),
12811 InstPortList(InstPortList),
12812 InstPortListList(Vec<InstPortListList>),
12813 InstPortListOpt(Option<InstPortListOpt>),
12814 InstTerm(InstTerm),
12815 InstToken(InstToken),
12816 IntegralNumber(IntegralNumber),
12817 Interface(Interface),
12818 InterfaceDeclaration(InterfaceDeclaration),
12819 InterfaceDeclarationList(Vec<InterfaceDeclarationList>),
12820 InterfaceDeclarationOpt(Option<InterfaceDeclarationOpt>),
12821 InterfaceDeclarationOpt0(Option<InterfaceDeclarationOpt0>),
12822 InterfaceGroup(InterfaceGroup),
12823 InterfaceGroupGroup(InterfaceGroupGroup),
12824 InterfaceGroupGroupList(Vec<InterfaceGroupGroupList>),
12825 InterfaceGroupList(Vec<InterfaceGroupList>),
12826 InterfaceItem(InterfaceItem),
12827 InterfaceTerm(InterfaceTerm),
12828 InterfaceToken(InterfaceToken),
12829 LAngle(LAngle),
12830 LAngleTerm(LAngleTerm),
12831 LAngleToken(LAngleToken),
12832 LBrace(LBrace),
12833 LBraceTerm(LBraceTerm),
12834 LBraceToken(LBraceToken),
12835 LBracket(LBracket),
12836 LBracketTerm(LBracketTerm),
12837 LBracketToken(LBracketToken),
12838 LParen(LParen),
12839 LParenTerm(LParenTerm),
12840 LParenToken(LParenToken),
12841 Let(Let),
12842 LetDeclaration(LetDeclaration),
12843 LetDeclarationOpt(Option<LetDeclarationOpt>),
12844 LetStatement(LetStatement),
12845 LetStatementOpt(Option<LetStatementOpt>),
12846 LetTerm(LetTerm),
12847 LetToken(LetToken),
12848 Logic(Logic),
12849 LogicTerm(LogicTerm),
12850 LogicToken(LogicToken),
12851 Lsb(Lsb),
12852 LsbTerm(LsbTerm),
12853 LsbToken(LsbToken),
12854 MinusColon(MinusColon),
12855 MinusColonTerm(MinusColonTerm),
12856 MinusColonToken(MinusColonToken),
12857 MinusGT(MinusGT),
12858 MinusGTTerm(MinusGTTerm),
12859 MinusGTToken(MinusGTToken),
12860 Modport(Modport),
12861 ModportDeclaration(ModportDeclaration),
12862 ModportDeclarationOpt(Option<ModportDeclarationOpt>),
12863 ModportDeclarationOpt0(Option<ModportDeclarationOpt0>),
12864 ModportDefault(ModportDefault),
12865 ModportGroup(ModportGroup),
12866 ModportGroupGroup(ModportGroupGroup),
12867 ModportGroupList(Vec<ModportGroupList>),
12868 ModportItem(ModportItem),
12869 ModportList(ModportList),
12870 ModportListList(Vec<ModportListList>),
12871 ModportListOpt(Option<ModportListOpt>),
12872 ModportTerm(ModportTerm),
12873 ModportToken(ModportToken),
12874 Module(Module),
12875 ModuleDeclaration(ModuleDeclaration),
12876 ModuleDeclarationList(Vec<ModuleDeclarationList>),
12877 ModuleDeclarationOpt(Option<ModuleDeclarationOpt>),
12878 ModuleDeclarationOpt0(Option<ModuleDeclarationOpt0>),
12879 ModuleDeclarationOpt1(Option<ModuleDeclarationOpt1>),
12880 ModuleDeclarationOpt2(Option<ModuleDeclarationOpt2>),
12881 ModuleGroup(ModuleGroup),
12882 ModuleGroupGroup(ModuleGroupGroup),
12883 ModuleGroupGroupList(Vec<ModuleGroupGroupList>),
12884 ModuleGroupList(Vec<ModuleGroupList>),
12885 ModuleItem(ModuleItem),
12886 ModuleTerm(ModuleTerm),
12887 ModuleToken(ModuleToken),
12888 Msb(Msb),
12889 MsbTerm(MsbTerm),
12890 MsbToken(MsbToken),
12891 Number(Number),
12892 Operator01(Operator01),
12893 Operator01Term(Operator01Term),
12894 Operator01Token(Operator01Token),
12895 Operator02(Operator02),
12896 Operator02Term(Operator02Term),
12897 Operator02Token(Operator02Token),
12898 Operator03(Operator03),
12899 Operator03Term(Operator03Term),
12900 Operator03Token(Operator03Token),
12901 Operator04(Operator04),
12902 Operator04Term(Operator04Term),
12903 Operator04Token(Operator04Token),
12904 Operator05(Operator05),
12905 Operator05Term(Operator05Term),
12906 Operator05Token(Operator05Token),
12907 Operator06(Operator06),
12908 Operator06Term(Operator06Term),
12909 Operator06Token(Operator06Token),
12910 Operator07(Operator07),
12911 Operator07Term(Operator07Term),
12912 Operator07Token(Operator07Token),
12913 Operator08(Operator08),
12914 Operator08Term(Operator08Term),
12915 Operator08Token(Operator08Token),
12916 Operator09(Operator09),
12917 Operator09Term(Operator09Term),
12918 Operator09Token(Operator09Token),
12919 Operator10(Operator10),
12920 Operator10Term(Operator10Term),
12921 Operator10Token(Operator10Token),
12922 Operator11(Operator11),
12923 Operator11Term(Operator11Term),
12924 Operator11Token(Operator11Token),
12925 Output(Output),
12926 OutputTerm(OutputTerm),
12927 OutputToken(OutputToken),
12928 Outside(Outside),
12929 OutsideExpression(OutsideExpression),
12930 OutsideTerm(OutsideTerm),
12931 OutsideToken(OutsideToken),
12932 Package(Package),
12933 PackageDeclaration(PackageDeclaration),
12934 PackageDeclarationList(Vec<PackageDeclarationList>),
12935 PackageDeclarationOpt(Option<PackageDeclarationOpt>),
12936 PackageGroup(PackageGroup),
12937 PackageGroupGroup(PackageGroupGroup),
12938 PackageGroupGroupList(Vec<PackageGroupGroupList>),
12939 PackageGroupList(Vec<PackageGroupList>),
12940 PackageItem(PackageItem),
12941 PackageTerm(PackageTerm),
12942 PackageToken(PackageToken),
12943 Param(Param),
12944 ParamTerm(ParamTerm),
12945 ParamToken(ParamToken),
12946 PlusColon(PlusColon),
12947 PlusColonTerm(PlusColonTerm),
12948 PlusColonToken(PlusColonToken),
12949 PortDeclaration(PortDeclaration),
12950 PortDeclarationGroup(PortDeclarationGroup),
12951 PortDeclarationGroupGroup(PortDeclarationGroupGroup),
12952 PortDeclarationGroupList(Vec<PortDeclarationGroupList>),
12953 PortDeclarationItem(PortDeclarationItem),
12954 PortDeclarationItemGroup(PortDeclarationItemGroup),
12955 PortDeclarationList(PortDeclarationList),
12956 PortDeclarationListList(Vec<PortDeclarationListList>),
12957 PortDeclarationListOpt(Option<PortDeclarationListOpt>),
12958 PortDeclarationOpt(Option<PortDeclarationOpt>),
12959 PortDefaultValue(PortDefaultValue),
12960 PortTypeAbstract(PortTypeAbstract),
12961 PortTypeAbstractOpt(Option<PortTypeAbstractOpt>),
12962 PortTypeAbstractOpt0(Option<PortTypeAbstractOpt0>),
12963 PortTypeAbstractOpt1(Option<PortTypeAbstractOpt1>),
12964 PortTypeConcrete(PortTypeConcrete),
12965 PortTypeConcreteOpt(Option<PortTypeConcreteOpt>),
12966 PortTypeConcreteOpt0(Option<PortTypeConcreteOpt0>),
12967 Proto(Proto),
12968 ProtoModuleDeclaration(ProtoModuleDeclaration),
12969 ProtoModuleDeclarationOpt(Option<ProtoModuleDeclarationOpt>),
12970 ProtoModuleDeclarationOpt0(Option<ProtoModuleDeclarationOpt0>),
12971 ProtoTerm(ProtoTerm),
12972 ProtoToken(ProtoToken),
12973 Pub(Pub),
12974 PubTerm(PubTerm),
12975 PubToken(PubToken),
12976 PublicDescriptionItem(PublicDescriptionItem),
12977 QuoteLBrace(QuoteLBrace),
12978 QuoteLBraceTerm(QuoteLBraceTerm),
12979 QuoteLBraceToken(QuoteLBraceToken),
12980 RAngle(RAngle),
12981 RAngleTerm(RAngleTerm),
12982 RAngleToken(RAngleToken),
12983 RBrace(RBrace),
12984 RBraceTerm(RBraceTerm),
12985 RBraceToken(RBraceToken),
12986 RBracket(RBracket),
12987 RBracketTerm(RBracketTerm),
12988 RBracketToken(RBracketToken),
12989 RParen(RParen),
12990 RParenTerm(RParenTerm),
12991 RParenToken(RParenToken),
12992 Range(Range),
12993 RangeItem(RangeItem),
12994 RangeList(RangeList),
12995 RangeListList(Vec<RangeListList>),
12996 RangeListOpt(Option<RangeListOpt>),
12997 RangeOperator(RangeOperator),
12998 RangeOpt(Option<RangeOpt>),
12999 RealNumber(RealNumber),
13000 Ref(Ref),
13001 RefTerm(RefTerm),
13002 RefToken(RefToken),
13003 Repeat(Repeat),
13004 RepeatTerm(RepeatTerm),
13005 RepeatToken(RepeatToken),
13006 Reset(Reset),
13007 ResetAsyncHigh(ResetAsyncHigh),
13008 ResetAsyncHighTerm(ResetAsyncHighTerm),
13009 ResetAsyncHighToken(ResetAsyncHighToken),
13010 ResetAsyncLow(ResetAsyncLow),
13011 ResetAsyncLowTerm(ResetAsyncLowTerm),
13012 ResetAsyncLowToken(ResetAsyncLowToken),
13013 ResetSyncHigh(ResetSyncHigh),
13014 ResetSyncHighTerm(ResetSyncHighTerm),
13015 ResetSyncHighToken(ResetSyncHighToken),
13016 ResetSyncLow(ResetSyncLow),
13017 ResetSyncLowTerm(ResetSyncLowTerm),
13018 ResetSyncLowToken(ResetSyncLowToken),
13019 ResetTerm(ResetTerm),
13020 ResetToken(ResetToken),
13021 Return(Return),
13022 ReturnStatement(ReturnStatement),
13023 ReturnTerm(ReturnTerm),
13024 ReturnToken(ReturnToken),
13025 ScalarType(ScalarType),
13026 ScalarTypeGroup(ScalarTypeGroup),
13027 ScalarTypeList(Vec<ScalarTypeList>),
13028 ScalarTypeOpt(Option<ScalarTypeOpt>),
13029 ScopedIdentifier(ScopedIdentifier),
13030 ScopedIdentifierGroup(ScopedIdentifierGroup),
13031 ScopedIdentifierList(Vec<ScopedIdentifierList>),
13032 ScopedIdentifierOpt(Option<ScopedIdentifierOpt>),
13033 ScopedIdentifierOpt0(Option<ScopedIdentifierOpt0>),
13034 Select(Select),
13035 SelectOperator(SelectOperator),
13036 SelectOpt(Option<SelectOpt>),
13037 Semicolon(Semicolon),
13038 SemicolonTerm(SemicolonTerm),
13039 SemicolonToken(SemicolonToken),
13040 Signed(Signed),
13041 SignedTerm(SignedTerm),
13042 SignedToken(SignedToken),
13043 Star(Star),
13044 StarTerm(StarTerm),
13045 StarToken(StarToken),
13046 Start(Start),
13047 StartToken(StartToken),
13048 Statement(Statement),
13049 StatementBlock(StatementBlock),
13050 StatementBlockGroup(StatementBlockGroup),
13051 StatementBlockGroupGroup(StatementBlockGroupGroup),
13052 StatementBlockGroupGroupList(Vec<StatementBlockGroupGroupList>),
13053 StatementBlockGroupList(Vec<StatementBlockGroupList>),
13054 StatementBlockItem(StatementBlockItem),
13055 StatementBlockList(Vec<StatementBlockList>),
13056 Step(Step),
13057 StepTerm(StepTerm),
13058 StepToken(StepToken),
13059 Strin(Strin),
13060 StringLiteral(StringLiteral),
13061 StringLiteralTerm(StringLiteralTerm),
13062 StringLiteralToken(StringLiteralToken),
13063 StringTerm(StringTerm),
13064 StringToken(StringToken),
13065 Struct(Struct),
13066 StructTerm(StructTerm),
13067 StructToken(StructToken),
13068 StructUnion(StructUnion),
13069 StructUnionDeclaration(StructUnionDeclaration),
13070 StructUnionDeclarationOpt(Option<StructUnionDeclarationOpt>),
13071 StructUnionGroup(StructUnionGroup),
13072 StructUnionGroupGroup(StructUnionGroupGroup),
13073 StructUnionGroupList(Vec<StructUnionGroupList>),
13074 StructUnionItem(StructUnionItem),
13075 StructUnionList(StructUnionList),
13076 StructUnionListList(Vec<StructUnionListList>),
13077 StructUnionListOpt(Option<StructUnionListOpt>),
13078 Switch(Switch),
13079 SwitchCondition(SwitchCondition),
13080 SwitchConditionList(Vec<SwitchConditionList>),
13081 SwitchExpression(SwitchExpression),
13082 SwitchExpressionList(Vec<SwitchExpressionList>),
13083 SwitchExpressionOpt(Option<SwitchExpressionOpt>),
13084 SwitchItem(SwitchItem),
13085 SwitchItemGroup(SwitchItemGroup),
13086 SwitchItemGroup0(SwitchItemGroup0),
13087 SwitchStatement(SwitchStatement),
13088 SwitchStatementList(Vec<SwitchStatementList>),
13089 SwitchTerm(SwitchTerm),
13090 SwitchToken(SwitchToken),
13091 Tri(Tri),
13092 TriTerm(TriTerm),
13093 TriToken(TriToken),
13094 Type(Type),
13095 TypeDefDeclaration(TypeDefDeclaration),
13096 TypeExpression(TypeExpression),
13097 TypeModifier(TypeModifier),
13098 TypeTerm(TypeTerm),
13099 TypeToken(TypeToken),
13100 U32(U32),
13101 U32Term(U32Term),
13102 U32Token(U32Token),
13103 U64(U64),
13104 U64Term(U64Term),
13105 U64Token(U64Token),
13106 UnaryOperator(UnaryOperator),
13107 UnaryOperatorTerm(UnaryOperatorTerm),
13108 UnaryOperatorToken(UnaryOperatorToken),
13109 Union(Union),
13110 UnionTerm(UnionTerm),
13111 UnionToken(UnionToken),
13112 Unsafe(Unsafe),
13113 UnsafeBlock(UnsafeBlock),
13114 UnsafeBlockList(Vec<UnsafeBlockList>),
13115 UnsafeTerm(UnsafeTerm),
13116 UnsafeToken(UnsafeToken),
13117 UserDefinedType(UserDefinedType),
13118 Var(Var),
13119 VarDeclaration(VarDeclaration),
13120 VarDeclarationOpt(Option<VarDeclarationOpt>),
13121 VarTerm(VarTerm),
13122 VarToken(VarToken),
13123 VariableType(VariableType),
13124 Veryl(Veryl),
13125 VerylList(Vec<VerylList>),
13126 Width(Width),
13127 WidthList(Vec<WidthList>),
13128 WithGenericArgument(WithGenericArgument),
13129 WithGenericArgumentItem(WithGenericArgumentItem),
13130 WithGenericArgumentList(WithGenericArgumentList),
13131 WithGenericArgumentListList(Vec<WithGenericArgumentListList>),
13132 WithGenericArgumentListOpt(Option<WithGenericArgumentListOpt>),
13133 WithGenericArgumentOpt(Option<WithGenericArgumentOpt>),
13134 WithGenericParameter(WithGenericParameter),
13135 WithGenericParameterItem(WithGenericParameterItem),
13136 WithGenericParameterItemOpt(Option<WithGenericParameterItemOpt>),
13137 WithGenericParameterList(WithGenericParameterList),
13138 WithGenericParameterListList(Vec<WithGenericParameterListList>),
13139 WithGenericParameterListOpt(Option<WithGenericParameterListOpt>),
13140 WithParameter(WithParameter),
13141 WithParameterGroup(WithParameterGroup),
13142 WithParameterGroupGroup(WithParameterGroupGroup),
13143 WithParameterGroupList(Vec<WithParameterGroupList>),
13144 WithParameterItem(WithParameterItem),
13145 WithParameterItemGroup(WithParameterItemGroup),
13146 WithParameterItemGroup0(WithParameterItemGroup0),
13147 WithParameterList(WithParameterList),
13148 WithParameterListList(Vec<WithParameterListList>),
13149 WithParameterListOpt(Option<WithParameterListOpt>),
13150 WithParameterOpt(Option<WithParameterOpt>),
13151}
13152
13153#[allow(dead_code)]
13159pub struct VerylGrammarAuto<'t, 'u>
13160where
13161 't: 'u,
13162{
13163 user_grammar: &'u mut dyn VerylGrammarTrait,
13165 item_stack: Vec<ASTType>,
13167 phantom: PhantomData<&'t str>,
13169}
13170
13171impl<'t, 'u> VerylGrammarAuto<'t, 'u> {
13176 pub fn new(user_grammar: &'u mut dyn VerylGrammarTrait) -> Self {
13177 Self {
13178 user_grammar,
13179 item_stack: Vec::new(),
13180 phantom: PhantomData,
13181 }
13182 }
13183
13184 #[allow(dead_code)]
13185 fn push(&mut self, item: ASTType, context: &str) {
13186 trace!("push {}: {:?}", context, item);
13187 self.item_stack.push(item)
13188 }
13189
13190 #[allow(dead_code)]
13191 fn pop(&mut self, context: &str) -> Option<ASTType> {
13192 let item = self.item_stack.pop();
13193 if let Some(ref item) = item {
13194 trace!("pop {}: {:?}", context, item);
13195 }
13196 item
13197 }
13198
13199 #[allow(dead_code)]
13200 fn trace_item_stack(&self, context: &str) -> std::string::String {
13203 format!(
13204 "Item stack at {}:\n{}",
13205 context,
13206 self.item_stack
13207 .iter()
13208 .rev()
13209 .map(|s| format!(" {:?}", s))
13210 .collect::<Vec<std::string::String>>()
13211 .join("\n")
13212 )
13213 }
13214
13215 #[parol_runtime::function_name::named]
13220 fn comments_term(&mut self, comments_term: &ParseTreeType<'t>) -> Result<()> {
13221 let context = function_name!();
13222 trace!("{}", self.trace_item_stack(context));
13223 let comments_term = comments_term
13224 .token()?
13225 .try_into()
13226 .map_err(parol_runtime::ParolError::UserError)?;
13227 let comments_term_built = CommentsTerm { comments_term };
13228 self.user_grammar.comments_term(&comments_term_built)?;
13230 self.push(ASTType::CommentsTerm(comments_term_built), context);
13231 Ok(())
13232 }
13233
13234 #[parol_runtime::function_name::named]
13239 fn string_literal_term(&mut self, string_literal_term: &ParseTreeType<'t>) -> Result<()> {
13240 let context = function_name!();
13241 trace!("{}", self.trace_item_stack(context));
13242 let string_literal_term = string_literal_term
13243 .token()?
13244 .try_into()
13245 .map_err(parol_runtime::ParolError::UserError)?;
13246 let string_literal_term_built = StringLiteralTerm {
13247 string_literal_term,
13248 };
13249 self.user_grammar
13251 .string_literal_term(&string_literal_term_built)?;
13252 self.push(
13253 ASTType::StringLiteralTerm(string_literal_term_built),
13254 context,
13255 );
13256 Ok(())
13257 }
13258
13259 #[parol_runtime::function_name::named]
13264 fn exponent_term(&mut self, exponent_term: &ParseTreeType<'t>) -> Result<()> {
13265 let context = function_name!();
13266 trace!("{}", self.trace_item_stack(context));
13267 let exponent_term = exponent_term
13268 .token()?
13269 .try_into()
13270 .map_err(parol_runtime::ParolError::UserError)?;
13271 let exponent_term_built = ExponentTerm { exponent_term };
13272 self.user_grammar.exponent_term(&exponent_term_built)?;
13274 self.push(ASTType::ExponentTerm(exponent_term_built), context);
13275 Ok(())
13276 }
13277
13278 #[parol_runtime::function_name::named]
13283 fn fixed_point_term(&mut self, fixed_point_term: &ParseTreeType<'t>) -> Result<()> {
13284 let context = function_name!();
13285 trace!("{}", self.trace_item_stack(context));
13286 let fixed_point_term = fixed_point_term
13287 .token()?
13288 .try_into()
13289 .map_err(parol_runtime::ParolError::UserError)?;
13290 let fixed_point_term_built = FixedPointTerm { fixed_point_term };
13291 self.user_grammar
13293 .fixed_point_term(&fixed_point_term_built)?;
13294 self.push(ASTType::FixedPointTerm(fixed_point_term_built), context);
13295 Ok(())
13296 }
13297
13298 #[parol_runtime::function_name::named]
13303 fn based_term(&mut self, based_term: &ParseTreeType<'t>) -> Result<()> {
13304 let context = function_name!();
13305 trace!("{}", self.trace_item_stack(context));
13306 let based_term = based_term
13307 .token()?
13308 .try_into()
13309 .map_err(parol_runtime::ParolError::UserError)?;
13310 let based_term_built = BasedTerm { based_term };
13311 self.user_grammar.based_term(&based_term_built)?;
13313 self.push(ASTType::BasedTerm(based_term_built), context);
13314 Ok(())
13315 }
13316
13317 #[parol_runtime::function_name::named]
13322 fn all_bit_term(&mut self, all_bit_term: &ParseTreeType<'t>) -> Result<()> {
13323 let context = function_name!();
13324 trace!("{}", self.trace_item_stack(context));
13325 let all_bit_term = all_bit_term
13326 .token()?
13327 .try_into()
13328 .map_err(parol_runtime::ParolError::UserError)?;
13329 let all_bit_term_built = AllBitTerm { all_bit_term };
13330 self.user_grammar.all_bit_term(&all_bit_term_built)?;
13332 self.push(ASTType::AllBitTerm(all_bit_term_built), context);
13333 Ok(())
13334 }
13335
13336 #[parol_runtime::function_name::named]
13341 fn base_less_term(&mut self, base_less_term: &ParseTreeType<'t>) -> Result<()> {
13342 let context = function_name!();
13343 trace!("{}", self.trace_item_stack(context));
13344 let base_less_term = base_less_term
13345 .token()?
13346 .try_into()
13347 .map_err(parol_runtime::ParolError::UserError)?;
13348 let base_less_term_built = BaseLessTerm { base_less_term };
13349 self.user_grammar.base_less_term(&base_less_term_built)?;
13351 self.push(ASTType::BaseLessTerm(base_less_term_built), context);
13352 Ok(())
13353 }
13354
13355 #[parol_runtime::function_name::named]
13360 fn minus_colon_term(&mut self, minus_colon_term: &ParseTreeType<'t>) -> Result<()> {
13361 let context = function_name!();
13362 trace!("{}", self.trace_item_stack(context));
13363 let minus_colon_term = minus_colon_term
13364 .token()?
13365 .try_into()
13366 .map_err(parol_runtime::ParolError::UserError)?;
13367 let minus_colon_term_built = MinusColonTerm { minus_colon_term };
13368 self.user_grammar
13370 .minus_colon_term(&minus_colon_term_built)?;
13371 self.push(ASTType::MinusColonTerm(minus_colon_term_built), context);
13372 Ok(())
13373 }
13374
13375 #[parol_runtime::function_name::named]
13380 fn minus_g_t_term(&mut self, minus_g_t_term: &ParseTreeType<'t>) -> Result<()> {
13381 let context = function_name!();
13382 trace!("{}", self.trace_item_stack(context));
13383 let minus_g_t_term = minus_g_t_term
13384 .token()?
13385 .try_into()
13386 .map_err(parol_runtime::ParolError::UserError)?;
13387 let minus_g_t_term_built = MinusGTTerm { minus_g_t_term };
13388 self.user_grammar.minus_g_t_term(&minus_g_t_term_built)?;
13390 self.push(ASTType::MinusGTTerm(minus_g_t_term_built), context);
13391 Ok(())
13392 }
13393
13394 #[parol_runtime::function_name::named]
13399 fn plus_colon_term(&mut self, plus_colon_term: &ParseTreeType<'t>) -> Result<()> {
13400 let context = function_name!();
13401 trace!("{}", self.trace_item_stack(context));
13402 let plus_colon_term = plus_colon_term
13403 .token()?
13404 .try_into()
13405 .map_err(parol_runtime::ParolError::UserError)?;
13406 let plus_colon_term_built = PlusColonTerm { plus_colon_term };
13407 self.user_grammar.plus_colon_term(&plus_colon_term_built)?;
13409 self.push(ASTType::PlusColonTerm(plus_colon_term_built), context);
13410 Ok(())
13411 }
13412
13413 #[parol_runtime::function_name::named]
13418 fn assignment_operator_term(
13419 &mut self,
13420 assignment_operator_term: &ParseTreeType<'t>,
13421 ) -> Result<()> {
13422 let context = function_name!();
13423 trace!("{}", self.trace_item_stack(context));
13424 let assignment_operator_term = assignment_operator_term
13425 .token()?
13426 .try_into()
13427 .map_err(parol_runtime::ParolError::UserError)?;
13428 let assignment_operator_term_built = AssignmentOperatorTerm {
13429 assignment_operator_term,
13430 };
13431 self.user_grammar
13433 .assignment_operator_term(&assignment_operator_term_built)?;
13434 self.push(
13435 ASTType::AssignmentOperatorTerm(assignment_operator_term_built),
13436 context,
13437 );
13438 Ok(())
13439 }
13440
13441 #[parol_runtime::function_name::named]
13446 fn operator11_term(&mut self, operator11_term: &ParseTreeType<'t>) -> Result<()> {
13447 let context = function_name!();
13448 trace!("{}", self.trace_item_stack(context));
13449 let operator11_term = operator11_term
13450 .token()?
13451 .try_into()
13452 .map_err(parol_runtime::ParolError::UserError)?;
13453 let operator11_term_built = Operator11Term { operator11_term };
13454 self.user_grammar.operator11_term(&operator11_term_built)?;
13456 self.push(ASTType::Operator11Term(operator11_term_built), context);
13457 Ok(())
13458 }
13459
13460 #[parol_runtime::function_name::named]
13465 fn operator10_term(&mut self, operator10_term: &ParseTreeType<'t>) -> Result<()> {
13466 let context = function_name!();
13467 trace!("{}", self.trace_item_stack(context));
13468 let operator10_term = operator10_term
13469 .token()?
13470 .try_into()
13471 .map_err(parol_runtime::ParolError::UserError)?;
13472 let operator10_term_built = Operator10Term { operator10_term };
13473 self.user_grammar.operator10_term(&operator10_term_built)?;
13475 self.push(ASTType::Operator10Term(operator10_term_built), context);
13476 Ok(())
13477 }
13478
13479 #[parol_runtime::function_name::named]
13484 fn operator09_term(&mut self, operator09_term: &ParseTreeType<'t>) -> Result<()> {
13485 let context = function_name!();
13486 trace!("{}", self.trace_item_stack(context));
13487 let operator09_term = operator09_term
13488 .token()?
13489 .try_into()
13490 .map_err(parol_runtime::ParolError::UserError)?;
13491 let operator09_term_built = Operator09Term { operator09_term };
13492 self.user_grammar.operator09_term(&operator09_term_built)?;
13494 self.push(ASTType::Operator09Term(operator09_term_built), context);
13495 Ok(())
13496 }
13497
13498 #[parol_runtime::function_name::named]
13503 fn operator08_term(&mut self, operator08_term: &ParseTreeType<'t>) -> Result<()> {
13504 let context = function_name!();
13505 trace!("{}", self.trace_item_stack(context));
13506 let operator08_term = operator08_term
13507 .token()?
13508 .try_into()
13509 .map_err(parol_runtime::ParolError::UserError)?;
13510 let operator08_term_built = Operator08Term { operator08_term };
13511 self.user_grammar.operator08_term(&operator08_term_built)?;
13513 self.push(ASTType::Operator08Term(operator08_term_built), context);
13514 Ok(())
13515 }
13516
13517 #[parol_runtime::function_name::named]
13522 fn operator07_term(&mut self, operator07_term: &ParseTreeType<'t>) -> Result<()> {
13523 let context = function_name!();
13524 trace!("{}", self.trace_item_stack(context));
13525 let operator07_term = operator07_term
13526 .token()?
13527 .try_into()
13528 .map_err(parol_runtime::ParolError::UserError)?;
13529 let operator07_term_built = Operator07Term { operator07_term };
13530 self.user_grammar.operator07_term(&operator07_term_built)?;
13532 self.push(ASTType::Operator07Term(operator07_term_built), context);
13533 Ok(())
13534 }
13535
13536 #[parol_runtime::function_name::named]
13541 fn operator06_term(&mut self, operator06_term: &ParseTreeType<'t>) -> Result<()> {
13542 let context = function_name!();
13543 trace!("{}", self.trace_item_stack(context));
13544 let operator06_term = operator06_term
13545 .token()?
13546 .try_into()
13547 .map_err(parol_runtime::ParolError::UserError)?;
13548 let operator06_term_built = Operator06Term { operator06_term };
13549 self.user_grammar.operator06_term(&operator06_term_built)?;
13551 self.push(ASTType::Operator06Term(operator06_term_built), context);
13552 Ok(())
13553 }
13554
13555 #[parol_runtime::function_name::named]
13560 fn operator02_term(&mut self, operator02_term: &ParseTreeType<'t>) -> Result<()> {
13561 let context = function_name!();
13562 trace!("{}", self.trace_item_stack(context));
13563 let operator02_term = operator02_term
13564 .token()?
13565 .try_into()
13566 .map_err(parol_runtime::ParolError::UserError)?;
13567 let operator02_term_built = Operator02Term { operator02_term };
13568 self.user_grammar.operator02_term(&operator02_term_built)?;
13570 self.push(ASTType::Operator02Term(operator02_term_built), context);
13571 Ok(())
13572 }
13573
13574 #[parol_runtime::function_name::named]
13579 fn operator01_term(&mut self, operator01_term: &ParseTreeType<'t>) -> Result<()> {
13580 let context = function_name!();
13581 trace!("{}", self.trace_item_stack(context));
13582 let operator01_term = operator01_term
13583 .token()?
13584 .try_into()
13585 .map_err(parol_runtime::ParolError::UserError)?;
13586 let operator01_term_built = Operator01Term { operator01_term };
13587 self.user_grammar.operator01_term(&operator01_term_built)?;
13589 self.push(ASTType::Operator01Term(operator01_term_built), context);
13590 Ok(())
13591 }
13592
13593 #[parol_runtime::function_name::named]
13598 fn operator05_term(&mut self, operator05_term: &ParseTreeType<'t>) -> Result<()> {
13599 let context = function_name!();
13600 trace!("{}", self.trace_item_stack(context));
13601 let operator05_term = operator05_term
13602 .token()?
13603 .try_into()
13604 .map_err(parol_runtime::ParolError::UserError)?;
13605 let operator05_term_built = Operator05Term { operator05_term };
13606 self.user_grammar.operator05_term(&operator05_term_built)?;
13608 self.push(ASTType::Operator05Term(operator05_term_built), context);
13609 Ok(())
13610 }
13611
13612 #[parol_runtime::function_name::named]
13617 fn operator04_term(&mut self, operator04_term: &ParseTreeType<'t>) -> Result<()> {
13618 let context = function_name!();
13619 trace!("{}", self.trace_item_stack(context));
13620 let operator04_term = operator04_term
13621 .token()?
13622 .try_into()
13623 .map_err(parol_runtime::ParolError::UserError)?;
13624 let operator04_term_built = Operator04Term { operator04_term };
13625 self.user_grammar.operator04_term(&operator04_term_built)?;
13627 self.push(ASTType::Operator04Term(operator04_term_built), context);
13628 Ok(())
13629 }
13630
13631 #[parol_runtime::function_name::named]
13636 fn operator03_term(&mut self, operator03_term: &ParseTreeType<'t>) -> Result<()> {
13637 let context = function_name!();
13638 trace!("{}", self.trace_item_stack(context));
13639 let operator03_term = operator03_term
13640 .token()?
13641 .try_into()
13642 .map_err(parol_runtime::ParolError::UserError)?;
13643 let operator03_term_built = Operator03Term { operator03_term };
13644 self.user_grammar.operator03_term(&operator03_term_built)?;
13646 self.push(ASTType::Operator03Term(operator03_term_built), context);
13647 Ok(())
13648 }
13649
13650 #[parol_runtime::function_name::named]
13655 fn unary_operator_term(&mut self, unary_operator_term: &ParseTreeType<'t>) -> Result<()> {
13656 let context = function_name!();
13657 trace!("{}", self.trace_item_stack(context));
13658 let unary_operator_term = unary_operator_term
13659 .token()?
13660 .try_into()
13661 .map_err(parol_runtime::ParolError::UserError)?;
13662 let unary_operator_term_built = UnaryOperatorTerm {
13663 unary_operator_term,
13664 };
13665 self.user_grammar
13667 .unary_operator_term(&unary_operator_term_built)?;
13668 self.push(
13669 ASTType::UnaryOperatorTerm(unary_operator_term_built),
13670 context,
13671 );
13672 Ok(())
13673 }
13674
13675 #[parol_runtime::function_name::named]
13680 fn back_quote_term(&mut self, back_quote_term: &ParseTreeType<'t>) -> Result<()> {
13681 let context = function_name!();
13682 trace!("{}", self.trace_item_stack(context));
13683 let back_quote_term = back_quote_term
13684 .token()?
13685 .try_into()
13686 .map_err(parol_runtime::ParolError::UserError)?;
13687 let back_quote_term_built = BackQuoteTerm { back_quote_term };
13688 self.user_grammar.back_quote_term(&back_quote_term_built)?;
13690 self.push(ASTType::BackQuoteTerm(back_quote_term_built), context);
13691 Ok(())
13692 }
13693
13694 #[parol_runtime::function_name::named]
13699 fn colon_colon_l_angle_term(
13700 &mut self,
13701 colon_colon_l_angle_term: &ParseTreeType<'t>,
13702 ) -> Result<()> {
13703 let context = function_name!();
13704 trace!("{}", self.trace_item_stack(context));
13705 let colon_colon_l_angle_term = colon_colon_l_angle_term
13706 .token()?
13707 .try_into()
13708 .map_err(parol_runtime::ParolError::UserError)?;
13709 let colon_colon_l_angle_term_built = ColonColonLAngleTerm {
13710 colon_colon_l_angle_term,
13711 };
13712 self.user_grammar
13714 .colon_colon_l_angle_term(&colon_colon_l_angle_term_built)?;
13715 self.push(
13716 ASTType::ColonColonLAngleTerm(colon_colon_l_angle_term_built),
13717 context,
13718 );
13719 Ok(())
13720 }
13721
13722 #[parol_runtime::function_name::named]
13727 fn colon_colon_term(&mut self, colon_colon_term: &ParseTreeType<'t>) -> Result<()> {
13728 let context = function_name!();
13729 trace!("{}", self.trace_item_stack(context));
13730 let colon_colon_term = colon_colon_term
13731 .token()?
13732 .try_into()
13733 .map_err(parol_runtime::ParolError::UserError)?;
13734 let colon_colon_term_built = ColonColonTerm { colon_colon_term };
13735 self.user_grammar
13737 .colon_colon_term(&colon_colon_term_built)?;
13738 self.push(ASTType::ColonColonTerm(colon_colon_term_built), context);
13739 Ok(())
13740 }
13741
13742 #[parol_runtime::function_name::named]
13747 fn colon_term(&mut self, colon_term: &ParseTreeType<'t>) -> Result<()> {
13748 let context = function_name!();
13749 trace!("{}", self.trace_item_stack(context));
13750 let colon_term = colon_term
13751 .token()?
13752 .try_into()
13753 .map_err(parol_runtime::ParolError::UserError)?;
13754 let colon_term_built = ColonTerm { colon_term };
13755 self.user_grammar.colon_term(&colon_term_built)?;
13757 self.push(ASTType::ColonTerm(colon_term_built), context);
13758 Ok(())
13759 }
13760
13761 #[parol_runtime::function_name::named]
13766 fn comma_term(&mut self, comma_term: &ParseTreeType<'t>) -> Result<()> {
13767 let context = function_name!();
13768 trace!("{}", self.trace_item_stack(context));
13769 let comma_term = comma_term
13770 .token()?
13771 .try_into()
13772 .map_err(parol_runtime::ParolError::UserError)?;
13773 let comma_term_built = CommaTerm { comma_term };
13774 self.user_grammar.comma_term(&comma_term_built)?;
13776 self.push(ASTType::CommaTerm(comma_term_built), context);
13777 Ok(())
13778 }
13779
13780 #[parol_runtime::function_name::named]
13785 fn dot_dot_equ_term(&mut self, dot_dot_equ_term: &ParseTreeType<'t>) -> Result<()> {
13786 let context = function_name!();
13787 trace!("{}", self.trace_item_stack(context));
13788 let dot_dot_equ_term = dot_dot_equ_term
13789 .token()?
13790 .try_into()
13791 .map_err(parol_runtime::ParolError::UserError)?;
13792 let dot_dot_equ_term_built = DotDotEquTerm { dot_dot_equ_term };
13793 self.user_grammar
13795 .dot_dot_equ_term(&dot_dot_equ_term_built)?;
13796 self.push(ASTType::DotDotEquTerm(dot_dot_equ_term_built), context);
13797 Ok(())
13798 }
13799
13800 #[parol_runtime::function_name::named]
13805 fn dot_dot_term(&mut self, dot_dot_term: &ParseTreeType<'t>) -> Result<()> {
13806 let context = function_name!();
13807 trace!("{}", self.trace_item_stack(context));
13808 let dot_dot_term = dot_dot_term
13809 .token()?
13810 .try_into()
13811 .map_err(parol_runtime::ParolError::UserError)?;
13812 let dot_dot_term_built = DotDotTerm { dot_dot_term };
13813 self.user_grammar.dot_dot_term(&dot_dot_term_built)?;
13815 self.push(ASTType::DotDotTerm(dot_dot_term_built), context);
13816 Ok(())
13817 }
13818
13819 #[parol_runtime::function_name::named]
13824 fn dot_term(&mut self, dot_term: &ParseTreeType<'t>) -> Result<()> {
13825 let context = function_name!();
13826 trace!("{}", self.trace_item_stack(context));
13827 let dot_term = dot_term
13828 .token()?
13829 .try_into()
13830 .map_err(parol_runtime::ParolError::UserError)?;
13831 let dot_term_built = DotTerm { dot_term };
13832 self.user_grammar.dot_term(&dot_term_built)?;
13834 self.push(ASTType::DotTerm(dot_term_built), context);
13835 Ok(())
13836 }
13837
13838 #[parol_runtime::function_name::named]
13843 fn equ_term(&mut self, equ_term: &ParseTreeType<'t>) -> Result<()> {
13844 let context = function_name!();
13845 trace!("{}", self.trace_item_stack(context));
13846 let equ_term = equ_term
13847 .token()?
13848 .try_into()
13849 .map_err(parol_runtime::ParolError::UserError)?;
13850 let equ_term_built = EquTerm { equ_term };
13851 self.user_grammar.equ_term(&equ_term_built)?;
13853 self.push(ASTType::EquTerm(equ_term_built), context);
13854 Ok(())
13855 }
13856
13857 #[parol_runtime::function_name::named]
13862 fn hash_term(&mut self, hash_term: &ParseTreeType<'t>) -> Result<()> {
13863 let context = function_name!();
13864 trace!("{}", self.trace_item_stack(context));
13865 let hash_term = hash_term
13866 .token()?
13867 .try_into()
13868 .map_err(parol_runtime::ParolError::UserError)?;
13869 let hash_term_built = HashTerm { hash_term };
13870 self.user_grammar.hash_term(&hash_term_built)?;
13872 self.push(ASTType::HashTerm(hash_term_built), context);
13873 Ok(())
13874 }
13875
13876 #[parol_runtime::function_name::named]
13881 fn l_angle_term(&mut self, l_angle_term: &ParseTreeType<'t>) -> Result<()> {
13882 let context = function_name!();
13883 trace!("{}", self.trace_item_stack(context));
13884 let l_angle_term = l_angle_term
13885 .token()?
13886 .try_into()
13887 .map_err(parol_runtime::ParolError::UserError)?;
13888 let l_angle_term_built = LAngleTerm { l_angle_term };
13889 self.user_grammar.l_angle_term(&l_angle_term_built)?;
13891 self.push(ASTType::LAngleTerm(l_angle_term_built), context);
13892 Ok(())
13893 }
13894
13895 #[parol_runtime::function_name::named]
13900 fn quote_l_brace_term(&mut self, quote_l_brace_term: &ParseTreeType<'t>) -> Result<()> {
13901 let context = function_name!();
13902 trace!("{}", self.trace_item_stack(context));
13903 let quote_l_brace_term = quote_l_brace_term
13904 .token()?
13905 .try_into()
13906 .map_err(parol_runtime::ParolError::UserError)?;
13907 let quote_l_brace_term_built = QuoteLBraceTerm { quote_l_brace_term };
13908 self.user_grammar
13910 .quote_l_brace_term("e_l_brace_term_built)?;
13911 self.push(ASTType::QuoteLBraceTerm(quote_l_brace_term_built), context);
13912 Ok(())
13913 }
13914
13915 #[parol_runtime::function_name::named]
13920 fn l_brace_term(&mut self, l_brace_term: &ParseTreeType<'t>) -> Result<()> {
13921 let context = function_name!();
13922 trace!("{}", self.trace_item_stack(context));
13923 let l_brace_term = l_brace_term
13924 .token()?
13925 .try_into()
13926 .map_err(parol_runtime::ParolError::UserError)?;
13927 let l_brace_term_built = LBraceTerm { l_brace_term };
13928 self.user_grammar.l_brace_term(&l_brace_term_built)?;
13930 self.push(ASTType::LBraceTerm(l_brace_term_built), context);
13931 Ok(())
13932 }
13933
13934 #[parol_runtime::function_name::named]
13939 fn l_bracket_term(&mut self, l_bracket_term: &ParseTreeType<'t>) -> Result<()> {
13940 let context = function_name!();
13941 trace!("{}", self.trace_item_stack(context));
13942 let l_bracket_term = l_bracket_term
13943 .token()?
13944 .try_into()
13945 .map_err(parol_runtime::ParolError::UserError)?;
13946 let l_bracket_term_built = LBracketTerm { l_bracket_term };
13947 self.user_grammar.l_bracket_term(&l_bracket_term_built)?;
13949 self.push(ASTType::LBracketTerm(l_bracket_term_built), context);
13950 Ok(())
13951 }
13952
13953 #[parol_runtime::function_name::named]
13958 fn l_paren_term(&mut self, l_paren_term: &ParseTreeType<'t>) -> Result<()> {
13959 let context = function_name!();
13960 trace!("{}", self.trace_item_stack(context));
13961 let l_paren_term = l_paren_term
13962 .token()?
13963 .try_into()
13964 .map_err(parol_runtime::ParolError::UserError)?;
13965 let l_paren_term_built = LParenTerm { l_paren_term };
13966 self.user_grammar.l_paren_term(&l_paren_term_built)?;
13968 self.push(ASTType::LParenTerm(l_paren_term_built), context);
13969 Ok(())
13970 }
13971
13972 #[parol_runtime::function_name::named]
13977 fn r_angle_term(&mut self, r_angle_term: &ParseTreeType<'t>) -> Result<()> {
13978 let context = function_name!();
13979 trace!("{}", self.trace_item_stack(context));
13980 let r_angle_term = r_angle_term
13981 .token()?
13982 .try_into()
13983 .map_err(parol_runtime::ParolError::UserError)?;
13984 let r_angle_term_built = RAngleTerm { r_angle_term };
13985 self.user_grammar.r_angle_term(&r_angle_term_built)?;
13987 self.push(ASTType::RAngleTerm(r_angle_term_built), context);
13988 Ok(())
13989 }
13990
13991 #[parol_runtime::function_name::named]
13996 fn r_brace_term(&mut self, r_brace_term: &ParseTreeType<'t>) -> Result<()> {
13997 let context = function_name!();
13998 trace!("{}", self.trace_item_stack(context));
13999 let r_brace_term = r_brace_term
14000 .token()?
14001 .try_into()
14002 .map_err(parol_runtime::ParolError::UserError)?;
14003 let r_brace_term_built = RBraceTerm { r_brace_term };
14004 self.user_grammar.r_brace_term(&r_brace_term_built)?;
14006 self.push(ASTType::RBraceTerm(r_brace_term_built), context);
14007 Ok(())
14008 }
14009
14010 #[parol_runtime::function_name::named]
14015 fn r_bracket_term(&mut self, r_bracket_term: &ParseTreeType<'t>) -> Result<()> {
14016 let context = function_name!();
14017 trace!("{}", self.trace_item_stack(context));
14018 let r_bracket_term = r_bracket_term
14019 .token()?
14020 .try_into()
14021 .map_err(parol_runtime::ParolError::UserError)?;
14022 let r_bracket_term_built = RBracketTerm { r_bracket_term };
14023 self.user_grammar.r_bracket_term(&r_bracket_term_built)?;
14025 self.push(ASTType::RBracketTerm(r_bracket_term_built), context);
14026 Ok(())
14027 }
14028
14029 #[parol_runtime::function_name::named]
14034 fn r_paren_term(&mut self, r_paren_term: &ParseTreeType<'t>) -> Result<()> {
14035 let context = function_name!();
14036 trace!("{}", self.trace_item_stack(context));
14037 let r_paren_term = r_paren_term
14038 .token()?
14039 .try_into()
14040 .map_err(parol_runtime::ParolError::UserError)?;
14041 let r_paren_term_built = RParenTerm { r_paren_term };
14042 self.user_grammar.r_paren_term(&r_paren_term_built)?;
14044 self.push(ASTType::RParenTerm(r_paren_term_built), context);
14045 Ok(())
14046 }
14047
14048 #[parol_runtime::function_name::named]
14053 fn semicolon_term(&mut self, semicolon_term: &ParseTreeType<'t>) -> Result<()> {
14054 let context = function_name!();
14055 trace!("{}", self.trace_item_stack(context));
14056 let semicolon_term = semicolon_term
14057 .token()?
14058 .try_into()
14059 .map_err(parol_runtime::ParolError::UserError)?;
14060 let semicolon_term_built = SemicolonTerm { semicolon_term };
14061 self.user_grammar.semicolon_term(&semicolon_term_built)?;
14063 self.push(ASTType::SemicolonTerm(semicolon_term_built), context);
14064 Ok(())
14065 }
14066
14067 #[parol_runtime::function_name::named]
14072 fn star_term(&mut self, star_term: &ParseTreeType<'t>) -> Result<()> {
14073 let context = function_name!();
14074 trace!("{}", self.trace_item_stack(context));
14075 let star_term = star_term
14076 .token()?
14077 .try_into()
14078 .map_err(parol_runtime::ParolError::UserError)?;
14079 let star_term_built = StarTerm { star_term };
14080 self.user_grammar.star_term(&star_term_built)?;
14082 self.push(ASTType::StarTerm(star_term_built), context);
14083 Ok(())
14084 }
14085
14086 #[parol_runtime::function_name::named]
14091 fn always_comb_term(&mut self, always_comb_term: &ParseTreeType<'t>) -> Result<()> {
14092 let context = function_name!();
14093 trace!("{}", self.trace_item_stack(context));
14094 let always_comb_term = always_comb_term
14095 .token()?
14096 .try_into()
14097 .map_err(parol_runtime::ParolError::UserError)?;
14098 let always_comb_term_built = AlwaysCombTerm { always_comb_term };
14099 self.user_grammar
14101 .always_comb_term(&always_comb_term_built)?;
14102 self.push(ASTType::AlwaysCombTerm(always_comb_term_built), context);
14103 Ok(())
14104 }
14105
14106 #[parol_runtime::function_name::named]
14111 fn always_ff_term(&mut self, always_ff_term: &ParseTreeType<'t>) -> Result<()> {
14112 let context = function_name!();
14113 trace!("{}", self.trace_item_stack(context));
14114 let always_ff_term = always_ff_term
14115 .token()?
14116 .try_into()
14117 .map_err(parol_runtime::ParolError::UserError)?;
14118 let always_ff_term_built = AlwaysFfTerm { always_ff_term };
14119 self.user_grammar.always_ff_term(&always_ff_term_built)?;
14121 self.push(ASTType::AlwaysFfTerm(always_ff_term_built), context);
14122 Ok(())
14123 }
14124
14125 #[parol_runtime::function_name::named]
14130 fn assign_term(&mut self, assign_term: &ParseTreeType<'t>) -> Result<()> {
14131 let context = function_name!();
14132 trace!("{}", self.trace_item_stack(context));
14133 let assign_term = assign_term
14134 .token()?
14135 .try_into()
14136 .map_err(parol_runtime::ParolError::UserError)?;
14137 let assign_term_built = AssignTerm { assign_term };
14138 self.user_grammar.assign_term(&assign_term_built)?;
14140 self.push(ASTType::AssignTerm(assign_term_built), context);
14141 Ok(())
14142 }
14143
14144 #[parol_runtime::function_name::named]
14149 fn as_term(&mut self, as_term: &ParseTreeType<'t>) -> Result<()> {
14150 let context = function_name!();
14151 trace!("{}", self.trace_item_stack(context));
14152 let as_term = as_term
14153 .token()?
14154 .try_into()
14155 .map_err(parol_runtime::ParolError::UserError)?;
14156 let as_term_built = AsTerm { as_term };
14157 self.user_grammar.as_term(&as_term_built)?;
14159 self.push(ASTType::AsTerm(as_term_built), context);
14160 Ok(())
14161 }
14162
14163 #[parol_runtime::function_name::named]
14168 fn bit_term(&mut self, bit_term: &ParseTreeType<'t>) -> Result<()> {
14169 let context = function_name!();
14170 trace!("{}", self.trace_item_stack(context));
14171 let bit_term = bit_term
14172 .token()?
14173 .try_into()
14174 .map_err(parol_runtime::ParolError::UserError)?;
14175 let bit_term_built = BitTerm { bit_term };
14176 self.user_grammar.bit_term(&bit_term_built)?;
14178 self.push(ASTType::BitTerm(bit_term_built), context);
14179 Ok(())
14180 }
14181
14182 #[parol_runtime::function_name::named]
14187 fn case_term(&mut self, case_term: &ParseTreeType<'t>) -> Result<()> {
14188 let context = function_name!();
14189 trace!("{}", self.trace_item_stack(context));
14190 let case_term = case_term
14191 .token()?
14192 .try_into()
14193 .map_err(parol_runtime::ParolError::UserError)?;
14194 let case_term_built = CaseTerm { case_term };
14195 self.user_grammar.case_term(&case_term_built)?;
14197 self.push(ASTType::CaseTerm(case_term_built), context);
14198 Ok(())
14199 }
14200
14201 #[parol_runtime::function_name::named]
14206 fn clock_term(&mut self, clock_term: &ParseTreeType<'t>) -> Result<()> {
14207 let context = function_name!();
14208 trace!("{}", self.trace_item_stack(context));
14209 let clock_term = clock_term
14210 .token()?
14211 .try_into()
14212 .map_err(parol_runtime::ParolError::UserError)?;
14213 let clock_term_built = ClockTerm { clock_term };
14214 self.user_grammar.clock_term(&clock_term_built)?;
14216 self.push(ASTType::ClockTerm(clock_term_built), context);
14217 Ok(())
14218 }
14219
14220 #[parol_runtime::function_name::named]
14225 fn clock_posedge_term(&mut self, clock_posedge_term: &ParseTreeType<'t>) -> Result<()> {
14226 let context = function_name!();
14227 trace!("{}", self.trace_item_stack(context));
14228 let clock_posedge_term = clock_posedge_term
14229 .token()?
14230 .try_into()
14231 .map_err(parol_runtime::ParolError::UserError)?;
14232 let clock_posedge_term_built = ClockPosedgeTerm { clock_posedge_term };
14233 self.user_grammar
14235 .clock_posedge_term(&clock_posedge_term_built)?;
14236 self.push(ASTType::ClockPosedgeTerm(clock_posedge_term_built), context);
14237 Ok(())
14238 }
14239
14240 #[parol_runtime::function_name::named]
14245 fn clock_negedge_term(&mut self, clock_negedge_term: &ParseTreeType<'t>) -> Result<()> {
14246 let context = function_name!();
14247 trace!("{}", self.trace_item_stack(context));
14248 let clock_negedge_term = clock_negedge_term
14249 .token()?
14250 .try_into()
14251 .map_err(parol_runtime::ParolError::UserError)?;
14252 let clock_negedge_term_built = ClockNegedgeTerm { clock_negedge_term };
14253 self.user_grammar
14255 .clock_negedge_term(&clock_negedge_term_built)?;
14256 self.push(ASTType::ClockNegedgeTerm(clock_negedge_term_built), context);
14257 Ok(())
14258 }
14259
14260 #[parol_runtime::function_name::named]
14265 fn const_term(&mut self, const_term: &ParseTreeType<'t>) -> Result<()> {
14266 let context = function_name!();
14267 trace!("{}", self.trace_item_stack(context));
14268 let const_term = const_term
14269 .token()?
14270 .try_into()
14271 .map_err(parol_runtime::ParolError::UserError)?;
14272 let const_term_built = ConstTerm { const_term };
14273 self.user_grammar.const_term(&const_term_built)?;
14275 self.push(ASTType::ConstTerm(const_term_built), context);
14276 Ok(())
14277 }
14278
14279 #[parol_runtime::function_name::named]
14284 fn converse_term(&mut self, converse_term: &ParseTreeType<'t>) -> Result<()> {
14285 let context = function_name!();
14286 trace!("{}", self.trace_item_stack(context));
14287 let converse_term = converse_term
14288 .token()?
14289 .try_into()
14290 .map_err(parol_runtime::ParolError::UserError)?;
14291 let converse_term_built = ConverseTerm { converse_term };
14292 self.user_grammar.converse_term(&converse_term_built)?;
14294 self.push(ASTType::ConverseTerm(converse_term_built), context);
14295 Ok(())
14296 }
14297
14298 #[parol_runtime::function_name::named]
14303 fn default_term(&mut self, default_term: &ParseTreeType<'t>) -> Result<()> {
14304 let context = function_name!();
14305 trace!("{}", self.trace_item_stack(context));
14306 let default_term = default_term
14307 .token()?
14308 .try_into()
14309 .map_err(parol_runtime::ParolError::UserError)?;
14310 let default_term_built = DefaultTerm { default_term };
14311 self.user_grammar.default_term(&default_term_built)?;
14313 self.push(ASTType::DefaultTerm(default_term_built), context);
14314 Ok(())
14315 }
14316
14317 #[parol_runtime::function_name::named]
14322 fn else_term(&mut self, else_term: &ParseTreeType<'t>) -> Result<()> {
14323 let context = function_name!();
14324 trace!("{}", self.trace_item_stack(context));
14325 let else_term = else_term
14326 .token()?
14327 .try_into()
14328 .map_err(parol_runtime::ParolError::UserError)?;
14329 let else_term_built = ElseTerm { else_term };
14330 self.user_grammar.else_term(&else_term_built)?;
14332 self.push(ASTType::ElseTerm(else_term_built), context);
14333 Ok(())
14334 }
14335
14336 #[parol_runtime::function_name::named]
14341 fn embed_term(&mut self, embed_term: &ParseTreeType<'t>) -> Result<()> {
14342 let context = function_name!();
14343 trace!("{}", self.trace_item_stack(context));
14344 let embed_term = embed_term
14345 .token()?
14346 .try_into()
14347 .map_err(parol_runtime::ParolError::UserError)?;
14348 let embed_term_built = EmbedTerm { embed_term };
14349 self.user_grammar.embed_term(&embed_term_built)?;
14351 self.push(ASTType::EmbedTerm(embed_term_built), context);
14352 Ok(())
14353 }
14354
14355 #[parol_runtime::function_name::named]
14360 fn enum_term(&mut self, enum_term: &ParseTreeType<'t>) -> Result<()> {
14361 let context = function_name!();
14362 trace!("{}", self.trace_item_stack(context));
14363 let enum_term = enum_term
14364 .token()?
14365 .try_into()
14366 .map_err(parol_runtime::ParolError::UserError)?;
14367 let enum_term_built = EnumTerm { enum_term };
14368 self.user_grammar.enum_term(&enum_term_built)?;
14370 self.push(ASTType::EnumTerm(enum_term_built), context);
14371 Ok(())
14372 }
14373
14374 #[parol_runtime::function_name::named]
14379 fn export_term(&mut self, export_term: &ParseTreeType<'t>) -> Result<()> {
14380 let context = function_name!();
14381 trace!("{}", self.trace_item_stack(context));
14382 let export_term = export_term
14383 .token()?
14384 .try_into()
14385 .map_err(parol_runtime::ParolError::UserError)?;
14386 let export_term_built = ExportTerm { export_term };
14387 self.user_grammar.export_term(&export_term_built)?;
14389 self.push(ASTType::ExportTerm(export_term_built), context);
14390 Ok(())
14391 }
14392
14393 #[parol_runtime::function_name::named]
14398 fn f32_term(&mut self, f32_term: &ParseTreeType<'t>) -> Result<()> {
14399 let context = function_name!();
14400 trace!("{}", self.trace_item_stack(context));
14401 let f32_term = f32_term
14402 .token()?
14403 .try_into()
14404 .map_err(parol_runtime::ParolError::UserError)?;
14405 let f32_term_built = F32Term { f32_term };
14406 self.user_grammar.f32_term(&f32_term_built)?;
14408 self.push(ASTType::F32Term(f32_term_built), context);
14409 Ok(())
14410 }
14411
14412 #[parol_runtime::function_name::named]
14417 fn f64_term(&mut self, f64_term: &ParseTreeType<'t>) -> Result<()> {
14418 let context = function_name!();
14419 trace!("{}", self.trace_item_stack(context));
14420 let f64_term = f64_term
14421 .token()?
14422 .try_into()
14423 .map_err(parol_runtime::ParolError::UserError)?;
14424 let f64_term_built = F64Term { f64_term };
14425 self.user_grammar.f64_term(&f64_term_built)?;
14427 self.push(ASTType::F64Term(f64_term_built), context);
14428 Ok(())
14429 }
14430
14431 #[parol_runtime::function_name::named]
14436 fn final_term(&mut self, final_term: &ParseTreeType<'t>) -> Result<()> {
14437 let context = function_name!();
14438 trace!("{}", self.trace_item_stack(context));
14439 let final_term = final_term
14440 .token()?
14441 .try_into()
14442 .map_err(parol_runtime::ParolError::UserError)?;
14443 let final_term_built = FinalTerm { final_term };
14444 self.user_grammar.final_term(&final_term_built)?;
14446 self.push(ASTType::FinalTerm(final_term_built), context);
14447 Ok(())
14448 }
14449
14450 #[parol_runtime::function_name::named]
14455 fn for_term(&mut self, for_term: &ParseTreeType<'t>) -> Result<()> {
14456 let context = function_name!();
14457 trace!("{}", self.trace_item_stack(context));
14458 let for_term = for_term
14459 .token()?
14460 .try_into()
14461 .map_err(parol_runtime::ParolError::UserError)?;
14462 let for_term_built = ForTerm { for_term };
14463 self.user_grammar.for_term(&for_term_built)?;
14465 self.push(ASTType::ForTerm(for_term_built), context);
14466 Ok(())
14467 }
14468
14469 #[parol_runtime::function_name::named]
14474 fn function_term(&mut self, function_term: &ParseTreeType<'t>) -> Result<()> {
14475 let context = function_name!();
14476 trace!("{}", self.trace_item_stack(context));
14477 let function_term = function_term
14478 .token()?
14479 .try_into()
14480 .map_err(parol_runtime::ParolError::UserError)?;
14481 let function_term_built = FunctionTerm { function_term };
14482 self.user_grammar.function_term(&function_term_built)?;
14484 self.push(ASTType::FunctionTerm(function_term_built), context);
14485 Ok(())
14486 }
14487
14488 #[parol_runtime::function_name::named]
14493 fn i32_term(&mut self, i32_term: &ParseTreeType<'t>) -> Result<()> {
14494 let context = function_name!();
14495 trace!("{}", self.trace_item_stack(context));
14496 let i32_term = i32_term
14497 .token()?
14498 .try_into()
14499 .map_err(parol_runtime::ParolError::UserError)?;
14500 let i32_term_built = I32Term { i32_term };
14501 self.user_grammar.i32_term(&i32_term_built)?;
14503 self.push(ASTType::I32Term(i32_term_built), context);
14504 Ok(())
14505 }
14506
14507 #[parol_runtime::function_name::named]
14512 fn i64_term(&mut self, i64_term: &ParseTreeType<'t>) -> Result<()> {
14513 let context = function_name!();
14514 trace!("{}", self.trace_item_stack(context));
14515 let i64_term = i64_term
14516 .token()?
14517 .try_into()
14518 .map_err(parol_runtime::ParolError::UserError)?;
14519 let i64_term_built = I64Term { i64_term };
14520 self.user_grammar.i64_term(&i64_term_built)?;
14522 self.push(ASTType::I64Term(i64_term_built), context);
14523 Ok(())
14524 }
14525
14526 #[parol_runtime::function_name::named]
14531 fn if_reset_term(&mut self, if_reset_term: &ParseTreeType<'t>) -> Result<()> {
14532 let context = function_name!();
14533 trace!("{}", self.trace_item_stack(context));
14534 let if_reset_term = if_reset_term
14535 .token()?
14536 .try_into()
14537 .map_err(parol_runtime::ParolError::UserError)?;
14538 let if_reset_term_built = IfResetTerm { if_reset_term };
14539 self.user_grammar.if_reset_term(&if_reset_term_built)?;
14541 self.push(ASTType::IfResetTerm(if_reset_term_built), context);
14542 Ok(())
14543 }
14544
14545 #[parol_runtime::function_name::named]
14550 fn if_term(&mut self, if_term: &ParseTreeType<'t>) -> Result<()> {
14551 let context = function_name!();
14552 trace!("{}", self.trace_item_stack(context));
14553 let if_term = if_term
14554 .token()?
14555 .try_into()
14556 .map_err(parol_runtime::ParolError::UserError)?;
14557 let if_term_built = IfTerm { if_term };
14558 self.user_grammar.if_term(&if_term_built)?;
14560 self.push(ASTType::IfTerm(if_term_built), context);
14561 Ok(())
14562 }
14563
14564 #[parol_runtime::function_name::named]
14569 fn import_term(&mut self, import_term: &ParseTreeType<'t>) -> Result<()> {
14570 let context = function_name!();
14571 trace!("{}", self.trace_item_stack(context));
14572 let import_term = import_term
14573 .token()?
14574 .try_into()
14575 .map_err(parol_runtime::ParolError::UserError)?;
14576 let import_term_built = ImportTerm { import_term };
14577 self.user_grammar.import_term(&import_term_built)?;
14579 self.push(ASTType::ImportTerm(import_term_built), context);
14580 Ok(())
14581 }
14582
14583 #[parol_runtime::function_name::named]
14588 fn include_term(&mut self, include_term: &ParseTreeType<'t>) -> Result<()> {
14589 let context = function_name!();
14590 trace!("{}", self.trace_item_stack(context));
14591 let include_term = include_term
14592 .token()?
14593 .try_into()
14594 .map_err(parol_runtime::ParolError::UserError)?;
14595 let include_term_built = IncludeTerm { include_term };
14596 self.user_grammar.include_term(&include_term_built)?;
14598 self.push(ASTType::IncludeTerm(include_term_built), context);
14599 Ok(())
14600 }
14601
14602 #[parol_runtime::function_name::named]
14607 fn initial_term(&mut self, initial_term: &ParseTreeType<'t>) -> Result<()> {
14608 let context = function_name!();
14609 trace!("{}", self.trace_item_stack(context));
14610 let initial_term = initial_term
14611 .token()?
14612 .try_into()
14613 .map_err(parol_runtime::ParolError::UserError)?;
14614 let initial_term_built = InitialTerm { initial_term };
14615 self.user_grammar.initial_term(&initial_term_built)?;
14617 self.push(ASTType::InitialTerm(initial_term_built), context);
14618 Ok(())
14619 }
14620
14621 #[parol_runtime::function_name::named]
14626 fn inout_term(&mut self, inout_term: &ParseTreeType<'t>) -> Result<()> {
14627 let context = function_name!();
14628 trace!("{}", self.trace_item_stack(context));
14629 let inout_term = inout_term
14630 .token()?
14631 .try_into()
14632 .map_err(parol_runtime::ParolError::UserError)?;
14633 let inout_term_built = InoutTerm { inout_term };
14634 self.user_grammar.inout_term(&inout_term_built)?;
14636 self.push(ASTType::InoutTerm(inout_term_built), context);
14637 Ok(())
14638 }
14639
14640 #[parol_runtime::function_name::named]
14645 fn input_term(&mut self, input_term: &ParseTreeType<'t>) -> Result<()> {
14646 let context = function_name!();
14647 trace!("{}", self.trace_item_stack(context));
14648 let input_term = input_term
14649 .token()?
14650 .try_into()
14651 .map_err(parol_runtime::ParolError::UserError)?;
14652 let input_term_built = InputTerm { input_term };
14653 self.user_grammar.input_term(&input_term_built)?;
14655 self.push(ASTType::InputTerm(input_term_built), context);
14656 Ok(())
14657 }
14658
14659 #[parol_runtime::function_name::named]
14664 fn inside_term(&mut self, inside_term: &ParseTreeType<'t>) -> Result<()> {
14665 let context = function_name!();
14666 trace!("{}", self.trace_item_stack(context));
14667 let inside_term = inside_term
14668 .token()?
14669 .try_into()
14670 .map_err(parol_runtime::ParolError::UserError)?;
14671 let inside_term_built = InsideTerm { inside_term };
14672 self.user_grammar.inside_term(&inside_term_built)?;
14674 self.push(ASTType::InsideTerm(inside_term_built), context);
14675 Ok(())
14676 }
14677
14678 #[parol_runtime::function_name::named]
14683 fn inst_term(&mut self, inst_term: &ParseTreeType<'t>) -> Result<()> {
14684 let context = function_name!();
14685 trace!("{}", self.trace_item_stack(context));
14686 let inst_term = inst_term
14687 .token()?
14688 .try_into()
14689 .map_err(parol_runtime::ParolError::UserError)?;
14690 let inst_term_built = InstTerm { inst_term };
14691 self.user_grammar.inst_term(&inst_term_built)?;
14693 self.push(ASTType::InstTerm(inst_term_built), context);
14694 Ok(())
14695 }
14696
14697 #[parol_runtime::function_name::named]
14702 fn interface_term(&mut self, interface_term: &ParseTreeType<'t>) -> Result<()> {
14703 let context = function_name!();
14704 trace!("{}", self.trace_item_stack(context));
14705 let interface_term = interface_term
14706 .token()?
14707 .try_into()
14708 .map_err(parol_runtime::ParolError::UserError)?;
14709 let interface_term_built = InterfaceTerm { interface_term };
14710 self.user_grammar.interface_term(&interface_term_built)?;
14712 self.push(ASTType::InterfaceTerm(interface_term_built), context);
14713 Ok(())
14714 }
14715
14716 #[parol_runtime::function_name::named]
14721 fn in_term(&mut self, in_term: &ParseTreeType<'t>) -> Result<()> {
14722 let context = function_name!();
14723 trace!("{}", self.trace_item_stack(context));
14724 let in_term = in_term
14725 .token()?
14726 .try_into()
14727 .map_err(parol_runtime::ParolError::UserError)?;
14728 let in_term_built = InTerm { in_term };
14729 self.user_grammar.in_term(&in_term_built)?;
14731 self.push(ASTType::InTerm(in_term_built), context);
14732 Ok(())
14733 }
14734
14735 #[parol_runtime::function_name::named]
14740 fn let_term(&mut self, let_term: &ParseTreeType<'t>) -> Result<()> {
14741 let context = function_name!();
14742 trace!("{}", self.trace_item_stack(context));
14743 let let_term = let_term
14744 .token()?
14745 .try_into()
14746 .map_err(parol_runtime::ParolError::UserError)?;
14747 let let_term_built = LetTerm { let_term };
14748 self.user_grammar.let_term(&let_term_built)?;
14750 self.push(ASTType::LetTerm(let_term_built), context);
14751 Ok(())
14752 }
14753
14754 #[parol_runtime::function_name::named]
14759 fn logic_term(&mut self, logic_term: &ParseTreeType<'t>) -> Result<()> {
14760 let context = function_name!();
14761 trace!("{}", self.trace_item_stack(context));
14762 let logic_term = logic_term
14763 .token()?
14764 .try_into()
14765 .map_err(parol_runtime::ParolError::UserError)?;
14766 let logic_term_built = LogicTerm { logic_term };
14767 self.user_grammar.logic_term(&logic_term_built)?;
14769 self.push(ASTType::LogicTerm(logic_term_built), context);
14770 Ok(())
14771 }
14772
14773 #[parol_runtime::function_name::named]
14778 fn lsb_term(&mut self, lsb_term: &ParseTreeType<'t>) -> Result<()> {
14779 let context = function_name!();
14780 trace!("{}", self.trace_item_stack(context));
14781 let lsb_term = lsb_term
14782 .token()?
14783 .try_into()
14784 .map_err(parol_runtime::ParolError::UserError)?;
14785 let lsb_term_built = LsbTerm { lsb_term };
14786 self.user_grammar.lsb_term(&lsb_term_built)?;
14788 self.push(ASTType::LsbTerm(lsb_term_built), context);
14789 Ok(())
14790 }
14791
14792 #[parol_runtime::function_name::named]
14797 fn modport_term(&mut self, modport_term: &ParseTreeType<'t>) -> Result<()> {
14798 let context = function_name!();
14799 trace!("{}", self.trace_item_stack(context));
14800 let modport_term = modport_term
14801 .token()?
14802 .try_into()
14803 .map_err(parol_runtime::ParolError::UserError)?;
14804 let modport_term_built = ModportTerm { modport_term };
14805 self.user_grammar.modport_term(&modport_term_built)?;
14807 self.push(ASTType::ModportTerm(modport_term_built), context);
14808 Ok(())
14809 }
14810
14811 #[parol_runtime::function_name::named]
14816 fn module_term(&mut self, module_term: &ParseTreeType<'t>) -> Result<()> {
14817 let context = function_name!();
14818 trace!("{}", self.trace_item_stack(context));
14819 let module_term = module_term
14820 .token()?
14821 .try_into()
14822 .map_err(parol_runtime::ParolError::UserError)?;
14823 let module_term_built = ModuleTerm { module_term };
14824 self.user_grammar.module_term(&module_term_built)?;
14826 self.push(ASTType::ModuleTerm(module_term_built), context);
14827 Ok(())
14828 }
14829
14830 #[parol_runtime::function_name::named]
14835 fn msb_term(&mut self, msb_term: &ParseTreeType<'t>) -> Result<()> {
14836 let context = function_name!();
14837 trace!("{}", self.trace_item_stack(context));
14838 let msb_term = msb_term
14839 .token()?
14840 .try_into()
14841 .map_err(parol_runtime::ParolError::UserError)?;
14842 let msb_term_built = MsbTerm { msb_term };
14843 self.user_grammar.msb_term(&msb_term_built)?;
14845 self.push(ASTType::MsbTerm(msb_term_built), context);
14846 Ok(())
14847 }
14848
14849 #[parol_runtime::function_name::named]
14854 fn output_term(&mut self, output_term: &ParseTreeType<'t>) -> Result<()> {
14855 let context = function_name!();
14856 trace!("{}", self.trace_item_stack(context));
14857 let output_term = output_term
14858 .token()?
14859 .try_into()
14860 .map_err(parol_runtime::ParolError::UserError)?;
14861 let output_term_built = OutputTerm { output_term };
14862 self.user_grammar.output_term(&output_term_built)?;
14864 self.push(ASTType::OutputTerm(output_term_built), context);
14865 Ok(())
14866 }
14867
14868 #[parol_runtime::function_name::named]
14873 fn outside_term(&mut self, outside_term: &ParseTreeType<'t>) -> Result<()> {
14874 let context = function_name!();
14875 trace!("{}", self.trace_item_stack(context));
14876 let outside_term = outside_term
14877 .token()?
14878 .try_into()
14879 .map_err(parol_runtime::ParolError::UserError)?;
14880 let outside_term_built = OutsideTerm { outside_term };
14881 self.user_grammar.outside_term(&outside_term_built)?;
14883 self.push(ASTType::OutsideTerm(outside_term_built), context);
14884 Ok(())
14885 }
14886
14887 #[parol_runtime::function_name::named]
14892 fn package_term(&mut self, package_term: &ParseTreeType<'t>) -> Result<()> {
14893 let context = function_name!();
14894 trace!("{}", self.trace_item_stack(context));
14895 let package_term = package_term
14896 .token()?
14897 .try_into()
14898 .map_err(parol_runtime::ParolError::UserError)?;
14899 let package_term_built = PackageTerm { package_term };
14900 self.user_grammar.package_term(&package_term_built)?;
14902 self.push(ASTType::PackageTerm(package_term_built), context);
14903 Ok(())
14904 }
14905
14906 #[parol_runtime::function_name::named]
14911 fn param_term(&mut self, param_term: &ParseTreeType<'t>) -> Result<()> {
14912 let context = function_name!();
14913 trace!("{}", self.trace_item_stack(context));
14914 let param_term = param_term
14915 .token()?
14916 .try_into()
14917 .map_err(parol_runtime::ParolError::UserError)?;
14918 let param_term_built = ParamTerm { param_term };
14919 self.user_grammar.param_term(¶m_term_built)?;
14921 self.push(ASTType::ParamTerm(param_term_built), context);
14922 Ok(())
14923 }
14924
14925 #[parol_runtime::function_name::named]
14930 fn proto_term(&mut self, proto_term: &ParseTreeType<'t>) -> Result<()> {
14931 let context = function_name!();
14932 trace!("{}", self.trace_item_stack(context));
14933 let proto_term = proto_term
14934 .token()?
14935 .try_into()
14936 .map_err(parol_runtime::ParolError::UserError)?;
14937 let proto_term_built = ProtoTerm { proto_term };
14938 self.user_grammar.proto_term(&proto_term_built)?;
14940 self.push(ASTType::ProtoTerm(proto_term_built), context);
14941 Ok(())
14942 }
14943
14944 #[parol_runtime::function_name::named]
14949 fn pub_term(&mut self, pub_term: &ParseTreeType<'t>) -> Result<()> {
14950 let context = function_name!();
14951 trace!("{}", self.trace_item_stack(context));
14952 let pub_term = pub_term
14953 .token()?
14954 .try_into()
14955 .map_err(parol_runtime::ParolError::UserError)?;
14956 let pub_term_built = PubTerm { pub_term };
14957 self.user_grammar.pub_term(&pub_term_built)?;
14959 self.push(ASTType::PubTerm(pub_term_built), context);
14960 Ok(())
14961 }
14962
14963 #[parol_runtime::function_name::named]
14968 fn ref_term(&mut self, ref_term: &ParseTreeType<'t>) -> Result<()> {
14969 let context = function_name!();
14970 trace!("{}", self.trace_item_stack(context));
14971 let ref_term = ref_term
14972 .token()?
14973 .try_into()
14974 .map_err(parol_runtime::ParolError::UserError)?;
14975 let ref_term_built = RefTerm { ref_term };
14976 self.user_grammar.ref_term(&ref_term_built)?;
14978 self.push(ASTType::RefTerm(ref_term_built), context);
14979 Ok(())
14980 }
14981
14982 #[parol_runtime::function_name::named]
14987 fn repeat_term(&mut self, repeat_term: &ParseTreeType<'t>) -> Result<()> {
14988 let context = function_name!();
14989 trace!("{}", self.trace_item_stack(context));
14990 let repeat_term = repeat_term
14991 .token()?
14992 .try_into()
14993 .map_err(parol_runtime::ParolError::UserError)?;
14994 let repeat_term_built = RepeatTerm { repeat_term };
14995 self.user_grammar.repeat_term(&repeat_term_built)?;
14997 self.push(ASTType::RepeatTerm(repeat_term_built), context);
14998 Ok(())
14999 }
15000
15001 #[parol_runtime::function_name::named]
15006 fn reset_term(&mut self, reset_term: &ParseTreeType<'t>) -> Result<()> {
15007 let context = function_name!();
15008 trace!("{}", self.trace_item_stack(context));
15009 let reset_term = reset_term
15010 .token()?
15011 .try_into()
15012 .map_err(parol_runtime::ParolError::UserError)?;
15013 let reset_term_built = ResetTerm { reset_term };
15014 self.user_grammar.reset_term(&reset_term_built)?;
15016 self.push(ASTType::ResetTerm(reset_term_built), context);
15017 Ok(())
15018 }
15019
15020 #[parol_runtime::function_name::named]
15025 fn reset_async_high_term(&mut self, reset_async_high_term: &ParseTreeType<'t>) -> Result<()> {
15026 let context = function_name!();
15027 trace!("{}", self.trace_item_stack(context));
15028 let reset_async_high_term = reset_async_high_term
15029 .token()?
15030 .try_into()
15031 .map_err(parol_runtime::ParolError::UserError)?;
15032 let reset_async_high_term_built = ResetAsyncHighTerm {
15033 reset_async_high_term,
15034 };
15035 self.user_grammar
15037 .reset_async_high_term(&reset_async_high_term_built)?;
15038 self.push(
15039 ASTType::ResetAsyncHighTerm(reset_async_high_term_built),
15040 context,
15041 );
15042 Ok(())
15043 }
15044
15045 #[parol_runtime::function_name::named]
15050 fn reset_async_low_term(&mut self, reset_async_low_term: &ParseTreeType<'t>) -> Result<()> {
15051 let context = function_name!();
15052 trace!("{}", self.trace_item_stack(context));
15053 let reset_async_low_term = reset_async_low_term
15054 .token()?
15055 .try_into()
15056 .map_err(parol_runtime::ParolError::UserError)?;
15057 let reset_async_low_term_built = ResetAsyncLowTerm {
15058 reset_async_low_term,
15059 };
15060 self.user_grammar
15062 .reset_async_low_term(&reset_async_low_term_built)?;
15063 self.push(
15064 ASTType::ResetAsyncLowTerm(reset_async_low_term_built),
15065 context,
15066 );
15067 Ok(())
15068 }
15069
15070 #[parol_runtime::function_name::named]
15075 fn reset_sync_high_term(&mut self, reset_sync_high_term: &ParseTreeType<'t>) -> Result<()> {
15076 let context = function_name!();
15077 trace!("{}", self.trace_item_stack(context));
15078 let reset_sync_high_term = reset_sync_high_term
15079 .token()?
15080 .try_into()
15081 .map_err(parol_runtime::ParolError::UserError)?;
15082 let reset_sync_high_term_built = ResetSyncHighTerm {
15083 reset_sync_high_term,
15084 };
15085 self.user_grammar
15087 .reset_sync_high_term(&reset_sync_high_term_built)?;
15088 self.push(
15089 ASTType::ResetSyncHighTerm(reset_sync_high_term_built),
15090 context,
15091 );
15092 Ok(())
15093 }
15094
15095 #[parol_runtime::function_name::named]
15100 fn reset_sync_low_term(&mut self, reset_sync_low_term: &ParseTreeType<'t>) -> Result<()> {
15101 let context = function_name!();
15102 trace!("{}", self.trace_item_stack(context));
15103 let reset_sync_low_term = reset_sync_low_term
15104 .token()?
15105 .try_into()
15106 .map_err(parol_runtime::ParolError::UserError)?;
15107 let reset_sync_low_term_built = ResetSyncLowTerm {
15108 reset_sync_low_term,
15109 };
15110 self.user_grammar
15112 .reset_sync_low_term(&reset_sync_low_term_built)?;
15113 self.push(
15114 ASTType::ResetSyncLowTerm(reset_sync_low_term_built),
15115 context,
15116 );
15117 Ok(())
15118 }
15119
15120 #[parol_runtime::function_name::named]
15125 fn return_term(&mut self, return_term: &ParseTreeType<'t>) -> Result<()> {
15126 let context = function_name!();
15127 trace!("{}", self.trace_item_stack(context));
15128 let return_term = return_term
15129 .token()?
15130 .try_into()
15131 .map_err(parol_runtime::ParolError::UserError)?;
15132 let return_term_built = ReturnTerm { return_term };
15133 self.user_grammar.return_term(&return_term_built)?;
15135 self.push(ASTType::ReturnTerm(return_term_built), context);
15136 Ok(())
15137 }
15138
15139 #[parol_runtime::function_name::named]
15144 fn break_term(&mut self, break_term: &ParseTreeType<'t>) -> Result<()> {
15145 let context = function_name!();
15146 trace!("{}", self.trace_item_stack(context));
15147 let break_term = break_term
15148 .token()?
15149 .try_into()
15150 .map_err(parol_runtime::ParolError::UserError)?;
15151 let break_term_built = BreakTerm { break_term };
15152 self.user_grammar.break_term(&break_term_built)?;
15154 self.push(ASTType::BreakTerm(break_term_built), context);
15155 Ok(())
15156 }
15157
15158 #[parol_runtime::function_name::named]
15163 fn signed_term(&mut self, signed_term: &ParseTreeType<'t>) -> Result<()> {
15164 let context = function_name!();
15165 trace!("{}", self.trace_item_stack(context));
15166 let signed_term = signed_term
15167 .token()?
15168 .try_into()
15169 .map_err(parol_runtime::ParolError::UserError)?;
15170 let signed_term_built = SignedTerm { signed_term };
15171 self.user_grammar.signed_term(&signed_term_built)?;
15173 self.push(ASTType::SignedTerm(signed_term_built), context);
15174 Ok(())
15175 }
15176
15177 #[parol_runtime::function_name::named]
15182 fn step_term(&mut self, step_term: &ParseTreeType<'t>) -> Result<()> {
15183 let context = function_name!();
15184 trace!("{}", self.trace_item_stack(context));
15185 let step_term = step_term
15186 .token()?
15187 .try_into()
15188 .map_err(parol_runtime::ParolError::UserError)?;
15189 let step_term_built = StepTerm { step_term };
15190 self.user_grammar.step_term(&step_term_built)?;
15192 self.push(ASTType::StepTerm(step_term_built), context);
15193 Ok(())
15194 }
15195
15196 #[parol_runtime::function_name::named]
15201 fn string_term(&mut self, string_term: &ParseTreeType<'t>) -> Result<()> {
15202 let context = function_name!();
15203 trace!("{}", self.trace_item_stack(context));
15204 let string_term = string_term
15205 .token()?
15206 .try_into()
15207 .map_err(parol_runtime::ParolError::UserError)?;
15208 let string_term_built = StringTerm { string_term };
15209 self.user_grammar.string_term(&string_term_built)?;
15211 self.push(ASTType::StringTerm(string_term_built), context);
15212 Ok(())
15213 }
15214
15215 #[parol_runtime::function_name::named]
15220 fn struct_term(&mut self, struct_term: &ParseTreeType<'t>) -> Result<()> {
15221 let context = function_name!();
15222 trace!("{}", self.trace_item_stack(context));
15223 let struct_term = struct_term
15224 .token()?
15225 .try_into()
15226 .map_err(parol_runtime::ParolError::UserError)?;
15227 let struct_term_built = StructTerm { struct_term };
15228 self.user_grammar.struct_term(&struct_term_built)?;
15230 self.push(ASTType::StructTerm(struct_term_built), context);
15231 Ok(())
15232 }
15233
15234 #[parol_runtime::function_name::named]
15239 fn switch_term(&mut self, switch_term: &ParseTreeType<'t>) -> Result<()> {
15240 let context = function_name!();
15241 trace!("{}", self.trace_item_stack(context));
15242 let switch_term = switch_term
15243 .token()?
15244 .try_into()
15245 .map_err(parol_runtime::ParolError::UserError)?;
15246 let switch_term_built = SwitchTerm { switch_term };
15247 self.user_grammar.switch_term(&switch_term_built)?;
15249 self.push(ASTType::SwitchTerm(switch_term_built), context);
15250 Ok(())
15251 }
15252
15253 #[parol_runtime::function_name::named]
15258 fn tri_term(&mut self, tri_term: &ParseTreeType<'t>) -> Result<()> {
15259 let context = function_name!();
15260 trace!("{}", self.trace_item_stack(context));
15261 let tri_term = tri_term
15262 .token()?
15263 .try_into()
15264 .map_err(parol_runtime::ParolError::UserError)?;
15265 let tri_term_built = TriTerm { tri_term };
15266 self.user_grammar.tri_term(&tri_term_built)?;
15268 self.push(ASTType::TriTerm(tri_term_built), context);
15269 Ok(())
15270 }
15271
15272 #[parol_runtime::function_name::named]
15277 fn type_term(&mut self, type_term: &ParseTreeType<'t>) -> Result<()> {
15278 let context = function_name!();
15279 trace!("{}", self.trace_item_stack(context));
15280 let type_term = type_term
15281 .token()?
15282 .try_into()
15283 .map_err(parol_runtime::ParolError::UserError)?;
15284 let type_term_built = TypeTerm { type_term };
15285 self.user_grammar.type_term(&type_term_built)?;
15287 self.push(ASTType::TypeTerm(type_term_built), context);
15288 Ok(())
15289 }
15290
15291 #[parol_runtime::function_name::named]
15296 fn u32_term(&mut self, u32_term: &ParseTreeType<'t>) -> Result<()> {
15297 let context = function_name!();
15298 trace!("{}", self.trace_item_stack(context));
15299 let u32_term = u32_term
15300 .token()?
15301 .try_into()
15302 .map_err(parol_runtime::ParolError::UserError)?;
15303 let u32_term_built = U32Term { u32_term };
15304 self.user_grammar.u32_term(&u32_term_built)?;
15306 self.push(ASTType::U32Term(u32_term_built), context);
15307 Ok(())
15308 }
15309
15310 #[parol_runtime::function_name::named]
15315 fn u64_term(&mut self, u64_term: &ParseTreeType<'t>) -> Result<()> {
15316 let context = function_name!();
15317 trace!("{}", self.trace_item_stack(context));
15318 let u64_term = u64_term
15319 .token()?
15320 .try_into()
15321 .map_err(parol_runtime::ParolError::UserError)?;
15322 let u64_term_built = U64Term { u64_term };
15323 self.user_grammar.u64_term(&u64_term_built)?;
15325 self.push(ASTType::U64Term(u64_term_built), context);
15326 Ok(())
15327 }
15328
15329 #[parol_runtime::function_name::named]
15334 fn union_term(&mut self, union_term: &ParseTreeType<'t>) -> Result<()> {
15335 let context = function_name!();
15336 trace!("{}", self.trace_item_stack(context));
15337 let union_term = union_term
15338 .token()?
15339 .try_into()
15340 .map_err(parol_runtime::ParolError::UserError)?;
15341 let union_term_built = UnionTerm { union_term };
15342 self.user_grammar.union_term(&union_term_built)?;
15344 self.push(ASTType::UnionTerm(union_term_built), context);
15345 Ok(())
15346 }
15347
15348 #[parol_runtime::function_name::named]
15353 fn unsafe_term(&mut self, unsafe_term: &ParseTreeType<'t>) -> Result<()> {
15354 let context = function_name!();
15355 trace!("{}", self.trace_item_stack(context));
15356 let unsafe_term = unsafe_term
15357 .token()?
15358 .try_into()
15359 .map_err(parol_runtime::ParolError::UserError)?;
15360 let unsafe_term_built = UnsafeTerm { unsafe_term };
15361 self.user_grammar.unsafe_term(&unsafe_term_built)?;
15363 self.push(ASTType::UnsafeTerm(unsafe_term_built), context);
15364 Ok(())
15365 }
15366
15367 #[parol_runtime::function_name::named]
15372 fn var_term(&mut self, var_term: &ParseTreeType<'t>) -> Result<()> {
15373 let context = function_name!();
15374 trace!("{}", self.trace_item_stack(context));
15375 let var_term = var_term
15376 .token()?
15377 .try_into()
15378 .map_err(parol_runtime::ParolError::UserError)?;
15379 let var_term_built = VarTerm { var_term };
15380 self.user_grammar.var_term(&var_term_built)?;
15382 self.push(ASTType::VarTerm(var_term_built), context);
15383 Ok(())
15384 }
15385
15386 #[parol_runtime::function_name::named]
15391 fn dollar_identifier_term(&mut self, dollar_identifier_term: &ParseTreeType<'t>) -> Result<()> {
15392 let context = function_name!();
15393 trace!("{}", self.trace_item_stack(context));
15394 let dollar_identifier_term = dollar_identifier_term
15395 .token()?
15396 .try_into()
15397 .map_err(parol_runtime::ParolError::UserError)?;
15398 let dollar_identifier_term_built = DollarIdentifierTerm {
15399 dollar_identifier_term,
15400 };
15401 self.user_grammar
15403 .dollar_identifier_term(&dollar_identifier_term_built)?;
15404 self.push(
15405 ASTType::DollarIdentifierTerm(dollar_identifier_term_built),
15406 context,
15407 );
15408 Ok(())
15409 }
15410
15411 #[parol_runtime::function_name::named]
15416 fn identifier_term(&mut self, identifier_term: &ParseTreeType<'t>) -> Result<()> {
15417 let context = function_name!();
15418 trace!("{}", self.trace_item_stack(context));
15419 let identifier_term = identifier_term
15420 .token()?
15421 .try_into()
15422 .map_err(parol_runtime::ParolError::UserError)?;
15423 let identifier_term_built = IdentifierTerm { identifier_term };
15424 self.user_grammar.identifier_term(&identifier_term_built)?;
15426 self.push(ASTType::IdentifierTerm(identifier_term_built), context);
15427 Ok(())
15428 }
15429
15430 #[parol_runtime::function_name::named]
15435 fn any_term(&mut self, any_term: &ParseTreeType<'t>) -> Result<()> {
15436 let context = function_name!();
15437 trace!("{}", self.trace_item_stack(context));
15438 let any_term = any_term
15439 .token()?
15440 .try_into()
15441 .map_err(parol_runtime::ParolError::UserError)?;
15442 let any_term_built = AnyTerm { any_term };
15443 self.user_grammar.any_term(&any_term_built)?;
15445 self.push(ASTType::AnyTerm(any_term_built), context);
15446 Ok(())
15447 }
15448
15449 #[parol_runtime::function_name::named]
15454 fn comments(&mut self, _comments_opt: &ParseTreeType<'t>) -> Result<()> {
15455 let context = function_name!();
15456 trace!("{}", self.trace_item_stack(context));
15457 let comments_opt = pop_item!(self, comments_opt, CommentsOpt, context);
15458 let comments_built = Comments { comments_opt };
15459 self.user_grammar.comments(&comments_built)?;
15461 self.push(ASTType::Comments(comments_built), context);
15462 Ok(())
15463 }
15464
15465 #[parol_runtime::function_name::named]
15470 fn comments_opt_0(&mut self, _comments_term: &ParseTreeType<'t>) -> Result<()> {
15471 let context = function_name!();
15472 trace!("{}", self.trace_item_stack(context));
15473 let comments_term = pop_item!(self, comments_term, CommentsTerm, context);
15474 let comments_opt_0_built = CommentsOpt {
15475 comments_term: Box::new(comments_term),
15476 };
15477 self.push(ASTType::CommentsOpt(Some(comments_opt_0_built)), context);
15478 Ok(())
15479 }
15480
15481 #[parol_runtime::function_name::named]
15486 fn comments_opt_1(&mut self) -> Result<()> {
15487 let context = function_name!();
15488 trace!("{}", self.trace_item_stack(context));
15489 self.push(ASTType::CommentsOpt(None), context);
15490 Ok(())
15491 }
15492
15493 #[parol_runtime::function_name::named]
15498 fn start_token(&mut self, _comments: &ParseTreeType<'t>) -> Result<()> {
15499 let context = function_name!();
15500 trace!("{}", self.trace_item_stack(context));
15501 let comments = pop_item!(self, comments, Comments, context);
15502 let start_token_built = StartToken {
15503 comments: Box::new(comments),
15504 };
15505 self.user_grammar.start_token(&start_token_built)?;
15507 self.push(ASTType::StartToken(start_token_built), context);
15508 Ok(())
15509 }
15510
15511 #[parol_runtime::function_name::named]
15516 fn string_literal_token(
15517 &mut self,
15518 _string_literal_term: &ParseTreeType<'t>,
15519 _comments: &ParseTreeType<'t>,
15520 ) -> Result<()> {
15521 let context = function_name!();
15522 trace!("{}", self.trace_item_stack(context));
15523 let comments = pop_item!(self, comments, Comments, context);
15524 let string_literal_term = pop_item!(self, string_literal_term, StringLiteralTerm, context);
15525 let string_literal_token_built = StringLiteralToken {
15526 string_literal_term: (&string_literal_term)
15527 .try_into()
15528 .map_err(parol_runtime::ParolError::UserError)?,
15529 comments: Box::new(comments),
15530 };
15531 self.user_grammar
15533 .string_literal_token(&string_literal_token_built)?;
15534 self.push(
15535 ASTType::StringLiteralToken(string_literal_token_built),
15536 context,
15537 );
15538 Ok(())
15539 }
15540
15541 #[parol_runtime::function_name::named]
15546 fn exponent_token(
15547 &mut self,
15548 _exponent_term: &ParseTreeType<'t>,
15549 _comments: &ParseTreeType<'t>,
15550 ) -> Result<()> {
15551 let context = function_name!();
15552 trace!("{}", self.trace_item_stack(context));
15553 let comments = pop_item!(self, comments, Comments, context);
15554 let exponent_term = pop_item!(self, exponent_term, ExponentTerm, context);
15555 let exponent_token_built = ExponentToken {
15556 exponent_term: (&exponent_term)
15557 .try_into()
15558 .map_err(parol_runtime::ParolError::UserError)?,
15559 comments: Box::new(comments),
15560 };
15561 self.user_grammar.exponent_token(&exponent_token_built)?;
15563 self.push(ASTType::ExponentToken(exponent_token_built), context);
15564 Ok(())
15565 }
15566
15567 #[parol_runtime::function_name::named]
15572 fn fixed_point_token(
15573 &mut self,
15574 _fixed_point_term: &ParseTreeType<'t>,
15575 _comments: &ParseTreeType<'t>,
15576 ) -> Result<()> {
15577 let context = function_name!();
15578 trace!("{}", self.trace_item_stack(context));
15579 let comments = pop_item!(self, comments, Comments, context);
15580 let fixed_point_term = pop_item!(self, fixed_point_term, FixedPointTerm, context);
15581 let fixed_point_token_built = FixedPointToken {
15582 fixed_point_term: (&fixed_point_term)
15583 .try_into()
15584 .map_err(parol_runtime::ParolError::UserError)?,
15585 comments: Box::new(comments),
15586 };
15587 self.user_grammar
15589 .fixed_point_token(&fixed_point_token_built)?;
15590 self.push(ASTType::FixedPointToken(fixed_point_token_built), context);
15591 Ok(())
15592 }
15593
15594 #[parol_runtime::function_name::named]
15599 fn based_token(
15600 &mut self,
15601 _based_term: &ParseTreeType<'t>,
15602 _comments: &ParseTreeType<'t>,
15603 ) -> Result<()> {
15604 let context = function_name!();
15605 trace!("{}", self.trace_item_stack(context));
15606 let comments = pop_item!(self, comments, Comments, context);
15607 let based_term = pop_item!(self, based_term, BasedTerm, context);
15608 let based_token_built = BasedToken {
15609 based_term: (&based_term)
15610 .try_into()
15611 .map_err(parol_runtime::ParolError::UserError)?,
15612 comments: Box::new(comments),
15613 };
15614 self.user_grammar.based_token(&based_token_built)?;
15616 self.push(ASTType::BasedToken(based_token_built), context);
15617 Ok(())
15618 }
15619
15620 #[parol_runtime::function_name::named]
15625 fn base_less_token(
15626 &mut self,
15627 _base_less_term: &ParseTreeType<'t>,
15628 _comments: &ParseTreeType<'t>,
15629 ) -> Result<()> {
15630 let context = function_name!();
15631 trace!("{}", self.trace_item_stack(context));
15632 let comments = pop_item!(self, comments, Comments, context);
15633 let base_less_term = pop_item!(self, base_less_term, BaseLessTerm, context);
15634 let base_less_token_built = BaseLessToken {
15635 base_less_term: (&base_less_term)
15636 .try_into()
15637 .map_err(parol_runtime::ParolError::UserError)?,
15638 comments: Box::new(comments),
15639 };
15640 self.user_grammar.base_less_token(&base_less_token_built)?;
15642 self.push(ASTType::BaseLessToken(base_less_token_built), context);
15643 Ok(())
15644 }
15645
15646 #[parol_runtime::function_name::named]
15651 fn all_bit_token(
15652 &mut self,
15653 _all_bit_term: &ParseTreeType<'t>,
15654 _comments: &ParseTreeType<'t>,
15655 ) -> Result<()> {
15656 let context = function_name!();
15657 trace!("{}", self.trace_item_stack(context));
15658 let comments = pop_item!(self, comments, Comments, context);
15659 let all_bit_term = pop_item!(self, all_bit_term, AllBitTerm, context);
15660 let all_bit_token_built = AllBitToken {
15661 all_bit_term: (&all_bit_term)
15662 .try_into()
15663 .map_err(parol_runtime::ParolError::UserError)?,
15664 comments: Box::new(comments),
15665 };
15666 self.user_grammar.all_bit_token(&all_bit_token_built)?;
15668 self.push(ASTType::AllBitToken(all_bit_token_built), context);
15669 Ok(())
15670 }
15671
15672 #[parol_runtime::function_name::named]
15677 fn assignment_operator_token(
15678 &mut self,
15679 _assignment_operator_term: &ParseTreeType<'t>,
15680 _comments: &ParseTreeType<'t>,
15681 ) -> Result<()> {
15682 let context = function_name!();
15683 trace!("{}", self.trace_item_stack(context));
15684 let comments = pop_item!(self, comments, Comments, context);
15685 let assignment_operator_term = pop_item!(
15686 self,
15687 assignment_operator_term,
15688 AssignmentOperatorTerm,
15689 context
15690 );
15691 let assignment_operator_token_built = AssignmentOperatorToken {
15692 assignment_operator_term: (&assignment_operator_term)
15693 .try_into()
15694 .map_err(parol_runtime::ParolError::UserError)?,
15695 comments: Box::new(comments),
15696 };
15697 self.user_grammar
15699 .assignment_operator_token(&assignment_operator_token_built)?;
15700 self.push(
15701 ASTType::AssignmentOperatorToken(assignment_operator_token_built),
15702 context,
15703 );
15704 Ok(())
15705 }
15706
15707 #[parol_runtime::function_name::named]
15712 fn operator01_token(
15713 &mut self,
15714 _operator01_term: &ParseTreeType<'t>,
15715 _comments: &ParseTreeType<'t>,
15716 ) -> Result<()> {
15717 let context = function_name!();
15718 trace!("{}", self.trace_item_stack(context));
15719 let comments = pop_item!(self, comments, Comments, context);
15720 let operator01_term = pop_item!(self, operator01_term, Operator01Term, context);
15721 let operator01_token_built = Operator01Token {
15722 operator01_term: (&operator01_term)
15723 .try_into()
15724 .map_err(parol_runtime::ParolError::UserError)?,
15725 comments: Box::new(comments),
15726 };
15727 self.user_grammar
15729 .operator01_token(&operator01_token_built)?;
15730 self.push(ASTType::Operator01Token(operator01_token_built), context);
15731 Ok(())
15732 }
15733
15734 #[parol_runtime::function_name::named]
15739 fn operator02_token(
15740 &mut self,
15741 _operator02_term: &ParseTreeType<'t>,
15742 _comments: &ParseTreeType<'t>,
15743 ) -> Result<()> {
15744 let context = function_name!();
15745 trace!("{}", self.trace_item_stack(context));
15746 let comments = pop_item!(self, comments, Comments, context);
15747 let operator02_term = pop_item!(self, operator02_term, Operator02Term, context);
15748 let operator02_token_built = Operator02Token {
15749 operator02_term: (&operator02_term)
15750 .try_into()
15751 .map_err(parol_runtime::ParolError::UserError)?,
15752 comments: Box::new(comments),
15753 };
15754 self.user_grammar
15756 .operator02_token(&operator02_token_built)?;
15757 self.push(ASTType::Operator02Token(operator02_token_built), context);
15758 Ok(())
15759 }
15760
15761 #[parol_runtime::function_name::named]
15766 fn operator03_token(
15767 &mut self,
15768 _operator03_term: &ParseTreeType<'t>,
15769 _comments: &ParseTreeType<'t>,
15770 ) -> Result<()> {
15771 let context = function_name!();
15772 trace!("{}", self.trace_item_stack(context));
15773 let comments = pop_item!(self, comments, Comments, context);
15774 let operator03_term = pop_item!(self, operator03_term, Operator03Term, context);
15775 let operator03_token_built = Operator03Token {
15776 operator03_term: (&operator03_term)
15777 .try_into()
15778 .map_err(parol_runtime::ParolError::UserError)?,
15779 comments: Box::new(comments),
15780 };
15781 self.user_grammar
15783 .operator03_token(&operator03_token_built)?;
15784 self.push(ASTType::Operator03Token(operator03_token_built), context);
15785 Ok(())
15786 }
15787
15788 #[parol_runtime::function_name::named]
15793 fn operator04_token(
15794 &mut self,
15795 _operator04_term: &ParseTreeType<'t>,
15796 _comments: &ParseTreeType<'t>,
15797 ) -> Result<()> {
15798 let context = function_name!();
15799 trace!("{}", self.trace_item_stack(context));
15800 let comments = pop_item!(self, comments, Comments, context);
15801 let operator04_term = pop_item!(self, operator04_term, Operator04Term, context);
15802 let operator04_token_built = Operator04Token {
15803 operator04_term: (&operator04_term)
15804 .try_into()
15805 .map_err(parol_runtime::ParolError::UserError)?,
15806 comments: Box::new(comments),
15807 };
15808 self.user_grammar
15810 .operator04_token(&operator04_token_built)?;
15811 self.push(ASTType::Operator04Token(operator04_token_built), context);
15812 Ok(())
15813 }
15814
15815 #[parol_runtime::function_name::named]
15820 fn operator05_token(
15821 &mut self,
15822 _operator05_term: &ParseTreeType<'t>,
15823 _comments: &ParseTreeType<'t>,
15824 ) -> Result<()> {
15825 let context = function_name!();
15826 trace!("{}", self.trace_item_stack(context));
15827 let comments = pop_item!(self, comments, Comments, context);
15828 let operator05_term = pop_item!(self, operator05_term, Operator05Term, context);
15829 let operator05_token_built = Operator05Token {
15830 operator05_term: (&operator05_term)
15831 .try_into()
15832 .map_err(parol_runtime::ParolError::UserError)?,
15833 comments: Box::new(comments),
15834 };
15835 self.user_grammar
15837 .operator05_token(&operator05_token_built)?;
15838 self.push(ASTType::Operator05Token(operator05_token_built), context);
15839 Ok(())
15840 }
15841
15842 #[parol_runtime::function_name::named]
15847 fn operator06_token(
15848 &mut self,
15849 _operator06_term: &ParseTreeType<'t>,
15850 _comments: &ParseTreeType<'t>,
15851 ) -> Result<()> {
15852 let context = function_name!();
15853 trace!("{}", self.trace_item_stack(context));
15854 let comments = pop_item!(self, comments, Comments, context);
15855 let operator06_term = pop_item!(self, operator06_term, Operator06Term, context);
15856 let operator06_token_built = Operator06Token {
15857 operator06_term: (&operator06_term)
15858 .try_into()
15859 .map_err(parol_runtime::ParolError::UserError)?,
15860 comments: Box::new(comments),
15861 };
15862 self.user_grammar
15864 .operator06_token(&operator06_token_built)?;
15865 self.push(ASTType::Operator06Token(operator06_token_built), context);
15866 Ok(())
15867 }
15868
15869 #[parol_runtime::function_name::named]
15874 fn operator07_token(
15875 &mut self,
15876 _operator07_term: &ParseTreeType<'t>,
15877 _comments: &ParseTreeType<'t>,
15878 ) -> Result<()> {
15879 let context = function_name!();
15880 trace!("{}", self.trace_item_stack(context));
15881 let comments = pop_item!(self, comments, Comments, context);
15882 let operator07_term = pop_item!(self, operator07_term, Operator07Term, context);
15883 let operator07_token_built = Operator07Token {
15884 operator07_term: (&operator07_term)
15885 .try_into()
15886 .map_err(parol_runtime::ParolError::UserError)?,
15887 comments: Box::new(comments),
15888 };
15889 self.user_grammar
15891 .operator07_token(&operator07_token_built)?;
15892 self.push(ASTType::Operator07Token(operator07_token_built), context);
15893 Ok(())
15894 }
15895
15896 #[parol_runtime::function_name::named]
15901 fn operator08_token(
15902 &mut self,
15903 _operator08_term: &ParseTreeType<'t>,
15904 _comments: &ParseTreeType<'t>,
15905 ) -> Result<()> {
15906 let context = function_name!();
15907 trace!("{}", self.trace_item_stack(context));
15908 let comments = pop_item!(self, comments, Comments, context);
15909 let operator08_term = pop_item!(self, operator08_term, Operator08Term, context);
15910 let operator08_token_built = Operator08Token {
15911 operator08_term: (&operator08_term)
15912 .try_into()
15913 .map_err(parol_runtime::ParolError::UserError)?,
15914 comments: Box::new(comments),
15915 };
15916 self.user_grammar
15918 .operator08_token(&operator08_token_built)?;
15919 self.push(ASTType::Operator08Token(operator08_token_built), context);
15920 Ok(())
15921 }
15922
15923 #[parol_runtime::function_name::named]
15928 fn operator09_token(
15929 &mut self,
15930 _operator09_term: &ParseTreeType<'t>,
15931 _comments: &ParseTreeType<'t>,
15932 ) -> Result<()> {
15933 let context = function_name!();
15934 trace!("{}", self.trace_item_stack(context));
15935 let comments = pop_item!(self, comments, Comments, context);
15936 let operator09_term = pop_item!(self, operator09_term, Operator09Term, context);
15937 let operator09_token_built = Operator09Token {
15938 operator09_term: (&operator09_term)
15939 .try_into()
15940 .map_err(parol_runtime::ParolError::UserError)?,
15941 comments: Box::new(comments),
15942 };
15943 self.user_grammar
15945 .operator09_token(&operator09_token_built)?;
15946 self.push(ASTType::Operator09Token(operator09_token_built), context);
15947 Ok(())
15948 }
15949
15950 #[parol_runtime::function_name::named]
15955 fn operator10_token(
15956 &mut self,
15957 _operator10_term: &ParseTreeType<'t>,
15958 _comments: &ParseTreeType<'t>,
15959 ) -> Result<()> {
15960 let context = function_name!();
15961 trace!("{}", self.trace_item_stack(context));
15962 let comments = pop_item!(self, comments, Comments, context);
15963 let operator10_term = pop_item!(self, operator10_term, Operator10Term, context);
15964 let operator10_token_built = Operator10Token {
15965 operator10_term: (&operator10_term)
15966 .try_into()
15967 .map_err(parol_runtime::ParolError::UserError)?,
15968 comments: Box::new(comments),
15969 };
15970 self.user_grammar
15972 .operator10_token(&operator10_token_built)?;
15973 self.push(ASTType::Operator10Token(operator10_token_built), context);
15974 Ok(())
15975 }
15976
15977 #[parol_runtime::function_name::named]
15982 fn operator11_token(
15983 &mut self,
15984 _operator11_term: &ParseTreeType<'t>,
15985 _comments: &ParseTreeType<'t>,
15986 ) -> Result<()> {
15987 let context = function_name!();
15988 trace!("{}", self.trace_item_stack(context));
15989 let comments = pop_item!(self, comments, Comments, context);
15990 let operator11_term = pop_item!(self, operator11_term, Operator11Term, context);
15991 let operator11_token_built = Operator11Token {
15992 operator11_term: (&operator11_term)
15993 .try_into()
15994 .map_err(parol_runtime::ParolError::UserError)?,
15995 comments: Box::new(comments),
15996 };
15997 self.user_grammar
15999 .operator11_token(&operator11_token_built)?;
16000 self.push(ASTType::Operator11Token(operator11_token_built), context);
16001 Ok(())
16002 }
16003
16004 #[parol_runtime::function_name::named]
16009 fn unary_operator_token(
16010 &mut self,
16011 _unary_operator_term: &ParseTreeType<'t>,
16012 _comments: &ParseTreeType<'t>,
16013 ) -> Result<()> {
16014 let context = function_name!();
16015 trace!("{}", self.trace_item_stack(context));
16016 let comments = pop_item!(self, comments, Comments, context);
16017 let unary_operator_term = pop_item!(self, unary_operator_term, UnaryOperatorTerm, context);
16018 let unary_operator_token_built = UnaryOperatorToken {
16019 unary_operator_term: (&unary_operator_term)
16020 .try_into()
16021 .map_err(parol_runtime::ParolError::UserError)?,
16022 comments: Box::new(comments),
16023 };
16024 self.user_grammar
16026 .unary_operator_token(&unary_operator_token_built)?;
16027 self.push(
16028 ASTType::UnaryOperatorToken(unary_operator_token_built),
16029 context,
16030 );
16031 Ok(())
16032 }
16033
16034 #[parol_runtime::function_name::named]
16039 fn back_quote_token(
16040 &mut self,
16041 _back_quote_term: &ParseTreeType<'t>,
16042 _comments: &ParseTreeType<'t>,
16043 ) -> Result<()> {
16044 let context = function_name!();
16045 trace!("{}", self.trace_item_stack(context));
16046 let comments = pop_item!(self, comments, Comments, context);
16047 let back_quote_term = pop_item!(self, back_quote_term, BackQuoteTerm, context);
16048 let back_quote_token_built = BackQuoteToken {
16049 back_quote_term: (&back_quote_term)
16050 .try_into()
16051 .map_err(parol_runtime::ParolError::UserError)?,
16052 comments: Box::new(comments),
16053 };
16054 self.user_grammar
16056 .back_quote_token(&back_quote_token_built)?;
16057 self.push(ASTType::BackQuoteToken(back_quote_token_built), context);
16058 Ok(())
16059 }
16060
16061 #[parol_runtime::function_name::named]
16066 fn colon_token(
16067 &mut self,
16068 _colon_term: &ParseTreeType<'t>,
16069 _comments: &ParseTreeType<'t>,
16070 ) -> Result<()> {
16071 let context = function_name!();
16072 trace!("{}", self.trace_item_stack(context));
16073 let comments = pop_item!(self, comments, Comments, context);
16074 let colon_term = pop_item!(self, colon_term, ColonTerm, context);
16075 let colon_token_built = ColonToken {
16076 colon_term: (&colon_term)
16077 .try_into()
16078 .map_err(parol_runtime::ParolError::UserError)?,
16079 comments: Box::new(comments),
16080 };
16081 self.user_grammar.colon_token(&colon_token_built)?;
16083 self.push(ASTType::ColonToken(colon_token_built), context);
16084 Ok(())
16085 }
16086
16087 #[parol_runtime::function_name::named]
16092 fn colon_colon_l_angle_token(
16093 &mut self,
16094 _colon_colon_l_angle_term: &ParseTreeType<'t>,
16095 _comments: &ParseTreeType<'t>,
16096 ) -> Result<()> {
16097 let context = function_name!();
16098 trace!("{}", self.trace_item_stack(context));
16099 let comments = pop_item!(self, comments, Comments, context);
16100 let colon_colon_l_angle_term = pop_item!(
16101 self,
16102 colon_colon_l_angle_term,
16103 ColonColonLAngleTerm,
16104 context
16105 );
16106 let colon_colon_l_angle_token_built = ColonColonLAngleToken {
16107 colon_colon_l_angle_term: (&colon_colon_l_angle_term)
16108 .try_into()
16109 .map_err(parol_runtime::ParolError::UserError)?,
16110 comments: Box::new(comments),
16111 };
16112 self.user_grammar
16114 .colon_colon_l_angle_token(&colon_colon_l_angle_token_built)?;
16115 self.push(
16116 ASTType::ColonColonLAngleToken(colon_colon_l_angle_token_built),
16117 context,
16118 );
16119 Ok(())
16120 }
16121
16122 #[parol_runtime::function_name::named]
16127 fn colon_colon_token(
16128 &mut self,
16129 _colon_colon_term: &ParseTreeType<'t>,
16130 _comments: &ParseTreeType<'t>,
16131 ) -> Result<()> {
16132 let context = function_name!();
16133 trace!("{}", self.trace_item_stack(context));
16134 let comments = pop_item!(self, comments, Comments, context);
16135 let colon_colon_term = pop_item!(self, colon_colon_term, ColonColonTerm, context);
16136 let colon_colon_token_built = ColonColonToken {
16137 colon_colon_term: (&colon_colon_term)
16138 .try_into()
16139 .map_err(parol_runtime::ParolError::UserError)?,
16140 comments: Box::new(comments),
16141 };
16142 self.user_grammar
16144 .colon_colon_token(&colon_colon_token_built)?;
16145 self.push(ASTType::ColonColonToken(colon_colon_token_built), context);
16146 Ok(())
16147 }
16148
16149 #[parol_runtime::function_name::named]
16154 fn comma_token(
16155 &mut self,
16156 _comma_term: &ParseTreeType<'t>,
16157 _comments: &ParseTreeType<'t>,
16158 ) -> Result<()> {
16159 let context = function_name!();
16160 trace!("{}", self.trace_item_stack(context));
16161 let comments = pop_item!(self, comments, Comments, context);
16162 let comma_term = pop_item!(self, comma_term, CommaTerm, context);
16163 let comma_token_built = CommaToken {
16164 comma_term: (&comma_term)
16165 .try_into()
16166 .map_err(parol_runtime::ParolError::UserError)?,
16167 comments: Box::new(comments),
16168 };
16169 self.user_grammar.comma_token(&comma_token_built)?;
16171 self.push(ASTType::CommaToken(comma_token_built), context);
16172 Ok(())
16173 }
16174
16175 #[parol_runtime::function_name::named]
16180 fn dot_dot_token(
16181 &mut self,
16182 _dot_dot_term: &ParseTreeType<'t>,
16183 _comments: &ParseTreeType<'t>,
16184 ) -> Result<()> {
16185 let context = function_name!();
16186 trace!("{}", self.trace_item_stack(context));
16187 let comments = pop_item!(self, comments, Comments, context);
16188 let dot_dot_term = pop_item!(self, dot_dot_term, DotDotTerm, context);
16189 let dot_dot_token_built = DotDotToken {
16190 dot_dot_term: (&dot_dot_term)
16191 .try_into()
16192 .map_err(parol_runtime::ParolError::UserError)?,
16193 comments: Box::new(comments),
16194 };
16195 self.user_grammar.dot_dot_token(&dot_dot_token_built)?;
16197 self.push(ASTType::DotDotToken(dot_dot_token_built), context);
16198 Ok(())
16199 }
16200
16201 #[parol_runtime::function_name::named]
16206 fn dot_dot_equ_token(
16207 &mut self,
16208 _dot_dot_equ_term: &ParseTreeType<'t>,
16209 _comments: &ParseTreeType<'t>,
16210 ) -> Result<()> {
16211 let context = function_name!();
16212 trace!("{}", self.trace_item_stack(context));
16213 let comments = pop_item!(self, comments, Comments, context);
16214 let dot_dot_equ_term = pop_item!(self, dot_dot_equ_term, DotDotEquTerm, context);
16215 let dot_dot_equ_token_built = DotDotEquToken {
16216 dot_dot_equ_term: (&dot_dot_equ_term)
16217 .try_into()
16218 .map_err(parol_runtime::ParolError::UserError)?,
16219 comments: Box::new(comments),
16220 };
16221 self.user_grammar
16223 .dot_dot_equ_token(&dot_dot_equ_token_built)?;
16224 self.push(ASTType::DotDotEquToken(dot_dot_equ_token_built), context);
16225 Ok(())
16226 }
16227
16228 #[parol_runtime::function_name::named]
16233 fn dot_token(
16234 &mut self,
16235 _dot_term: &ParseTreeType<'t>,
16236 _comments: &ParseTreeType<'t>,
16237 ) -> Result<()> {
16238 let context = function_name!();
16239 trace!("{}", self.trace_item_stack(context));
16240 let comments = pop_item!(self, comments, Comments, context);
16241 let dot_term = pop_item!(self, dot_term, DotTerm, context);
16242 let dot_token_built = DotToken {
16243 dot_term: (&dot_term)
16244 .try_into()
16245 .map_err(parol_runtime::ParolError::UserError)?,
16246 comments: Box::new(comments),
16247 };
16248 self.user_grammar.dot_token(&dot_token_built)?;
16250 self.push(ASTType::DotToken(dot_token_built), context);
16251 Ok(())
16252 }
16253
16254 #[parol_runtime::function_name::named]
16259 fn equ_token(
16260 &mut self,
16261 _equ_term: &ParseTreeType<'t>,
16262 _comments: &ParseTreeType<'t>,
16263 ) -> Result<()> {
16264 let context = function_name!();
16265 trace!("{}", self.trace_item_stack(context));
16266 let comments = pop_item!(self, comments, Comments, context);
16267 let equ_term = pop_item!(self, equ_term, EquTerm, context);
16268 let equ_token_built = EquToken {
16269 equ_term: (&equ_term)
16270 .try_into()
16271 .map_err(parol_runtime::ParolError::UserError)?,
16272 comments: Box::new(comments),
16273 };
16274 self.user_grammar.equ_token(&equ_token_built)?;
16276 self.push(ASTType::EquToken(equ_token_built), context);
16277 Ok(())
16278 }
16279
16280 #[parol_runtime::function_name::named]
16285 fn hash_token(
16286 &mut self,
16287 _hash_term: &ParseTreeType<'t>,
16288 _comments: &ParseTreeType<'t>,
16289 ) -> Result<()> {
16290 let context = function_name!();
16291 trace!("{}", self.trace_item_stack(context));
16292 let comments = pop_item!(self, comments, Comments, context);
16293 let hash_term = pop_item!(self, hash_term, HashTerm, context);
16294 let hash_token_built = HashToken {
16295 hash_term: (&hash_term)
16296 .try_into()
16297 .map_err(parol_runtime::ParolError::UserError)?,
16298 comments: Box::new(comments),
16299 };
16300 self.user_grammar.hash_token(&hash_token_built)?;
16302 self.push(ASTType::HashToken(hash_token_built), context);
16303 Ok(())
16304 }
16305
16306 #[parol_runtime::function_name::named]
16311 fn quote_l_brace_token(
16312 &mut self,
16313 _quote_l_brace_term: &ParseTreeType<'t>,
16314 _comments: &ParseTreeType<'t>,
16315 ) -> Result<()> {
16316 let context = function_name!();
16317 trace!("{}", self.trace_item_stack(context));
16318 let comments = pop_item!(self, comments, Comments, context);
16319 let quote_l_brace_term = pop_item!(self, quote_l_brace_term, QuoteLBraceTerm, context);
16320 let quote_l_brace_token_built = QuoteLBraceToken {
16321 quote_l_brace_term: ("e_l_brace_term)
16322 .try_into()
16323 .map_err(parol_runtime::ParolError::UserError)?,
16324 comments: Box::new(comments),
16325 };
16326 self.user_grammar
16328 .quote_l_brace_token("e_l_brace_token_built)?;
16329 self.push(
16330 ASTType::QuoteLBraceToken(quote_l_brace_token_built),
16331 context,
16332 );
16333 Ok(())
16334 }
16335
16336 #[parol_runtime::function_name::named]
16341 fn l_angle_token(
16342 &mut self,
16343 _l_angle_term: &ParseTreeType<'t>,
16344 _comments: &ParseTreeType<'t>,
16345 ) -> Result<()> {
16346 let context = function_name!();
16347 trace!("{}", self.trace_item_stack(context));
16348 let comments = pop_item!(self, comments, Comments, context);
16349 let l_angle_term = pop_item!(self, l_angle_term, LAngleTerm, context);
16350 let l_angle_token_built = LAngleToken {
16351 l_angle_term: (&l_angle_term)
16352 .try_into()
16353 .map_err(parol_runtime::ParolError::UserError)?,
16354 comments: Box::new(comments),
16355 };
16356 self.user_grammar.l_angle_token(&l_angle_token_built)?;
16358 self.push(ASTType::LAngleToken(l_angle_token_built), context);
16359 Ok(())
16360 }
16361
16362 #[parol_runtime::function_name::named]
16367 fn l_brace_token(
16368 &mut self,
16369 _l_brace_term: &ParseTreeType<'t>,
16370 _comments: &ParseTreeType<'t>,
16371 ) -> Result<()> {
16372 let context = function_name!();
16373 trace!("{}", self.trace_item_stack(context));
16374 let comments = pop_item!(self, comments, Comments, context);
16375 let l_brace_term = pop_item!(self, l_brace_term, LBraceTerm, context);
16376 let l_brace_token_built = LBraceToken {
16377 l_brace_term: (&l_brace_term)
16378 .try_into()
16379 .map_err(parol_runtime::ParolError::UserError)?,
16380 comments: Box::new(comments),
16381 };
16382 self.user_grammar.l_brace_token(&l_brace_token_built)?;
16384 self.push(ASTType::LBraceToken(l_brace_token_built), context);
16385 Ok(())
16386 }
16387
16388 #[parol_runtime::function_name::named]
16393 fn l_bracket_token(
16394 &mut self,
16395 _l_bracket_term: &ParseTreeType<'t>,
16396 _comments: &ParseTreeType<'t>,
16397 ) -> Result<()> {
16398 let context = function_name!();
16399 trace!("{}", self.trace_item_stack(context));
16400 let comments = pop_item!(self, comments, Comments, context);
16401 let l_bracket_term = pop_item!(self, l_bracket_term, LBracketTerm, context);
16402 let l_bracket_token_built = LBracketToken {
16403 l_bracket_term: (&l_bracket_term)
16404 .try_into()
16405 .map_err(parol_runtime::ParolError::UserError)?,
16406 comments: Box::new(comments),
16407 };
16408 self.user_grammar.l_bracket_token(&l_bracket_token_built)?;
16410 self.push(ASTType::LBracketToken(l_bracket_token_built), context);
16411 Ok(())
16412 }
16413
16414 #[parol_runtime::function_name::named]
16419 fn l_paren_token(
16420 &mut self,
16421 _l_paren_term: &ParseTreeType<'t>,
16422 _comments: &ParseTreeType<'t>,
16423 ) -> Result<()> {
16424 let context = function_name!();
16425 trace!("{}", self.trace_item_stack(context));
16426 let comments = pop_item!(self, comments, Comments, context);
16427 let l_paren_term = pop_item!(self, l_paren_term, LParenTerm, context);
16428 let l_paren_token_built = LParenToken {
16429 l_paren_term: (&l_paren_term)
16430 .try_into()
16431 .map_err(parol_runtime::ParolError::UserError)?,
16432 comments: Box::new(comments),
16433 };
16434 self.user_grammar.l_paren_token(&l_paren_token_built)?;
16436 self.push(ASTType::LParenToken(l_paren_token_built), context);
16437 Ok(())
16438 }
16439
16440 #[parol_runtime::function_name::named]
16445 fn minus_colon_token(
16446 &mut self,
16447 _minus_colon_term: &ParseTreeType<'t>,
16448 _comments: &ParseTreeType<'t>,
16449 ) -> Result<()> {
16450 let context = function_name!();
16451 trace!("{}", self.trace_item_stack(context));
16452 let comments = pop_item!(self, comments, Comments, context);
16453 let minus_colon_term = pop_item!(self, minus_colon_term, MinusColonTerm, context);
16454 let minus_colon_token_built = MinusColonToken {
16455 minus_colon_term: (&minus_colon_term)
16456 .try_into()
16457 .map_err(parol_runtime::ParolError::UserError)?,
16458 comments: Box::new(comments),
16459 };
16460 self.user_grammar
16462 .minus_colon_token(&minus_colon_token_built)?;
16463 self.push(ASTType::MinusColonToken(minus_colon_token_built), context);
16464 Ok(())
16465 }
16466
16467 #[parol_runtime::function_name::named]
16472 fn minus_g_t_token(
16473 &mut self,
16474 _minus_g_t_term: &ParseTreeType<'t>,
16475 _comments: &ParseTreeType<'t>,
16476 ) -> Result<()> {
16477 let context = function_name!();
16478 trace!("{}", self.trace_item_stack(context));
16479 let comments = pop_item!(self, comments, Comments, context);
16480 let minus_g_t_term = pop_item!(self, minus_g_t_term, MinusGTTerm, context);
16481 let minus_g_t_token_built = MinusGTToken {
16482 minus_g_t_term: (&minus_g_t_term)
16483 .try_into()
16484 .map_err(parol_runtime::ParolError::UserError)?,
16485 comments: Box::new(comments),
16486 };
16487 self.user_grammar.minus_g_t_token(&minus_g_t_token_built)?;
16489 self.push(ASTType::MinusGTToken(minus_g_t_token_built), context);
16490 Ok(())
16491 }
16492
16493 #[parol_runtime::function_name::named]
16498 fn plus_colon_token(
16499 &mut self,
16500 _plus_colon_term: &ParseTreeType<'t>,
16501 _comments: &ParseTreeType<'t>,
16502 ) -> Result<()> {
16503 let context = function_name!();
16504 trace!("{}", self.trace_item_stack(context));
16505 let comments = pop_item!(self, comments, Comments, context);
16506 let plus_colon_term = pop_item!(self, plus_colon_term, PlusColonTerm, context);
16507 let plus_colon_token_built = PlusColonToken {
16508 plus_colon_term: (&plus_colon_term)
16509 .try_into()
16510 .map_err(parol_runtime::ParolError::UserError)?,
16511 comments: Box::new(comments),
16512 };
16513 self.user_grammar
16515 .plus_colon_token(&plus_colon_token_built)?;
16516 self.push(ASTType::PlusColonToken(plus_colon_token_built), context);
16517 Ok(())
16518 }
16519
16520 #[parol_runtime::function_name::named]
16525 fn r_angle_token(
16526 &mut self,
16527 _r_angle_term: &ParseTreeType<'t>,
16528 _comments: &ParseTreeType<'t>,
16529 ) -> Result<()> {
16530 let context = function_name!();
16531 trace!("{}", self.trace_item_stack(context));
16532 let comments = pop_item!(self, comments, Comments, context);
16533 let r_angle_term = pop_item!(self, r_angle_term, RAngleTerm, context);
16534 let r_angle_token_built = RAngleToken {
16535 r_angle_term: (&r_angle_term)
16536 .try_into()
16537 .map_err(parol_runtime::ParolError::UserError)?,
16538 comments: Box::new(comments),
16539 };
16540 self.user_grammar.r_angle_token(&r_angle_token_built)?;
16542 self.push(ASTType::RAngleToken(r_angle_token_built), context);
16543 Ok(())
16544 }
16545
16546 #[parol_runtime::function_name::named]
16551 fn r_brace_token(
16552 &mut self,
16553 _r_brace_term: &ParseTreeType<'t>,
16554 _comments: &ParseTreeType<'t>,
16555 ) -> Result<()> {
16556 let context = function_name!();
16557 trace!("{}", self.trace_item_stack(context));
16558 let comments = pop_item!(self, comments, Comments, context);
16559 let r_brace_term = pop_item!(self, r_brace_term, RBraceTerm, context);
16560 let r_brace_token_built = RBraceToken {
16561 r_brace_term: (&r_brace_term)
16562 .try_into()
16563 .map_err(parol_runtime::ParolError::UserError)?,
16564 comments: Box::new(comments),
16565 };
16566 self.user_grammar.r_brace_token(&r_brace_token_built)?;
16568 self.push(ASTType::RBraceToken(r_brace_token_built), context);
16569 Ok(())
16570 }
16571
16572 #[parol_runtime::function_name::named]
16577 fn r_bracket_token(
16578 &mut self,
16579 _r_bracket_term: &ParseTreeType<'t>,
16580 _comments: &ParseTreeType<'t>,
16581 ) -> Result<()> {
16582 let context = function_name!();
16583 trace!("{}", self.trace_item_stack(context));
16584 let comments = pop_item!(self, comments, Comments, context);
16585 let r_bracket_term = pop_item!(self, r_bracket_term, RBracketTerm, context);
16586 let r_bracket_token_built = RBracketToken {
16587 r_bracket_term: (&r_bracket_term)
16588 .try_into()
16589 .map_err(parol_runtime::ParolError::UserError)?,
16590 comments: Box::new(comments),
16591 };
16592 self.user_grammar.r_bracket_token(&r_bracket_token_built)?;
16594 self.push(ASTType::RBracketToken(r_bracket_token_built), context);
16595 Ok(())
16596 }
16597
16598 #[parol_runtime::function_name::named]
16603 fn r_paren_token(
16604 &mut self,
16605 _r_paren_term: &ParseTreeType<'t>,
16606 _comments: &ParseTreeType<'t>,
16607 ) -> Result<()> {
16608 let context = function_name!();
16609 trace!("{}", self.trace_item_stack(context));
16610 let comments = pop_item!(self, comments, Comments, context);
16611 let r_paren_term = pop_item!(self, r_paren_term, RParenTerm, context);
16612 let r_paren_token_built = RParenToken {
16613 r_paren_term: (&r_paren_term)
16614 .try_into()
16615 .map_err(parol_runtime::ParolError::UserError)?,
16616 comments: Box::new(comments),
16617 };
16618 self.user_grammar.r_paren_token(&r_paren_token_built)?;
16620 self.push(ASTType::RParenToken(r_paren_token_built), context);
16621 Ok(())
16622 }
16623
16624 #[parol_runtime::function_name::named]
16629 fn semicolon_token(
16630 &mut self,
16631 _semicolon_term: &ParseTreeType<'t>,
16632 _comments: &ParseTreeType<'t>,
16633 ) -> Result<()> {
16634 let context = function_name!();
16635 trace!("{}", self.trace_item_stack(context));
16636 let comments = pop_item!(self, comments, Comments, context);
16637 let semicolon_term = pop_item!(self, semicolon_term, SemicolonTerm, context);
16638 let semicolon_token_built = SemicolonToken {
16639 semicolon_term: (&semicolon_term)
16640 .try_into()
16641 .map_err(parol_runtime::ParolError::UserError)?,
16642 comments: Box::new(comments),
16643 };
16644 self.user_grammar.semicolon_token(&semicolon_token_built)?;
16646 self.push(ASTType::SemicolonToken(semicolon_token_built), context);
16647 Ok(())
16648 }
16649
16650 #[parol_runtime::function_name::named]
16655 fn star_token(
16656 &mut self,
16657 _star_term: &ParseTreeType<'t>,
16658 _comments: &ParseTreeType<'t>,
16659 ) -> Result<()> {
16660 let context = function_name!();
16661 trace!("{}", self.trace_item_stack(context));
16662 let comments = pop_item!(self, comments, Comments, context);
16663 let star_term = pop_item!(self, star_term, StarTerm, context);
16664 let star_token_built = StarToken {
16665 star_term: (&star_term)
16666 .try_into()
16667 .map_err(parol_runtime::ParolError::UserError)?,
16668 comments: Box::new(comments),
16669 };
16670 self.user_grammar.star_token(&star_token_built)?;
16672 self.push(ASTType::StarToken(star_token_built), context);
16673 Ok(())
16674 }
16675
16676 #[parol_runtime::function_name::named]
16681 fn always_comb_token(
16682 &mut self,
16683 _always_comb_term: &ParseTreeType<'t>,
16684 _comments: &ParseTreeType<'t>,
16685 ) -> Result<()> {
16686 let context = function_name!();
16687 trace!("{}", self.trace_item_stack(context));
16688 let comments = pop_item!(self, comments, Comments, context);
16689 let always_comb_term = pop_item!(self, always_comb_term, AlwaysCombTerm, context);
16690 let always_comb_token_built = AlwaysCombToken {
16691 always_comb_term: (&always_comb_term)
16692 .try_into()
16693 .map_err(parol_runtime::ParolError::UserError)?,
16694 comments: Box::new(comments),
16695 };
16696 self.user_grammar
16698 .always_comb_token(&always_comb_token_built)?;
16699 self.push(ASTType::AlwaysCombToken(always_comb_token_built), context);
16700 Ok(())
16701 }
16702
16703 #[parol_runtime::function_name::named]
16708 fn always_ff_token(
16709 &mut self,
16710 _always_ff_term: &ParseTreeType<'t>,
16711 _comments: &ParseTreeType<'t>,
16712 ) -> Result<()> {
16713 let context = function_name!();
16714 trace!("{}", self.trace_item_stack(context));
16715 let comments = pop_item!(self, comments, Comments, context);
16716 let always_ff_term = pop_item!(self, always_ff_term, AlwaysFfTerm, context);
16717 let always_ff_token_built = AlwaysFfToken {
16718 always_ff_term: (&always_ff_term)
16719 .try_into()
16720 .map_err(parol_runtime::ParolError::UserError)?,
16721 comments: Box::new(comments),
16722 };
16723 self.user_grammar.always_ff_token(&always_ff_token_built)?;
16725 self.push(ASTType::AlwaysFfToken(always_ff_token_built), context);
16726 Ok(())
16727 }
16728
16729 #[parol_runtime::function_name::named]
16734 fn as_token(
16735 &mut self,
16736 _as_term: &ParseTreeType<'t>,
16737 _comments: &ParseTreeType<'t>,
16738 ) -> Result<()> {
16739 let context = function_name!();
16740 trace!("{}", self.trace_item_stack(context));
16741 let comments = pop_item!(self, comments, Comments, context);
16742 let as_term = pop_item!(self, as_term, AsTerm, context);
16743 let as_token_built = AsToken {
16744 as_term: (&as_term)
16745 .try_into()
16746 .map_err(parol_runtime::ParolError::UserError)?,
16747 comments: Box::new(comments),
16748 };
16749 self.user_grammar.as_token(&as_token_built)?;
16751 self.push(ASTType::AsToken(as_token_built), context);
16752 Ok(())
16753 }
16754
16755 #[parol_runtime::function_name::named]
16760 fn assign_token(
16761 &mut self,
16762 _assign_term: &ParseTreeType<'t>,
16763 _comments: &ParseTreeType<'t>,
16764 ) -> Result<()> {
16765 let context = function_name!();
16766 trace!("{}", self.trace_item_stack(context));
16767 let comments = pop_item!(self, comments, Comments, context);
16768 let assign_term = pop_item!(self, assign_term, AssignTerm, context);
16769 let assign_token_built = AssignToken {
16770 assign_term: (&assign_term)
16771 .try_into()
16772 .map_err(parol_runtime::ParolError::UserError)?,
16773 comments: Box::new(comments),
16774 };
16775 self.user_grammar.assign_token(&assign_token_built)?;
16777 self.push(ASTType::AssignToken(assign_token_built), context);
16778 Ok(())
16779 }
16780
16781 #[parol_runtime::function_name::named]
16786 fn bit_token(
16787 &mut self,
16788 _bit_term: &ParseTreeType<'t>,
16789 _comments: &ParseTreeType<'t>,
16790 ) -> Result<()> {
16791 let context = function_name!();
16792 trace!("{}", self.trace_item_stack(context));
16793 let comments = pop_item!(self, comments, Comments, context);
16794 let bit_term = pop_item!(self, bit_term, BitTerm, context);
16795 let bit_token_built = BitToken {
16796 bit_term: (&bit_term)
16797 .try_into()
16798 .map_err(parol_runtime::ParolError::UserError)?,
16799 comments: Box::new(comments),
16800 };
16801 self.user_grammar.bit_token(&bit_token_built)?;
16803 self.push(ASTType::BitToken(bit_token_built), context);
16804 Ok(())
16805 }
16806
16807 #[parol_runtime::function_name::named]
16812 fn case_token(
16813 &mut self,
16814 _case_term: &ParseTreeType<'t>,
16815 _comments: &ParseTreeType<'t>,
16816 ) -> Result<()> {
16817 let context = function_name!();
16818 trace!("{}", self.trace_item_stack(context));
16819 let comments = pop_item!(self, comments, Comments, context);
16820 let case_term = pop_item!(self, case_term, CaseTerm, context);
16821 let case_token_built = CaseToken {
16822 case_term: (&case_term)
16823 .try_into()
16824 .map_err(parol_runtime::ParolError::UserError)?,
16825 comments: Box::new(comments),
16826 };
16827 self.user_grammar.case_token(&case_token_built)?;
16829 self.push(ASTType::CaseToken(case_token_built), context);
16830 Ok(())
16831 }
16832
16833 #[parol_runtime::function_name::named]
16838 fn clock_token(
16839 &mut self,
16840 _clock_term: &ParseTreeType<'t>,
16841 _comments: &ParseTreeType<'t>,
16842 ) -> Result<()> {
16843 let context = function_name!();
16844 trace!("{}", self.trace_item_stack(context));
16845 let comments = pop_item!(self, comments, Comments, context);
16846 let clock_term = pop_item!(self, clock_term, ClockTerm, context);
16847 let clock_token_built = ClockToken {
16848 clock_term: (&clock_term)
16849 .try_into()
16850 .map_err(parol_runtime::ParolError::UserError)?,
16851 comments: Box::new(comments),
16852 };
16853 self.user_grammar.clock_token(&clock_token_built)?;
16855 self.push(ASTType::ClockToken(clock_token_built), context);
16856 Ok(())
16857 }
16858
16859 #[parol_runtime::function_name::named]
16864 fn clock_posedge_token(
16865 &mut self,
16866 _clock_posedge_term: &ParseTreeType<'t>,
16867 _comments: &ParseTreeType<'t>,
16868 ) -> Result<()> {
16869 let context = function_name!();
16870 trace!("{}", self.trace_item_stack(context));
16871 let comments = pop_item!(self, comments, Comments, context);
16872 let clock_posedge_term = pop_item!(self, clock_posedge_term, ClockPosedgeTerm, context);
16873 let clock_posedge_token_built = ClockPosedgeToken {
16874 clock_posedge_term: (&clock_posedge_term)
16875 .try_into()
16876 .map_err(parol_runtime::ParolError::UserError)?,
16877 comments: Box::new(comments),
16878 };
16879 self.user_grammar
16881 .clock_posedge_token(&clock_posedge_token_built)?;
16882 self.push(
16883 ASTType::ClockPosedgeToken(clock_posedge_token_built),
16884 context,
16885 );
16886 Ok(())
16887 }
16888
16889 #[parol_runtime::function_name::named]
16894 fn clock_negedge_token(
16895 &mut self,
16896 _clock_negedge_term: &ParseTreeType<'t>,
16897 _comments: &ParseTreeType<'t>,
16898 ) -> Result<()> {
16899 let context = function_name!();
16900 trace!("{}", self.trace_item_stack(context));
16901 let comments = pop_item!(self, comments, Comments, context);
16902 let clock_negedge_term = pop_item!(self, clock_negedge_term, ClockNegedgeTerm, context);
16903 let clock_negedge_token_built = ClockNegedgeToken {
16904 clock_negedge_term: (&clock_negedge_term)
16905 .try_into()
16906 .map_err(parol_runtime::ParolError::UserError)?,
16907 comments: Box::new(comments),
16908 };
16909 self.user_grammar
16911 .clock_negedge_token(&clock_negedge_token_built)?;
16912 self.push(
16913 ASTType::ClockNegedgeToken(clock_negedge_token_built),
16914 context,
16915 );
16916 Ok(())
16917 }
16918
16919 #[parol_runtime::function_name::named]
16924 fn const_token(
16925 &mut self,
16926 _const_term: &ParseTreeType<'t>,
16927 _comments: &ParseTreeType<'t>,
16928 ) -> Result<()> {
16929 let context = function_name!();
16930 trace!("{}", self.trace_item_stack(context));
16931 let comments = pop_item!(self, comments, Comments, context);
16932 let const_term = pop_item!(self, const_term, ConstTerm, context);
16933 let const_token_built = ConstToken {
16934 const_term: (&const_term)
16935 .try_into()
16936 .map_err(parol_runtime::ParolError::UserError)?,
16937 comments: Box::new(comments),
16938 };
16939 self.user_grammar.const_token(&const_token_built)?;
16941 self.push(ASTType::ConstToken(const_token_built), context);
16942 Ok(())
16943 }
16944
16945 #[parol_runtime::function_name::named]
16950 fn converse_token(
16951 &mut self,
16952 _converse_term: &ParseTreeType<'t>,
16953 _comments: &ParseTreeType<'t>,
16954 ) -> Result<()> {
16955 let context = function_name!();
16956 trace!("{}", self.trace_item_stack(context));
16957 let comments = pop_item!(self, comments, Comments, context);
16958 let converse_term = pop_item!(self, converse_term, ConverseTerm, context);
16959 let converse_token_built = ConverseToken {
16960 converse_term: (&converse_term)
16961 .try_into()
16962 .map_err(parol_runtime::ParolError::UserError)?,
16963 comments: Box::new(comments),
16964 };
16965 self.user_grammar.converse_token(&converse_token_built)?;
16967 self.push(ASTType::ConverseToken(converse_token_built), context);
16968 Ok(())
16969 }
16970
16971 #[parol_runtime::function_name::named]
16976 fn default_token(
16977 &mut self,
16978 _default_term: &ParseTreeType<'t>,
16979 _comments: &ParseTreeType<'t>,
16980 ) -> Result<()> {
16981 let context = function_name!();
16982 trace!("{}", self.trace_item_stack(context));
16983 let comments = pop_item!(self, comments, Comments, context);
16984 let default_term = pop_item!(self, default_term, DefaultTerm, context);
16985 let default_token_built = DefaultToken {
16986 default_term: (&default_term)
16987 .try_into()
16988 .map_err(parol_runtime::ParolError::UserError)?,
16989 comments: Box::new(comments),
16990 };
16991 self.user_grammar.default_token(&default_token_built)?;
16993 self.push(ASTType::DefaultToken(default_token_built), context);
16994 Ok(())
16995 }
16996
16997 #[parol_runtime::function_name::named]
17002 fn else_token(
17003 &mut self,
17004 _else_term: &ParseTreeType<'t>,
17005 _comments: &ParseTreeType<'t>,
17006 ) -> Result<()> {
17007 let context = function_name!();
17008 trace!("{}", self.trace_item_stack(context));
17009 let comments = pop_item!(self, comments, Comments, context);
17010 let else_term = pop_item!(self, else_term, ElseTerm, context);
17011 let else_token_built = ElseToken {
17012 else_term: (&else_term)
17013 .try_into()
17014 .map_err(parol_runtime::ParolError::UserError)?,
17015 comments: Box::new(comments),
17016 };
17017 self.user_grammar.else_token(&else_token_built)?;
17019 self.push(ASTType::ElseToken(else_token_built), context);
17020 Ok(())
17021 }
17022
17023 #[parol_runtime::function_name::named]
17028 fn embed_token(
17029 &mut self,
17030 _embed_term: &ParseTreeType<'t>,
17031 _comments: &ParseTreeType<'t>,
17032 ) -> Result<()> {
17033 let context = function_name!();
17034 trace!("{}", self.trace_item_stack(context));
17035 let comments = pop_item!(self, comments, Comments, context);
17036 let embed_term = pop_item!(self, embed_term, EmbedTerm, context);
17037 let embed_token_built = EmbedToken {
17038 embed_term: (&embed_term)
17039 .try_into()
17040 .map_err(parol_runtime::ParolError::UserError)?,
17041 comments: Box::new(comments),
17042 };
17043 self.user_grammar.embed_token(&embed_token_built)?;
17045 self.push(ASTType::EmbedToken(embed_token_built), context);
17046 Ok(())
17047 }
17048
17049 #[parol_runtime::function_name::named]
17054 fn enum_token(
17055 &mut self,
17056 _enum_term: &ParseTreeType<'t>,
17057 _comments: &ParseTreeType<'t>,
17058 ) -> Result<()> {
17059 let context = function_name!();
17060 trace!("{}", self.trace_item_stack(context));
17061 let comments = pop_item!(self, comments, Comments, context);
17062 let enum_term = pop_item!(self, enum_term, EnumTerm, context);
17063 let enum_token_built = EnumToken {
17064 enum_term: (&enum_term)
17065 .try_into()
17066 .map_err(parol_runtime::ParolError::UserError)?,
17067 comments: Box::new(comments),
17068 };
17069 self.user_grammar.enum_token(&enum_token_built)?;
17071 self.push(ASTType::EnumToken(enum_token_built), context);
17072 Ok(())
17073 }
17074
17075 #[parol_runtime::function_name::named]
17080 fn export_token(
17081 &mut self,
17082 _export_term: &ParseTreeType<'t>,
17083 _comments: &ParseTreeType<'t>,
17084 ) -> Result<()> {
17085 let context = function_name!();
17086 trace!("{}", self.trace_item_stack(context));
17087 let comments = pop_item!(self, comments, Comments, context);
17088 let export_term = pop_item!(self, export_term, ExportTerm, context);
17089 let export_token_built = ExportToken {
17090 export_term: (&export_term)
17091 .try_into()
17092 .map_err(parol_runtime::ParolError::UserError)?,
17093 comments: Box::new(comments),
17094 };
17095 self.user_grammar.export_token(&export_token_built)?;
17097 self.push(ASTType::ExportToken(export_token_built), context);
17098 Ok(())
17099 }
17100
17101 #[parol_runtime::function_name::named]
17106 fn f32_token(
17107 &mut self,
17108 _f32_term: &ParseTreeType<'t>,
17109 _comments: &ParseTreeType<'t>,
17110 ) -> Result<()> {
17111 let context = function_name!();
17112 trace!("{}", self.trace_item_stack(context));
17113 let comments = pop_item!(self, comments, Comments, context);
17114 let f32_term = pop_item!(self, f32_term, F32Term, context);
17115 let f32_token_built = F32Token {
17116 f32_term: (&f32_term)
17117 .try_into()
17118 .map_err(parol_runtime::ParolError::UserError)?,
17119 comments: Box::new(comments),
17120 };
17121 self.user_grammar.f32_token(&f32_token_built)?;
17123 self.push(ASTType::F32Token(f32_token_built), context);
17124 Ok(())
17125 }
17126
17127 #[parol_runtime::function_name::named]
17132 fn f64_token(
17133 &mut self,
17134 _f64_term: &ParseTreeType<'t>,
17135 _comments: &ParseTreeType<'t>,
17136 ) -> Result<()> {
17137 let context = function_name!();
17138 trace!("{}", self.trace_item_stack(context));
17139 let comments = pop_item!(self, comments, Comments, context);
17140 let f64_term = pop_item!(self, f64_term, F64Term, context);
17141 let f64_token_built = F64Token {
17142 f64_term: (&f64_term)
17143 .try_into()
17144 .map_err(parol_runtime::ParolError::UserError)?,
17145 comments: Box::new(comments),
17146 };
17147 self.user_grammar.f64_token(&f64_token_built)?;
17149 self.push(ASTType::F64Token(f64_token_built), context);
17150 Ok(())
17151 }
17152
17153 #[parol_runtime::function_name::named]
17158 fn final_token(
17159 &mut self,
17160 _final_term: &ParseTreeType<'t>,
17161 _comments: &ParseTreeType<'t>,
17162 ) -> Result<()> {
17163 let context = function_name!();
17164 trace!("{}", self.trace_item_stack(context));
17165 let comments = pop_item!(self, comments, Comments, context);
17166 let final_term = pop_item!(self, final_term, FinalTerm, context);
17167 let final_token_built = FinalToken {
17168 final_term: (&final_term)
17169 .try_into()
17170 .map_err(parol_runtime::ParolError::UserError)?,
17171 comments: Box::new(comments),
17172 };
17173 self.user_grammar.final_token(&final_token_built)?;
17175 self.push(ASTType::FinalToken(final_token_built), context);
17176 Ok(())
17177 }
17178
17179 #[parol_runtime::function_name::named]
17184 fn for_token(
17185 &mut self,
17186 _for_term: &ParseTreeType<'t>,
17187 _comments: &ParseTreeType<'t>,
17188 ) -> Result<()> {
17189 let context = function_name!();
17190 trace!("{}", self.trace_item_stack(context));
17191 let comments = pop_item!(self, comments, Comments, context);
17192 let for_term = pop_item!(self, for_term, ForTerm, context);
17193 let for_token_built = ForToken {
17194 for_term: (&for_term)
17195 .try_into()
17196 .map_err(parol_runtime::ParolError::UserError)?,
17197 comments: Box::new(comments),
17198 };
17199 self.user_grammar.for_token(&for_token_built)?;
17201 self.push(ASTType::ForToken(for_token_built), context);
17202 Ok(())
17203 }
17204
17205 #[parol_runtime::function_name::named]
17210 fn function_token(
17211 &mut self,
17212 _function_term: &ParseTreeType<'t>,
17213 _comments: &ParseTreeType<'t>,
17214 ) -> Result<()> {
17215 let context = function_name!();
17216 trace!("{}", self.trace_item_stack(context));
17217 let comments = pop_item!(self, comments, Comments, context);
17218 let function_term = pop_item!(self, function_term, FunctionTerm, context);
17219 let function_token_built = FunctionToken {
17220 function_term: (&function_term)
17221 .try_into()
17222 .map_err(parol_runtime::ParolError::UserError)?,
17223 comments: Box::new(comments),
17224 };
17225 self.user_grammar.function_token(&function_token_built)?;
17227 self.push(ASTType::FunctionToken(function_token_built), context);
17228 Ok(())
17229 }
17230
17231 #[parol_runtime::function_name::named]
17236 fn i32_token(
17237 &mut self,
17238 _i32_term: &ParseTreeType<'t>,
17239 _comments: &ParseTreeType<'t>,
17240 ) -> Result<()> {
17241 let context = function_name!();
17242 trace!("{}", self.trace_item_stack(context));
17243 let comments = pop_item!(self, comments, Comments, context);
17244 let i32_term = pop_item!(self, i32_term, I32Term, context);
17245 let i32_token_built = I32Token {
17246 i32_term: (&i32_term)
17247 .try_into()
17248 .map_err(parol_runtime::ParolError::UserError)?,
17249 comments: Box::new(comments),
17250 };
17251 self.user_grammar.i32_token(&i32_token_built)?;
17253 self.push(ASTType::I32Token(i32_token_built), context);
17254 Ok(())
17255 }
17256
17257 #[parol_runtime::function_name::named]
17262 fn i64_token(
17263 &mut self,
17264 _i64_term: &ParseTreeType<'t>,
17265 _comments: &ParseTreeType<'t>,
17266 ) -> Result<()> {
17267 let context = function_name!();
17268 trace!("{}", self.trace_item_stack(context));
17269 let comments = pop_item!(self, comments, Comments, context);
17270 let i64_term = pop_item!(self, i64_term, I64Term, context);
17271 let i64_token_built = I64Token {
17272 i64_term: (&i64_term)
17273 .try_into()
17274 .map_err(parol_runtime::ParolError::UserError)?,
17275 comments: Box::new(comments),
17276 };
17277 self.user_grammar.i64_token(&i64_token_built)?;
17279 self.push(ASTType::I64Token(i64_token_built), context);
17280 Ok(())
17281 }
17282
17283 #[parol_runtime::function_name::named]
17288 fn if_reset_token(
17289 &mut self,
17290 _if_reset_term: &ParseTreeType<'t>,
17291 _comments: &ParseTreeType<'t>,
17292 ) -> Result<()> {
17293 let context = function_name!();
17294 trace!("{}", self.trace_item_stack(context));
17295 let comments = pop_item!(self, comments, Comments, context);
17296 let if_reset_term = pop_item!(self, if_reset_term, IfResetTerm, context);
17297 let if_reset_token_built = IfResetToken {
17298 if_reset_term: (&if_reset_term)
17299 .try_into()
17300 .map_err(parol_runtime::ParolError::UserError)?,
17301 comments: Box::new(comments),
17302 };
17303 self.user_grammar.if_reset_token(&if_reset_token_built)?;
17305 self.push(ASTType::IfResetToken(if_reset_token_built), context);
17306 Ok(())
17307 }
17308
17309 #[parol_runtime::function_name::named]
17314 fn if_token(
17315 &mut self,
17316 _if_term: &ParseTreeType<'t>,
17317 _comments: &ParseTreeType<'t>,
17318 ) -> Result<()> {
17319 let context = function_name!();
17320 trace!("{}", self.trace_item_stack(context));
17321 let comments = pop_item!(self, comments, Comments, context);
17322 let if_term = pop_item!(self, if_term, IfTerm, context);
17323 let if_token_built = IfToken {
17324 if_term: (&if_term)
17325 .try_into()
17326 .map_err(parol_runtime::ParolError::UserError)?,
17327 comments: Box::new(comments),
17328 };
17329 self.user_grammar.if_token(&if_token_built)?;
17331 self.push(ASTType::IfToken(if_token_built), context);
17332 Ok(())
17333 }
17334
17335 #[parol_runtime::function_name::named]
17340 fn import_token(
17341 &mut self,
17342 _import_term: &ParseTreeType<'t>,
17343 _comments: &ParseTreeType<'t>,
17344 ) -> Result<()> {
17345 let context = function_name!();
17346 trace!("{}", self.trace_item_stack(context));
17347 let comments = pop_item!(self, comments, Comments, context);
17348 let import_term = pop_item!(self, import_term, ImportTerm, context);
17349 let import_token_built = ImportToken {
17350 import_term: (&import_term)
17351 .try_into()
17352 .map_err(parol_runtime::ParolError::UserError)?,
17353 comments: Box::new(comments),
17354 };
17355 self.user_grammar.import_token(&import_token_built)?;
17357 self.push(ASTType::ImportToken(import_token_built), context);
17358 Ok(())
17359 }
17360
17361 #[parol_runtime::function_name::named]
17366 fn include_token(
17367 &mut self,
17368 _include_term: &ParseTreeType<'t>,
17369 _comments: &ParseTreeType<'t>,
17370 ) -> Result<()> {
17371 let context = function_name!();
17372 trace!("{}", self.trace_item_stack(context));
17373 let comments = pop_item!(self, comments, Comments, context);
17374 let include_term = pop_item!(self, include_term, IncludeTerm, context);
17375 let include_token_built = IncludeToken {
17376 include_term: (&include_term)
17377 .try_into()
17378 .map_err(parol_runtime::ParolError::UserError)?,
17379 comments: Box::new(comments),
17380 };
17381 self.user_grammar.include_token(&include_token_built)?;
17383 self.push(ASTType::IncludeToken(include_token_built), context);
17384 Ok(())
17385 }
17386
17387 #[parol_runtime::function_name::named]
17392 fn initial_token(
17393 &mut self,
17394 _initial_term: &ParseTreeType<'t>,
17395 _comments: &ParseTreeType<'t>,
17396 ) -> Result<()> {
17397 let context = function_name!();
17398 trace!("{}", self.trace_item_stack(context));
17399 let comments = pop_item!(self, comments, Comments, context);
17400 let initial_term = pop_item!(self, initial_term, InitialTerm, context);
17401 let initial_token_built = InitialToken {
17402 initial_term: (&initial_term)
17403 .try_into()
17404 .map_err(parol_runtime::ParolError::UserError)?,
17405 comments: Box::new(comments),
17406 };
17407 self.user_grammar.initial_token(&initial_token_built)?;
17409 self.push(ASTType::InitialToken(initial_token_built), context);
17410 Ok(())
17411 }
17412
17413 #[parol_runtime::function_name::named]
17418 fn inout_token(
17419 &mut self,
17420 _inout_term: &ParseTreeType<'t>,
17421 _comments: &ParseTreeType<'t>,
17422 ) -> Result<()> {
17423 let context = function_name!();
17424 trace!("{}", self.trace_item_stack(context));
17425 let comments = pop_item!(self, comments, Comments, context);
17426 let inout_term = pop_item!(self, inout_term, InoutTerm, context);
17427 let inout_token_built = InoutToken {
17428 inout_term: (&inout_term)
17429 .try_into()
17430 .map_err(parol_runtime::ParolError::UserError)?,
17431 comments: Box::new(comments),
17432 };
17433 self.user_grammar.inout_token(&inout_token_built)?;
17435 self.push(ASTType::InoutToken(inout_token_built), context);
17436 Ok(())
17437 }
17438
17439 #[parol_runtime::function_name::named]
17444 fn input_token(
17445 &mut self,
17446 _input_term: &ParseTreeType<'t>,
17447 _comments: &ParseTreeType<'t>,
17448 ) -> Result<()> {
17449 let context = function_name!();
17450 trace!("{}", self.trace_item_stack(context));
17451 let comments = pop_item!(self, comments, Comments, context);
17452 let input_term = pop_item!(self, input_term, InputTerm, context);
17453 let input_token_built = InputToken {
17454 input_term: (&input_term)
17455 .try_into()
17456 .map_err(parol_runtime::ParolError::UserError)?,
17457 comments: Box::new(comments),
17458 };
17459 self.user_grammar.input_token(&input_token_built)?;
17461 self.push(ASTType::InputToken(input_token_built), context);
17462 Ok(())
17463 }
17464
17465 #[parol_runtime::function_name::named]
17470 fn inside_token(
17471 &mut self,
17472 _inside_term: &ParseTreeType<'t>,
17473 _comments: &ParseTreeType<'t>,
17474 ) -> Result<()> {
17475 let context = function_name!();
17476 trace!("{}", self.trace_item_stack(context));
17477 let comments = pop_item!(self, comments, Comments, context);
17478 let inside_term = pop_item!(self, inside_term, InsideTerm, context);
17479 let inside_token_built = InsideToken {
17480 inside_term: (&inside_term)
17481 .try_into()
17482 .map_err(parol_runtime::ParolError::UserError)?,
17483 comments: Box::new(comments),
17484 };
17485 self.user_grammar.inside_token(&inside_token_built)?;
17487 self.push(ASTType::InsideToken(inside_token_built), context);
17488 Ok(())
17489 }
17490
17491 #[parol_runtime::function_name::named]
17496 fn inst_token(
17497 &mut self,
17498 _inst_term: &ParseTreeType<'t>,
17499 _comments: &ParseTreeType<'t>,
17500 ) -> Result<()> {
17501 let context = function_name!();
17502 trace!("{}", self.trace_item_stack(context));
17503 let comments = pop_item!(self, comments, Comments, context);
17504 let inst_term = pop_item!(self, inst_term, InstTerm, context);
17505 let inst_token_built = InstToken {
17506 inst_term: (&inst_term)
17507 .try_into()
17508 .map_err(parol_runtime::ParolError::UserError)?,
17509 comments: Box::new(comments),
17510 };
17511 self.user_grammar.inst_token(&inst_token_built)?;
17513 self.push(ASTType::InstToken(inst_token_built), context);
17514 Ok(())
17515 }
17516
17517 #[parol_runtime::function_name::named]
17522 fn interface_token(
17523 &mut self,
17524 _interface_term: &ParseTreeType<'t>,
17525 _comments: &ParseTreeType<'t>,
17526 ) -> Result<()> {
17527 let context = function_name!();
17528 trace!("{}", self.trace_item_stack(context));
17529 let comments = pop_item!(self, comments, Comments, context);
17530 let interface_term = pop_item!(self, interface_term, InterfaceTerm, context);
17531 let interface_token_built = InterfaceToken {
17532 interface_term: (&interface_term)
17533 .try_into()
17534 .map_err(parol_runtime::ParolError::UserError)?,
17535 comments: Box::new(comments),
17536 };
17537 self.user_grammar.interface_token(&interface_token_built)?;
17539 self.push(ASTType::InterfaceToken(interface_token_built), context);
17540 Ok(())
17541 }
17542
17543 #[parol_runtime::function_name::named]
17548 fn in_token(
17549 &mut self,
17550 _in_term: &ParseTreeType<'t>,
17551 _comments: &ParseTreeType<'t>,
17552 ) -> Result<()> {
17553 let context = function_name!();
17554 trace!("{}", self.trace_item_stack(context));
17555 let comments = pop_item!(self, comments, Comments, context);
17556 let in_term = pop_item!(self, in_term, InTerm, context);
17557 let in_token_built = InToken {
17558 in_term: (&in_term)
17559 .try_into()
17560 .map_err(parol_runtime::ParolError::UserError)?,
17561 comments: Box::new(comments),
17562 };
17563 self.user_grammar.in_token(&in_token_built)?;
17565 self.push(ASTType::InToken(in_token_built), context);
17566 Ok(())
17567 }
17568
17569 #[parol_runtime::function_name::named]
17574 fn let_token(
17575 &mut self,
17576 _let_term: &ParseTreeType<'t>,
17577 _comments: &ParseTreeType<'t>,
17578 ) -> Result<()> {
17579 let context = function_name!();
17580 trace!("{}", self.trace_item_stack(context));
17581 let comments = pop_item!(self, comments, Comments, context);
17582 let let_term = pop_item!(self, let_term, LetTerm, context);
17583 let let_token_built = LetToken {
17584 let_term: (&let_term)
17585 .try_into()
17586 .map_err(parol_runtime::ParolError::UserError)?,
17587 comments: Box::new(comments),
17588 };
17589 self.user_grammar.let_token(&let_token_built)?;
17591 self.push(ASTType::LetToken(let_token_built), context);
17592 Ok(())
17593 }
17594
17595 #[parol_runtime::function_name::named]
17600 fn logic_token(
17601 &mut self,
17602 _logic_term: &ParseTreeType<'t>,
17603 _comments: &ParseTreeType<'t>,
17604 ) -> Result<()> {
17605 let context = function_name!();
17606 trace!("{}", self.trace_item_stack(context));
17607 let comments = pop_item!(self, comments, Comments, context);
17608 let logic_term = pop_item!(self, logic_term, LogicTerm, context);
17609 let logic_token_built = LogicToken {
17610 logic_term: (&logic_term)
17611 .try_into()
17612 .map_err(parol_runtime::ParolError::UserError)?,
17613 comments: Box::new(comments),
17614 };
17615 self.user_grammar.logic_token(&logic_token_built)?;
17617 self.push(ASTType::LogicToken(logic_token_built), context);
17618 Ok(())
17619 }
17620
17621 #[parol_runtime::function_name::named]
17626 fn lsb_token(
17627 &mut self,
17628 _lsb_term: &ParseTreeType<'t>,
17629 _comments: &ParseTreeType<'t>,
17630 ) -> Result<()> {
17631 let context = function_name!();
17632 trace!("{}", self.trace_item_stack(context));
17633 let comments = pop_item!(self, comments, Comments, context);
17634 let lsb_term = pop_item!(self, lsb_term, LsbTerm, context);
17635 let lsb_token_built = LsbToken {
17636 lsb_term: (&lsb_term)
17637 .try_into()
17638 .map_err(parol_runtime::ParolError::UserError)?,
17639 comments: Box::new(comments),
17640 };
17641 self.user_grammar.lsb_token(&lsb_token_built)?;
17643 self.push(ASTType::LsbToken(lsb_token_built), context);
17644 Ok(())
17645 }
17646
17647 #[parol_runtime::function_name::named]
17652 fn modport_token(
17653 &mut self,
17654 _modport_term: &ParseTreeType<'t>,
17655 _comments: &ParseTreeType<'t>,
17656 ) -> Result<()> {
17657 let context = function_name!();
17658 trace!("{}", self.trace_item_stack(context));
17659 let comments = pop_item!(self, comments, Comments, context);
17660 let modport_term = pop_item!(self, modport_term, ModportTerm, context);
17661 let modport_token_built = ModportToken {
17662 modport_term: (&modport_term)
17663 .try_into()
17664 .map_err(parol_runtime::ParolError::UserError)?,
17665 comments: Box::new(comments),
17666 };
17667 self.user_grammar.modport_token(&modport_token_built)?;
17669 self.push(ASTType::ModportToken(modport_token_built), context);
17670 Ok(())
17671 }
17672
17673 #[parol_runtime::function_name::named]
17678 fn module_token(
17679 &mut self,
17680 _module_term: &ParseTreeType<'t>,
17681 _comments: &ParseTreeType<'t>,
17682 ) -> Result<()> {
17683 let context = function_name!();
17684 trace!("{}", self.trace_item_stack(context));
17685 let comments = pop_item!(self, comments, Comments, context);
17686 let module_term = pop_item!(self, module_term, ModuleTerm, context);
17687 let module_token_built = ModuleToken {
17688 module_term: (&module_term)
17689 .try_into()
17690 .map_err(parol_runtime::ParolError::UserError)?,
17691 comments: Box::new(comments),
17692 };
17693 self.user_grammar.module_token(&module_token_built)?;
17695 self.push(ASTType::ModuleToken(module_token_built), context);
17696 Ok(())
17697 }
17698
17699 #[parol_runtime::function_name::named]
17704 fn msb_token(
17705 &mut self,
17706 _msb_term: &ParseTreeType<'t>,
17707 _comments: &ParseTreeType<'t>,
17708 ) -> Result<()> {
17709 let context = function_name!();
17710 trace!("{}", self.trace_item_stack(context));
17711 let comments = pop_item!(self, comments, Comments, context);
17712 let msb_term = pop_item!(self, msb_term, MsbTerm, context);
17713 let msb_token_built = MsbToken {
17714 msb_term: (&msb_term)
17715 .try_into()
17716 .map_err(parol_runtime::ParolError::UserError)?,
17717 comments: Box::new(comments),
17718 };
17719 self.user_grammar.msb_token(&msb_token_built)?;
17721 self.push(ASTType::MsbToken(msb_token_built), context);
17722 Ok(())
17723 }
17724
17725 #[parol_runtime::function_name::named]
17730 fn output_token(
17731 &mut self,
17732 _output_term: &ParseTreeType<'t>,
17733 _comments: &ParseTreeType<'t>,
17734 ) -> Result<()> {
17735 let context = function_name!();
17736 trace!("{}", self.trace_item_stack(context));
17737 let comments = pop_item!(self, comments, Comments, context);
17738 let output_term = pop_item!(self, output_term, OutputTerm, context);
17739 let output_token_built = OutputToken {
17740 output_term: (&output_term)
17741 .try_into()
17742 .map_err(parol_runtime::ParolError::UserError)?,
17743 comments: Box::new(comments),
17744 };
17745 self.user_grammar.output_token(&output_token_built)?;
17747 self.push(ASTType::OutputToken(output_token_built), context);
17748 Ok(())
17749 }
17750
17751 #[parol_runtime::function_name::named]
17756 fn outside_token(
17757 &mut self,
17758 _outside_term: &ParseTreeType<'t>,
17759 _comments: &ParseTreeType<'t>,
17760 ) -> Result<()> {
17761 let context = function_name!();
17762 trace!("{}", self.trace_item_stack(context));
17763 let comments = pop_item!(self, comments, Comments, context);
17764 let outside_term = pop_item!(self, outside_term, OutsideTerm, context);
17765 let outside_token_built = OutsideToken {
17766 outside_term: (&outside_term)
17767 .try_into()
17768 .map_err(parol_runtime::ParolError::UserError)?,
17769 comments: Box::new(comments),
17770 };
17771 self.user_grammar.outside_token(&outside_token_built)?;
17773 self.push(ASTType::OutsideToken(outside_token_built), context);
17774 Ok(())
17775 }
17776
17777 #[parol_runtime::function_name::named]
17782 fn package_token(
17783 &mut self,
17784 _package_term: &ParseTreeType<'t>,
17785 _comments: &ParseTreeType<'t>,
17786 ) -> Result<()> {
17787 let context = function_name!();
17788 trace!("{}", self.trace_item_stack(context));
17789 let comments = pop_item!(self, comments, Comments, context);
17790 let package_term = pop_item!(self, package_term, PackageTerm, context);
17791 let package_token_built = PackageToken {
17792 package_term: (&package_term)
17793 .try_into()
17794 .map_err(parol_runtime::ParolError::UserError)?,
17795 comments: Box::new(comments),
17796 };
17797 self.user_grammar.package_token(&package_token_built)?;
17799 self.push(ASTType::PackageToken(package_token_built), context);
17800 Ok(())
17801 }
17802
17803 #[parol_runtime::function_name::named]
17808 fn param_token(
17809 &mut self,
17810 _param_term: &ParseTreeType<'t>,
17811 _comments: &ParseTreeType<'t>,
17812 ) -> Result<()> {
17813 let context = function_name!();
17814 trace!("{}", self.trace_item_stack(context));
17815 let comments = pop_item!(self, comments, Comments, context);
17816 let param_term = pop_item!(self, param_term, ParamTerm, context);
17817 let param_token_built = ParamToken {
17818 param_term: (¶m_term)
17819 .try_into()
17820 .map_err(parol_runtime::ParolError::UserError)?,
17821 comments: Box::new(comments),
17822 };
17823 self.user_grammar.param_token(¶m_token_built)?;
17825 self.push(ASTType::ParamToken(param_token_built), context);
17826 Ok(())
17827 }
17828
17829 #[parol_runtime::function_name::named]
17834 fn proto_token(
17835 &mut self,
17836 _proto_term: &ParseTreeType<'t>,
17837 _comments: &ParseTreeType<'t>,
17838 ) -> Result<()> {
17839 let context = function_name!();
17840 trace!("{}", self.trace_item_stack(context));
17841 let comments = pop_item!(self, comments, Comments, context);
17842 let proto_term = pop_item!(self, proto_term, ProtoTerm, context);
17843 let proto_token_built = ProtoToken {
17844 proto_term: (&proto_term)
17845 .try_into()
17846 .map_err(parol_runtime::ParolError::UserError)?,
17847 comments: Box::new(comments),
17848 };
17849 self.user_grammar.proto_token(&proto_token_built)?;
17851 self.push(ASTType::ProtoToken(proto_token_built), context);
17852 Ok(())
17853 }
17854
17855 #[parol_runtime::function_name::named]
17860 fn pub_token(
17861 &mut self,
17862 _pub_term: &ParseTreeType<'t>,
17863 _comments: &ParseTreeType<'t>,
17864 ) -> Result<()> {
17865 let context = function_name!();
17866 trace!("{}", self.trace_item_stack(context));
17867 let comments = pop_item!(self, comments, Comments, context);
17868 let pub_term = pop_item!(self, pub_term, PubTerm, context);
17869 let pub_token_built = PubToken {
17870 pub_term: (&pub_term)
17871 .try_into()
17872 .map_err(parol_runtime::ParolError::UserError)?,
17873 comments: Box::new(comments),
17874 };
17875 self.user_grammar.pub_token(&pub_token_built)?;
17877 self.push(ASTType::PubToken(pub_token_built), context);
17878 Ok(())
17879 }
17880
17881 #[parol_runtime::function_name::named]
17886 fn ref_token(
17887 &mut self,
17888 _ref_term: &ParseTreeType<'t>,
17889 _comments: &ParseTreeType<'t>,
17890 ) -> Result<()> {
17891 let context = function_name!();
17892 trace!("{}", self.trace_item_stack(context));
17893 let comments = pop_item!(self, comments, Comments, context);
17894 let ref_term = pop_item!(self, ref_term, RefTerm, context);
17895 let ref_token_built = RefToken {
17896 ref_term: (&ref_term)
17897 .try_into()
17898 .map_err(parol_runtime::ParolError::UserError)?,
17899 comments: Box::new(comments),
17900 };
17901 self.user_grammar.ref_token(&ref_token_built)?;
17903 self.push(ASTType::RefToken(ref_token_built), context);
17904 Ok(())
17905 }
17906
17907 #[parol_runtime::function_name::named]
17912 fn repeat_token(
17913 &mut self,
17914 _repeat_term: &ParseTreeType<'t>,
17915 _comments: &ParseTreeType<'t>,
17916 ) -> Result<()> {
17917 let context = function_name!();
17918 trace!("{}", self.trace_item_stack(context));
17919 let comments = pop_item!(self, comments, Comments, context);
17920 let repeat_term = pop_item!(self, repeat_term, RepeatTerm, context);
17921 let repeat_token_built = RepeatToken {
17922 repeat_term: (&repeat_term)
17923 .try_into()
17924 .map_err(parol_runtime::ParolError::UserError)?,
17925 comments: Box::new(comments),
17926 };
17927 self.user_grammar.repeat_token(&repeat_token_built)?;
17929 self.push(ASTType::RepeatToken(repeat_token_built), context);
17930 Ok(())
17931 }
17932
17933 #[parol_runtime::function_name::named]
17938 fn reset_token(
17939 &mut self,
17940 _reset_term: &ParseTreeType<'t>,
17941 _comments: &ParseTreeType<'t>,
17942 ) -> Result<()> {
17943 let context = function_name!();
17944 trace!("{}", self.trace_item_stack(context));
17945 let comments = pop_item!(self, comments, Comments, context);
17946 let reset_term = pop_item!(self, reset_term, ResetTerm, context);
17947 let reset_token_built = ResetToken {
17948 reset_term: (&reset_term)
17949 .try_into()
17950 .map_err(parol_runtime::ParolError::UserError)?,
17951 comments: Box::new(comments),
17952 };
17953 self.user_grammar.reset_token(&reset_token_built)?;
17955 self.push(ASTType::ResetToken(reset_token_built), context);
17956 Ok(())
17957 }
17958
17959 #[parol_runtime::function_name::named]
17964 fn reset_async_high_token(
17965 &mut self,
17966 _reset_async_high_term: &ParseTreeType<'t>,
17967 _comments: &ParseTreeType<'t>,
17968 ) -> Result<()> {
17969 let context = function_name!();
17970 trace!("{}", self.trace_item_stack(context));
17971 let comments = pop_item!(self, comments, Comments, context);
17972 let reset_async_high_term =
17973 pop_item!(self, reset_async_high_term, ResetAsyncHighTerm, context);
17974 let reset_async_high_token_built = ResetAsyncHighToken {
17975 reset_async_high_term: (&reset_async_high_term)
17976 .try_into()
17977 .map_err(parol_runtime::ParolError::UserError)?,
17978 comments: Box::new(comments),
17979 };
17980 self.user_grammar
17982 .reset_async_high_token(&reset_async_high_token_built)?;
17983 self.push(
17984 ASTType::ResetAsyncHighToken(reset_async_high_token_built),
17985 context,
17986 );
17987 Ok(())
17988 }
17989
17990 #[parol_runtime::function_name::named]
17995 fn reset_async_low_token(
17996 &mut self,
17997 _reset_async_low_term: &ParseTreeType<'t>,
17998 _comments: &ParseTreeType<'t>,
17999 ) -> Result<()> {
18000 let context = function_name!();
18001 trace!("{}", self.trace_item_stack(context));
18002 let comments = pop_item!(self, comments, Comments, context);
18003 let reset_async_low_term =
18004 pop_item!(self, reset_async_low_term, ResetAsyncLowTerm, context);
18005 let reset_async_low_token_built = ResetAsyncLowToken {
18006 reset_async_low_term: (&reset_async_low_term)
18007 .try_into()
18008 .map_err(parol_runtime::ParolError::UserError)?,
18009 comments: Box::new(comments),
18010 };
18011 self.user_grammar
18013 .reset_async_low_token(&reset_async_low_token_built)?;
18014 self.push(
18015 ASTType::ResetAsyncLowToken(reset_async_low_token_built),
18016 context,
18017 );
18018 Ok(())
18019 }
18020
18021 #[parol_runtime::function_name::named]
18026 fn reset_sync_high_token(
18027 &mut self,
18028 _reset_sync_high_term: &ParseTreeType<'t>,
18029 _comments: &ParseTreeType<'t>,
18030 ) -> Result<()> {
18031 let context = function_name!();
18032 trace!("{}", self.trace_item_stack(context));
18033 let comments = pop_item!(self, comments, Comments, context);
18034 let reset_sync_high_term =
18035 pop_item!(self, reset_sync_high_term, ResetSyncHighTerm, context);
18036 let reset_sync_high_token_built = ResetSyncHighToken {
18037 reset_sync_high_term: (&reset_sync_high_term)
18038 .try_into()
18039 .map_err(parol_runtime::ParolError::UserError)?,
18040 comments: Box::new(comments),
18041 };
18042 self.user_grammar
18044 .reset_sync_high_token(&reset_sync_high_token_built)?;
18045 self.push(
18046 ASTType::ResetSyncHighToken(reset_sync_high_token_built),
18047 context,
18048 );
18049 Ok(())
18050 }
18051
18052 #[parol_runtime::function_name::named]
18057 fn reset_sync_low_token(
18058 &mut self,
18059 _reset_sync_low_term: &ParseTreeType<'t>,
18060 _comments: &ParseTreeType<'t>,
18061 ) -> Result<()> {
18062 let context = function_name!();
18063 trace!("{}", self.trace_item_stack(context));
18064 let comments = pop_item!(self, comments, Comments, context);
18065 let reset_sync_low_term = pop_item!(self, reset_sync_low_term, ResetSyncLowTerm, context);
18066 let reset_sync_low_token_built = ResetSyncLowToken {
18067 reset_sync_low_term: (&reset_sync_low_term)
18068 .try_into()
18069 .map_err(parol_runtime::ParolError::UserError)?,
18070 comments: Box::new(comments),
18071 };
18072 self.user_grammar
18074 .reset_sync_low_token(&reset_sync_low_token_built)?;
18075 self.push(
18076 ASTType::ResetSyncLowToken(reset_sync_low_token_built),
18077 context,
18078 );
18079 Ok(())
18080 }
18081
18082 #[parol_runtime::function_name::named]
18087 fn return_token(
18088 &mut self,
18089 _return_term: &ParseTreeType<'t>,
18090 _comments: &ParseTreeType<'t>,
18091 ) -> Result<()> {
18092 let context = function_name!();
18093 trace!("{}", self.trace_item_stack(context));
18094 let comments = pop_item!(self, comments, Comments, context);
18095 let return_term = pop_item!(self, return_term, ReturnTerm, context);
18096 let return_token_built = ReturnToken {
18097 return_term: (&return_term)
18098 .try_into()
18099 .map_err(parol_runtime::ParolError::UserError)?,
18100 comments: Box::new(comments),
18101 };
18102 self.user_grammar.return_token(&return_token_built)?;
18104 self.push(ASTType::ReturnToken(return_token_built), context);
18105 Ok(())
18106 }
18107
18108 #[parol_runtime::function_name::named]
18113 fn break_token(
18114 &mut self,
18115 _break_term: &ParseTreeType<'t>,
18116 _comments: &ParseTreeType<'t>,
18117 ) -> Result<()> {
18118 let context = function_name!();
18119 trace!("{}", self.trace_item_stack(context));
18120 let comments = pop_item!(self, comments, Comments, context);
18121 let break_term = pop_item!(self, break_term, BreakTerm, context);
18122 let break_token_built = BreakToken {
18123 break_term: (&break_term)
18124 .try_into()
18125 .map_err(parol_runtime::ParolError::UserError)?,
18126 comments: Box::new(comments),
18127 };
18128 self.user_grammar.break_token(&break_token_built)?;
18130 self.push(ASTType::BreakToken(break_token_built), context);
18131 Ok(())
18132 }
18133
18134 #[parol_runtime::function_name::named]
18139 fn signed_token(
18140 &mut self,
18141 _signed_term: &ParseTreeType<'t>,
18142 _comments: &ParseTreeType<'t>,
18143 ) -> Result<()> {
18144 let context = function_name!();
18145 trace!("{}", self.trace_item_stack(context));
18146 let comments = pop_item!(self, comments, Comments, context);
18147 let signed_term = pop_item!(self, signed_term, SignedTerm, context);
18148 let signed_token_built = SignedToken {
18149 signed_term: (&signed_term)
18150 .try_into()
18151 .map_err(parol_runtime::ParolError::UserError)?,
18152 comments: Box::new(comments),
18153 };
18154 self.user_grammar.signed_token(&signed_token_built)?;
18156 self.push(ASTType::SignedToken(signed_token_built), context);
18157 Ok(())
18158 }
18159
18160 #[parol_runtime::function_name::named]
18165 fn step_token(
18166 &mut self,
18167 _step_term: &ParseTreeType<'t>,
18168 _comments: &ParseTreeType<'t>,
18169 ) -> Result<()> {
18170 let context = function_name!();
18171 trace!("{}", self.trace_item_stack(context));
18172 let comments = pop_item!(self, comments, Comments, context);
18173 let step_term = pop_item!(self, step_term, StepTerm, context);
18174 let step_token_built = StepToken {
18175 step_term: (&step_term)
18176 .try_into()
18177 .map_err(parol_runtime::ParolError::UserError)?,
18178 comments: Box::new(comments),
18179 };
18180 self.user_grammar.step_token(&step_token_built)?;
18182 self.push(ASTType::StepToken(step_token_built), context);
18183 Ok(())
18184 }
18185
18186 #[parol_runtime::function_name::named]
18191 fn string_token(
18192 &mut self,
18193 _string_term: &ParseTreeType<'t>,
18194 _comments: &ParseTreeType<'t>,
18195 ) -> Result<()> {
18196 let context = function_name!();
18197 trace!("{}", self.trace_item_stack(context));
18198 let comments = pop_item!(self, comments, Comments, context);
18199 let string_term = pop_item!(self, string_term, StringTerm, context);
18200 let string_token_built = StringToken {
18201 string_term: (&string_term)
18202 .try_into()
18203 .map_err(parol_runtime::ParolError::UserError)?,
18204 comments: Box::new(comments),
18205 };
18206 self.user_grammar.string_token(&string_token_built)?;
18208 self.push(ASTType::StringToken(string_token_built), context);
18209 Ok(())
18210 }
18211
18212 #[parol_runtime::function_name::named]
18217 fn struct_token(
18218 &mut self,
18219 _struct_term: &ParseTreeType<'t>,
18220 _comments: &ParseTreeType<'t>,
18221 ) -> Result<()> {
18222 let context = function_name!();
18223 trace!("{}", self.trace_item_stack(context));
18224 let comments = pop_item!(self, comments, Comments, context);
18225 let struct_term = pop_item!(self, struct_term, StructTerm, context);
18226 let struct_token_built = StructToken {
18227 struct_term: (&struct_term)
18228 .try_into()
18229 .map_err(parol_runtime::ParolError::UserError)?,
18230 comments: Box::new(comments),
18231 };
18232 self.user_grammar.struct_token(&struct_token_built)?;
18234 self.push(ASTType::StructToken(struct_token_built), context);
18235 Ok(())
18236 }
18237
18238 #[parol_runtime::function_name::named]
18243 fn switch_token(
18244 &mut self,
18245 _switch_term: &ParseTreeType<'t>,
18246 _comments: &ParseTreeType<'t>,
18247 ) -> Result<()> {
18248 let context = function_name!();
18249 trace!("{}", self.trace_item_stack(context));
18250 let comments = pop_item!(self, comments, Comments, context);
18251 let switch_term = pop_item!(self, switch_term, SwitchTerm, context);
18252 let switch_token_built = SwitchToken {
18253 switch_term: (&switch_term)
18254 .try_into()
18255 .map_err(parol_runtime::ParolError::UserError)?,
18256 comments: Box::new(comments),
18257 };
18258 self.user_grammar.switch_token(&switch_token_built)?;
18260 self.push(ASTType::SwitchToken(switch_token_built), context);
18261 Ok(())
18262 }
18263
18264 #[parol_runtime::function_name::named]
18269 fn tri_token(
18270 &mut self,
18271 _tri_term: &ParseTreeType<'t>,
18272 _comments: &ParseTreeType<'t>,
18273 ) -> Result<()> {
18274 let context = function_name!();
18275 trace!("{}", self.trace_item_stack(context));
18276 let comments = pop_item!(self, comments, Comments, context);
18277 let tri_term = pop_item!(self, tri_term, TriTerm, context);
18278 let tri_token_built = TriToken {
18279 tri_term: (&tri_term)
18280 .try_into()
18281 .map_err(parol_runtime::ParolError::UserError)?,
18282 comments: Box::new(comments),
18283 };
18284 self.user_grammar.tri_token(&tri_token_built)?;
18286 self.push(ASTType::TriToken(tri_token_built), context);
18287 Ok(())
18288 }
18289
18290 #[parol_runtime::function_name::named]
18295 fn type_token(
18296 &mut self,
18297 _type_term: &ParseTreeType<'t>,
18298 _comments: &ParseTreeType<'t>,
18299 ) -> Result<()> {
18300 let context = function_name!();
18301 trace!("{}", self.trace_item_stack(context));
18302 let comments = pop_item!(self, comments, Comments, context);
18303 let type_term = pop_item!(self, type_term, TypeTerm, context);
18304 let type_token_built = TypeToken {
18305 type_term: (&type_term)
18306 .try_into()
18307 .map_err(parol_runtime::ParolError::UserError)?,
18308 comments: Box::new(comments),
18309 };
18310 self.user_grammar.type_token(&type_token_built)?;
18312 self.push(ASTType::TypeToken(type_token_built), context);
18313 Ok(())
18314 }
18315
18316 #[parol_runtime::function_name::named]
18321 fn u32_token(
18322 &mut self,
18323 _u32_term: &ParseTreeType<'t>,
18324 _comments: &ParseTreeType<'t>,
18325 ) -> Result<()> {
18326 let context = function_name!();
18327 trace!("{}", self.trace_item_stack(context));
18328 let comments = pop_item!(self, comments, Comments, context);
18329 let u32_term = pop_item!(self, u32_term, U32Term, context);
18330 let u32_token_built = U32Token {
18331 u32_term: (&u32_term)
18332 .try_into()
18333 .map_err(parol_runtime::ParolError::UserError)?,
18334 comments: Box::new(comments),
18335 };
18336 self.user_grammar.u32_token(&u32_token_built)?;
18338 self.push(ASTType::U32Token(u32_token_built), context);
18339 Ok(())
18340 }
18341
18342 #[parol_runtime::function_name::named]
18347 fn u64_token(
18348 &mut self,
18349 _u64_term: &ParseTreeType<'t>,
18350 _comments: &ParseTreeType<'t>,
18351 ) -> Result<()> {
18352 let context = function_name!();
18353 trace!("{}", self.trace_item_stack(context));
18354 let comments = pop_item!(self, comments, Comments, context);
18355 let u64_term = pop_item!(self, u64_term, U64Term, context);
18356 let u64_token_built = U64Token {
18357 u64_term: (&u64_term)
18358 .try_into()
18359 .map_err(parol_runtime::ParolError::UserError)?,
18360 comments: Box::new(comments),
18361 };
18362 self.user_grammar.u64_token(&u64_token_built)?;
18364 self.push(ASTType::U64Token(u64_token_built), context);
18365 Ok(())
18366 }
18367
18368 #[parol_runtime::function_name::named]
18373 fn union_token(
18374 &mut self,
18375 _union_term: &ParseTreeType<'t>,
18376 _comments: &ParseTreeType<'t>,
18377 ) -> Result<()> {
18378 let context = function_name!();
18379 trace!("{}", self.trace_item_stack(context));
18380 let comments = pop_item!(self, comments, Comments, context);
18381 let union_term = pop_item!(self, union_term, UnionTerm, context);
18382 let union_token_built = UnionToken {
18383 union_term: (&union_term)
18384 .try_into()
18385 .map_err(parol_runtime::ParolError::UserError)?,
18386 comments: Box::new(comments),
18387 };
18388 self.user_grammar.union_token(&union_token_built)?;
18390 self.push(ASTType::UnionToken(union_token_built), context);
18391 Ok(())
18392 }
18393
18394 #[parol_runtime::function_name::named]
18399 fn unsafe_token(
18400 &mut self,
18401 _unsafe_term: &ParseTreeType<'t>,
18402 _comments: &ParseTreeType<'t>,
18403 ) -> Result<()> {
18404 let context = function_name!();
18405 trace!("{}", self.trace_item_stack(context));
18406 let comments = pop_item!(self, comments, Comments, context);
18407 let unsafe_term = pop_item!(self, unsafe_term, UnsafeTerm, context);
18408 let unsafe_token_built = UnsafeToken {
18409 unsafe_term: (&unsafe_term)
18410 .try_into()
18411 .map_err(parol_runtime::ParolError::UserError)?,
18412 comments: Box::new(comments),
18413 };
18414 self.user_grammar.unsafe_token(&unsafe_token_built)?;
18416 self.push(ASTType::UnsafeToken(unsafe_token_built), context);
18417 Ok(())
18418 }
18419
18420 #[parol_runtime::function_name::named]
18425 fn var_token(
18426 &mut self,
18427 _var_term: &ParseTreeType<'t>,
18428 _comments: &ParseTreeType<'t>,
18429 ) -> Result<()> {
18430 let context = function_name!();
18431 trace!("{}", self.trace_item_stack(context));
18432 let comments = pop_item!(self, comments, Comments, context);
18433 let var_term = pop_item!(self, var_term, VarTerm, context);
18434 let var_token_built = VarToken {
18435 var_term: (&var_term)
18436 .try_into()
18437 .map_err(parol_runtime::ParolError::UserError)?,
18438 comments: Box::new(comments),
18439 };
18440 self.user_grammar.var_token(&var_token_built)?;
18442 self.push(ASTType::VarToken(var_token_built), context);
18443 Ok(())
18444 }
18445
18446 #[parol_runtime::function_name::named]
18451 fn dollar_identifier_token(
18452 &mut self,
18453 _dollar_identifier_term: &ParseTreeType<'t>,
18454 _comments: &ParseTreeType<'t>,
18455 ) -> Result<()> {
18456 let context = function_name!();
18457 trace!("{}", self.trace_item_stack(context));
18458 let comments = pop_item!(self, comments, Comments, context);
18459 let dollar_identifier_term =
18460 pop_item!(self, dollar_identifier_term, DollarIdentifierTerm, context);
18461 let dollar_identifier_token_built = DollarIdentifierToken {
18462 dollar_identifier_term: (&dollar_identifier_term)
18463 .try_into()
18464 .map_err(parol_runtime::ParolError::UserError)?,
18465 comments: Box::new(comments),
18466 };
18467 self.user_grammar
18469 .dollar_identifier_token(&dollar_identifier_token_built)?;
18470 self.push(
18471 ASTType::DollarIdentifierToken(dollar_identifier_token_built),
18472 context,
18473 );
18474 Ok(())
18475 }
18476
18477 #[parol_runtime::function_name::named]
18482 fn identifier_token(
18483 &mut self,
18484 _identifier_term: &ParseTreeType<'t>,
18485 _comments: &ParseTreeType<'t>,
18486 ) -> Result<()> {
18487 let context = function_name!();
18488 trace!("{}", self.trace_item_stack(context));
18489 let comments = pop_item!(self, comments, Comments, context);
18490 let identifier_term = pop_item!(self, identifier_term, IdentifierTerm, context);
18491 let identifier_token_built = IdentifierToken {
18492 identifier_term: (&identifier_term)
18493 .try_into()
18494 .map_err(parol_runtime::ParolError::UserError)?,
18495 comments: Box::new(comments),
18496 };
18497 self.user_grammar
18499 .identifier_token(&identifier_token_built)?;
18500 self.push(ASTType::IdentifierToken(identifier_token_built), context);
18501 Ok(())
18502 }
18503
18504 #[parol_runtime::function_name::named]
18509 fn start(&mut self, _start_token: &ParseTreeType<'t>) -> Result<()> {
18510 let context = function_name!();
18511 trace!("{}", self.trace_item_stack(context));
18512 let start_token = pop_item!(self, start_token, StartToken, context);
18513 let start_built = Start {
18514 start_token: (&start_token)
18515 .try_into()
18516 .map_err(parol_runtime::ParolError::UserError)?,
18517 };
18518 self.user_grammar.start(&start_built)?;
18520 self.push(ASTType::Start(start_built), context);
18521 Ok(())
18522 }
18523
18524 #[parol_runtime::function_name::named]
18529 fn string_literal(&mut self, _string_literal_token: &ParseTreeType<'t>) -> Result<()> {
18530 let context = function_name!();
18531 trace!("{}", self.trace_item_stack(context));
18532 let string_literal_token =
18533 pop_item!(self, string_literal_token, StringLiteralToken, context);
18534 let string_literal_built = StringLiteral {
18535 string_literal_token: (&string_literal_token)
18536 .try_into()
18537 .map_err(parol_runtime::ParolError::UserError)?,
18538 };
18539 self.user_grammar.string_literal(&string_literal_built)?;
18541 self.push(ASTType::StringLiteral(string_literal_built), context);
18542 Ok(())
18543 }
18544
18545 #[parol_runtime::function_name::named]
18550 fn exponent(&mut self, _exponent_token: &ParseTreeType<'t>) -> Result<()> {
18551 let context = function_name!();
18552 trace!("{}", self.trace_item_stack(context));
18553 let exponent_token = pop_item!(self, exponent_token, ExponentToken, context);
18554 let exponent_built = Exponent {
18555 exponent_token: (&exponent_token)
18556 .try_into()
18557 .map_err(parol_runtime::ParolError::UserError)?,
18558 };
18559 self.user_grammar.exponent(&exponent_built)?;
18561 self.push(ASTType::Exponent(exponent_built), context);
18562 Ok(())
18563 }
18564
18565 #[parol_runtime::function_name::named]
18570 fn fixed_point(&mut self, _fixed_point_token: &ParseTreeType<'t>) -> Result<()> {
18571 let context = function_name!();
18572 trace!("{}", self.trace_item_stack(context));
18573 let fixed_point_token = pop_item!(self, fixed_point_token, FixedPointToken, context);
18574 let fixed_point_built = FixedPoint {
18575 fixed_point_token: (&fixed_point_token)
18576 .try_into()
18577 .map_err(parol_runtime::ParolError::UserError)?,
18578 };
18579 self.user_grammar.fixed_point(&fixed_point_built)?;
18581 self.push(ASTType::FixedPoint(fixed_point_built), context);
18582 Ok(())
18583 }
18584
18585 #[parol_runtime::function_name::named]
18590 fn based(&mut self, _based_token: &ParseTreeType<'t>) -> Result<()> {
18591 let context = function_name!();
18592 trace!("{}", self.trace_item_stack(context));
18593 let based_token = pop_item!(self, based_token, BasedToken, context);
18594 let based_built = Based {
18595 based_token: (&based_token)
18596 .try_into()
18597 .map_err(parol_runtime::ParolError::UserError)?,
18598 };
18599 self.user_grammar.based(&based_built)?;
18601 self.push(ASTType::Based(based_built), context);
18602 Ok(())
18603 }
18604
18605 #[parol_runtime::function_name::named]
18610 fn base_less(&mut self, _base_less_token: &ParseTreeType<'t>) -> Result<()> {
18611 let context = function_name!();
18612 trace!("{}", self.trace_item_stack(context));
18613 let base_less_token = pop_item!(self, base_less_token, BaseLessToken, context);
18614 let base_less_built = BaseLess {
18615 base_less_token: (&base_less_token)
18616 .try_into()
18617 .map_err(parol_runtime::ParolError::UserError)?,
18618 };
18619 self.user_grammar.base_less(&base_less_built)?;
18621 self.push(ASTType::BaseLess(base_less_built), context);
18622 Ok(())
18623 }
18624
18625 #[parol_runtime::function_name::named]
18630 fn all_bit(&mut self, _all_bit_token: &ParseTreeType<'t>) -> Result<()> {
18631 let context = function_name!();
18632 trace!("{}", self.trace_item_stack(context));
18633 let all_bit_token = pop_item!(self, all_bit_token, AllBitToken, context);
18634 let all_bit_built = AllBit {
18635 all_bit_token: (&all_bit_token)
18636 .try_into()
18637 .map_err(parol_runtime::ParolError::UserError)?,
18638 };
18639 self.user_grammar.all_bit(&all_bit_built)?;
18641 self.push(ASTType::AllBit(all_bit_built), context);
18642 Ok(())
18643 }
18644
18645 #[parol_runtime::function_name::named]
18650 fn assignment_operator(
18651 &mut self,
18652 _assignment_operator_token: &ParseTreeType<'t>,
18653 ) -> Result<()> {
18654 let context = function_name!();
18655 trace!("{}", self.trace_item_stack(context));
18656 let assignment_operator_token = pop_item!(
18657 self,
18658 assignment_operator_token,
18659 AssignmentOperatorToken,
18660 context
18661 );
18662 let assignment_operator_built = AssignmentOperator {
18663 assignment_operator_token: (&assignment_operator_token)
18664 .try_into()
18665 .map_err(parol_runtime::ParolError::UserError)?,
18666 };
18667 self.user_grammar
18669 .assignment_operator(&assignment_operator_built)?;
18670 self.push(
18671 ASTType::AssignmentOperator(assignment_operator_built),
18672 context,
18673 );
18674 Ok(())
18675 }
18676
18677 #[parol_runtime::function_name::named]
18682 fn operator01(&mut self, _operator01_token: &ParseTreeType<'t>) -> Result<()> {
18683 let context = function_name!();
18684 trace!("{}", self.trace_item_stack(context));
18685 let operator01_token = pop_item!(self, operator01_token, Operator01Token, context);
18686 let operator01_built = Operator01 {
18687 operator01_token: (&operator01_token)
18688 .try_into()
18689 .map_err(parol_runtime::ParolError::UserError)?,
18690 };
18691 self.user_grammar.operator01(&operator01_built)?;
18693 self.push(ASTType::Operator01(operator01_built), context);
18694 Ok(())
18695 }
18696
18697 #[parol_runtime::function_name::named]
18702 fn operator02(&mut self, _operator02_token: &ParseTreeType<'t>) -> Result<()> {
18703 let context = function_name!();
18704 trace!("{}", self.trace_item_stack(context));
18705 let operator02_token = pop_item!(self, operator02_token, Operator02Token, context);
18706 let operator02_built = Operator02 {
18707 operator02_token: (&operator02_token)
18708 .try_into()
18709 .map_err(parol_runtime::ParolError::UserError)?,
18710 };
18711 self.user_grammar.operator02(&operator02_built)?;
18713 self.push(ASTType::Operator02(operator02_built), context);
18714 Ok(())
18715 }
18716
18717 #[parol_runtime::function_name::named]
18722 fn operator03(&mut self, _operator03_token: &ParseTreeType<'t>) -> Result<()> {
18723 let context = function_name!();
18724 trace!("{}", self.trace_item_stack(context));
18725 let operator03_token = pop_item!(self, operator03_token, Operator03Token, context);
18726 let operator03_built = Operator03 {
18727 operator03_token: (&operator03_token)
18728 .try_into()
18729 .map_err(parol_runtime::ParolError::UserError)?,
18730 };
18731 self.user_grammar.operator03(&operator03_built)?;
18733 self.push(ASTType::Operator03(operator03_built), context);
18734 Ok(())
18735 }
18736
18737 #[parol_runtime::function_name::named]
18742 fn operator04(&mut self, _operator04_token: &ParseTreeType<'t>) -> Result<()> {
18743 let context = function_name!();
18744 trace!("{}", self.trace_item_stack(context));
18745 let operator04_token = pop_item!(self, operator04_token, Operator04Token, context);
18746 let operator04_built = Operator04 {
18747 operator04_token: (&operator04_token)
18748 .try_into()
18749 .map_err(parol_runtime::ParolError::UserError)?,
18750 };
18751 self.user_grammar.operator04(&operator04_built)?;
18753 self.push(ASTType::Operator04(operator04_built), context);
18754 Ok(())
18755 }
18756
18757 #[parol_runtime::function_name::named]
18762 fn operator05(&mut self, _operator05_token: &ParseTreeType<'t>) -> Result<()> {
18763 let context = function_name!();
18764 trace!("{}", self.trace_item_stack(context));
18765 let operator05_token = pop_item!(self, operator05_token, Operator05Token, context);
18766 let operator05_built = Operator05 {
18767 operator05_token: (&operator05_token)
18768 .try_into()
18769 .map_err(parol_runtime::ParolError::UserError)?,
18770 };
18771 self.user_grammar.operator05(&operator05_built)?;
18773 self.push(ASTType::Operator05(operator05_built), context);
18774 Ok(())
18775 }
18776
18777 #[parol_runtime::function_name::named]
18782 fn operator06(&mut self, _operator06_token: &ParseTreeType<'t>) -> Result<()> {
18783 let context = function_name!();
18784 trace!("{}", self.trace_item_stack(context));
18785 let operator06_token = pop_item!(self, operator06_token, Operator06Token, context);
18786 let operator06_built = Operator06 {
18787 operator06_token: (&operator06_token)
18788 .try_into()
18789 .map_err(parol_runtime::ParolError::UserError)?,
18790 };
18791 self.user_grammar.operator06(&operator06_built)?;
18793 self.push(ASTType::Operator06(operator06_built), context);
18794 Ok(())
18795 }
18796
18797 #[parol_runtime::function_name::named]
18802 fn operator07(&mut self, _operator07_token: &ParseTreeType<'t>) -> Result<()> {
18803 let context = function_name!();
18804 trace!("{}", self.trace_item_stack(context));
18805 let operator07_token = pop_item!(self, operator07_token, Operator07Token, context);
18806 let operator07_built = Operator07 {
18807 operator07_token: (&operator07_token)
18808 .try_into()
18809 .map_err(parol_runtime::ParolError::UserError)?,
18810 };
18811 self.user_grammar.operator07(&operator07_built)?;
18813 self.push(ASTType::Operator07(operator07_built), context);
18814 Ok(())
18815 }
18816
18817 #[parol_runtime::function_name::named]
18822 fn operator08(&mut self, _operator08_token: &ParseTreeType<'t>) -> Result<()> {
18823 let context = function_name!();
18824 trace!("{}", self.trace_item_stack(context));
18825 let operator08_token = pop_item!(self, operator08_token, Operator08Token, context);
18826 let operator08_built = Operator08 {
18827 operator08_token: (&operator08_token)
18828 .try_into()
18829 .map_err(parol_runtime::ParolError::UserError)?,
18830 };
18831 self.user_grammar.operator08(&operator08_built)?;
18833 self.push(ASTType::Operator08(operator08_built), context);
18834 Ok(())
18835 }
18836
18837 #[parol_runtime::function_name::named]
18842 fn operator09(&mut self, _operator09_token: &ParseTreeType<'t>) -> Result<()> {
18843 let context = function_name!();
18844 trace!("{}", self.trace_item_stack(context));
18845 let operator09_token = pop_item!(self, operator09_token, Operator09Token, context);
18846 let operator09_built = Operator09 {
18847 operator09_token: (&operator09_token)
18848 .try_into()
18849 .map_err(parol_runtime::ParolError::UserError)?,
18850 };
18851 self.user_grammar.operator09(&operator09_built)?;
18853 self.push(ASTType::Operator09(operator09_built), context);
18854 Ok(())
18855 }
18856
18857 #[parol_runtime::function_name::named]
18862 fn operator10(&mut self, _operator10_token: &ParseTreeType<'t>) -> Result<()> {
18863 let context = function_name!();
18864 trace!("{}", self.trace_item_stack(context));
18865 let operator10_token = pop_item!(self, operator10_token, Operator10Token, context);
18866 let operator10_built = Operator10 {
18867 operator10_token: (&operator10_token)
18868 .try_into()
18869 .map_err(parol_runtime::ParolError::UserError)?,
18870 };
18871 self.user_grammar.operator10(&operator10_built)?;
18873 self.push(ASTType::Operator10(operator10_built), context);
18874 Ok(())
18875 }
18876
18877 #[parol_runtime::function_name::named]
18882 fn operator11(&mut self, _operator11_token: &ParseTreeType<'t>) -> Result<()> {
18883 let context = function_name!();
18884 trace!("{}", self.trace_item_stack(context));
18885 let operator11_token = pop_item!(self, operator11_token, Operator11Token, context);
18886 let operator11_built = Operator11 {
18887 operator11_token: (&operator11_token)
18888 .try_into()
18889 .map_err(parol_runtime::ParolError::UserError)?,
18890 };
18891 self.user_grammar.operator11(&operator11_built)?;
18893 self.push(ASTType::Operator11(operator11_built), context);
18894 Ok(())
18895 }
18896
18897 #[parol_runtime::function_name::named]
18902 fn unary_operator(&mut self, _unary_operator_token: &ParseTreeType<'t>) -> Result<()> {
18903 let context = function_name!();
18904 trace!("{}", self.trace_item_stack(context));
18905 let unary_operator_token =
18906 pop_item!(self, unary_operator_token, UnaryOperatorToken, context);
18907 let unary_operator_built = UnaryOperator {
18908 unary_operator_token: (&unary_operator_token)
18909 .try_into()
18910 .map_err(parol_runtime::ParolError::UserError)?,
18911 };
18912 self.user_grammar.unary_operator(&unary_operator_built)?;
18914 self.push(ASTType::UnaryOperator(unary_operator_built), context);
18915 Ok(())
18916 }
18917
18918 #[parol_runtime::function_name::named]
18923 fn back_quote(&mut self, _back_quote_token: &ParseTreeType<'t>) -> Result<()> {
18924 let context = function_name!();
18925 trace!("{}", self.trace_item_stack(context));
18926 let back_quote_token = pop_item!(self, back_quote_token, BackQuoteToken, context);
18927 let back_quote_built = BackQuote {
18928 back_quote_token: (&back_quote_token)
18929 .try_into()
18930 .map_err(parol_runtime::ParolError::UserError)?,
18931 };
18932 self.user_grammar.back_quote(&back_quote_built)?;
18934 self.push(ASTType::BackQuote(back_quote_built), context);
18935 Ok(())
18936 }
18937
18938 #[parol_runtime::function_name::named]
18943 fn colon(&mut self, _colon_token: &ParseTreeType<'t>) -> Result<()> {
18944 let context = function_name!();
18945 trace!("{}", self.trace_item_stack(context));
18946 let colon_token = pop_item!(self, colon_token, ColonToken, context);
18947 let colon_built = Colon {
18948 colon_token: (&colon_token)
18949 .try_into()
18950 .map_err(parol_runtime::ParolError::UserError)?,
18951 };
18952 self.user_grammar.colon(&colon_built)?;
18954 self.push(ASTType::Colon(colon_built), context);
18955 Ok(())
18956 }
18957
18958 #[parol_runtime::function_name::named]
18963 fn colon_colon_l_angle(
18964 &mut self,
18965 _colon_colon_l_angle_token: &ParseTreeType<'t>,
18966 ) -> Result<()> {
18967 let context = function_name!();
18968 trace!("{}", self.trace_item_stack(context));
18969 let colon_colon_l_angle_token = pop_item!(
18970 self,
18971 colon_colon_l_angle_token,
18972 ColonColonLAngleToken,
18973 context
18974 );
18975 let colon_colon_l_angle_built = ColonColonLAngle {
18976 colon_colon_l_angle_token: (&colon_colon_l_angle_token)
18977 .try_into()
18978 .map_err(parol_runtime::ParolError::UserError)?,
18979 };
18980 self.user_grammar
18982 .colon_colon_l_angle(&colon_colon_l_angle_built)?;
18983 self.push(
18984 ASTType::ColonColonLAngle(colon_colon_l_angle_built),
18985 context,
18986 );
18987 Ok(())
18988 }
18989
18990 #[parol_runtime::function_name::named]
18995 fn colon_colon(&mut self, _colon_colon_token: &ParseTreeType<'t>) -> Result<()> {
18996 let context = function_name!();
18997 trace!("{}", self.trace_item_stack(context));
18998 let colon_colon_token = pop_item!(self, colon_colon_token, ColonColonToken, context);
18999 let colon_colon_built = ColonColon {
19000 colon_colon_token: (&colon_colon_token)
19001 .try_into()
19002 .map_err(parol_runtime::ParolError::UserError)?,
19003 };
19004 self.user_grammar.colon_colon(&colon_colon_built)?;
19006 self.push(ASTType::ColonColon(colon_colon_built), context);
19007 Ok(())
19008 }
19009
19010 #[parol_runtime::function_name::named]
19015 fn comma(&mut self, _comma_token: &ParseTreeType<'t>) -> Result<()> {
19016 let context = function_name!();
19017 trace!("{}", self.trace_item_stack(context));
19018 let comma_token = pop_item!(self, comma_token, CommaToken, context);
19019 let comma_built = Comma {
19020 comma_token: (&comma_token)
19021 .try_into()
19022 .map_err(parol_runtime::ParolError::UserError)?,
19023 };
19024 self.user_grammar.comma(&comma_built)?;
19026 self.push(ASTType::Comma(comma_built), context);
19027 Ok(())
19028 }
19029
19030 #[parol_runtime::function_name::named]
19035 fn dot_dot(&mut self, _dot_dot_token: &ParseTreeType<'t>) -> Result<()> {
19036 let context = function_name!();
19037 trace!("{}", self.trace_item_stack(context));
19038 let dot_dot_token = pop_item!(self, dot_dot_token, DotDotToken, context);
19039 let dot_dot_built = DotDot {
19040 dot_dot_token: (&dot_dot_token)
19041 .try_into()
19042 .map_err(parol_runtime::ParolError::UserError)?,
19043 };
19044 self.user_grammar.dot_dot(&dot_dot_built)?;
19046 self.push(ASTType::DotDot(dot_dot_built), context);
19047 Ok(())
19048 }
19049
19050 #[parol_runtime::function_name::named]
19055 fn dot_dot_equ(&mut self, _dot_dot_equ_token: &ParseTreeType<'t>) -> Result<()> {
19056 let context = function_name!();
19057 trace!("{}", self.trace_item_stack(context));
19058 let dot_dot_equ_token = pop_item!(self, dot_dot_equ_token, DotDotEquToken, context);
19059 let dot_dot_equ_built = DotDotEqu {
19060 dot_dot_equ_token: (&dot_dot_equ_token)
19061 .try_into()
19062 .map_err(parol_runtime::ParolError::UserError)?,
19063 };
19064 self.user_grammar.dot_dot_equ(&dot_dot_equ_built)?;
19066 self.push(ASTType::DotDotEqu(dot_dot_equ_built), context);
19067 Ok(())
19068 }
19069
19070 #[parol_runtime::function_name::named]
19075 fn dot(&mut self, _dot_token: &ParseTreeType<'t>) -> Result<()> {
19076 let context = function_name!();
19077 trace!("{}", self.trace_item_stack(context));
19078 let dot_token = pop_item!(self, dot_token, DotToken, context);
19079 let dot_built = Dot {
19080 dot_token: (&dot_token)
19081 .try_into()
19082 .map_err(parol_runtime::ParolError::UserError)?,
19083 };
19084 self.user_grammar.dot(&dot_built)?;
19086 self.push(ASTType::Dot(dot_built), context);
19087 Ok(())
19088 }
19089
19090 #[parol_runtime::function_name::named]
19095 fn equ(&mut self, _equ_token: &ParseTreeType<'t>) -> Result<()> {
19096 let context = function_name!();
19097 trace!("{}", self.trace_item_stack(context));
19098 let equ_token = pop_item!(self, equ_token, EquToken, context);
19099 let equ_built = Equ {
19100 equ_token: (&equ_token)
19101 .try_into()
19102 .map_err(parol_runtime::ParolError::UserError)?,
19103 };
19104 self.user_grammar.equ(&equ_built)?;
19106 self.push(ASTType::Equ(equ_built), context);
19107 Ok(())
19108 }
19109
19110 #[parol_runtime::function_name::named]
19115 fn hash(&mut self, _hash_token: &ParseTreeType<'t>) -> Result<()> {
19116 let context = function_name!();
19117 trace!("{}", self.trace_item_stack(context));
19118 let hash_token = pop_item!(self, hash_token, HashToken, context);
19119 let hash_built = Hash {
19120 hash_token: (&hash_token)
19121 .try_into()
19122 .map_err(parol_runtime::ParolError::UserError)?,
19123 };
19124 self.user_grammar.hash(&hash_built)?;
19126 self.push(ASTType::Hash(hash_built), context);
19127 Ok(())
19128 }
19129
19130 #[parol_runtime::function_name::named]
19135 fn quote_l_brace(&mut self, _quote_l_brace_token: &ParseTreeType<'t>) -> Result<()> {
19136 let context = function_name!();
19137 trace!("{}", self.trace_item_stack(context));
19138 let quote_l_brace_token = pop_item!(self, quote_l_brace_token, QuoteLBraceToken, context);
19139 let quote_l_brace_built = QuoteLBrace {
19140 quote_l_brace_token: ("e_l_brace_token)
19141 .try_into()
19142 .map_err(parol_runtime::ParolError::UserError)?,
19143 };
19144 self.user_grammar.quote_l_brace("e_l_brace_built)?;
19146 self.push(ASTType::QuoteLBrace(quote_l_brace_built), context);
19147 Ok(())
19148 }
19149
19150 #[parol_runtime::function_name::named]
19155 fn l_angle(&mut self, _l_angle_token: &ParseTreeType<'t>) -> Result<()> {
19156 let context = function_name!();
19157 trace!("{}", self.trace_item_stack(context));
19158 let l_angle_token = pop_item!(self, l_angle_token, LAngleToken, context);
19159 let l_angle_built = LAngle {
19160 l_angle_token: (&l_angle_token)
19161 .try_into()
19162 .map_err(parol_runtime::ParolError::UserError)?,
19163 };
19164 self.user_grammar.l_angle(&l_angle_built)?;
19166 self.push(ASTType::LAngle(l_angle_built), context);
19167 Ok(())
19168 }
19169
19170 #[parol_runtime::function_name::named]
19175 fn l_brace(&mut self, _l_brace_token: &ParseTreeType<'t>) -> Result<()> {
19176 let context = function_name!();
19177 trace!("{}", self.trace_item_stack(context));
19178 let l_brace_token = pop_item!(self, l_brace_token, LBraceToken, context);
19179 let l_brace_built = LBrace {
19180 l_brace_token: (&l_brace_token)
19181 .try_into()
19182 .map_err(parol_runtime::ParolError::UserError)?,
19183 };
19184 self.user_grammar.l_brace(&l_brace_built)?;
19186 self.push(ASTType::LBrace(l_brace_built), context);
19187 Ok(())
19188 }
19189
19190 #[parol_runtime::function_name::named]
19195 fn l_bracket(&mut self, _l_bracket_token: &ParseTreeType<'t>) -> Result<()> {
19196 let context = function_name!();
19197 trace!("{}", self.trace_item_stack(context));
19198 let l_bracket_token = pop_item!(self, l_bracket_token, LBracketToken, context);
19199 let l_bracket_built = LBracket {
19200 l_bracket_token: (&l_bracket_token)
19201 .try_into()
19202 .map_err(parol_runtime::ParolError::UserError)?,
19203 };
19204 self.user_grammar.l_bracket(&l_bracket_built)?;
19206 self.push(ASTType::LBracket(l_bracket_built), context);
19207 Ok(())
19208 }
19209
19210 #[parol_runtime::function_name::named]
19215 fn l_paren(&mut self, _l_paren_token: &ParseTreeType<'t>) -> Result<()> {
19216 let context = function_name!();
19217 trace!("{}", self.trace_item_stack(context));
19218 let l_paren_token = pop_item!(self, l_paren_token, LParenToken, context);
19219 let l_paren_built = LParen {
19220 l_paren_token: (&l_paren_token)
19221 .try_into()
19222 .map_err(parol_runtime::ParolError::UserError)?,
19223 };
19224 self.user_grammar.l_paren(&l_paren_built)?;
19226 self.push(ASTType::LParen(l_paren_built), context);
19227 Ok(())
19228 }
19229
19230 #[parol_runtime::function_name::named]
19235 fn minus_colon(&mut self, _minus_colon_token: &ParseTreeType<'t>) -> Result<()> {
19236 let context = function_name!();
19237 trace!("{}", self.trace_item_stack(context));
19238 let minus_colon_token = pop_item!(self, minus_colon_token, MinusColonToken, context);
19239 let minus_colon_built = MinusColon {
19240 minus_colon_token: (&minus_colon_token)
19241 .try_into()
19242 .map_err(parol_runtime::ParolError::UserError)?,
19243 };
19244 self.user_grammar.minus_colon(&minus_colon_built)?;
19246 self.push(ASTType::MinusColon(minus_colon_built), context);
19247 Ok(())
19248 }
19249
19250 #[parol_runtime::function_name::named]
19255 fn minus_g_t(&mut self, _minus_g_t_token: &ParseTreeType<'t>) -> Result<()> {
19256 let context = function_name!();
19257 trace!("{}", self.trace_item_stack(context));
19258 let minus_g_t_token = pop_item!(self, minus_g_t_token, MinusGTToken, context);
19259 let minus_g_t_built = MinusGT {
19260 minus_g_t_token: (&minus_g_t_token)
19261 .try_into()
19262 .map_err(parol_runtime::ParolError::UserError)?,
19263 };
19264 self.user_grammar.minus_g_t(&minus_g_t_built)?;
19266 self.push(ASTType::MinusGT(minus_g_t_built), context);
19267 Ok(())
19268 }
19269
19270 #[parol_runtime::function_name::named]
19275 fn plus_colon(&mut self, _plus_colon_token: &ParseTreeType<'t>) -> Result<()> {
19276 let context = function_name!();
19277 trace!("{}", self.trace_item_stack(context));
19278 let plus_colon_token = pop_item!(self, plus_colon_token, PlusColonToken, context);
19279 let plus_colon_built = PlusColon {
19280 plus_colon_token: (&plus_colon_token)
19281 .try_into()
19282 .map_err(parol_runtime::ParolError::UserError)?,
19283 };
19284 self.user_grammar.plus_colon(&plus_colon_built)?;
19286 self.push(ASTType::PlusColon(plus_colon_built), context);
19287 Ok(())
19288 }
19289
19290 #[parol_runtime::function_name::named]
19295 fn r_angle(&mut self, _r_angle_token: &ParseTreeType<'t>) -> Result<()> {
19296 let context = function_name!();
19297 trace!("{}", self.trace_item_stack(context));
19298 let r_angle_token = pop_item!(self, r_angle_token, RAngleToken, context);
19299 let r_angle_built = RAngle {
19300 r_angle_token: (&r_angle_token)
19301 .try_into()
19302 .map_err(parol_runtime::ParolError::UserError)?,
19303 };
19304 self.user_grammar.r_angle(&r_angle_built)?;
19306 self.push(ASTType::RAngle(r_angle_built), context);
19307 Ok(())
19308 }
19309
19310 #[parol_runtime::function_name::named]
19315 fn r_brace(&mut self, _r_brace_token: &ParseTreeType<'t>) -> Result<()> {
19316 let context = function_name!();
19317 trace!("{}", self.trace_item_stack(context));
19318 let r_brace_token = pop_item!(self, r_brace_token, RBraceToken, context);
19319 let r_brace_built = RBrace {
19320 r_brace_token: (&r_brace_token)
19321 .try_into()
19322 .map_err(parol_runtime::ParolError::UserError)?,
19323 };
19324 self.user_grammar.r_brace(&r_brace_built)?;
19326 self.push(ASTType::RBrace(r_brace_built), context);
19327 Ok(())
19328 }
19329
19330 #[parol_runtime::function_name::named]
19335 fn r_bracket(&mut self, _r_bracket_token: &ParseTreeType<'t>) -> Result<()> {
19336 let context = function_name!();
19337 trace!("{}", self.trace_item_stack(context));
19338 let r_bracket_token = pop_item!(self, r_bracket_token, RBracketToken, context);
19339 let r_bracket_built = RBracket {
19340 r_bracket_token: (&r_bracket_token)
19341 .try_into()
19342 .map_err(parol_runtime::ParolError::UserError)?,
19343 };
19344 self.user_grammar.r_bracket(&r_bracket_built)?;
19346 self.push(ASTType::RBracket(r_bracket_built), context);
19347 Ok(())
19348 }
19349
19350 #[parol_runtime::function_name::named]
19355 fn r_paren(&mut self, _r_paren_token: &ParseTreeType<'t>) -> Result<()> {
19356 let context = function_name!();
19357 trace!("{}", self.trace_item_stack(context));
19358 let r_paren_token = pop_item!(self, r_paren_token, RParenToken, context);
19359 let r_paren_built = RParen {
19360 r_paren_token: (&r_paren_token)
19361 .try_into()
19362 .map_err(parol_runtime::ParolError::UserError)?,
19363 };
19364 self.user_grammar.r_paren(&r_paren_built)?;
19366 self.push(ASTType::RParen(r_paren_built), context);
19367 Ok(())
19368 }
19369
19370 #[parol_runtime::function_name::named]
19375 fn semicolon(&mut self, _semicolon_token: &ParseTreeType<'t>) -> Result<()> {
19376 let context = function_name!();
19377 trace!("{}", self.trace_item_stack(context));
19378 let semicolon_token = pop_item!(self, semicolon_token, SemicolonToken, context);
19379 let semicolon_built = Semicolon {
19380 semicolon_token: (&semicolon_token)
19381 .try_into()
19382 .map_err(parol_runtime::ParolError::UserError)?,
19383 };
19384 self.user_grammar.semicolon(&semicolon_built)?;
19386 self.push(ASTType::Semicolon(semicolon_built), context);
19387 Ok(())
19388 }
19389
19390 #[parol_runtime::function_name::named]
19395 fn star(&mut self, _star_token: &ParseTreeType<'t>) -> Result<()> {
19396 let context = function_name!();
19397 trace!("{}", self.trace_item_stack(context));
19398 let star_token = pop_item!(self, star_token, StarToken, context);
19399 let star_built = Star {
19400 star_token: (&star_token)
19401 .try_into()
19402 .map_err(parol_runtime::ParolError::UserError)?,
19403 };
19404 self.user_grammar.star(&star_built)?;
19406 self.push(ASTType::Star(star_built), context);
19407 Ok(())
19408 }
19409
19410 #[parol_runtime::function_name::named]
19415 fn always_comb(&mut self, _always_comb_token: &ParseTreeType<'t>) -> Result<()> {
19416 let context = function_name!();
19417 trace!("{}", self.trace_item_stack(context));
19418 let always_comb_token = pop_item!(self, always_comb_token, AlwaysCombToken, context);
19419 let always_comb_built = AlwaysComb {
19420 always_comb_token: (&always_comb_token)
19421 .try_into()
19422 .map_err(parol_runtime::ParolError::UserError)?,
19423 };
19424 self.user_grammar.always_comb(&always_comb_built)?;
19426 self.push(ASTType::AlwaysComb(always_comb_built), context);
19427 Ok(())
19428 }
19429
19430 #[parol_runtime::function_name::named]
19435 fn always_ff(&mut self, _always_ff_token: &ParseTreeType<'t>) -> Result<()> {
19436 let context = function_name!();
19437 trace!("{}", self.trace_item_stack(context));
19438 let always_ff_token = pop_item!(self, always_ff_token, AlwaysFfToken, context);
19439 let always_ff_built = AlwaysFf {
19440 always_ff_token: (&always_ff_token)
19441 .try_into()
19442 .map_err(parol_runtime::ParolError::UserError)?,
19443 };
19444 self.user_grammar.always_ff(&always_ff_built)?;
19446 self.push(ASTType::AlwaysFf(always_ff_built), context);
19447 Ok(())
19448 }
19449
19450 #[parol_runtime::function_name::named]
19455 fn r#as(&mut self, _as_token: &ParseTreeType<'t>) -> Result<()> {
19456 let context = function_name!();
19457 trace!("{}", self.trace_item_stack(context));
19458 let as_token = pop_item!(self, as_token, AsToken, context);
19459 let r#as_built = As {
19460 as_token: (&as_token)
19461 .try_into()
19462 .map_err(parol_runtime::ParolError::UserError)?,
19463 };
19464 self.user_grammar.r#as(&r#as_built)?;
19466 self.push(ASTType::As(r#as_built), context);
19467 Ok(())
19468 }
19469
19470 #[parol_runtime::function_name::named]
19475 fn assign(&mut self, _assign_token: &ParseTreeType<'t>) -> Result<()> {
19476 let context = function_name!();
19477 trace!("{}", self.trace_item_stack(context));
19478 let assign_token = pop_item!(self, assign_token, AssignToken, context);
19479 let assign_built = Assign {
19480 assign_token: (&assign_token)
19481 .try_into()
19482 .map_err(parol_runtime::ParolError::UserError)?,
19483 };
19484 self.user_grammar.assign(&assign_built)?;
19486 self.push(ASTType::Assign(assign_built), context);
19487 Ok(())
19488 }
19489
19490 #[parol_runtime::function_name::named]
19495 fn bit(&mut self, _bit_token: &ParseTreeType<'t>) -> Result<()> {
19496 let context = function_name!();
19497 trace!("{}", self.trace_item_stack(context));
19498 let bit_token = pop_item!(self, bit_token, BitToken, context);
19499 let bit_built = Bit {
19500 bit_token: (&bit_token)
19501 .try_into()
19502 .map_err(parol_runtime::ParolError::UserError)?,
19503 };
19504 self.user_grammar.bit(&bit_built)?;
19506 self.push(ASTType::Bit(bit_built), context);
19507 Ok(())
19508 }
19509
19510 #[parol_runtime::function_name::named]
19515 fn r#break(&mut self, _break_token: &ParseTreeType<'t>) -> Result<()> {
19516 let context = function_name!();
19517 trace!("{}", self.trace_item_stack(context));
19518 let break_token = pop_item!(self, break_token, BreakToken, context);
19519 let r#break_built = Break {
19520 break_token: (&break_token)
19521 .try_into()
19522 .map_err(parol_runtime::ParolError::UserError)?,
19523 };
19524 self.user_grammar.r#break(&r#break_built)?;
19526 self.push(ASTType::Break(r#break_built), context);
19527 Ok(())
19528 }
19529
19530 #[parol_runtime::function_name::named]
19535 fn case(&mut self, _case_token: &ParseTreeType<'t>) -> Result<()> {
19536 let context = function_name!();
19537 trace!("{}", self.trace_item_stack(context));
19538 let case_token = pop_item!(self, case_token, CaseToken, context);
19539 let case_built = Case {
19540 case_token: (&case_token)
19541 .try_into()
19542 .map_err(parol_runtime::ParolError::UserError)?,
19543 };
19544 self.user_grammar.case(&case_built)?;
19546 self.push(ASTType::Case(case_built), context);
19547 Ok(())
19548 }
19549
19550 #[parol_runtime::function_name::named]
19555 fn clock(&mut self, _clock_token: &ParseTreeType<'t>) -> Result<()> {
19556 let context = function_name!();
19557 trace!("{}", self.trace_item_stack(context));
19558 let clock_token = pop_item!(self, clock_token, ClockToken, context);
19559 let clock_built = Clock {
19560 clock_token: (&clock_token)
19561 .try_into()
19562 .map_err(parol_runtime::ParolError::UserError)?,
19563 };
19564 self.user_grammar.clock(&clock_built)?;
19566 self.push(ASTType::Clock(clock_built), context);
19567 Ok(())
19568 }
19569
19570 #[parol_runtime::function_name::named]
19575 fn clock_posedge(&mut self, _clock_posedge_token: &ParseTreeType<'t>) -> Result<()> {
19576 let context = function_name!();
19577 trace!("{}", self.trace_item_stack(context));
19578 let clock_posedge_token = pop_item!(self, clock_posedge_token, ClockPosedgeToken, context);
19579 let clock_posedge_built = ClockPosedge {
19580 clock_posedge_token: (&clock_posedge_token)
19581 .try_into()
19582 .map_err(parol_runtime::ParolError::UserError)?,
19583 };
19584 self.user_grammar.clock_posedge(&clock_posedge_built)?;
19586 self.push(ASTType::ClockPosedge(clock_posedge_built), context);
19587 Ok(())
19588 }
19589
19590 #[parol_runtime::function_name::named]
19595 fn clock_negedge(&mut self, _clock_negedge_token: &ParseTreeType<'t>) -> Result<()> {
19596 let context = function_name!();
19597 trace!("{}", self.trace_item_stack(context));
19598 let clock_negedge_token = pop_item!(self, clock_negedge_token, ClockNegedgeToken, context);
19599 let clock_negedge_built = ClockNegedge {
19600 clock_negedge_token: (&clock_negedge_token)
19601 .try_into()
19602 .map_err(parol_runtime::ParolError::UserError)?,
19603 };
19604 self.user_grammar.clock_negedge(&clock_negedge_built)?;
19606 self.push(ASTType::ClockNegedge(clock_negedge_built), context);
19607 Ok(())
19608 }
19609
19610 #[parol_runtime::function_name::named]
19615 fn r#const(&mut self, _const_token: &ParseTreeType<'t>) -> Result<()> {
19616 let context = function_name!();
19617 trace!("{}", self.trace_item_stack(context));
19618 let const_token = pop_item!(self, const_token, ConstToken, context);
19619 let r#const_built = Const {
19620 const_token: (&const_token)
19621 .try_into()
19622 .map_err(parol_runtime::ParolError::UserError)?,
19623 };
19624 self.user_grammar.r#const(&r#const_built)?;
19626 self.push(ASTType::Const(r#const_built), context);
19627 Ok(())
19628 }
19629
19630 #[parol_runtime::function_name::named]
19635 fn converse(&mut self, _converse_token: &ParseTreeType<'t>) -> Result<()> {
19636 let context = function_name!();
19637 trace!("{}", self.trace_item_stack(context));
19638 let converse_token = pop_item!(self, converse_token, ConverseToken, context);
19639 let converse_built = Converse {
19640 converse_token: (&converse_token)
19641 .try_into()
19642 .map_err(parol_runtime::ParolError::UserError)?,
19643 };
19644 self.user_grammar.converse(&converse_built)?;
19646 self.push(ASTType::Converse(converse_built), context);
19647 Ok(())
19648 }
19649
19650 #[parol_runtime::function_name::named]
19655 fn defaul(&mut self, _default_token: &ParseTreeType<'t>) -> Result<()> {
19656 let context = function_name!();
19657 trace!("{}", self.trace_item_stack(context));
19658 let default_token = pop_item!(self, default_token, DefaultToken, context);
19659 let defaul_built = Defaul {
19660 default_token: (&default_token)
19661 .try_into()
19662 .map_err(parol_runtime::ParolError::UserError)?,
19663 };
19664 self.user_grammar.defaul(&defaul_built)?;
19666 self.push(ASTType::Defaul(defaul_built), context);
19667 Ok(())
19668 }
19669
19670 #[parol_runtime::function_name::named]
19675 fn r#else(&mut self, _else_token: &ParseTreeType<'t>) -> Result<()> {
19676 let context = function_name!();
19677 trace!("{}", self.trace_item_stack(context));
19678 let else_token = pop_item!(self, else_token, ElseToken, context);
19679 let r#else_built = Else {
19680 else_token: (&else_token)
19681 .try_into()
19682 .map_err(parol_runtime::ParolError::UserError)?,
19683 };
19684 self.user_grammar.r#else(&r#else_built)?;
19686 self.push(ASTType::Else(r#else_built), context);
19687 Ok(())
19688 }
19689
19690 #[parol_runtime::function_name::named]
19695 fn embed(&mut self, _embed_token: &ParseTreeType<'t>) -> Result<()> {
19696 let context = function_name!();
19697 trace!("{}", self.trace_item_stack(context));
19698 let embed_token = pop_item!(self, embed_token, EmbedToken, context);
19699 let embed_built = Embed {
19700 embed_token: (&embed_token)
19701 .try_into()
19702 .map_err(parol_runtime::ParolError::UserError)?,
19703 };
19704 self.user_grammar.embed(&embed_built)?;
19706 self.push(ASTType::Embed(embed_built), context);
19707 Ok(())
19708 }
19709
19710 #[parol_runtime::function_name::named]
19715 fn r#enum(&mut self, _enum_token: &ParseTreeType<'t>) -> Result<()> {
19716 let context = function_name!();
19717 trace!("{}", self.trace_item_stack(context));
19718 let enum_token = pop_item!(self, enum_token, EnumToken, context);
19719 let r#enum_built = Enum {
19720 enum_token: (&enum_token)
19721 .try_into()
19722 .map_err(parol_runtime::ParolError::UserError)?,
19723 };
19724 self.user_grammar.r#enum(&r#enum_built)?;
19726 self.push(ASTType::Enum(r#enum_built), context);
19727 Ok(())
19728 }
19729
19730 #[parol_runtime::function_name::named]
19735 fn export(&mut self, _export_token: &ParseTreeType<'t>) -> Result<()> {
19736 let context = function_name!();
19737 trace!("{}", self.trace_item_stack(context));
19738 let export_token = pop_item!(self, export_token, ExportToken, context);
19739 let export_built = Export {
19740 export_token: (&export_token)
19741 .try_into()
19742 .map_err(parol_runtime::ParolError::UserError)?,
19743 };
19744 self.user_grammar.export(&export_built)?;
19746 self.push(ASTType::Export(export_built), context);
19747 Ok(())
19748 }
19749
19750 #[parol_runtime::function_name::named]
19755 fn f32(&mut self, _f32_token: &ParseTreeType<'t>) -> Result<()> {
19756 let context = function_name!();
19757 trace!("{}", self.trace_item_stack(context));
19758 let f32_token = pop_item!(self, f32_token, F32Token, context);
19759 let f32_built = F32 {
19760 f32_token: (&f32_token)
19761 .try_into()
19762 .map_err(parol_runtime::ParolError::UserError)?,
19763 };
19764 self.user_grammar.f32(&f32_built)?;
19766 self.push(ASTType::F32(f32_built), context);
19767 Ok(())
19768 }
19769
19770 #[parol_runtime::function_name::named]
19775 fn f64(&mut self, _f64_token: &ParseTreeType<'t>) -> Result<()> {
19776 let context = function_name!();
19777 trace!("{}", self.trace_item_stack(context));
19778 let f64_token = pop_item!(self, f64_token, F64Token, context);
19779 let f64_built = F64 {
19780 f64_token: (&f64_token)
19781 .try_into()
19782 .map_err(parol_runtime::ParolError::UserError)?,
19783 };
19784 self.user_grammar.f64(&f64_built)?;
19786 self.push(ASTType::F64(f64_built), context);
19787 Ok(())
19788 }
19789
19790 #[parol_runtime::function_name::named]
19795 fn r#final(&mut self, _final_token: &ParseTreeType<'t>) -> Result<()> {
19796 let context = function_name!();
19797 trace!("{}", self.trace_item_stack(context));
19798 let final_token = pop_item!(self, final_token, FinalToken, context);
19799 let r#final_built = Final {
19800 final_token: (&final_token)
19801 .try_into()
19802 .map_err(parol_runtime::ParolError::UserError)?,
19803 };
19804 self.user_grammar.r#final(&r#final_built)?;
19806 self.push(ASTType::Final(r#final_built), context);
19807 Ok(())
19808 }
19809
19810 #[parol_runtime::function_name::named]
19815 fn r#for(&mut self, _for_token: &ParseTreeType<'t>) -> Result<()> {
19816 let context = function_name!();
19817 trace!("{}", self.trace_item_stack(context));
19818 let for_token = pop_item!(self, for_token, ForToken, context);
19819 let r#for_built = For {
19820 for_token: (&for_token)
19821 .try_into()
19822 .map_err(parol_runtime::ParolError::UserError)?,
19823 };
19824 self.user_grammar.r#for(&r#for_built)?;
19826 self.push(ASTType::For(r#for_built), context);
19827 Ok(())
19828 }
19829
19830 #[parol_runtime::function_name::named]
19835 fn function(&mut self, _function_token: &ParseTreeType<'t>) -> Result<()> {
19836 let context = function_name!();
19837 trace!("{}", self.trace_item_stack(context));
19838 let function_token = pop_item!(self, function_token, FunctionToken, context);
19839 let function_built = Function {
19840 function_token: (&function_token)
19841 .try_into()
19842 .map_err(parol_runtime::ParolError::UserError)?,
19843 };
19844 self.user_grammar.function(&function_built)?;
19846 self.push(ASTType::Function(function_built), context);
19847 Ok(())
19848 }
19849
19850 #[parol_runtime::function_name::named]
19855 fn i32(&mut self, _i32_token: &ParseTreeType<'t>) -> Result<()> {
19856 let context = function_name!();
19857 trace!("{}", self.trace_item_stack(context));
19858 let i32_token = pop_item!(self, i32_token, I32Token, context);
19859 let i32_built = I32 {
19860 i32_token: (&i32_token)
19861 .try_into()
19862 .map_err(parol_runtime::ParolError::UserError)?,
19863 };
19864 self.user_grammar.i32(&i32_built)?;
19866 self.push(ASTType::I32(i32_built), context);
19867 Ok(())
19868 }
19869
19870 #[parol_runtime::function_name::named]
19875 fn i64(&mut self, _i64_token: &ParseTreeType<'t>) -> Result<()> {
19876 let context = function_name!();
19877 trace!("{}", self.trace_item_stack(context));
19878 let i64_token = pop_item!(self, i64_token, I64Token, context);
19879 let i64_built = I64 {
19880 i64_token: (&i64_token)
19881 .try_into()
19882 .map_err(parol_runtime::ParolError::UserError)?,
19883 };
19884 self.user_grammar.i64(&i64_built)?;
19886 self.push(ASTType::I64(i64_built), context);
19887 Ok(())
19888 }
19889
19890 #[parol_runtime::function_name::named]
19895 fn r#if(&mut self, _if_token: &ParseTreeType<'t>) -> Result<()> {
19896 let context = function_name!();
19897 trace!("{}", self.trace_item_stack(context));
19898 let if_token = pop_item!(self, if_token, IfToken, context);
19899 let r#if_built = If {
19900 if_token: (&if_token)
19901 .try_into()
19902 .map_err(parol_runtime::ParolError::UserError)?,
19903 };
19904 self.user_grammar.r#if(&r#if_built)?;
19906 self.push(ASTType::If(r#if_built), context);
19907 Ok(())
19908 }
19909
19910 #[parol_runtime::function_name::named]
19915 fn if_reset(&mut self, _if_reset_token: &ParseTreeType<'t>) -> Result<()> {
19916 let context = function_name!();
19917 trace!("{}", self.trace_item_stack(context));
19918 let if_reset_token = pop_item!(self, if_reset_token, IfResetToken, context);
19919 let if_reset_built = IfReset {
19920 if_reset_token: (&if_reset_token)
19921 .try_into()
19922 .map_err(parol_runtime::ParolError::UserError)?,
19923 };
19924 self.user_grammar.if_reset(&if_reset_built)?;
19926 self.push(ASTType::IfReset(if_reset_built), context);
19927 Ok(())
19928 }
19929
19930 #[parol_runtime::function_name::named]
19935 fn import(&mut self, _import_token: &ParseTreeType<'t>) -> Result<()> {
19936 let context = function_name!();
19937 trace!("{}", self.trace_item_stack(context));
19938 let import_token = pop_item!(self, import_token, ImportToken, context);
19939 let import_built = Import {
19940 import_token: (&import_token)
19941 .try_into()
19942 .map_err(parol_runtime::ParolError::UserError)?,
19943 };
19944 self.user_grammar.import(&import_built)?;
19946 self.push(ASTType::Import(import_built), context);
19947 Ok(())
19948 }
19949
19950 #[parol_runtime::function_name::named]
19955 fn r#in(&mut self, _in_token: &ParseTreeType<'t>) -> Result<()> {
19956 let context = function_name!();
19957 trace!("{}", self.trace_item_stack(context));
19958 let in_token = pop_item!(self, in_token, InToken, context);
19959 let r#in_built = In {
19960 in_token: (&in_token)
19961 .try_into()
19962 .map_err(parol_runtime::ParolError::UserError)?,
19963 };
19964 self.user_grammar.r#in(&r#in_built)?;
19966 self.push(ASTType::In(r#in_built), context);
19967 Ok(())
19968 }
19969
19970 #[parol_runtime::function_name::named]
19975 fn include(&mut self, _include_token: &ParseTreeType<'t>) -> Result<()> {
19976 let context = function_name!();
19977 trace!("{}", self.trace_item_stack(context));
19978 let include_token = pop_item!(self, include_token, IncludeToken, context);
19979 let include_built = Include {
19980 include_token: (&include_token)
19981 .try_into()
19982 .map_err(parol_runtime::ParolError::UserError)?,
19983 };
19984 self.user_grammar.include(&include_built)?;
19986 self.push(ASTType::Include(include_built), context);
19987 Ok(())
19988 }
19989
19990 #[parol_runtime::function_name::named]
19995 fn initial(&mut self, _initial_token: &ParseTreeType<'t>) -> Result<()> {
19996 let context = function_name!();
19997 trace!("{}", self.trace_item_stack(context));
19998 let initial_token = pop_item!(self, initial_token, InitialToken, context);
19999 let initial_built = Initial {
20000 initial_token: (&initial_token)
20001 .try_into()
20002 .map_err(parol_runtime::ParolError::UserError)?,
20003 };
20004 self.user_grammar.initial(&initial_built)?;
20006 self.push(ASTType::Initial(initial_built), context);
20007 Ok(())
20008 }
20009
20010 #[parol_runtime::function_name::named]
20015 fn inout(&mut self, _inout_token: &ParseTreeType<'t>) -> Result<()> {
20016 let context = function_name!();
20017 trace!("{}", self.trace_item_stack(context));
20018 let inout_token = pop_item!(self, inout_token, InoutToken, context);
20019 let inout_built = Inout {
20020 inout_token: (&inout_token)
20021 .try_into()
20022 .map_err(parol_runtime::ParolError::UserError)?,
20023 };
20024 self.user_grammar.inout(&inout_built)?;
20026 self.push(ASTType::Inout(inout_built), context);
20027 Ok(())
20028 }
20029
20030 #[parol_runtime::function_name::named]
20035 fn input(&mut self, _input_token: &ParseTreeType<'t>) -> Result<()> {
20036 let context = function_name!();
20037 trace!("{}", self.trace_item_stack(context));
20038 let input_token = pop_item!(self, input_token, InputToken, context);
20039 let input_built = Input {
20040 input_token: (&input_token)
20041 .try_into()
20042 .map_err(parol_runtime::ParolError::UserError)?,
20043 };
20044 self.user_grammar.input(&input_built)?;
20046 self.push(ASTType::Input(input_built), context);
20047 Ok(())
20048 }
20049
20050 #[parol_runtime::function_name::named]
20055 fn inside(&mut self, _inside_token: &ParseTreeType<'t>) -> Result<()> {
20056 let context = function_name!();
20057 trace!("{}", self.trace_item_stack(context));
20058 let inside_token = pop_item!(self, inside_token, InsideToken, context);
20059 let inside_built = Inside {
20060 inside_token: (&inside_token)
20061 .try_into()
20062 .map_err(parol_runtime::ParolError::UserError)?,
20063 };
20064 self.user_grammar.inside(&inside_built)?;
20066 self.push(ASTType::Inside(inside_built), context);
20067 Ok(())
20068 }
20069
20070 #[parol_runtime::function_name::named]
20075 fn inst(&mut self, _inst_token: &ParseTreeType<'t>) -> Result<()> {
20076 let context = function_name!();
20077 trace!("{}", self.trace_item_stack(context));
20078 let inst_token = pop_item!(self, inst_token, InstToken, context);
20079 let inst_built = Inst {
20080 inst_token: (&inst_token)
20081 .try_into()
20082 .map_err(parol_runtime::ParolError::UserError)?,
20083 };
20084 self.user_grammar.inst(&inst_built)?;
20086 self.push(ASTType::Inst(inst_built), context);
20087 Ok(())
20088 }
20089
20090 #[parol_runtime::function_name::named]
20095 fn interface(&mut self, _interface_token: &ParseTreeType<'t>) -> Result<()> {
20096 let context = function_name!();
20097 trace!("{}", self.trace_item_stack(context));
20098 let interface_token = pop_item!(self, interface_token, InterfaceToken, context);
20099 let interface_built = Interface {
20100 interface_token: (&interface_token)
20101 .try_into()
20102 .map_err(parol_runtime::ParolError::UserError)?,
20103 };
20104 self.user_grammar.interface(&interface_built)?;
20106 self.push(ASTType::Interface(interface_built), context);
20107 Ok(())
20108 }
20109
20110 #[parol_runtime::function_name::named]
20115 fn r#let(&mut self, _let_token: &ParseTreeType<'t>) -> Result<()> {
20116 let context = function_name!();
20117 trace!("{}", self.trace_item_stack(context));
20118 let let_token = pop_item!(self, let_token, LetToken, context);
20119 let r#let_built = Let {
20120 let_token: (&let_token)
20121 .try_into()
20122 .map_err(parol_runtime::ParolError::UserError)?,
20123 };
20124 self.user_grammar.r#let(&r#let_built)?;
20126 self.push(ASTType::Let(r#let_built), context);
20127 Ok(())
20128 }
20129
20130 #[parol_runtime::function_name::named]
20135 fn logic(&mut self, _logic_token: &ParseTreeType<'t>) -> Result<()> {
20136 let context = function_name!();
20137 trace!("{}", self.trace_item_stack(context));
20138 let logic_token = pop_item!(self, logic_token, LogicToken, context);
20139 let logic_built = Logic {
20140 logic_token: (&logic_token)
20141 .try_into()
20142 .map_err(parol_runtime::ParolError::UserError)?,
20143 };
20144 self.user_grammar.logic(&logic_built)?;
20146 self.push(ASTType::Logic(logic_built), context);
20147 Ok(())
20148 }
20149
20150 #[parol_runtime::function_name::named]
20155 fn lsb(&mut self, _lsb_token: &ParseTreeType<'t>) -> Result<()> {
20156 let context = function_name!();
20157 trace!("{}", self.trace_item_stack(context));
20158 let lsb_token = pop_item!(self, lsb_token, LsbToken, context);
20159 let lsb_built = Lsb {
20160 lsb_token: (&lsb_token)
20161 .try_into()
20162 .map_err(parol_runtime::ParolError::UserError)?,
20163 };
20164 self.user_grammar.lsb(&lsb_built)?;
20166 self.push(ASTType::Lsb(lsb_built), context);
20167 Ok(())
20168 }
20169
20170 #[parol_runtime::function_name::named]
20175 fn modport(&mut self, _modport_token: &ParseTreeType<'t>) -> Result<()> {
20176 let context = function_name!();
20177 trace!("{}", self.trace_item_stack(context));
20178 let modport_token = pop_item!(self, modport_token, ModportToken, context);
20179 let modport_built = Modport {
20180 modport_token: (&modport_token)
20181 .try_into()
20182 .map_err(parol_runtime::ParolError::UserError)?,
20183 };
20184 self.user_grammar.modport(&modport_built)?;
20186 self.push(ASTType::Modport(modport_built), context);
20187 Ok(())
20188 }
20189
20190 #[parol_runtime::function_name::named]
20195 fn module(&mut self, _module_token: &ParseTreeType<'t>) -> Result<()> {
20196 let context = function_name!();
20197 trace!("{}", self.trace_item_stack(context));
20198 let module_token = pop_item!(self, module_token, ModuleToken, context);
20199 let module_built = Module {
20200 module_token: (&module_token)
20201 .try_into()
20202 .map_err(parol_runtime::ParolError::UserError)?,
20203 };
20204 self.user_grammar.module(&module_built)?;
20206 self.push(ASTType::Module(module_built), context);
20207 Ok(())
20208 }
20209
20210 #[parol_runtime::function_name::named]
20215 fn msb(&mut self, _msb_token: &ParseTreeType<'t>) -> Result<()> {
20216 let context = function_name!();
20217 trace!("{}", self.trace_item_stack(context));
20218 let msb_token = pop_item!(self, msb_token, MsbToken, context);
20219 let msb_built = Msb {
20220 msb_token: (&msb_token)
20221 .try_into()
20222 .map_err(parol_runtime::ParolError::UserError)?,
20223 };
20224 self.user_grammar.msb(&msb_built)?;
20226 self.push(ASTType::Msb(msb_built), context);
20227 Ok(())
20228 }
20229
20230 #[parol_runtime::function_name::named]
20235 fn output(&mut self, _output_token: &ParseTreeType<'t>) -> Result<()> {
20236 let context = function_name!();
20237 trace!("{}", self.trace_item_stack(context));
20238 let output_token = pop_item!(self, output_token, OutputToken, context);
20239 let output_built = Output {
20240 output_token: (&output_token)
20241 .try_into()
20242 .map_err(parol_runtime::ParolError::UserError)?,
20243 };
20244 self.user_grammar.output(&output_built)?;
20246 self.push(ASTType::Output(output_built), context);
20247 Ok(())
20248 }
20249
20250 #[parol_runtime::function_name::named]
20255 fn outside(&mut self, _outside_token: &ParseTreeType<'t>) -> Result<()> {
20256 let context = function_name!();
20257 trace!("{}", self.trace_item_stack(context));
20258 let outside_token = pop_item!(self, outside_token, OutsideToken, context);
20259 let outside_built = Outside {
20260 outside_token: (&outside_token)
20261 .try_into()
20262 .map_err(parol_runtime::ParolError::UserError)?,
20263 };
20264 self.user_grammar.outside(&outside_built)?;
20266 self.push(ASTType::Outside(outside_built), context);
20267 Ok(())
20268 }
20269
20270 #[parol_runtime::function_name::named]
20275 fn package(&mut self, _package_token: &ParseTreeType<'t>) -> Result<()> {
20276 let context = function_name!();
20277 trace!("{}", self.trace_item_stack(context));
20278 let package_token = pop_item!(self, package_token, PackageToken, context);
20279 let package_built = Package {
20280 package_token: (&package_token)
20281 .try_into()
20282 .map_err(parol_runtime::ParolError::UserError)?,
20283 };
20284 self.user_grammar.package(&package_built)?;
20286 self.push(ASTType::Package(package_built), context);
20287 Ok(())
20288 }
20289
20290 #[parol_runtime::function_name::named]
20295 fn param(&mut self, _param_token: &ParseTreeType<'t>) -> Result<()> {
20296 let context = function_name!();
20297 trace!("{}", self.trace_item_stack(context));
20298 let param_token = pop_item!(self, param_token, ParamToken, context);
20299 let param_built = Param {
20300 param_token: (¶m_token)
20301 .try_into()
20302 .map_err(parol_runtime::ParolError::UserError)?,
20303 };
20304 self.user_grammar.param(¶m_built)?;
20306 self.push(ASTType::Param(param_built), context);
20307 Ok(())
20308 }
20309
20310 #[parol_runtime::function_name::named]
20315 fn proto(&mut self, _proto_token: &ParseTreeType<'t>) -> Result<()> {
20316 let context = function_name!();
20317 trace!("{}", self.trace_item_stack(context));
20318 let proto_token = pop_item!(self, proto_token, ProtoToken, context);
20319 let proto_built = Proto {
20320 proto_token: (&proto_token)
20321 .try_into()
20322 .map_err(parol_runtime::ParolError::UserError)?,
20323 };
20324 self.user_grammar.proto(&proto_built)?;
20326 self.push(ASTType::Proto(proto_built), context);
20327 Ok(())
20328 }
20329
20330 #[parol_runtime::function_name::named]
20335 fn r#pub(&mut self, _pub_token: &ParseTreeType<'t>) -> Result<()> {
20336 let context = function_name!();
20337 trace!("{}", self.trace_item_stack(context));
20338 let pub_token = pop_item!(self, pub_token, PubToken, context);
20339 let r#pub_built = Pub {
20340 pub_token: (&pub_token)
20341 .try_into()
20342 .map_err(parol_runtime::ParolError::UserError)?,
20343 };
20344 self.user_grammar.r#pub(&r#pub_built)?;
20346 self.push(ASTType::Pub(r#pub_built), context);
20347 Ok(())
20348 }
20349
20350 #[parol_runtime::function_name::named]
20355 fn r#ref(&mut self, _ref_token: &ParseTreeType<'t>) -> Result<()> {
20356 let context = function_name!();
20357 trace!("{}", self.trace_item_stack(context));
20358 let ref_token = pop_item!(self, ref_token, RefToken, context);
20359 let r#ref_built = Ref {
20360 ref_token: (&ref_token)
20361 .try_into()
20362 .map_err(parol_runtime::ParolError::UserError)?,
20363 };
20364 self.user_grammar.r#ref(&r#ref_built)?;
20366 self.push(ASTType::Ref(r#ref_built), context);
20367 Ok(())
20368 }
20369
20370 #[parol_runtime::function_name::named]
20375 fn repeat(&mut self, _repeat_token: &ParseTreeType<'t>) -> Result<()> {
20376 let context = function_name!();
20377 trace!("{}", self.trace_item_stack(context));
20378 let repeat_token = pop_item!(self, repeat_token, RepeatToken, context);
20379 let repeat_built = Repeat {
20380 repeat_token: (&repeat_token)
20381 .try_into()
20382 .map_err(parol_runtime::ParolError::UserError)?,
20383 };
20384 self.user_grammar.repeat(&repeat_built)?;
20386 self.push(ASTType::Repeat(repeat_built), context);
20387 Ok(())
20388 }
20389
20390 #[parol_runtime::function_name::named]
20395 fn reset(&mut self, _reset_token: &ParseTreeType<'t>) -> Result<()> {
20396 let context = function_name!();
20397 trace!("{}", self.trace_item_stack(context));
20398 let reset_token = pop_item!(self, reset_token, ResetToken, context);
20399 let reset_built = Reset {
20400 reset_token: (&reset_token)
20401 .try_into()
20402 .map_err(parol_runtime::ParolError::UserError)?,
20403 };
20404 self.user_grammar.reset(&reset_built)?;
20406 self.push(ASTType::Reset(reset_built), context);
20407 Ok(())
20408 }
20409
20410 #[parol_runtime::function_name::named]
20415 fn reset_async_high(&mut self, _reset_async_high_token: &ParseTreeType<'t>) -> Result<()> {
20416 let context = function_name!();
20417 trace!("{}", self.trace_item_stack(context));
20418 let reset_async_high_token =
20419 pop_item!(self, reset_async_high_token, ResetAsyncHighToken, context);
20420 let reset_async_high_built = ResetAsyncHigh {
20421 reset_async_high_token: (&reset_async_high_token)
20422 .try_into()
20423 .map_err(parol_runtime::ParolError::UserError)?,
20424 };
20425 self.user_grammar
20427 .reset_async_high(&reset_async_high_built)?;
20428 self.push(ASTType::ResetAsyncHigh(reset_async_high_built), context);
20429 Ok(())
20430 }
20431
20432 #[parol_runtime::function_name::named]
20437 fn reset_async_low(&mut self, _reset_async_low_token: &ParseTreeType<'t>) -> Result<()> {
20438 let context = function_name!();
20439 trace!("{}", self.trace_item_stack(context));
20440 let reset_async_low_token =
20441 pop_item!(self, reset_async_low_token, ResetAsyncLowToken, context);
20442 let reset_async_low_built = ResetAsyncLow {
20443 reset_async_low_token: (&reset_async_low_token)
20444 .try_into()
20445 .map_err(parol_runtime::ParolError::UserError)?,
20446 };
20447 self.user_grammar.reset_async_low(&reset_async_low_built)?;
20449 self.push(ASTType::ResetAsyncLow(reset_async_low_built), context);
20450 Ok(())
20451 }
20452
20453 #[parol_runtime::function_name::named]
20458 fn reset_sync_high(&mut self, _reset_sync_high_token: &ParseTreeType<'t>) -> Result<()> {
20459 let context = function_name!();
20460 trace!("{}", self.trace_item_stack(context));
20461 let reset_sync_high_token =
20462 pop_item!(self, reset_sync_high_token, ResetSyncHighToken, context);
20463 let reset_sync_high_built = ResetSyncHigh {
20464 reset_sync_high_token: (&reset_sync_high_token)
20465 .try_into()
20466 .map_err(parol_runtime::ParolError::UserError)?,
20467 };
20468 self.user_grammar.reset_sync_high(&reset_sync_high_built)?;
20470 self.push(ASTType::ResetSyncHigh(reset_sync_high_built), context);
20471 Ok(())
20472 }
20473
20474 #[parol_runtime::function_name::named]
20479 fn reset_sync_low(&mut self, _reset_sync_low_token: &ParseTreeType<'t>) -> Result<()> {
20480 let context = function_name!();
20481 trace!("{}", self.trace_item_stack(context));
20482 let reset_sync_low_token =
20483 pop_item!(self, reset_sync_low_token, ResetSyncLowToken, context);
20484 let reset_sync_low_built = ResetSyncLow {
20485 reset_sync_low_token: (&reset_sync_low_token)
20486 .try_into()
20487 .map_err(parol_runtime::ParolError::UserError)?,
20488 };
20489 self.user_grammar.reset_sync_low(&reset_sync_low_built)?;
20491 self.push(ASTType::ResetSyncLow(reset_sync_low_built), context);
20492 Ok(())
20493 }
20494
20495 #[parol_runtime::function_name::named]
20500 fn r#return(&mut self, _return_token: &ParseTreeType<'t>) -> Result<()> {
20501 let context = function_name!();
20502 trace!("{}", self.trace_item_stack(context));
20503 let return_token = pop_item!(self, return_token, ReturnToken, context);
20504 let r#return_built = Return {
20505 return_token: (&return_token)
20506 .try_into()
20507 .map_err(parol_runtime::ParolError::UserError)?,
20508 };
20509 self.user_grammar.r#return(&r#return_built)?;
20511 self.push(ASTType::Return(r#return_built), context);
20512 Ok(())
20513 }
20514
20515 #[parol_runtime::function_name::named]
20520 fn signed(&mut self, _signed_token: &ParseTreeType<'t>) -> Result<()> {
20521 let context = function_name!();
20522 trace!("{}", self.trace_item_stack(context));
20523 let signed_token = pop_item!(self, signed_token, SignedToken, context);
20524 let signed_built = Signed {
20525 signed_token: (&signed_token)
20526 .try_into()
20527 .map_err(parol_runtime::ParolError::UserError)?,
20528 };
20529 self.user_grammar.signed(&signed_built)?;
20531 self.push(ASTType::Signed(signed_built), context);
20532 Ok(())
20533 }
20534
20535 #[parol_runtime::function_name::named]
20540 fn step(&mut self, _step_token: &ParseTreeType<'t>) -> Result<()> {
20541 let context = function_name!();
20542 trace!("{}", self.trace_item_stack(context));
20543 let step_token = pop_item!(self, step_token, StepToken, context);
20544 let step_built = Step {
20545 step_token: (&step_token)
20546 .try_into()
20547 .map_err(parol_runtime::ParolError::UserError)?,
20548 };
20549 self.user_grammar.step(&step_built)?;
20551 self.push(ASTType::Step(step_built), context);
20552 Ok(())
20553 }
20554
20555 #[parol_runtime::function_name::named]
20560 fn strin(&mut self, _string_token: &ParseTreeType<'t>) -> Result<()> {
20561 let context = function_name!();
20562 trace!("{}", self.trace_item_stack(context));
20563 let string_token = pop_item!(self, string_token, StringToken, context);
20564 let strin_built = Strin {
20565 string_token: (&string_token)
20566 .try_into()
20567 .map_err(parol_runtime::ParolError::UserError)?,
20568 };
20569 self.user_grammar.strin(&strin_built)?;
20571 self.push(ASTType::Strin(strin_built), context);
20572 Ok(())
20573 }
20574
20575 #[parol_runtime::function_name::named]
20580 fn r#struct(&mut self, _struct_token: &ParseTreeType<'t>) -> Result<()> {
20581 let context = function_name!();
20582 trace!("{}", self.trace_item_stack(context));
20583 let struct_token = pop_item!(self, struct_token, StructToken, context);
20584 let r#struct_built = Struct {
20585 struct_token: (&struct_token)
20586 .try_into()
20587 .map_err(parol_runtime::ParolError::UserError)?,
20588 };
20589 self.user_grammar.r#struct(&r#struct_built)?;
20591 self.push(ASTType::Struct(r#struct_built), context);
20592 Ok(())
20593 }
20594
20595 #[parol_runtime::function_name::named]
20600 fn switch(&mut self, _switch_token: &ParseTreeType<'t>) -> Result<()> {
20601 let context = function_name!();
20602 trace!("{}", self.trace_item_stack(context));
20603 let switch_token = pop_item!(self, switch_token, SwitchToken, context);
20604 let switch_built = Switch {
20605 switch_token: (&switch_token)
20606 .try_into()
20607 .map_err(parol_runtime::ParolError::UserError)?,
20608 };
20609 self.user_grammar.switch(&switch_built)?;
20611 self.push(ASTType::Switch(switch_built), context);
20612 Ok(())
20613 }
20614
20615 #[parol_runtime::function_name::named]
20620 fn tri(&mut self, _tri_token: &ParseTreeType<'t>) -> Result<()> {
20621 let context = function_name!();
20622 trace!("{}", self.trace_item_stack(context));
20623 let tri_token = pop_item!(self, tri_token, TriToken, context);
20624 let tri_built = Tri {
20625 tri_token: (&tri_token)
20626 .try_into()
20627 .map_err(parol_runtime::ParolError::UserError)?,
20628 };
20629 self.user_grammar.tri(&tri_built)?;
20631 self.push(ASTType::Tri(tri_built), context);
20632 Ok(())
20633 }
20634
20635 #[parol_runtime::function_name::named]
20640 fn r#type(&mut self, _type_token: &ParseTreeType<'t>) -> Result<()> {
20641 let context = function_name!();
20642 trace!("{}", self.trace_item_stack(context));
20643 let type_token = pop_item!(self, type_token, TypeToken, context);
20644 let r#type_built = Type {
20645 type_token: (&type_token)
20646 .try_into()
20647 .map_err(parol_runtime::ParolError::UserError)?,
20648 };
20649 self.user_grammar.r#type(&r#type_built)?;
20651 self.push(ASTType::Type(r#type_built), context);
20652 Ok(())
20653 }
20654
20655 #[parol_runtime::function_name::named]
20660 fn u32(&mut self, _u32_token: &ParseTreeType<'t>) -> Result<()> {
20661 let context = function_name!();
20662 trace!("{}", self.trace_item_stack(context));
20663 let u32_token = pop_item!(self, u32_token, U32Token, context);
20664 let u32_built = U32 {
20665 u32_token: (&u32_token)
20666 .try_into()
20667 .map_err(parol_runtime::ParolError::UserError)?,
20668 };
20669 self.user_grammar.u32(&u32_built)?;
20671 self.push(ASTType::U32(u32_built), context);
20672 Ok(())
20673 }
20674
20675 #[parol_runtime::function_name::named]
20680 fn u64(&mut self, _u64_token: &ParseTreeType<'t>) -> Result<()> {
20681 let context = function_name!();
20682 trace!("{}", self.trace_item_stack(context));
20683 let u64_token = pop_item!(self, u64_token, U64Token, context);
20684 let u64_built = U64 {
20685 u64_token: (&u64_token)
20686 .try_into()
20687 .map_err(parol_runtime::ParolError::UserError)?,
20688 };
20689 self.user_grammar.u64(&u64_built)?;
20691 self.push(ASTType::U64(u64_built), context);
20692 Ok(())
20693 }
20694
20695 #[parol_runtime::function_name::named]
20700 fn r#union(&mut self, _union_token: &ParseTreeType<'t>) -> Result<()> {
20701 let context = function_name!();
20702 trace!("{}", self.trace_item_stack(context));
20703 let union_token = pop_item!(self, union_token, UnionToken, context);
20704 let r#union_built = Union {
20705 union_token: (&union_token)
20706 .try_into()
20707 .map_err(parol_runtime::ParolError::UserError)?,
20708 };
20709 self.user_grammar.r#union(&r#union_built)?;
20711 self.push(ASTType::Union(r#union_built), context);
20712 Ok(())
20713 }
20714
20715 #[parol_runtime::function_name::named]
20720 fn r#unsafe(&mut self, _unsafe_token: &ParseTreeType<'t>) -> Result<()> {
20721 let context = function_name!();
20722 trace!("{}", self.trace_item_stack(context));
20723 let unsafe_token = pop_item!(self, unsafe_token, UnsafeToken, context);
20724 let r#unsafe_built = Unsafe {
20725 unsafe_token: (&unsafe_token)
20726 .try_into()
20727 .map_err(parol_runtime::ParolError::UserError)?,
20728 };
20729 self.user_grammar.r#unsafe(&r#unsafe_built)?;
20731 self.push(ASTType::Unsafe(r#unsafe_built), context);
20732 Ok(())
20733 }
20734
20735 #[parol_runtime::function_name::named]
20740 fn var(&mut self, _var_token: &ParseTreeType<'t>) -> Result<()> {
20741 let context = function_name!();
20742 trace!("{}", self.trace_item_stack(context));
20743 let var_token = pop_item!(self, var_token, VarToken, context);
20744 let var_built = Var {
20745 var_token: (&var_token)
20746 .try_into()
20747 .map_err(parol_runtime::ParolError::UserError)?,
20748 };
20749 self.user_grammar.var(&var_built)?;
20751 self.push(ASTType::Var(var_built), context);
20752 Ok(())
20753 }
20754
20755 #[parol_runtime::function_name::named]
20760 fn dollar_identifier(&mut self, _dollar_identifier_token: &ParseTreeType<'t>) -> Result<()> {
20761 let context = function_name!();
20762 trace!("{}", self.trace_item_stack(context));
20763 let dollar_identifier_token = pop_item!(
20764 self,
20765 dollar_identifier_token,
20766 DollarIdentifierToken,
20767 context
20768 );
20769 let dollar_identifier_built = DollarIdentifier {
20770 dollar_identifier_token: (&dollar_identifier_token)
20771 .try_into()
20772 .map_err(parol_runtime::ParolError::UserError)?,
20773 };
20774 self.user_grammar
20776 .dollar_identifier(&dollar_identifier_built)?;
20777 self.push(ASTType::DollarIdentifier(dollar_identifier_built), context);
20778 Ok(())
20779 }
20780
20781 #[parol_runtime::function_name::named]
20786 fn identifier(&mut self, _identifier_token: &ParseTreeType<'t>) -> Result<()> {
20787 let context = function_name!();
20788 trace!("{}", self.trace_item_stack(context));
20789 let identifier_token = pop_item!(self, identifier_token, IdentifierToken, context);
20790 let identifier_built = Identifier {
20791 identifier_token: (&identifier_token)
20792 .try_into()
20793 .map_err(parol_runtime::ParolError::UserError)?,
20794 };
20795 self.user_grammar.identifier(&identifier_built)?;
20797 self.push(ASTType::Identifier(identifier_built), context);
20798 Ok(())
20799 }
20800
20801 #[parol_runtime::function_name::named]
20806 fn number_0(&mut self, _integral_number: &ParseTreeType<'t>) -> Result<()> {
20807 let context = function_name!();
20808 trace!("{}", self.trace_item_stack(context));
20809 let integral_number = pop_item!(self, integral_number, IntegralNumber, context);
20810 let number_0_built = NumberIntegralNumber {
20811 integral_number: Box::new(integral_number),
20812 };
20813 let number_0_built = Number::IntegralNumber(number_0_built);
20814 self.user_grammar.number(&number_0_built)?;
20816 self.push(ASTType::Number(number_0_built), context);
20817 Ok(())
20818 }
20819
20820 #[parol_runtime::function_name::named]
20825 fn number_1(&mut self, _real_number: &ParseTreeType<'t>) -> Result<()> {
20826 let context = function_name!();
20827 trace!("{}", self.trace_item_stack(context));
20828 let real_number = pop_item!(self, real_number, RealNumber, context);
20829 let number_1_built = NumberRealNumber {
20830 real_number: Box::new(real_number),
20831 };
20832 let number_1_built = Number::RealNumber(number_1_built);
20833 self.user_grammar.number(&number_1_built)?;
20835 self.push(ASTType::Number(number_1_built), context);
20836 Ok(())
20837 }
20838
20839 #[parol_runtime::function_name::named]
20844 fn integral_number_0(&mut self, _based: &ParseTreeType<'t>) -> Result<()> {
20845 let context = function_name!();
20846 trace!("{}", self.trace_item_stack(context));
20847 let based = pop_item!(self, based, Based, context);
20848 let integral_number_0_built = IntegralNumberBased {
20849 based: Box::new(based),
20850 };
20851 let integral_number_0_built = IntegralNumber::Based(integral_number_0_built);
20852 self.user_grammar
20854 .integral_number(&integral_number_0_built)?;
20855 self.push(ASTType::IntegralNumber(integral_number_0_built), context);
20856 Ok(())
20857 }
20858
20859 #[parol_runtime::function_name::named]
20864 fn integral_number_1(&mut self, _base_less: &ParseTreeType<'t>) -> Result<()> {
20865 let context = function_name!();
20866 trace!("{}", self.trace_item_stack(context));
20867 let base_less = pop_item!(self, base_less, BaseLess, context);
20868 let integral_number_1_built = IntegralNumberBaseLess {
20869 base_less: Box::new(base_less),
20870 };
20871 let integral_number_1_built = IntegralNumber::BaseLess(integral_number_1_built);
20872 self.user_grammar
20874 .integral_number(&integral_number_1_built)?;
20875 self.push(ASTType::IntegralNumber(integral_number_1_built), context);
20876 Ok(())
20877 }
20878
20879 #[parol_runtime::function_name::named]
20884 fn integral_number_2(&mut self, _all_bit: &ParseTreeType<'t>) -> Result<()> {
20885 let context = function_name!();
20886 trace!("{}", self.trace_item_stack(context));
20887 let all_bit = pop_item!(self, all_bit, AllBit, context);
20888 let integral_number_2_built = IntegralNumberAllBit {
20889 all_bit: Box::new(all_bit),
20890 };
20891 let integral_number_2_built = IntegralNumber::AllBit(integral_number_2_built);
20892 self.user_grammar
20894 .integral_number(&integral_number_2_built)?;
20895 self.push(ASTType::IntegralNumber(integral_number_2_built), context);
20896 Ok(())
20897 }
20898
20899 #[parol_runtime::function_name::named]
20904 fn real_number_0(&mut self, _fixed_point: &ParseTreeType<'t>) -> Result<()> {
20905 let context = function_name!();
20906 trace!("{}", self.trace_item_stack(context));
20907 let fixed_point = pop_item!(self, fixed_point, FixedPoint, context);
20908 let real_number_0_built = RealNumberFixedPoint {
20909 fixed_point: Box::new(fixed_point),
20910 };
20911 let real_number_0_built = RealNumber::FixedPoint(real_number_0_built);
20912 self.user_grammar.real_number(&real_number_0_built)?;
20914 self.push(ASTType::RealNumber(real_number_0_built), context);
20915 Ok(())
20916 }
20917
20918 #[parol_runtime::function_name::named]
20923 fn real_number_1(&mut self, _exponent: &ParseTreeType<'t>) -> Result<()> {
20924 let context = function_name!();
20925 trace!("{}", self.trace_item_stack(context));
20926 let exponent = pop_item!(self, exponent, Exponent, context);
20927 let real_number_1_built = RealNumberExponent {
20928 exponent: Box::new(exponent),
20929 };
20930 let real_number_1_built = RealNumber::Exponent(real_number_1_built);
20931 self.user_grammar.real_number(&real_number_1_built)?;
20933 self.push(ASTType::RealNumber(real_number_1_built), context);
20934 Ok(())
20935 }
20936
20937 #[parol_runtime::function_name::named]
20942 fn hierarchical_identifier(
20943 &mut self,
20944 _identifier: &ParseTreeType<'t>,
20945 _hierarchical_identifier_list: &ParseTreeType<'t>,
20946 _hierarchical_identifier_list0: &ParseTreeType<'t>,
20947 ) -> Result<()> {
20948 let context = function_name!();
20949 trace!("{}", self.trace_item_stack(context));
20950 let hierarchical_identifier_list0 = pop_and_reverse_item!(
20951 self,
20952 hierarchical_identifier_list0,
20953 HierarchicalIdentifierList0,
20954 context
20955 );
20956 let hierarchical_identifier_list = pop_and_reverse_item!(
20957 self,
20958 hierarchical_identifier_list,
20959 HierarchicalIdentifierList,
20960 context
20961 );
20962 let identifier = pop_item!(self, identifier, Identifier, context);
20963 let hierarchical_identifier_built = HierarchicalIdentifier {
20964 identifier: Box::new(identifier),
20965 hierarchical_identifier_list,
20966 hierarchical_identifier_list0,
20967 };
20968 self.user_grammar
20970 .hierarchical_identifier(&hierarchical_identifier_built)?;
20971 self.push(
20972 ASTType::HierarchicalIdentifier(hierarchical_identifier_built),
20973 context,
20974 );
20975 Ok(())
20976 }
20977
20978 #[parol_runtime::function_name::named]
20983 fn hierarchical_identifier_list0_0(
20984 &mut self,
20985 _dot: &ParseTreeType<'t>,
20986 _identifier: &ParseTreeType<'t>,
20987 _hierarchical_identifier_list0_list: &ParseTreeType<'t>,
20988 _hierarchical_identifier_list0: &ParseTreeType<'t>,
20989 ) -> Result<()> {
20990 let context = function_name!();
20991 trace!("{}", self.trace_item_stack(context));
20992 let mut hierarchical_identifier_list0 = pop_item!(
20993 self,
20994 hierarchical_identifier_list0,
20995 HierarchicalIdentifierList0,
20996 context
20997 );
20998 let hierarchical_identifier_list0_list = pop_and_reverse_item!(
20999 self,
21000 hierarchical_identifier_list0_list,
21001 HierarchicalIdentifierList0List,
21002 context
21003 );
21004 let identifier = pop_item!(self, identifier, Identifier, context);
21005 let dot = pop_item!(self, dot, Dot, context);
21006 let hierarchical_identifier_list0_0_built = HierarchicalIdentifierList0 {
21007 hierarchical_identifier_list0_list,
21008 identifier: Box::new(identifier),
21009 dot: Box::new(dot),
21010 };
21011 hierarchical_identifier_list0.push(hierarchical_identifier_list0_0_built);
21013 self.push(
21014 ASTType::HierarchicalIdentifierList0(hierarchical_identifier_list0),
21015 context,
21016 );
21017 Ok(())
21018 }
21019
21020 #[parol_runtime::function_name::named]
21025 fn hierarchical_identifier_list0_list_0(
21026 &mut self,
21027 _select: &ParseTreeType<'t>,
21028 _hierarchical_identifier_list0_list: &ParseTreeType<'t>,
21029 ) -> Result<()> {
21030 let context = function_name!();
21031 trace!("{}", self.trace_item_stack(context));
21032 let mut hierarchical_identifier_list0_list = pop_item!(
21033 self,
21034 hierarchical_identifier_list0_list,
21035 HierarchicalIdentifierList0List,
21036 context
21037 );
21038 let select = pop_item!(self, select, Select, context);
21039 let hierarchical_identifier_list0_list_0_built = HierarchicalIdentifierList0List {
21040 select: Box::new(select),
21041 };
21042 hierarchical_identifier_list0_list.push(hierarchical_identifier_list0_list_0_built);
21044 self.push(
21045 ASTType::HierarchicalIdentifierList0List(hierarchical_identifier_list0_list),
21046 context,
21047 );
21048 Ok(())
21049 }
21050
21051 #[parol_runtime::function_name::named]
21056 fn hierarchical_identifier_list0_list_1(&mut self) -> Result<()> {
21057 let context = function_name!();
21058 trace!("{}", self.trace_item_stack(context));
21059 let hierarchical_identifier_list0_list_1_built = Vec::new();
21060 self.push(
21061 ASTType::HierarchicalIdentifierList0List(hierarchical_identifier_list0_list_1_built),
21062 context,
21063 );
21064 Ok(())
21065 }
21066
21067 #[parol_runtime::function_name::named]
21072 fn hierarchical_identifier_list0_1(&mut self) -> Result<()> {
21073 let context = function_name!();
21074 trace!("{}", self.trace_item_stack(context));
21075 let hierarchical_identifier_list0_1_built = Vec::new();
21076 self.push(
21077 ASTType::HierarchicalIdentifierList0(hierarchical_identifier_list0_1_built),
21078 context,
21079 );
21080 Ok(())
21081 }
21082
21083 #[parol_runtime::function_name::named]
21088 fn hierarchical_identifier_list_0(
21089 &mut self,
21090 _select: &ParseTreeType<'t>,
21091 _hierarchical_identifier_list: &ParseTreeType<'t>,
21092 ) -> Result<()> {
21093 let context = function_name!();
21094 trace!("{}", self.trace_item_stack(context));
21095 let mut hierarchical_identifier_list = pop_item!(
21096 self,
21097 hierarchical_identifier_list,
21098 HierarchicalIdentifierList,
21099 context
21100 );
21101 let select = pop_item!(self, select, Select, context);
21102 let hierarchical_identifier_list_0_built = HierarchicalIdentifierList {
21103 select: Box::new(select),
21104 };
21105 hierarchical_identifier_list.push(hierarchical_identifier_list_0_built);
21107 self.push(
21108 ASTType::HierarchicalIdentifierList(hierarchical_identifier_list),
21109 context,
21110 );
21111 Ok(())
21112 }
21113
21114 #[parol_runtime::function_name::named]
21119 fn hierarchical_identifier_list_1(&mut self) -> Result<()> {
21120 let context = function_name!();
21121 trace!("{}", self.trace_item_stack(context));
21122 let hierarchical_identifier_list_1_built = Vec::new();
21123 self.push(
21124 ASTType::HierarchicalIdentifierList(hierarchical_identifier_list_1_built),
21125 context,
21126 );
21127 Ok(())
21128 }
21129
21130 #[parol_runtime::function_name::named]
21135 fn scoped_identifier(
21136 &mut self,
21137 _scoped_identifier_group: &ParseTreeType<'t>,
21138 _scoped_identifier_list: &ParseTreeType<'t>,
21139 ) -> Result<()> {
21140 let context = function_name!();
21141 trace!("{}", self.trace_item_stack(context));
21142 let scoped_identifier_list =
21143 pop_and_reverse_item!(self, scoped_identifier_list, ScopedIdentifierList, context);
21144 let scoped_identifier_group = pop_item!(
21145 self,
21146 scoped_identifier_group,
21147 ScopedIdentifierGroup,
21148 context
21149 );
21150 let scoped_identifier_built = ScopedIdentifier {
21151 scoped_identifier_group: Box::new(scoped_identifier_group),
21152 scoped_identifier_list,
21153 };
21154 self.user_grammar
21156 .scoped_identifier(&scoped_identifier_built)?;
21157 self.push(ASTType::ScopedIdentifier(scoped_identifier_built), context);
21158 Ok(())
21159 }
21160
21161 #[parol_runtime::function_name::named]
21166 fn scoped_identifier_group_0(&mut self, _dollar_identifier: &ParseTreeType<'t>) -> Result<()> {
21167 let context = function_name!();
21168 trace!("{}", self.trace_item_stack(context));
21169 let dollar_identifier = pop_item!(self, dollar_identifier, DollarIdentifier, context);
21170 let scoped_identifier_group_0_built = ScopedIdentifierGroupDollarIdentifier {
21171 dollar_identifier: Box::new(dollar_identifier),
21172 };
21173 let scoped_identifier_group_0_built =
21174 ScopedIdentifierGroup::DollarIdentifier(scoped_identifier_group_0_built);
21175 self.push(
21176 ASTType::ScopedIdentifierGroup(scoped_identifier_group_0_built),
21177 context,
21178 );
21179 Ok(())
21180 }
21181
21182 #[parol_runtime::function_name::named]
21187 fn scoped_identifier_group_1(
21188 &mut self,
21189 _identifier: &ParseTreeType<'t>,
21190 _scoped_identifier_opt: &ParseTreeType<'t>,
21191 ) -> Result<()> {
21192 let context = function_name!();
21193 trace!("{}", self.trace_item_stack(context));
21194 let scoped_identifier_opt =
21195 pop_item!(self, scoped_identifier_opt, ScopedIdentifierOpt, context);
21196 let identifier = pop_item!(self, identifier, Identifier, context);
21197 let scoped_identifier_group_1_built = ScopedIdentifierGroupIdentifierScopedIdentifierOpt {
21198 identifier: Box::new(identifier),
21199 scoped_identifier_opt,
21200 };
21201 let scoped_identifier_group_1_built =
21202 ScopedIdentifierGroup::IdentifierScopedIdentifierOpt(scoped_identifier_group_1_built);
21203 self.push(
21204 ASTType::ScopedIdentifierGroup(scoped_identifier_group_1_built),
21205 context,
21206 );
21207 Ok(())
21208 }
21209
21210 #[parol_runtime::function_name::named]
21215 fn scoped_identifier_list_0(
21216 &mut self,
21217 _colon_colon: &ParseTreeType<'t>,
21218 _identifier: &ParseTreeType<'t>,
21219 _scoped_identifier_opt0: &ParseTreeType<'t>,
21220 _scoped_identifier_list: &ParseTreeType<'t>,
21221 ) -> Result<()> {
21222 let context = function_name!();
21223 trace!("{}", self.trace_item_stack(context));
21224 let mut scoped_identifier_list =
21225 pop_item!(self, scoped_identifier_list, ScopedIdentifierList, context);
21226 let scoped_identifier_opt0 =
21227 pop_item!(self, scoped_identifier_opt0, ScopedIdentifierOpt0, context);
21228 let identifier = pop_item!(self, identifier, Identifier, context);
21229 let colon_colon = pop_item!(self, colon_colon, ColonColon, context);
21230 let scoped_identifier_list_0_built = ScopedIdentifierList {
21231 scoped_identifier_opt0,
21232 identifier: Box::new(identifier),
21233 colon_colon: Box::new(colon_colon),
21234 };
21235 scoped_identifier_list.push(scoped_identifier_list_0_built);
21237 self.push(
21238 ASTType::ScopedIdentifierList(scoped_identifier_list),
21239 context,
21240 );
21241 Ok(())
21242 }
21243
21244 #[parol_runtime::function_name::named]
21249 fn scoped_identifier_list_1(&mut self) -> Result<()> {
21250 let context = function_name!();
21251 trace!("{}", self.trace_item_stack(context));
21252 let scoped_identifier_list_1_built = Vec::new();
21253 self.push(
21254 ASTType::ScopedIdentifierList(scoped_identifier_list_1_built),
21255 context,
21256 );
21257 Ok(())
21258 }
21259
21260 #[parol_runtime::function_name::named]
21265 fn scoped_identifier_opt0_0(
21266 &mut self,
21267 _with_generic_argument: &ParseTreeType<'t>,
21268 ) -> Result<()> {
21269 let context = function_name!();
21270 trace!("{}", self.trace_item_stack(context));
21271 let with_generic_argument =
21272 pop_item!(self, with_generic_argument, WithGenericArgument, context);
21273 let scoped_identifier_opt0_0_built = ScopedIdentifierOpt0 {
21274 with_generic_argument: Box::new(with_generic_argument),
21275 };
21276 self.push(
21277 ASTType::ScopedIdentifierOpt0(Some(scoped_identifier_opt0_0_built)),
21278 context,
21279 );
21280 Ok(())
21281 }
21282
21283 #[parol_runtime::function_name::named]
21288 fn scoped_identifier_opt0_1(&mut self) -> Result<()> {
21289 let context = function_name!();
21290 trace!("{}", self.trace_item_stack(context));
21291 self.push(ASTType::ScopedIdentifierOpt0(None), context);
21292 Ok(())
21293 }
21294
21295 #[parol_runtime::function_name::named]
21300 fn scoped_identifier_opt_0(
21301 &mut self,
21302 _with_generic_argument: &ParseTreeType<'t>,
21303 ) -> Result<()> {
21304 let context = function_name!();
21305 trace!("{}", self.trace_item_stack(context));
21306 let with_generic_argument =
21307 pop_item!(self, with_generic_argument, WithGenericArgument, context);
21308 let scoped_identifier_opt_0_built = ScopedIdentifierOpt {
21309 with_generic_argument: Box::new(with_generic_argument),
21310 };
21311 self.push(
21312 ASTType::ScopedIdentifierOpt(Some(scoped_identifier_opt_0_built)),
21313 context,
21314 );
21315 Ok(())
21316 }
21317
21318 #[parol_runtime::function_name::named]
21323 fn scoped_identifier_opt_1(&mut self) -> Result<()> {
21324 let context = function_name!();
21325 trace!("{}", self.trace_item_stack(context));
21326 self.push(ASTType::ScopedIdentifierOpt(None), context);
21327 Ok(())
21328 }
21329
21330 #[parol_runtime::function_name::named]
21335 fn expression_identifier(
21336 &mut self,
21337 _scoped_identifier: &ParseTreeType<'t>,
21338 _expression_identifier_opt: &ParseTreeType<'t>,
21339 _expression_identifier_list: &ParseTreeType<'t>,
21340 _expression_identifier_list0: &ParseTreeType<'t>,
21341 ) -> Result<()> {
21342 let context = function_name!();
21343 trace!("{}", self.trace_item_stack(context));
21344 let expression_identifier_list0 = pop_and_reverse_item!(
21345 self,
21346 expression_identifier_list0,
21347 ExpressionIdentifierList0,
21348 context
21349 );
21350 let expression_identifier_list = pop_and_reverse_item!(
21351 self,
21352 expression_identifier_list,
21353 ExpressionIdentifierList,
21354 context
21355 );
21356 let expression_identifier_opt = pop_item!(
21357 self,
21358 expression_identifier_opt,
21359 ExpressionIdentifierOpt,
21360 context
21361 );
21362 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
21363 let expression_identifier_built = ExpressionIdentifier {
21364 scoped_identifier: Box::new(scoped_identifier),
21365 expression_identifier_opt,
21366 expression_identifier_list,
21367 expression_identifier_list0,
21368 };
21369 self.user_grammar
21371 .expression_identifier(&expression_identifier_built)?;
21372 self.push(
21373 ASTType::ExpressionIdentifier(expression_identifier_built),
21374 context,
21375 );
21376 Ok(())
21377 }
21378
21379 #[parol_runtime::function_name::named]
21384 fn expression_identifier_list0_0(
21385 &mut self,
21386 _dot: &ParseTreeType<'t>,
21387 _identifier: &ParseTreeType<'t>,
21388 _expression_identifier_list0_list: &ParseTreeType<'t>,
21389 _expression_identifier_list0: &ParseTreeType<'t>,
21390 ) -> Result<()> {
21391 let context = function_name!();
21392 trace!("{}", self.trace_item_stack(context));
21393 let mut expression_identifier_list0 = pop_item!(
21394 self,
21395 expression_identifier_list0,
21396 ExpressionIdentifierList0,
21397 context
21398 );
21399 let expression_identifier_list0_list = pop_and_reverse_item!(
21400 self,
21401 expression_identifier_list0_list,
21402 ExpressionIdentifierList0List,
21403 context
21404 );
21405 let identifier = pop_item!(self, identifier, Identifier, context);
21406 let dot = pop_item!(self, dot, Dot, context);
21407 let expression_identifier_list0_0_built = ExpressionIdentifierList0 {
21408 expression_identifier_list0_list,
21409 identifier: Box::new(identifier),
21410 dot: Box::new(dot),
21411 };
21412 expression_identifier_list0.push(expression_identifier_list0_0_built);
21414 self.push(
21415 ASTType::ExpressionIdentifierList0(expression_identifier_list0),
21416 context,
21417 );
21418 Ok(())
21419 }
21420
21421 #[parol_runtime::function_name::named]
21426 fn expression_identifier_list0_list_0(
21427 &mut self,
21428 _select: &ParseTreeType<'t>,
21429 _expression_identifier_list0_list: &ParseTreeType<'t>,
21430 ) -> Result<()> {
21431 let context = function_name!();
21432 trace!("{}", self.trace_item_stack(context));
21433 let mut expression_identifier_list0_list = pop_item!(
21434 self,
21435 expression_identifier_list0_list,
21436 ExpressionIdentifierList0List,
21437 context
21438 );
21439 let select = pop_item!(self, select, Select, context);
21440 let expression_identifier_list0_list_0_built = ExpressionIdentifierList0List {
21441 select: Box::new(select),
21442 };
21443 expression_identifier_list0_list.push(expression_identifier_list0_list_0_built);
21445 self.push(
21446 ASTType::ExpressionIdentifierList0List(expression_identifier_list0_list),
21447 context,
21448 );
21449 Ok(())
21450 }
21451
21452 #[parol_runtime::function_name::named]
21457 fn expression_identifier_list0_list_1(&mut self) -> Result<()> {
21458 let context = function_name!();
21459 trace!("{}", self.trace_item_stack(context));
21460 let expression_identifier_list0_list_1_built = Vec::new();
21461 self.push(
21462 ASTType::ExpressionIdentifierList0List(expression_identifier_list0_list_1_built),
21463 context,
21464 );
21465 Ok(())
21466 }
21467
21468 #[parol_runtime::function_name::named]
21473 fn expression_identifier_list0_1(&mut self) -> Result<()> {
21474 let context = function_name!();
21475 trace!("{}", self.trace_item_stack(context));
21476 let expression_identifier_list0_1_built = Vec::new();
21477 self.push(
21478 ASTType::ExpressionIdentifierList0(expression_identifier_list0_1_built),
21479 context,
21480 );
21481 Ok(())
21482 }
21483
21484 #[parol_runtime::function_name::named]
21489 fn expression_identifier_list_0(
21490 &mut self,
21491 _select: &ParseTreeType<'t>,
21492 _expression_identifier_list: &ParseTreeType<'t>,
21493 ) -> Result<()> {
21494 let context = function_name!();
21495 trace!("{}", self.trace_item_stack(context));
21496 let mut expression_identifier_list = pop_item!(
21497 self,
21498 expression_identifier_list,
21499 ExpressionIdentifierList,
21500 context
21501 );
21502 let select = pop_item!(self, select, Select, context);
21503 let expression_identifier_list_0_built = ExpressionIdentifierList {
21504 select: Box::new(select),
21505 };
21506 expression_identifier_list.push(expression_identifier_list_0_built);
21508 self.push(
21509 ASTType::ExpressionIdentifierList(expression_identifier_list),
21510 context,
21511 );
21512 Ok(())
21513 }
21514
21515 #[parol_runtime::function_name::named]
21520 fn expression_identifier_list_1(&mut self) -> Result<()> {
21521 let context = function_name!();
21522 trace!("{}", self.trace_item_stack(context));
21523 let expression_identifier_list_1_built = Vec::new();
21524 self.push(
21525 ASTType::ExpressionIdentifierList(expression_identifier_list_1_built),
21526 context,
21527 );
21528 Ok(())
21529 }
21530
21531 #[parol_runtime::function_name::named]
21536 fn expression_identifier_opt_0(&mut self, _width: &ParseTreeType<'t>) -> Result<()> {
21537 let context = function_name!();
21538 trace!("{}", self.trace_item_stack(context));
21539 let width = pop_item!(self, width, Width, context);
21540 let expression_identifier_opt_0_built = ExpressionIdentifierOpt {
21541 width: Box::new(width),
21542 };
21543 self.push(
21544 ASTType::ExpressionIdentifierOpt(Some(expression_identifier_opt_0_built)),
21545 context,
21546 );
21547 Ok(())
21548 }
21549
21550 #[parol_runtime::function_name::named]
21555 fn expression_identifier_opt_1(&mut self) -> Result<()> {
21556 let context = function_name!();
21557 trace!("{}", self.trace_item_stack(context));
21558 self.push(ASTType::ExpressionIdentifierOpt(None), context);
21559 Ok(())
21560 }
21561
21562 #[parol_runtime::function_name::named]
21567 fn expression(
21568 &mut self,
21569 _expression01: &ParseTreeType<'t>,
21570 _expression_list: &ParseTreeType<'t>,
21571 ) -> Result<()> {
21572 let context = function_name!();
21573 trace!("{}", self.trace_item_stack(context));
21574 let expression_list = pop_and_reverse_item!(self, expression_list, ExpressionList, context);
21575 let expression01 = pop_item!(self, expression01, Expression01, context);
21576 let expression_built = Expression {
21577 expression01: Box::new(expression01),
21578 expression_list,
21579 };
21580 self.user_grammar.expression(&expression_built)?;
21582 self.push(ASTType::Expression(expression_built), context);
21583 Ok(())
21584 }
21585
21586 #[parol_runtime::function_name::named]
21591 fn expression_list_0(
21592 &mut self,
21593 _operator01: &ParseTreeType<'t>,
21594 _expression01: &ParseTreeType<'t>,
21595 _expression_list: &ParseTreeType<'t>,
21596 ) -> Result<()> {
21597 let context = function_name!();
21598 trace!("{}", self.trace_item_stack(context));
21599 let mut expression_list = pop_item!(self, expression_list, ExpressionList, context);
21600 let expression01 = pop_item!(self, expression01, Expression01, context);
21601 let operator01 = pop_item!(self, operator01, Operator01, context);
21602 let expression_list_0_built = ExpressionList {
21603 expression01: Box::new(expression01),
21604 operator01: Box::new(operator01),
21605 };
21606 expression_list.push(expression_list_0_built);
21608 self.push(ASTType::ExpressionList(expression_list), context);
21609 Ok(())
21610 }
21611
21612 #[parol_runtime::function_name::named]
21617 fn expression_list_1(&mut self) -> Result<()> {
21618 let context = function_name!();
21619 trace!("{}", self.trace_item_stack(context));
21620 let expression_list_1_built = Vec::new();
21621 self.push(ASTType::ExpressionList(expression_list_1_built), context);
21622 Ok(())
21623 }
21624
21625 #[parol_runtime::function_name::named]
21630 fn expression01(
21631 &mut self,
21632 _expression02: &ParseTreeType<'t>,
21633 _expression01_list: &ParseTreeType<'t>,
21634 ) -> Result<()> {
21635 let context = function_name!();
21636 trace!("{}", self.trace_item_stack(context));
21637 let expression01_list =
21638 pop_and_reverse_item!(self, expression01_list, Expression01List, context);
21639 let expression02 = pop_item!(self, expression02, Expression02, context);
21640 let expression01_built = Expression01 {
21641 expression02: Box::new(expression02),
21642 expression01_list,
21643 };
21644 self.user_grammar.expression01(&expression01_built)?;
21646 self.push(ASTType::Expression01(expression01_built), context);
21647 Ok(())
21648 }
21649
21650 #[parol_runtime::function_name::named]
21655 fn expression01_list_0(
21656 &mut self,
21657 _operator02: &ParseTreeType<'t>,
21658 _expression02: &ParseTreeType<'t>,
21659 _expression01_list: &ParseTreeType<'t>,
21660 ) -> Result<()> {
21661 let context = function_name!();
21662 trace!("{}", self.trace_item_stack(context));
21663 let mut expression01_list = pop_item!(self, expression01_list, Expression01List, context);
21664 let expression02 = pop_item!(self, expression02, Expression02, context);
21665 let operator02 = pop_item!(self, operator02, Operator02, context);
21666 let expression01_list_0_built = Expression01List {
21667 expression02: Box::new(expression02),
21668 operator02: Box::new(operator02),
21669 };
21670 expression01_list.push(expression01_list_0_built);
21672 self.push(ASTType::Expression01List(expression01_list), context);
21673 Ok(())
21674 }
21675
21676 #[parol_runtime::function_name::named]
21681 fn expression01_list_1(&mut self) -> Result<()> {
21682 let context = function_name!();
21683 trace!("{}", self.trace_item_stack(context));
21684 let expression01_list_1_built = Vec::new();
21685 self.push(
21686 ASTType::Expression01List(expression01_list_1_built),
21687 context,
21688 );
21689 Ok(())
21690 }
21691
21692 #[parol_runtime::function_name::named]
21697 fn expression02(
21698 &mut self,
21699 _expression03: &ParseTreeType<'t>,
21700 _expression02_list: &ParseTreeType<'t>,
21701 ) -> Result<()> {
21702 let context = function_name!();
21703 trace!("{}", self.trace_item_stack(context));
21704 let expression02_list =
21705 pop_and_reverse_item!(self, expression02_list, Expression02List, context);
21706 let expression03 = pop_item!(self, expression03, Expression03, context);
21707 let expression02_built = Expression02 {
21708 expression03: Box::new(expression03),
21709 expression02_list,
21710 };
21711 self.user_grammar.expression02(&expression02_built)?;
21713 self.push(ASTType::Expression02(expression02_built), context);
21714 Ok(())
21715 }
21716
21717 #[parol_runtime::function_name::named]
21722 fn expression02_list_0(
21723 &mut self,
21724 _operator03: &ParseTreeType<'t>,
21725 _expression03: &ParseTreeType<'t>,
21726 _expression02_list: &ParseTreeType<'t>,
21727 ) -> Result<()> {
21728 let context = function_name!();
21729 trace!("{}", self.trace_item_stack(context));
21730 let mut expression02_list = pop_item!(self, expression02_list, Expression02List, context);
21731 let expression03 = pop_item!(self, expression03, Expression03, context);
21732 let operator03 = pop_item!(self, operator03, Operator03, context);
21733 let expression02_list_0_built = Expression02List {
21734 expression03: Box::new(expression03),
21735 operator03: Box::new(operator03),
21736 };
21737 expression02_list.push(expression02_list_0_built);
21739 self.push(ASTType::Expression02List(expression02_list), context);
21740 Ok(())
21741 }
21742
21743 #[parol_runtime::function_name::named]
21748 fn expression02_list_1(&mut self) -> Result<()> {
21749 let context = function_name!();
21750 trace!("{}", self.trace_item_stack(context));
21751 let expression02_list_1_built = Vec::new();
21752 self.push(
21753 ASTType::Expression02List(expression02_list_1_built),
21754 context,
21755 );
21756 Ok(())
21757 }
21758
21759 #[parol_runtime::function_name::named]
21764 fn expression03(
21765 &mut self,
21766 _expression04: &ParseTreeType<'t>,
21767 _expression03_list: &ParseTreeType<'t>,
21768 ) -> Result<()> {
21769 let context = function_name!();
21770 trace!("{}", self.trace_item_stack(context));
21771 let expression03_list =
21772 pop_and_reverse_item!(self, expression03_list, Expression03List, context);
21773 let expression04 = pop_item!(self, expression04, Expression04, context);
21774 let expression03_built = Expression03 {
21775 expression04: Box::new(expression04),
21776 expression03_list,
21777 };
21778 self.user_grammar.expression03(&expression03_built)?;
21780 self.push(ASTType::Expression03(expression03_built), context);
21781 Ok(())
21782 }
21783
21784 #[parol_runtime::function_name::named]
21789 fn expression03_list_0(
21790 &mut self,
21791 _operator04: &ParseTreeType<'t>,
21792 _expression04: &ParseTreeType<'t>,
21793 _expression03_list: &ParseTreeType<'t>,
21794 ) -> Result<()> {
21795 let context = function_name!();
21796 trace!("{}", self.trace_item_stack(context));
21797 let mut expression03_list = pop_item!(self, expression03_list, Expression03List, context);
21798 let expression04 = pop_item!(self, expression04, Expression04, context);
21799 let operator04 = pop_item!(self, operator04, Operator04, context);
21800 let expression03_list_0_built = Expression03List {
21801 expression04: Box::new(expression04),
21802 operator04: Box::new(operator04),
21803 };
21804 expression03_list.push(expression03_list_0_built);
21806 self.push(ASTType::Expression03List(expression03_list), context);
21807 Ok(())
21808 }
21809
21810 #[parol_runtime::function_name::named]
21815 fn expression03_list_1(&mut self) -> Result<()> {
21816 let context = function_name!();
21817 trace!("{}", self.trace_item_stack(context));
21818 let expression03_list_1_built = Vec::new();
21819 self.push(
21820 ASTType::Expression03List(expression03_list_1_built),
21821 context,
21822 );
21823 Ok(())
21824 }
21825
21826 #[parol_runtime::function_name::named]
21831 fn expression04(
21832 &mut self,
21833 _expression05: &ParseTreeType<'t>,
21834 _expression04_list: &ParseTreeType<'t>,
21835 ) -> Result<()> {
21836 let context = function_name!();
21837 trace!("{}", self.trace_item_stack(context));
21838 let expression04_list =
21839 pop_and_reverse_item!(self, expression04_list, Expression04List, context);
21840 let expression05 = pop_item!(self, expression05, Expression05, context);
21841 let expression04_built = Expression04 {
21842 expression05: Box::new(expression05),
21843 expression04_list,
21844 };
21845 self.user_grammar.expression04(&expression04_built)?;
21847 self.push(ASTType::Expression04(expression04_built), context);
21848 Ok(())
21849 }
21850
21851 #[parol_runtime::function_name::named]
21856 fn expression04_list_0(
21857 &mut self,
21858 _operator05: &ParseTreeType<'t>,
21859 _expression05: &ParseTreeType<'t>,
21860 _expression04_list: &ParseTreeType<'t>,
21861 ) -> Result<()> {
21862 let context = function_name!();
21863 trace!("{}", self.trace_item_stack(context));
21864 let mut expression04_list = pop_item!(self, expression04_list, Expression04List, context);
21865 let expression05 = pop_item!(self, expression05, Expression05, context);
21866 let operator05 = pop_item!(self, operator05, Operator05, context);
21867 let expression04_list_0_built = Expression04List {
21868 expression05: Box::new(expression05),
21869 operator05: Box::new(operator05),
21870 };
21871 expression04_list.push(expression04_list_0_built);
21873 self.push(ASTType::Expression04List(expression04_list), context);
21874 Ok(())
21875 }
21876
21877 #[parol_runtime::function_name::named]
21882 fn expression04_list_1(&mut self) -> Result<()> {
21883 let context = function_name!();
21884 trace!("{}", self.trace_item_stack(context));
21885 let expression04_list_1_built = Vec::new();
21886 self.push(
21887 ASTType::Expression04List(expression04_list_1_built),
21888 context,
21889 );
21890 Ok(())
21891 }
21892
21893 #[parol_runtime::function_name::named]
21898 fn expression05(
21899 &mut self,
21900 _expression06: &ParseTreeType<'t>,
21901 _expression05_list: &ParseTreeType<'t>,
21902 ) -> Result<()> {
21903 let context = function_name!();
21904 trace!("{}", self.trace_item_stack(context));
21905 let expression05_list =
21906 pop_and_reverse_item!(self, expression05_list, Expression05List, context);
21907 let expression06 = pop_item!(self, expression06, Expression06, context);
21908 let expression05_built = Expression05 {
21909 expression06: Box::new(expression06),
21910 expression05_list,
21911 };
21912 self.user_grammar.expression05(&expression05_built)?;
21914 self.push(ASTType::Expression05(expression05_built), context);
21915 Ok(())
21916 }
21917
21918 #[parol_runtime::function_name::named]
21923 fn expression05_list_0(
21924 &mut self,
21925 _operator06: &ParseTreeType<'t>,
21926 _expression06: &ParseTreeType<'t>,
21927 _expression05_list: &ParseTreeType<'t>,
21928 ) -> Result<()> {
21929 let context = function_name!();
21930 trace!("{}", self.trace_item_stack(context));
21931 let mut expression05_list = pop_item!(self, expression05_list, Expression05List, context);
21932 let expression06 = pop_item!(self, expression06, Expression06, context);
21933 let operator06 = pop_item!(self, operator06, Operator06, context);
21934 let expression05_list_0_built = Expression05List {
21935 expression06: Box::new(expression06),
21936 operator06: Box::new(operator06),
21937 };
21938 expression05_list.push(expression05_list_0_built);
21940 self.push(ASTType::Expression05List(expression05_list), context);
21941 Ok(())
21942 }
21943
21944 #[parol_runtime::function_name::named]
21949 fn expression05_list_1(&mut self) -> Result<()> {
21950 let context = function_name!();
21951 trace!("{}", self.trace_item_stack(context));
21952 let expression05_list_1_built = Vec::new();
21953 self.push(
21954 ASTType::Expression05List(expression05_list_1_built),
21955 context,
21956 );
21957 Ok(())
21958 }
21959
21960 #[parol_runtime::function_name::named]
21965 fn expression06(
21966 &mut self,
21967 _expression07: &ParseTreeType<'t>,
21968 _expression06_list: &ParseTreeType<'t>,
21969 ) -> Result<()> {
21970 let context = function_name!();
21971 trace!("{}", self.trace_item_stack(context));
21972 let expression06_list =
21973 pop_and_reverse_item!(self, expression06_list, Expression06List, context);
21974 let expression07 = pop_item!(self, expression07, Expression07, context);
21975 let expression06_built = Expression06 {
21976 expression07: Box::new(expression07),
21977 expression06_list,
21978 };
21979 self.user_grammar.expression06(&expression06_built)?;
21981 self.push(ASTType::Expression06(expression06_built), context);
21982 Ok(())
21983 }
21984
21985 #[parol_runtime::function_name::named]
21990 fn expression06_list_0(
21991 &mut self,
21992 _operator07: &ParseTreeType<'t>,
21993 _expression07: &ParseTreeType<'t>,
21994 _expression06_list: &ParseTreeType<'t>,
21995 ) -> Result<()> {
21996 let context = function_name!();
21997 trace!("{}", self.trace_item_stack(context));
21998 let mut expression06_list = pop_item!(self, expression06_list, Expression06List, context);
21999 let expression07 = pop_item!(self, expression07, Expression07, context);
22000 let operator07 = pop_item!(self, operator07, Operator07, context);
22001 let expression06_list_0_built = Expression06List {
22002 expression07: Box::new(expression07),
22003 operator07: Box::new(operator07),
22004 };
22005 expression06_list.push(expression06_list_0_built);
22007 self.push(ASTType::Expression06List(expression06_list), context);
22008 Ok(())
22009 }
22010
22011 #[parol_runtime::function_name::named]
22016 fn expression06_list_1(&mut self) -> Result<()> {
22017 let context = function_name!();
22018 trace!("{}", self.trace_item_stack(context));
22019 let expression06_list_1_built = Vec::new();
22020 self.push(
22021 ASTType::Expression06List(expression06_list_1_built),
22022 context,
22023 );
22024 Ok(())
22025 }
22026
22027 #[parol_runtime::function_name::named]
22032 fn expression07(
22033 &mut self,
22034 _expression08: &ParseTreeType<'t>,
22035 _expression07_list: &ParseTreeType<'t>,
22036 ) -> Result<()> {
22037 let context = function_name!();
22038 trace!("{}", self.trace_item_stack(context));
22039 let expression07_list =
22040 pop_and_reverse_item!(self, expression07_list, Expression07List, context);
22041 let expression08 = pop_item!(self, expression08, Expression08, context);
22042 let expression07_built = Expression07 {
22043 expression08: Box::new(expression08),
22044 expression07_list,
22045 };
22046 self.user_grammar.expression07(&expression07_built)?;
22048 self.push(ASTType::Expression07(expression07_built), context);
22049 Ok(())
22050 }
22051
22052 #[parol_runtime::function_name::named]
22057 fn expression07_list_0(
22058 &mut self,
22059 _operator08: &ParseTreeType<'t>,
22060 _expression08: &ParseTreeType<'t>,
22061 _expression07_list: &ParseTreeType<'t>,
22062 ) -> Result<()> {
22063 let context = function_name!();
22064 trace!("{}", self.trace_item_stack(context));
22065 let mut expression07_list = pop_item!(self, expression07_list, Expression07List, context);
22066 let expression08 = pop_item!(self, expression08, Expression08, context);
22067 let operator08 = pop_item!(self, operator08, Operator08, context);
22068 let expression07_list_0_built = Expression07List {
22069 expression08: Box::new(expression08),
22070 operator08: Box::new(operator08),
22071 };
22072 expression07_list.push(expression07_list_0_built);
22074 self.push(ASTType::Expression07List(expression07_list), context);
22075 Ok(())
22076 }
22077
22078 #[parol_runtime::function_name::named]
22083 fn expression07_list_1(&mut self) -> Result<()> {
22084 let context = function_name!();
22085 trace!("{}", self.trace_item_stack(context));
22086 let expression07_list_1_built = Vec::new();
22087 self.push(
22088 ASTType::Expression07List(expression07_list_1_built),
22089 context,
22090 );
22091 Ok(())
22092 }
22093
22094 #[parol_runtime::function_name::named]
22099 fn expression08(
22100 &mut self,
22101 _expression09: &ParseTreeType<'t>,
22102 _expression08_list: &ParseTreeType<'t>,
22103 ) -> Result<()> {
22104 let context = function_name!();
22105 trace!("{}", self.trace_item_stack(context));
22106 let expression08_list =
22107 pop_and_reverse_item!(self, expression08_list, Expression08List, context);
22108 let expression09 = pop_item!(self, expression09, Expression09, context);
22109 let expression08_built = Expression08 {
22110 expression09: Box::new(expression09),
22111 expression08_list,
22112 };
22113 self.user_grammar.expression08(&expression08_built)?;
22115 self.push(ASTType::Expression08(expression08_built), context);
22116 Ok(())
22117 }
22118
22119 #[parol_runtime::function_name::named]
22124 fn expression08_list_0(
22125 &mut self,
22126 _operator09: &ParseTreeType<'t>,
22127 _expression09: &ParseTreeType<'t>,
22128 _expression08_list: &ParseTreeType<'t>,
22129 ) -> Result<()> {
22130 let context = function_name!();
22131 trace!("{}", self.trace_item_stack(context));
22132 let mut expression08_list = pop_item!(self, expression08_list, Expression08List, context);
22133 let expression09 = pop_item!(self, expression09, Expression09, context);
22134 let operator09 = pop_item!(self, operator09, Operator09, context);
22135 let expression08_list_0_built = Expression08List {
22136 expression09: Box::new(expression09),
22137 operator09: Box::new(operator09),
22138 };
22139 expression08_list.push(expression08_list_0_built);
22141 self.push(ASTType::Expression08List(expression08_list), context);
22142 Ok(())
22143 }
22144
22145 #[parol_runtime::function_name::named]
22150 fn expression08_list_1(&mut self) -> Result<()> {
22151 let context = function_name!();
22152 trace!("{}", self.trace_item_stack(context));
22153 let expression08_list_1_built = Vec::new();
22154 self.push(
22155 ASTType::Expression08List(expression08_list_1_built),
22156 context,
22157 );
22158 Ok(())
22159 }
22160
22161 #[parol_runtime::function_name::named]
22166 fn expression09(
22167 &mut self,
22168 _expression10: &ParseTreeType<'t>,
22169 _expression09_list: &ParseTreeType<'t>,
22170 ) -> Result<()> {
22171 let context = function_name!();
22172 trace!("{}", self.trace_item_stack(context));
22173 let expression09_list =
22174 pop_and_reverse_item!(self, expression09_list, Expression09List, context);
22175 let expression10 = pop_item!(self, expression10, Expression10, context);
22176 let expression09_built = Expression09 {
22177 expression10: Box::new(expression10),
22178 expression09_list,
22179 };
22180 self.user_grammar.expression09(&expression09_built)?;
22182 self.push(ASTType::Expression09(expression09_built), context);
22183 Ok(())
22184 }
22185
22186 #[parol_runtime::function_name::named]
22191 fn expression09_list_0(
22192 &mut self,
22193 _expression09_list_group: &ParseTreeType<'t>,
22194 _expression10: &ParseTreeType<'t>,
22195 _expression09_list: &ParseTreeType<'t>,
22196 ) -> Result<()> {
22197 let context = function_name!();
22198 trace!("{}", self.trace_item_stack(context));
22199 let mut expression09_list = pop_item!(self, expression09_list, Expression09List, context);
22200 let expression10 = pop_item!(self, expression10, Expression10, context);
22201 let expression09_list_group = pop_item!(
22202 self,
22203 expression09_list_group,
22204 Expression09ListGroup,
22205 context
22206 );
22207 let expression09_list_0_built = Expression09List {
22208 expression10: Box::new(expression10),
22209 expression09_list_group: Box::new(expression09_list_group),
22210 };
22211 expression09_list.push(expression09_list_0_built);
22213 self.push(ASTType::Expression09List(expression09_list), context);
22214 Ok(())
22215 }
22216
22217 #[parol_runtime::function_name::named]
22222 fn expression09_list_group_0(&mut self, _operator10: &ParseTreeType<'t>) -> Result<()> {
22223 let context = function_name!();
22224 trace!("{}", self.trace_item_stack(context));
22225 let operator10 = pop_item!(self, operator10, Operator10, context);
22226 let expression09_list_group_0_built = Expression09ListGroupOperator10 {
22227 operator10: Box::new(operator10),
22228 };
22229 let expression09_list_group_0_built =
22230 Expression09ListGroup::Operator10(expression09_list_group_0_built);
22231 self.push(
22232 ASTType::Expression09ListGroup(expression09_list_group_0_built),
22233 context,
22234 );
22235 Ok(())
22236 }
22237
22238 #[parol_runtime::function_name::named]
22243 fn expression09_list_group_1(&mut self, _star: &ParseTreeType<'t>) -> Result<()> {
22244 let context = function_name!();
22245 trace!("{}", self.trace_item_stack(context));
22246 let star = pop_item!(self, star, Star, context);
22247 let expression09_list_group_1_built = Expression09ListGroupStar {
22248 star: Box::new(star),
22249 };
22250 let expression09_list_group_1_built =
22251 Expression09ListGroup::Star(expression09_list_group_1_built);
22252 self.push(
22253 ASTType::Expression09ListGroup(expression09_list_group_1_built),
22254 context,
22255 );
22256 Ok(())
22257 }
22258
22259 #[parol_runtime::function_name::named]
22264 fn expression09_list_1(&mut self) -> Result<()> {
22265 let context = function_name!();
22266 trace!("{}", self.trace_item_stack(context));
22267 let expression09_list_1_built = Vec::new();
22268 self.push(
22269 ASTType::Expression09List(expression09_list_1_built),
22270 context,
22271 );
22272 Ok(())
22273 }
22274
22275 #[parol_runtime::function_name::named]
22280 fn expression10(
22281 &mut self,
22282 _expression11: &ParseTreeType<'t>,
22283 _expression10_list: &ParseTreeType<'t>,
22284 ) -> Result<()> {
22285 let context = function_name!();
22286 trace!("{}", self.trace_item_stack(context));
22287 let expression10_list =
22288 pop_and_reverse_item!(self, expression10_list, Expression10List, context);
22289 let expression11 = pop_item!(self, expression11, Expression11, context);
22290 let expression10_built = Expression10 {
22291 expression11: Box::new(expression11),
22292 expression10_list,
22293 };
22294 self.user_grammar.expression10(&expression10_built)?;
22296 self.push(ASTType::Expression10(expression10_built), context);
22297 Ok(())
22298 }
22299
22300 #[parol_runtime::function_name::named]
22305 fn expression10_list_0(
22306 &mut self,
22307 _operator11: &ParseTreeType<'t>,
22308 _expression11: &ParseTreeType<'t>,
22309 _expression10_list: &ParseTreeType<'t>,
22310 ) -> Result<()> {
22311 let context = function_name!();
22312 trace!("{}", self.trace_item_stack(context));
22313 let mut expression10_list = pop_item!(self, expression10_list, Expression10List, context);
22314 let expression11 = pop_item!(self, expression11, Expression11, context);
22315 let operator11 = pop_item!(self, operator11, Operator11, context);
22316 let expression10_list_0_built = Expression10List {
22317 expression11: Box::new(expression11),
22318 operator11: Box::new(operator11),
22319 };
22320 expression10_list.push(expression10_list_0_built);
22322 self.push(ASTType::Expression10List(expression10_list), context);
22323 Ok(())
22324 }
22325
22326 #[parol_runtime::function_name::named]
22331 fn expression10_list_1(&mut self) -> Result<()> {
22332 let context = function_name!();
22333 trace!("{}", self.trace_item_stack(context));
22334 let expression10_list_1_built = Vec::new();
22335 self.push(
22336 ASTType::Expression10List(expression10_list_1_built),
22337 context,
22338 );
22339 Ok(())
22340 }
22341
22342 #[parol_runtime::function_name::named]
22347 fn expression11(
22348 &mut self,
22349 _expression12: &ParseTreeType<'t>,
22350 _expression11_opt: &ParseTreeType<'t>,
22351 ) -> Result<()> {
22352 let context = function_name!();
22353 trace!("{}", self.trace_item_stack(context));
22354 let expression11_opt = pop_item!(self, expression11_opt, Expression11Opt, context);
22355 let expression12 = pop_item!(self, expression12, Expression12, context);
22356 let expression11_built = Expression11 {
22357 expression12: Box::new(expression12),
22358 expression11_opt,
22359 };
22360 self.user_grammar.expression11(&expression11_built)?;
22362 self.push(ASTType::Expression11(expression11_built), context);
22363 Ok(())
22364 }
22365
22366 #[parol_runtime::function_name::named]
22371 fn expression11_opt_0(
22372 &mut self,
22373 _as: &ParseTreeType<'t>,
22374 _casting_type: &ParseTreeType<'t>,
22375 ) -> Result<()> {
22376 let context = function_name!();
22377 trace!("{}", self.trace_item_stack(context));
22378 let casting_type = pop_item!(self, casting_type, CastingType, context);
22379 let r#as = pop_item!(self, r#as, As, context);
22380 let expression11_opt_0_built = Expression11Opt {
22381 r#as: Box::new(r#as),
22382 casting_type: Box::new(casting_type),
22383 };
22384 self.push(
22385 ASTType::Expression11Opt(Some(expression11_opt_0_built)),
22386 context,
22387 );
22388 Ok(())
22389 }
22390
22391 #[parol_runtime::function_name::named]
22396 fn expression11_opt_1(&mut self) -> Result<()> {
22397 let context = function_name!();
22398 trace!("{}", self.trace_item_stack(context));
22399 self.push(ASTType::Expression11Opt(None), context);
22400 Ok(())
22401 }
22402
22403 #[parol_runtime::function_name::named]
22408 fn expression12(
22409 &mut self,
22410 _expression12_list: &ParseTreeType<'t>,
22411 _factor: &ParseTreeType<'t>,
22412 ) -> Result<()> {
22413 let context = function_name!();
22414 trace!("{}", self.trace_item_stack(context));
22415 let factor = pop_item!(self, factor, Factor, context);
22416 let expression12_list =
22417 pop_and_reverse_item!(self, expression12_list, Expression12List, context);
22418 let expression12_built = Expression12 {
22419 expression12_list,
22420 factor: Box::new(factor),
22421 };
22422 self.user_grammar.expression12(&expression12_built)?;
22424 self.push(ASTType::Expression12(expression12_built), context);
22425 Ok(())
22426 }
22427
22428 #[parol_runtime::function_name::named]
22433 fn expression12_list_0(
22434 &mut self,
22435 _expression12_list_group: &ParseTreeType<'t>,
22436 _expression12_list: &ParseTreeType<'t>,
22437 ) -> Result<()> {
22438 let context = function_name!();
22439 trace!("{}", self.trace_item_stack(context));
22440 let mut expression12_list = pop_item!(self, expression12_list, Expression12List, context);
22441 let expression12_list_group = pop_item!(
22442 self,
22443 expression12_list_group,
22444 Expression12ListGroup,
22445 context
22446 );
22447 let expression12_list_0_built = Expression12List {
22448 expression12_list_group: Box::new(expression12_list_group),
22449 };
22450 expression12_list.push(expression12_list_0_built);
22452 self.push(ASTType::Expression12List(expression12_list), context);
22453 Ok(())
22454 }
22455
22456 #[parol_runtime::function_name::named]
22461 fn expression12_list_group_0(&mut self, _unary_operator: &ParseTreeType<'t>) -> Result<()> {
22462 let context = function_name!();
22463 trace!("{}", self.trace_item_stack(context));
22464 let unary_operator = pop_item!(self, unary_operator, UnaryOperator, context);
22465 let expression12_list_group_0_built = Expression12ListGroupUnaryOperator {
22466 unary_operator: Box::new(unary_operator),
22467 };
22468 let expression12_list_group_0_built =
22469 Expression12ListGroup::UnaryOperator(expression12_list_group_0_built);
22470 self.push(
22471 ASTType::Expression12ListGroup(expression12_list_group_0_built),
22472 context,
22473 );
22474 Ok(())
22475 }
22476
22477 #[parol_runtime::function_name::named]
22482 fn expression12_list_group_1(&mut self, _operator09: &ParseTreeType<'t>) -> Result<()> {
22483 let context = function_name!();
22484 trace!("{}", self.trace_item_stack(context));
22485 let operator09 = pop_item!(self, operator09, Operator09, context);
22486 let expression12_list_group_1_built = Expression12ListGroupOperator09 {
22487 operator09: Box::new(operator09),
22488 };
22489 let expression12_list_group_1_built =
22490 Expression12ListGroup::Operator09(expression12_list_group_1_built);
22491 self.push(
22492 ASTType::Expression12ListGroup(expression12_list_group_1_built),
22493 context,
22494 );
22495 Ok(())
22496 }
22497
22498 #[parol_runtime::function_name::named]
22503 fn expression12_list_group_2(&mut self, _operator05: &ParseTreeType<'t>) -> Result<()> {
22504 let context = function_name!();
22505 trace!("{}", self.trace_item_stack(context));
22506 let operator05 = pop_item!(self, operator05, Operator05, context);
22507 let expression12_list_group_2_built = Expression12ListGroupOperator05 {
22508 operator05: Box::new(operator05),
22509 };
22510 let expression12_list_group_2_built =
22511 Expression12ListGroup::Operator05(expression12_list_group_2_built);
22512 self.push(
22513 ASTType::Expression12ListGroup(expression12_list_group_2_built),
22514 context,
22515 );
22516 Ok(())
22517 }
22518
22519 #[parol_runtime::function_name::named]
22524 fn expression12_list_group_3(&mut self, _operator03: &ParseTreeType<'t>) -> Result<()> {
22525 let context = function_name!();
22526 trace!("{}", self.trace_item_stack(context));
22527 let operator03 = pop_item!(self, operator03, Operator03, context);
22528 let expression12_list_group_3_built = Expression12ListGroupOperator03 {
22529 operator03: Box::new(operator03),
22530 };
22531 let expression12_list_group_3_built =
22532 Expression12ListGroup::Operator03(expression12_list_group_3_built);
22533 self.push(
22534 ASTType::Expression12ListGroup(expression12_list_group_3_built),
22535 context,
22536 );
22537 Ok(())
22538 }
22539
22540 #[parol_runtime::function_name::named]
22545 fn expression12_list_group_4(&mut self, _operator04: &ParseTreeType<'t>) -> Result<()> {
22546 let context = function_name!();
22547 trace!("{}", self.trace_item_stack(context));
22548 let operator04 = pop_item!(self, operator04, Operator04, context);
22549 let expression12_list_group_4_built = Expression12ListGroupOperator04 {
22550 operator04: Box::new(operator04),
22551 };
22552 let expression12_list_group_4_built =
22553 Expression12ListGroup::Operator04(expression12_list_group_4_built);
22554 self.push(
22555 ASTType::Expression12ListGroup(expression12_list_group_4_built),
22556 context,
22557 );
22558 Ok(())
22559 }
22560
22561 #[parol_runtime::function_name::named]
22566 fn expression12_list_1(&mut self) -> Result<()> {
22567 let context = function_name!();
22568 trace!("{}", self.trace_item_stack(context));
22569 let expression12_list_1_built = Vec::new();
22570 self.push(
22571 ASTType::Expression12List(expression12_list_1_built),
22572 context,
22573 );
22574 Ok(())
22575 }
22576
22577 #[parol_runtime::function_name::named]
22582 fn factor_0(&mut self, _number: &ParseTreeType<'t>) -> Result<()> {
22583 let context = function_name!();
22584 trace!("{}", self.trace_item_stack(context));
22585 let number = pop_item!(self, number, Number, context);
22586 let factor_0_built = FactorNumber {
22587 number: Box::new(number),
22588 };
22589 let factor_0_built = Factor::Number(factor_0_built);
22590 self.user_grammar.factor(&factor_0_built)?;
22592 self.push(ASTType::Factor(factor_0_built), context);
22593 Ok(())
22594 }
22595
22596 #[parol_runtime::function_name::named]
22601 fn factor_1(&mut self, _identifier_factor: &ParseTreeType<'t>) -> Result<()> {
22602 let context = function_name!();
22603 trace!("{}", self.trace_item_stack(context));
22604 let identifier_factor = pop_item!(self, identifier_factor, IdentifierFactor, context);
22605 let factor_1_built = FactorIdentifierFactor {
22606 identifier_factor: Box::new(identifier_factor),
22607 };
22608 let factor_1_built = Factor::IdentifierFactor(factor_1_built);
22609 self.user_grammar.factor(&factor_1_built)?;
22611 self.push(ASTType::Factor(factor_1_built), context);
22612 Ok(())
22613 }
22614
22615 #[parol_runtime::function_name::named]
22620 fn factor_2(
22621 &mut self,
22622 _l_paren: &ParseTreeType<'t>,
22623 _expression: &ParseTreeType<'t>,
22624 _r_paren: &ParseTreeType<'t>,
22625 ) -> Result<()> {
22626 let context = function_name!();
22627 trace!("{}", self.trace_item_stack(context));
22628 let r_paren = pop_item!(self, r_paren, RParen, context);
22629 let expression = pop_item!(self, expression, Expression, context);
22630 let l_paren = pop_item!(self, l_paren, LParen, context);
22631 let factor_2_built = FactorLParenExpressionRParen {
22632 l_paren: Box::new(l_paren),
22633 expression: Box::new(expression),
22634 r_paren: Box::new(r_paren),
22635 };
22636 let factor_2_built = Factor::LParenExpressionRParen(factor_2_built);
22637 self.user_grammar.factor(&factor_2_built)?;
22639 self.push(ASTType::Factor(factor_2_built), context);
22640 Ok(())
22641 }
22642
22643 #[parol_runtime::function_name::named]
22648 fn factor_3(
22649 &mut self,
22650 _l_brace: &ParseTreeType<'t>,
22651 _concatenation_list: &ParseTreeType<'t>,
22652 _r_brace: &ParseTreeType<'t>,
22653 ) -> Result<()> {
22654 let context = function_name!();
22655 trace!("{}", self.trace_item_stack(context));
22656 let r_brace = pop_item!(self, r_brace, RBrace, context);
22657 let concatenation_list = pop_item!(self, concatenation_list, ConcatenationList, context);
22658 let l_brace = pop_item!(self, l_brace, LBrace, context);
22659 let factor_3_built = FactorLBraceConcatenationListRBrace {
22660 l_brace: Box::new(l_brace),
22661 concatenation_list: Box::new(concatenation_list),
22662 r_brace: Box::new(r_brace),
22663 };
22664 let factor_3_built = Factor::LBraceConcatenationListRBrace(factor_3_built);
22665 self.user_grammar.factor(&factor_3_built)?;
22667 self.push(ASTType::Factor(factor_3_built), context);
22668 Ok(())
22669 }
22670
22671 #[parol_runtime::function_name::named]
22676 fn factor_4(
22677 &mut self,
22678 _quote_l_brace: &ParseTreeType<'t>,
22679 _array_literal_list: &ParseTreeType<'t>,
22680 _r_brace: &ParseTreeType<'t>,
22681 ) -> Result<()> {
22682 let context = function_name!();
22683 trace!("{}", self.trace_item_stack(context));
22684 let r_brace = pop_item!(self, r_brace, RBrace, context);
22685 let array_literal_list = pop_item!(self, array_literal_list, ArrayLiteralList, context);
22686 let quote_l_brace = pop_item!(self, quote_l_brace, QuoteLBrace, context);
22687 let factor_4_built = FactorQuoteLBraceArrayLiteralListRBrace {
22688 quote_l_brace: Box::new(quote_l_brace),
22689 array_literal_list: Box::new(array_literal_list),
22690 r_brace: Box::new(r_brace),
22691 };
22692 let factor_4_built = Factor::QuoteLBraceArrayLiteralListRBrace(factor_4_built);
22693 self.user_grammar.factor(&factor_4_built)?;
22695 self.push(ASTType::Factor(factor_4_built), context);
22696 Ok(())
22697 }
22698
22699 #[parol_runtime::function_name::named]
22704 fn factor_5(&mut self, _if_expression: &ParseTreeType<'t>) -> Result<()> {
22705 let context = function_name!();
22706 trace!("{}", self.trace_item_stack(context));
22707 let if_expression = pop_item!(self, if_expression, IfExpression, context);
22708 let factor_5_built = FactorIfExpression {
22709 if_expression: Box::new(if_expression),
22710 };
22711 let factor_5_built = Factor::IfExpression(factor_5_built);
22712 self.user_grammar.factor(&factor_5_built)?;
22714 self.push(ASTType::Factor(factor_5_built), context);
22715 Ok(())
22716 }
22717
22718 #[parol_runtime::function_name::named]
22723 fn factor_6(&mut self, _case_expression: &ParseTreeType<'t>) -> Result<()> {
22724 let context = function_name!();
22725 trace!("{}", self.trace_item_stack(context));
22726 let case_expression = pop_item!(self, case_expression, CaseExpression, context);
22727 let factor_6_built = FactorCaseExpression {
22728 case_expression: Box::new(case_expression),
22729 };
22730 let factor_6_built = Factor::CaseExpression(factor_6_built);
22731 self.user_grammar.factor(&factor_6_built)?;
22733 self.push(ASTType::Factor(factor_6_built), context);
22734 Ok(())
22735 }
22736
22737 #[parol_runtime::function_name::named]
22742 fn factor_7(&mut self, _switch_expression: &ParseTreeType<'t>) -> Result<()> {
22743 let context = function_name!();
22744 trace!("{}", self.trace_item_stack(context));
22745 let switch_expression = pop_item!(self, switch_expression, SwitchExpression, context);
22746 let factor_7_built = FactorSwitchExpression {
22747 switch_expression: Box::new(switch_expression),
22748 };
22749 let factor_7_built = Factor::SwitchExpression(factor_7_built);
22750 self.user_grammar.factor(&factor_7_built)?;
22752 self.push(ASTType::Factor(factor_7_built), context);
22753 Ok(())
22754 }
22755
22756 #[parol_runtime::function_name::named]
22761 fn factor_8(&mut self, _string_literal: &ParseTreeType<'t>) -> Result<()> {
22762 let context = function_name!();
22763 trace!("{}", self.trace_item_stack(context));
22764 let string_literal = pop_item!(self, string_literal, StringLiteral, context);
22765 let factor_8_built = FactorStringLiteral {
22766 string_literal: Box::new(string_literal),
22767 };
22768 let factor_8_built = Factor::StringLiteral(factor_8_built);
22769 self.user_grammar.factor(&factor_8_built)?;
22771 self.push(ASTType::Factor(factor_8_built), context);
22772 Ok(())
22773 }
22774
22775 #[parol_runtime::function_name::named]
22780 fn factor_9(&mut self, _factor_group: &ParseTreeType<'t>) -> Result<()> {
22781 let context = function_name!();
22782 trace!("{}", self.trace_item_stack(context));
22783 let factor_group = pop_item!(self, factor_group, FactorGroup, context);
22784 let factor_9_built = FactorFactorGroup {
22785 factor_group: Box::new(factor_group),
22786 };
22787 let factor_9_built = Factor::FactorGroup(factor_9_built);
22788 self.user_grammar.factor(&factor_9_built)?;
22790 self.push(ASTType::Factor(factor_9_built), context);
22791 Ok(())
22792 }
22793
22794 #[parol_runtime::function_name::named]
22799 fn factor_group_0(&mut self, _msb: &ParseTreeType<'t>) -> Result<()> {
22800 let context = function_name!();
22801 trace!("{}", self.trace_item_stack(context));
22802 let msb = pop_item!(self, msb, Msb, context);
22803 let factor_group_0_built = FactorGroupMsb { msb: Box::new(msb) };
22804 let factor_group_0_built = FactorGroup::Msb(factor_group_0_built);
22805 self.push(ASTType::FactorGroup(factor_group_0_built), context);
22806 Ok(())
22807 }
22808
22809 #[parol_runtime::function_name::named]
22814 fn factor_group_1(&mut self, _lsb: &ParseTreeType<'t>) -> Result<()> {
22815 let context = function_name!();
22816 trace!("{}", self.trace_item_stack(context));
22817 let lsb = pop_item!(self, lsb, Lsb, context);
22818 let factor_group_1_built = FactorGroupLsb { lsb: Box::new(lsb) };
22819 let factor_group_1_built = FactorGroup::Lsb(factor_group_1_built);
22820 self.push(ASTType::FactorGroup(factor_group_1_built), context);
22821 Ok(())
22822 }
22823
22824 #[parol_runtime::function_name::named]
22829 fn factor_10(&mut self, _inside_expression: &ParseTreeType<'t>) -> Result<()> {
22830 let context = function_name!();
22831 trace!("{}", self.trace_item_stack(context));
22832 let inside_expression = pop_item!(self, inside_expression, InsideExpression, context);
22833 let factor_10_built = FactorInsideExpression {
22834 inside_expression: Box::new(inside_expression),
22835 };
22836 let factor_10_built = Factor::InsideExpression(factor_10_built);
22837 self.user_grammar.factor(&factor_10_built)?;
22839 self.push(ASTType::Factor(factor_10_built), context);
22840 Ok(())
22841 }
22842
22843 #[parol_runtime::function_name::named]
22848 fn factor_11(&mut self, _outside_expression: &ParseTreeType<'t>) -> Result<()> {
22849 let context = function_name!();
22850 trace!("{}", self.trace_item_stack(context));
22851 let outside_expression = pop_item!(self, outside_expression, OutsideExpression, context);
22852 let factor_11_built = FactorOutsideExpression {
22853 outside_expression: Box::new(outside_expression),
22854 };
22855 let factor_11_built = Factor::OutsideExpression(factor_11_built);
22856 self.user_grammar.factor(&factor_11_built)?;
22858 self.push(ASTType::Factor(factor_11_built), context);
22859 Ok(())
22860 }
22861
22862 #[parol_runtime::function_name::named]
22867 fn factor_12(&mut self, _type_expression: &ParseTreeType<'t>) -> Result<()> {
22868 let context = function_name!();
22869 trace!("{}", self.trace_item_stack(context));
22870 let type_expression = pop_item!(self, type_expression, TypeExpression, context);
22871 let factor_12_built = FactorTypeExpression {
22872 type_expression: Box::new(type_expression),
22873 };
22874 let factor_12_built = Factor::TypeExpression(factor_12_built);
22875 self.user_grammar.factor(&factor_12_built)?;
22877 self.push(ASTType::Factor(factor_12_built), context);
22878 Ok(())
22879 }
22880
22881 #[parol_runtime::function_name::named]
22886 fn factor_13(&mut self, _factor_type_factor: &ParseTreeType<'t>) -> Result<()> {
22887 let context = function_name!();
22888 trace!("{}", self.trace_item_stack(context));
22889 let factor_type_factor = pop_item!(self, factor_type_factor, FactorTypeFactor, context);
22890 let factor_13_built = FactorFactorTypeFactor {
22891 factor_type_factor: Box::new(factor_type_factor),
22892 };
22893 let factor_13_built = Factor::FactorTypeFactor(factor_13_built);
22894 self.user_grammar.factor(&factor_13_built)?;
22896 self.push(ASTType::Factor(factor_13_built), context);
22897 Ok(())
22898 }
22899
22900 #[parol_runtime::function_name::named]
22905 fn identifier_factor(
22906 &mut self,
22907 _expression_identifier: &ParseTreeType<'t>,
22908 _identifier_factor_opt: &ParseTreeType<'t>,
22909 ) -> Result<()> {
22910 let context = function_name!();
22911 trace!("{}", self.trace_item_stack(context));
22912 let identifier_factor_opt =
22913 pop_item!(self, identifier_factor_opt, IdentifierFactorOpt, context);
22914 let expression_identifier =
22915 pop_item!(self, expression_identifier, ExpressionIdentifier, context);
22916 let identifier_factor_built = IdentifierFactor {
22917 expression_identifier: Box::new(expression_identifier),
22918 identifier_factor_opt,
22919 };
22920 self.user_grammar
22922 .identifier_factor(&identifier_factor_built)?;
22923 self.push(ASTType::IdentifierFactor(identifier_factor_built), context);
22924 Ok(())
22925 }
22926
22927 #[parol_runtime::function_name::named]
22932 fn identifier_factor_opt_0(&mut self, _function_call: &ParseTreeType<'t>) -> Result<()> {
22933 let context = function_name!();
22934 trace!("{}", self.trace_item_stack(context));
22935 let function_call = pop_item!(self, function_call, FunctionCall, context);
22936 let identifier_factor_opt_0_built = IdentifierFactorOpt {
22937 function_call: Box::new(function_call),
22938 };
22939 self.push(
22940 ASTType::IdentifierFactorOpt(Some(identifier_factor_opt_0_built)),
22941 context,
22942 );
22943 Ok(())
22944 }
22945
22946 #[parol_runtime::function_name::named]
22951 fn identifier_factor_opt_1(&mut self) -> Result<()> {
22952 let context = function_name!();
22953 trace!("{}", self.trace_item_stack(context));
22954 self.push(ASTType::IdentifierFactorOpt(None), context);
22955 Ok(())
22956 }
22957
22958 #[parol_runtime::function_name::named]
22963 fn factor_type_factor(
22964 &mut self,
22965 _factor_type_factor_list: &ParseTreeType<'t>,
22966 _factor_type: &ParseTreeType<'t>,
22967 ) -> Result<()> {
22968 let context = function_name!();
22969 trace!("{}", self.trace_item_stack(context));
22970 let factor_type = pop_item!(self, factor_type, FactorType, context);
22971 let factor_type_factor_list =
22972 pop_and_reverse_item!(self, factor_type_factor_list, FactorTypeFactorList, context);
22973 let factor_type_factor_built = FactorTypeFactor {
22974 factor_type_factor_list,
22975 factor_type: Box::new(factor_type),
22976 };
22977 self.user_grammar
22979 .factor_type_factor(&factor_type_factor_built)?;
22980 self.push(ASTType::FactorTypeFactor(factor_type_factor_built), context);
22981 Ok(())
22982 }
22983
22984 #[parol_runtime::function_name::named]
22989 fn factor_type_factor_list_0(
22990 &mut self,
22991 _type_modifier: &ParseTreeType<'t>,
22992 _factor_type_factor_list: &ParseTreeType<'t>,
22993 ) -> Result<()> {
22994 let context = function_name!();
22995 trace!("{}", self.trace_item_stack(context));
22996 let mut factor_type_factor_list =
22997 pop_item!(self, factor_type_factor_list, FactorTypeFactorList, context);
22998 let type_modifier = pop_item!(self, type_modifier, TypeModifier, context);
22999 let factor_type_factor_list_0_built = FactorTypeFactorList {
23000 type_modifier: Box::new(type_modifier),
23001 };
23002 factor_type_factor_list.push(factor_type_factor_list_0_built);
23004 self.push(
23005 ASTType::FactorTypeFactorList(factor_type_factor_list),
23006 context,
23007 );
23008 Ok(())
23009 }
23010
23011 #[parol_runtime::function_name::named]
23016 fn factor_type_factor_list_1(&mut self) -> Result<()> {
23017 let context = function_name!();
23018 trace!("{}", self.trace_item_stack(context));
23019 let factor_type_factor_list_1_built = Vec::new();
23020 self.push(
23021 ASTType::FactorTypeFactorList(factor_type_factor_list_1_built),
23022 context,
23023 );
23024 Ok(())
23025 }
23026
23027 #[parol_runtime::function_name::named]
23032 fn function_call(
23033 &mut self,
23034 _l_paren: &ParseTreeType<'t>,
23035 _function_call_opt: &ParseTreeType<'t>,
23036 _r_paren: &ParseTreeType<'t>,
23037 ) -> Result<()> {
23038 let context = function_name!();
23039 trace!("{}", self.trace_item_stack(context));
23040 let r_paren = pop_item!(self, r_paren, RParen, context);
23041 let function_call_opt = pop_item!(self, function_call_opt, FunctionCallOpt, context);
23042 let l_paren = pop_item!(self, l_paren, LParen, context);
23043 let function_call_built = FunctionCall {
23044 l_paren: Box::new(l_paren),
23045 function_call_opt,
23046 r_paren: Box::new(r_paren),
23047 };
23048 self.user_grammar.function_call(&function_call_built)?;
23050 self.push(ASTType::FunctionCall(function_call_built), context);
23051 Ok(())
23052 }
23053
23054 #[parol_runtime::function_name::named]
23059 fn function_call_opt_0(&mut self, _argument_list: &ParseTreeType<'t>) -> Result<()> {
23060 let context = function_name!();
23061 trace!("{}", self.trace_item_stack(context));
23062 let argument_list = pop_item!(self, argument_list, ArgumentList, context);
23063 let function_call_opt_0_built = FunctionCallOpt {
23064 argument_list: Box::new(argument_list),
23065 };
23066 self.push(
23067 ASTType::FunctionCallOpt(Some(function_call_opt_0_built)),
23068 context,
23069 );
23070 Ok(())
23071 }
23072
23073 #[parol_runtime::function_name::named]
23078 fn function_call_opt_1(&mut self) -> Result<()> {
23079 let context = function_name!();
23080 trace!("{}", self.trace_item_stack(context));
23081 self.push(ASTType::FunctionCallOpt(None), context);
23082 Ok(())
23083 }
23084
23085 #[parol_runtime::function_name::named]
23090 fn argument_list(
23091 &mut self,
23092 _argument_item: &ParseTreeType<'t>,
23093 _argument_list_list: &ParseTreeType<'t>,
23094 _argument_list_opt: &ParseTreeType<'t>,
23095 ) -> Result<()> {
23096 let context = function_name!();
23097 trace!("{}", self.trace_item_stack(context));
23098 let argument_list_opt = pop_item!(self, argument_list_opt, ArgumentListOpt, context);
23099 let argument_list_list =
23100 pop_and_reverse_item!(self, argument_list_list, ArgumentListList, context);
23101 let argument_item = pop_item!(self, argument_item, ArgumentItem, context);
23102 let argument_list_built = ArgumentList {
23103 argument_item: Box::new(argument_item),
23104 argument_list_list,
23105 argument_list_opt,
23106 };
23107 self.user_grammar.argument_list(&argument_list_built)?;
23109 self.push(ASTType::ArgumentList(argument_list_built), context);
23110 Ok(())
23111 }
23112
23113 #[parol_runtime::function_name::named]
23118 fn argument_list_list_0(
23119 &mut self,
23120 _comma: &ParseTreeType<'t>,
23121 _argument_item: &ParseTreeType<'t>,
23122 _argument_list_list: &ParseTreeType<'t>,
23123 ) -> Result<()> {
23124 let context = function_name!();
23125 trace!("{}", self.trace_item_stack(context));
23126 let mut argument_list_list = pop_item!(self, argument_list_list, ArgumentListList, context);
23127 let argument_item = pop_item!(self, argument_item, ArgumentItem, context);
23128 let comma = pop_item!(self, comma, Comma, context);
23129 let argument_list_list_0_built = ArgumentListList {
23130 argument_item: Box::new(argument_item),
23131 comma: Box::new(comma),
23132 };
23133 argument_list_list.push(argument_list_list_0_built);
23135 self.push(ASTType::ArgumentListList(argument_list_list), context);
23136 Ok(())
23137 }
23138
23139 #[parol_runtime::function_name::named]
23144 fn argument_list_list_1(&mut self) -> Result<()> {
23145 let context = function_name!();
23146 trace!("{}", self.trace_item_stack(context));
23147 let argument_list_list_1_built = Vec::new();
23148 self.push(
23149 ASTType::ArgumentListList(argument_list_list_1_built),
23150 context,
23151 );
23152 Ok(())
23153 }
23154
23155 #[parol_runtime::function_name::named]
23160 fn argument_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
23161 let context = function_name!();
23162 trace!("{}", self.trace_item_stack(context));
23163 let comma = pop_item!(self, comma, Comma, context);
23164 let argument_list_opt_0_built = ArgumentListOpt {
23165 comma: Box::new(comma),
23166 };
23167 self.push(
23168 ASTType::ArgumentListOpt(Some(argument_list_opt_0_built)),
23169 context,
23170 );
23171 Ok(())
23172 }
23173
23174 #[parol_runtime::function_name::named]
23179 fn argument_list_opt_1(&mut self) -> Result<()> {
23180 let context = function_name!();
23181 trace!("{}", self.trace_item_stack(context));
23182 self.push(ASTType::ArgumentListOpt(None), context);
23183 Ok(())
23184 }
23185
23186 #[parol_runtime::function_name::named]
23191 fn argument_item(&mut self, _expression: &ParseTreeType<'t>) -> Result<()> {
23192 let context = function_name!();
23193 trace!("{}", self.trace_item_stack(context));
23194 let expression = pop_item!(self, expression, Expression, context);
23195 let argument_item_built = ArgumentItem {
23196 expression: Box::new(expression),
23197 };
23198 self.user_grammar.argument_item(&argument_item_built)?;
23200 self.push(ASTType::ArgumentItem(argument_item_built), context);
23201 Ok(())
23202 }
23203
23204 #[parol_runtime::function_name::named]
23209 fn concatenation_list(
23210 &mut self,
23211 _concatenation_item: &ParseTreeType<'t>,
23212 _concatenation_list_list: &ParseTreeType<'t>,
23213 _concatenation_list_opt: &ParseTreeType<'t>,
23214 ) -> Result<()> {
23215 let context = function_name!();
23216 trace!("{}", self.trace_item_stack(context));
23217 let concatenation_list_opt =
23218 pop_item!(self, concatenation_list_opt, ConcatenationListOpt, context);
23219 let concatenation_list_list = pop_and_reverse_item!(
23220 self,
23221 concatenation_list_list,
23222 ConcatenationListList,
23223 context
23224 );
23225 let concatenation_item = pop_item!(self, concatenation_item, ConcatenationItem, context);
23226 let concatenation_list_built = ConcatenationList {
23227 concatenation_item: Box::new(concatenation_item),
23228 concatenation_list_list,
23229 concatenation_list_opt,
23230 };
23231 self.user_grammar
23233 .concatenation_list(&concatenation_list_built)?;
23234 self.push(
23235 ASTType::ConcatenationList(concatenation_list_built),
23236 context,
23237 );
23238 Ok(())
23239 }
23240
23241 #[parol_runtime::function_name::named]
23246 fn concatenation_list_list_0(
23247 &mut self,
23248 _comma: &ParseTreeType<'t>,
23249 _concatenation_item: &ParseTreeType<'t>,
23250 _concatenation_list_list: &ParseTreeType<'t>,
23251 ) -> Result<()> {
23252 let context = function_name!();
23253 trace!("{}", self.trace_item_stack(context));
23254 let mut concatenation_list_list = pop_item!(
23255 self,
23256 concatenation_list_list,
23257 ConcatenationListList,
23258 context
23259 );
23260 let concatenation_item = pop_item!(self, concatenation_item, ConcatenationItem, context);
23261 let comma = pop_item!(self, comma, Comma, context);
23262 let concatenation_list_list_0_built = ConcatenationListList {
23263 concatenation_item: Box::new(concatenation_item),
23264 comma: Box::new(comma),
23265 };
23266 concatenation_list_list.push(concatenation_list_list_0_built);
23268 self.push(
23269 ASTType::ConcatenationListList(concatenation_list_list),
23270 context,
23271 );
23272 Ok(())
23273 }
23274
23275 #[parol_runtime::function_name::named]
23280 fn concatenation_list_list_1(&mut self) -> Result<()> {
23281 let context = function_name!();
23282 trace!("{}", self.trace_item_stack(context));
23283 let concatenation_list_list_1_built = Vec::new();
23284 self.push(
23285 ASTType::ConcatenationListList(concatenation_list_list_1_built),
23286 context,
23287 );
23288 Ok(())
23289 }
23290
23291 #[parol_runtime::function_name::named]
23296 fn concatenation_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
23297 let context = function_name!();
23298 trace!("{}", self.trace_item_stack(context));
23299 let comma = pop_item!(self, comma, Comma, context);
23300 let concatenation_list_opt_0_built = ConcatenationListOpt {
23301 comma: Box::new(comma),
23302 };
23303 self.push(
23304 ASTType::ConcatenationListOpt(Some(concatenation_list_opt_0_built)),
23305 context,
23306 );
23307 Ok(())
23308 }
23309
23310 #[parol_runtime::function_name::named]
23315 fn concatenation_list_opt_1(&mut self) -> Result<()> {
23316 let context = function_name!();
23317 trace!("{}", self.trace_item_stack(context));
23318 self.push(ASTType::ConcatenationListOpt(None), context);
23319 Ok(())
23320 }
23321
23322 #[parol_runtime::function_name::named]
23327 fn concatenation_item(
23328 &mut self,
23329 _expression: &ParseTreeType<'t>,
23330 _concatenation_item_opt: &ParseTreeType<'t>,
23331 ) -> Result<()> {
23332 let context = function_name!();
23333 trace!("{}", self.trace_item_stack(context));
23334 let concatenation_item_opt =
23335 pop_item!(self, concatenation_item_opt, ConcatenationItemOpt, context);
23336 let expression = pop_item!(self, expression, Expression, context);
23337 let concatenation_item_built = ConcatenationItem {
23338 expression: Box::new(expression),
23339 concatenation_item_opt,
23340 };
23341 self.user_grammar
23343 .concatenation_item(&concatenation_item_built)?;
23344 self.push(
23345 ASTType::ConcatenationItem(concatenation_item_built),
23346 context,
23347 );
23348 Ok(())
23349 }
23350
23351 #[parol_runtime::function_name::named]
23356 fn concatenation_item_opt_0(
23357 &mut self,
23358 _repeat: &ParseTreeType<'t>,
23359 _expression: &ParseTreeType<'t>,
23360 ) -> Result<()> {
23361 let context = function_name!();
23362 trace!("{}", self.trace_item_stack(context));
23363 let expression = pop_item!(self, expression, Expression, context);
23364 let repeat = pop_item!(self, repeat, Repeat, context);
23365 let concatenation_item_opt_0_built = ConcatenationItemOpt {
23366 repeat: Box::new(repeat),
23367 expression: Box::new(expression),
23368 };
23369 self.push(
23370 ASTType::ConcatenationItemOpt(Some(concatenation_item_opt_0_built)),
23371 context,
23372 );
23373 Ok(())
23374 }
23375
23376 #[parol_runtime::function_name::named]
23381 fn concatenation_item_opt_1(&mut self) -> Result<()> {
23382 let context = function_name!();
23383 trace!("{}", self.trace_item_stack(context));
23384 self.push(ASTType::ConcatenationItemOpt(None), context);
23385 Ok(())
23386 }
23387
23388 #[parol_runtime::function_name::named]
23393 fn array_literal_list(
23394 &mut self,
23395 _array_literal_item: &ParseTreeType<'t>,
23396 _array_literal_list_list: &ParseTreeType<'t>,
23397 _array_literal_list_opt: &ParseTreeType<'t>,
23398 ) -> Result<()> {
23399 let context = function_name!();
23400 trace!("{}", self.trace_item_stack(context));
23401 let array_literal_list_opt =
23402 pop_item!(self, array_literal_list_opt, ArrayLiteralListOpt, context);
23403 let array_literal_list_list =
23404 pop_and_reverse_item!(self, array_literal_list_list, ArrayLiteralListList, context);
23405 let array_literal_item = pop_item!(self, array_literal_item, ArrayLiteralItem, context);
23406 let array_literal_list_built = ArrayLiteralList {
23407 array_literal_item: Box::new(array_literal_item),
23408 array_literal_list_list,
23409 array_literal_list_opt,
23410 };
23411 self.user_grammar
23413 .array_literal_list(&array_literal_list_built)?;
23414 self.push(ASTType::ArrayLiteralList(array_literal_list_built), context);
23415 Ok(())
23416 }
23417
23418 #[parol_runtime::function_name::named]
23423 fn array_literal_list_list_0(
23424 &mut self,
23425 _comma: &ParseTreeType<'t>,
23426 _array_literal_item: &ParseTreeType<'t>,
23427 _array_literal_list_list: &ParseTreeType<'t>,
23428 ) -> Result<()> {
23429 let context = function_name!();
23430 trace!("{}", self.trace_item_stack(context));
23431 let mut array_literal_list_list =
23432 pop_item!(self, array_literal_list_list, ArrayLiteralListList, context);
23433 let array_literal_item = pop_item!(self, array_literal_item, ArrayLiteralItem, context);
23434 let comma = pop_item!(self, comma, Comma, context);
23435 let array_literal_list_list_0_built = ArrayLiteralListList {
23436 array_literal_item: Box::new(array_literal_item),
23437 comma: Box::new(comma),
23438 };
23439 array_literal_list_list.push(array_literal_list_list_0_built);
23441 self.push(
23442 ASTType::ArrayLiteralListList(array_literal_list_list),
23443 context,
23444 );
23445 Ok(())
23446 }
23447
23448 #[parol_runtime::function_name::named]
23453 fn array_literal_list_list_1(&mut self) -> Result<()> {
23454 let context = function_name!();
23455 trace!("{}", self.trace_item_stack(context));
23456 let array_literal_list_list_1_built = Vec::new();
23457 self.push(
23458 ASTType::ArrayLiteralListList(array_literal_list_list_1_built),
23459 context,
23460 );
23461 Ok(())
23462 }
23463
23464 #[parol_runtime::function_name::named]
23469 fn array_literal_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
23470 let context = function_name!();
23471 trace!("{}", self.trace_item_stack(context));
23472 let comma = pop_item!(self, comma, Comma, context);
23473 let array_literal_list_opt_0_built = ArrayLiteralListOpt {
23474 comma: Box::new(comma),
23475 };
23476 self.push(
23477 ASTType::ArrayLiteralListOpt(Some(array_literal_list_opt_0_built)),
23478 context,
23479 );
23480 Ok(())
23481 }
23482
23483 #[parol_runtime::function_name::named]
23488 fn array_literal_list_opt_1(&mut self) -> Result<()> {
23489 let context = function_name!();
23490 trace!("{}", self.trace_item_stack(context));
23491 self.push(ASTType::ArrayLiteralListOpt(None), context);
23492 Ok(())
23493 }
23494
23495 #[parol_runtime::function_name::named]
23500 fn array_literal_item(&mut self, _array_literal_item_group: &ParseTreeType<'t>) -> Result<()> {
23501 let context = function_name!();
23502 trace!("{}", self.trace_item_stack(context));
23503 let array_literal_item_group = pop_item!(
23504 self,
23505 array_literal_item_group,
23506 ArrayLiteralItemGroup,
23507 context
23508 );
23509 let array_literal_item_built = ArrayLiteralItem {
23510 array_literal_item_group: Box::new(array_literal_item_group),
23511 };
23512 self.user_grammar
23514 .array_literal_item(&array_literal_item_built)?;
23515 self.push(ASTType::ArrayLiteralItem(array_literal_item_built), context);
23516 Ok(())
23517 }
23518
23519 #[parol_runtime::function_name::named]
23524 fn array_literal_item_group_0(
23525 &mut self,
23526 _expression: &ParseTreeType<'t>,
23527 _array_literal_item_opt: &ParseTreeType<'t>,
23528 ) -> Result<()> {
23529 let context = function_name!();
23530 trace!("{}", self.trace_item_stack(context));
23531 let array_literal_item_opt =
23532 pop_item!(self, array_literal_item_opt, ArrayLiteralItemOpt, context);
23533 let expression = pop_item!(self, expression, Expression, context);
23534 let array_literal_item_group_0_built = ArrayLiteralItemGroupExpressionArrayLiteralItemOpt {
23535 expression: Box::new(expression),
23536 array_literal_item_opt,
23537 };
23538 let array_literal_item_group_0_built =
23539 ArrayLiteralItemGroup::ExpressionArrayLiteralItemOpt(array_literal_item_group_0_built);
23540 self.push(
23541 ASTType::ArrayLiteralItemGroup(array_literal_item_group_0_built),
23542 context,
23543 );
23544 Ok(())
23545 }
23546
23547 #[parol_runtime::function_name::named]
23552 fn array_literal_item_group_1(
23553 &mut self,
23554 _defaul: &ParseTreeType<'t>,
23555 _colon: &ParseTreeType<'t>,
23556 _expression: &ParseTreeType<'t>,
23557 ) -> Result<()> {
23558 let context = function_name!();
23559 trace!("{}", self.trace_item_stack(context));
23560 let expression = pop_item!(self, expression, Expression, context);
23561 let colon = pop_item!(self, colon, Colon, context);
23562 let defaul = pop_item!(self, defaul, Defaul, context);
23563 let array_literal_item_group_1_built = ArrayLiteralItemGroupDefaulColonExpression {
23564 defaul: Box::new(defaul),
23565 colon: Box::new(colon),
23566 expression: Box::new(expression),
23567 };
23568 let array_literal_item_group_1_built =
23569 ArrayLiteralItemGroup::DefaulColonExpression(array_literal_item_group_1_built);
23570 self.push(
23571 ASTType::ArrayLiteralItemGroup(array_literal_item_group_1_built),
23572 context,
23573 );
23574 Ok(())
23575 }
23576
23577 #[parol_runtime::function_name::named]
23582 fn array_literal_item_opt_0(
23583 &mut self,
23584 _repeat: &ParseTreeType<'t>,
23585 _expression: &ParseTreeType<'t>,
23586 ) -> Result<()> {
23587 let context = function_name!();
23588 trace!("{}", self.trace_item_stack(context));
23589 let expression = pop_item!(self, expression, Expression, context);
23590 let repeat = pop_item!(self, repeat, Repeat, context);
23591 let array_literal_item_opt_0_built = ArrayLiteralItemOpt {
23592 repeat: Box::new(repeat),
23593 expression: Box::new(expression),
23594 };
23595 self.push(
23596 ASTType::ArrayLiteralItemOpt(Some(array_literal_item_opt_0_built)),
23597 context,
23598 );
23599 Ok(())
23600 }
23601
23602 #[parol_runtime::function_name::named]
23607 fn array_literal_item_opt_1(&mut self) -> Result<()> {
23608 let context = function_name!();
23609 trace!("{}", self.trace_item_stack(context));
23610 self.push(ASTType::ArrayLiteralItemOpt(None), context);
23611 Ok(())
23612 }
23613
23614 #[parol_runtime::function_name::named]
23619 fn if_expression(
23620 &mut self,
23621 _if: &ParseTreeType<'t>,
23622 _expression: &ParseTreeType<'t>,
23623 _l_brace: &ParseTreeType<'t>,
23624 _expression0: &ParseTreeType<'t>,
23625 _r_brace: &ParseTreeType<'t>,
23626 _if_expression_list: &ParseTreeType<'t>,
23627 _else: &ParseTreeType<'t>,
23628 _l_brace0: &ParseTreeType<'t>,
23629 _expression1: &ParseTreeType<'t>,
23630 _r_brace0: &ParseTreeType<'t>,
23631 ) -> Result<()> {
23632 let context = function_name!();
23633 trace!("{}", self.trace_item_stack(context));
23634 let r_brace0 = pop_item!(self, r_brace0, RBrace, context);
23635 let expression1 = pop_item!(self, expression1, Expression, context);
23636 let l_brace0 = pop_item!(self, l_brace0, LBrace, context);
23637 let r#else = pop_item!(self, r#else, Else, context);
23638 let if_expression_list =
23639 pop_and_reverse_item!(self, if_expression_list, IfExpressionList, context);
23640 let r_brace = pop_item!(self, r_brace, RBrace, context);
23641 let expression0 = pop_item!(self, expression0, Expression, context);
23642 let l_brace = pop_item!(self, l_brace, LBrace, context);
23643 let expression = pop_item!(self, expression, Expression, context);
23644 let r#if = pop_item!(self, r#if, If, context);
23645 let if_expression_built = IfExpression {
23646 r#if: Box::new(r#if),
23647 expression: Box::new(expression),
23648 l_brace: Box::new(l_brace),
23649 expression0: Box::new(expression0),
23650 r_brace: Box::new(r_brace),
23651 if_expression_list,
23652 r#else: Box::new(r#else),
23653 l_brace0: Box::new(l_brace0),
23654 expression1: Box::new(expression1),
23655 r_brace0: Box::new(r_brace0),
23656 };
23657 self.user_grammar.if_expression(&if_expression_built)?;
23659 self.push(ASTType::IfExpression(if_expression_built), context);
23660 Ok(())
23661 }
23662
23663 #[parol_runtime::function_name::named]
23668 fn if_expression_list_0(
23669 &mut self,
23670 _else: &ParseTreeType<'t>,
23671 _if: &ParseTreeType<'t>,
23672 _expression: &ParseTreeType<'t>,
23673 _l_brace: &ParseTreeType<'t>,
23674 _expression0: &ParseTreeType<'t>,
23675 _r_brace: &ParseTreeType<'t>,
23676 _if_expression_list: &ParseTreeType<'t>,
23677 ) -> Result<()> {
23678 let context = function_name!();
23679 trace!("{}", self.trace_item_stack(context));
23680 let mut if_expression_list = pop_item!(self, if_expression_list, IfExpressionList, context);
23681 let r_brace = pop_item!(self, r_brace, RBrace, context);
23682 let expression0 = pop_item!(self, expression0, Expression, context);
23683 let l_brace = pop_item!(self, l_brace, LBrace, context);
23684 let expression = pop_item!(self, expression, Expression, context);
23685 let r#if = pop_item!(self, r#if, If, context);
23686 let r#else = pop_item!(self, r#else, Else, context);
23687 let if_expression_list_0_built = IfExpressionList {
23688 r_brace: Box::new(r_brace),
23689 expression0: Box::new(expression0),
23690 l_brace: Box::new(l_brace),
23691 expression: Box::new(expression),
23692 r#if: Box::new(r#if),
23693 r#else: Box::new(r#else),
23694 };
23695 if_expression_list.push(if_expression_list_0_built);
23697 self.push(ASTType::IfExpressionList(if_expression_list), context);
23698 Ok(())
23699 }
23700
23701 #[parol_runtime::function_name::named]
23706 fn if_expression_list_1(&mut self) -> Result<()> {
23707 let context = function_name!();
23708 trace!("{}", self.trace_item_stack(context));
23709 let if_expression_list_1_built = Vec::new();
23710 self.push(
23711 ASTType::IfExpressionList(if_expression_list_1_built),
23712 context,
23713 );
23714 Ok(())
23715 }
23716
23717 #[parol_runtime::function_name::named]
23722 fn case_expression(
23723 &mut self,
23724 _case: &ParseTreeType<'t>,
23725 _expression: &ParseTreeType<'t>,
23726 _l_brace: &ParseTreeType<'t>,
23727 _case_condition: &ParseTreeType<'t>,
23728 _colon: &ParseTreeType<'t>,
23729 _expression0: &ParseTreeType<'t>,
23730 _comma: &ParseTreeType<'t>,
23731 _case_expression_list: &ParseTreeType<'t>,
23732 _defaul: &ParseTreeType<'t>,
23733 _colon0: &ParseTreeType<'t>,
23734 _expression1: &ParseTreeType<'t>,
23735 _case_expression_opt: &ParseTreeType<'t>,
23736 _r_brace: &ParseTreeType<'t>,
23737 ) -> Result<()> {
23738 let context = function_name!();
23739 trace!("{}", self.trace_item_stack(context));
23740 let r_brace = pop_item!(self, r_brace, RBrace, context);
23741 let case_expression_opt = pop_item!(self, case_expression_opt, CaseExpressionOpt, context);
23742 let expression1 = pop_item!(self, expression1, Expression, context);
23743 let colon0 = pop_item!(self, colon0, Colon, context);
23744 let defaul = pop_item!(self, defaul, Defaul, context);
23745 let case_expression_list =
23746 pop_and_reverse_item!(self, case_expression_list, CaseExpressionList, context);
23747 let comma = pop_item!(self, comma, Comma, context);
23748 let expression0 = pop_item!(self, expression0, Expression, context);
23749 let colon = pop_item!(self, colon, Colon, context);
23750 let case_condition = pop_item!(self, case_condition, CaseCondition, context);
23751 let l_brace = pop_item!(self, l_brace, LBrace, context);
23752 let expression = pop_item!(self, expression, Expression, context);
23753 let case = pop_item!(self, case, Case, context);
23754 let case_expression_built = CaseExpression {
23755 case: Box::new(case),
23756 expression: Box::new(expression),
23757 l_brace: Box::new(l_brace),
23758 case_condition: Box::new(case_condition),
23759 colon: Box::new(colon),
23760 expression0: Box::new(expression0),
23761 comma: Box::new(comma),
23762 case_expression_list,
23763 defaul: Box::new(defaul),
23764 colon0: Box::new(colon0),
23765 expression1: Box::new(expression1),
23766 case_expression_opt,
23767 r_brace: Box::new(r_brace),
23768 };
23769 self.user_grammar.case_expression(&case_expression_built)?;
23771 self.push(ASTType::CaseExpression(case_expression_built), context);
23772 Ok(())
23773 }
23774
23775 #[parol_runtime::function_name::named]
23780 fn case_expression_list_0(
23781 &mut self,
23782 _case_condition: &ParseTreeType<'t>,
23783 _colon: &ParseTreeType<'t>,
23784 _expression: &ParseTreeType<'t>,
23785 _comma: &ParseTreeType<'t>,
23786 _case_expression_list: &ParseTreeType<'t>,
23787 ) -> Result<()> {
23788 let context = function_name!();
23789 trace!("{}", self.trace_item_stack(context));
23790 let mut case_expression_list =
23791 pop_item!(self, case_expression_list, CaseExpressionList, context);
23792 let comma = pop_item!(self, comma, Comma, context);
23793 let expression = pop_item!(self, expression, Expression, context);
23794 let colon = pop_item!(self, colon, Colon, context);
23795 let case_condition = pop_item!(self, case_condition, CaseCondition, context);
23796 let case_expression_list_0_built = CaseExpressionList {
23797 comma: Box::new(comma),
23798 expression: Box::new(expression),
23799 colon: Box::new(colon),
23800 case_condition: Box::new(case_condition),
23801 };
23802 case_expression_list.push(case_expression_list_0_built);
23804 self.push(ASTType::CaseExpressionList(case_expression_list), context);
23805 Ok(())
23806 }
23807
23808 #[parol_runtime::function_name::named]
23813 fn case_expression_list_1(&mut self) -> Result<()> {
23814 let context = function_name!();
23815 trace!("{}", self.trace_item_stack(context));
23816 let case_expression_list_1_built = Vec::new();
23817 self.push(
23818 ASTType::CaseExpressionList(case_expression_list_1_built),
23819 context,
23820 );
23821 Ok(())
23822 }
23823
23824 #[parol_runtime::function_name::named]
23829 fn case_expression_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
23830 let context = function_name!();
23831 trace!("{}", self.trace_item_stack(context));
23832 let comma = pop_item!(self, comma, Comma, context);
23833 let case_expression_opt_0_built = CaseExpressionOpt {
23834 comma: Box::new(comma),
23835 };
23836 self.push(
23837 ASTType::CaseExpressionOpt(Some(case_expression_opt_0_built)),
23838 context,
23839 );
23840 Ok(())
23841 }
23842
23843 #[parol_runtime::function_name::named]
23848 fn case_expression_opt_1(&mut self) -> Result<()> {
23849 let context = function_name!();
23850 trace!("{}", self.trace_item_stack(context));
23851 self.push(ASTType::CaseExpressionOpt(None), context);
23852 Ok(())
23853 }
23854
23855 #[parol_runtime::function_name::named]
23860 fn switch_expression(
23861 &mut self,
23862 _switch: &ParseTreeType<'t>,
23863 _l_brace: &ParseTreeType<'t>,
23864 _switch_condition: &ParseTreeType<'t>,
23865 _colon: &ParseTreeType<'t>,
23866 _expression: &ParseTreeType<'t>,
23867 _comma: &ParseTreeType<'t>,
23868 _switch_expression_list: &ParseTreeType<'t>,
23869 _defaul: &ParseTreeType<'t>,
23870 _colon0: &ParseTreeType<'t>,
23871 _expression0: &ParseTreeType<'t>,
23872 _switch_expression_opt: &ParseTreeType<'t>,
23873 _r_brace: &ParseTreeType<'t>,
23874 ) -> Result<()> {
23875 let context = function_name!();
23876 trace!("{}", self.trace_item_stack(context));
23877 let r_brace = pop_item!(self, r_brace, RBrace, context);
23878 let switch_expression_opt =
23879 pop_item!(self, switch_expression_opt, SwitchExpressionOpt, context);
23880 let expression0 = pop_item!(self, expression0, Expression, context);
23881 let colon0 = pop_item!(self, colon0, Colon, context);
23882 let defaul = pop_item!(self, defaul, Defaul, context);
23883 let switch_expression_list =
23884 pop_and_reverse_item!(self, switch_expression_list, SwitchExpressionList, context);
23885 let comma = pop_item!(self, comma, Comma, context);
23886 let expression = pop_item!(self, expression, Expression, context);
23887 let colon = pop_item!(self, colon, Colon, context);
23888 let switch_condition = pop_item!(self, switch_condition, SwitchCondition, context);
23889 let l_brace = pop_item!(self, l_brace, LBrace, context);
23890 let switch = pop_item!(self, switch, Switch, context);
23891 let switch_expression_built = SwitchExpression {
23892 switch: Box::new(switch),
23893 l_brace: Box::new(l_brace),
23894 switch_condition: Box::new(switch_condition),
23895 colon: Box::new(colon),
23896 expression: Box::new(expression),
23897 comma: Box::new(comma),
23898 switch_expression_list,
23899 defaul: Box::new(defaul),
23900 colon0: Box::new(colon0),
23901 expression0: Box::new(expression0),
23902 switch_expression_opt,
23903 r_brace: Box::new(r_brace),
23904 };
23905 self.user_grammar
23907 .switch_expression(&switch_expression_built)?;
23908 self.push(ASTType::SwitchExpression(switch_expression_built), context);
23909 Ok(())
23910 }
23911
23912 #[parol_runtime::function_name::named]
23917 fn switch_expression_list_0(
23918 &mut self,
23919 _switch_condition: &ParseTreeType<'t>,
23920 _colon: &ParseTreeType<'t>,
23921 _expression: &ParseTreeType<'t>,
23922 _comma: &ParseTreeType<'t>,
23923 _switch_expression_list: &ParseTreeType<'t>,
23924 ) -> Result<()> {
23925 let context = function_name!();
23926 trace!("{}", self.trace_item_stack(context));
23927 let mut switch_expression_list =
23928 pop_item!(self, switch_expression_list, SwitchExpressionList, context);
23929 let comma = pop_item!(self, comma, Comma, context);
23930 let expression = pop_item!(self, expression, Expression, context);
23931 let colon = pop_item!(self, colon, Colon, context);
23932 let switch_condition = pop_item!(self, switch_condition, SwitchCondition, context);
23933 let switch_expression_list_0_built = SwitchExpressionList {
23934 comma: Box::new(comma),
23935 expression: Box::new(expression),
23936 colon: Box::new(colon),
23937 switch_condition: Box::new(switch_condition),
23938 };
23939 switch_expression_list.push(switch_expression_list_0_built);
23941 self.push(
23942 ASTType::SwitchExpressionList(switch_expression_list),
23943 context,
23944 );
23945 Ok(())
23946 }
23947
23948 #[parol_runtime::function_name::named]
23953 fn switch_expression_list_1(&mut self) -> Result<()> {
23954 let context = function_name!();
23955 trace!("{}", self.trace_item_stack(context));
23956 let switch_expression_list_1_built = Vec::new();
23957 self.push(
23958 ASTType::SwitchExpressionList(switch_expression_list_1_built),
23959 context,
23960 );
23961 Ok(())
23962 }
23963
23964 #[parol_runtime::function_name::named]
23969 fn switch_expression_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
23970 let context = function_name!();
23971 trace!("{}", self.trace_item_stack(context));
23972 let comma = pop_item!(self, comma, Comma, context);
23973 let switch_expression_opt_0_built = SwitchExpressionOpt {
23974 comma: Box::new(comma),
23975 };
23976 self.push(
23977 ASTType::SwitchExpressionOpt(Some(switch_expression_opt_0_built)),
23978 context,
23979 );
23980 Ok(())
23981 }
23982
23983 #[parol_runtime::function_name::named]
23988 fn switch_expression_opt_1(&mut self) -> Result<()> {
23989 let context = function_name!();
23990 trace!("{}", self.trace_item_stack(context));
23991 self.push(ASTType::SwitchExpressionOpt(None), context);
23992 Ok(())
23993 }
23994
23995 #[parol_runtime::function_name::named]
24000 fn type_expression(
24001 &mut self,
24002 _type: &ParseTreeType<'t>,
24003 _l_paren: &ParseTreeType<'t>,
24004 _expression: &ParseTreeType<'t>,
24005 _r_paren: &ParseTreeType<'t>,
24006 ) -> Result<()> {
24007 let context = function_name!();
24008 trace!("{}", self.trace_item_stack(context));
24009 let r_paren = pop_item!(self, r_paren, RParen, context);
24010 let expression = pop_item!(self, expression, Expression, context);
24011 let l_paren = pop_item!(self, l_paren, LParen, context);
24012 let r#type = pop_item!(self, r#type, Type, context);
24013 let type_expression_built = TypeExpression {
24014 r#type: Box::new(r#type),
24015 l_paren: Box::new(l_paren),
24016 expression: Box::new(expression),
24017 r_paren: Box::new(r_paren),
24018 };
24019 self.user_grammar.type_expression(&type_expression_built)?;
24021 self.push(ASTType::TypeExpression(type_expression_built), context);
24022 Ok(())
24023 }
24024
24025 #[parol_runtime::function_name::named]
24030 fn inside_expression(
24031 &mut self,
24032 _inside: &ParseTreeType<'t>,
24033 _expression: &ParseTreeType<'t>,
24034 _l_brace: &ParseTreeType<'t>,
24035 _range_list: &ParseTreeType<'t>,
24036 _r_brace: &ParseTreeType<'t>,
24037 ) -> Result<()> {
24038 let context = function_name!();
24039 trace!("{}", self.trace_item_stack(context));
24040 let r_brace = pop_item!(self, r_brace, RBrace, context);
24041 let range_list = pop_item!(self, range_list, RangeList, context);
24042 let l_brace = pop_item!(self, l_brace, LBrace, context);
24043 let expression = pop_item!(self, expression, Expression, context);
24044 let inside = pop_item!(self, inside, Inside, context);
24045 let inside_expression_built = InsideExpression {
24046 inside: Box::new(inside),
24047 expression: Box::new(expression),
24048 l_brace: Box::new(l_brace),
24049 range_list: Box::new(range_list),
24050 r_brace: Box::new(r_brace),
24051 };
24052 self.user_grammar
24054 .inside_expression(&inside_expression_built)?;
24055 self.push(ASTType::InsideExpression(inside_expression_built), context);
24056 Ok(())
24057 }
24058
24059 #[parol_runtime::function_name::named]
24064 fn outside_expression(
24065 &mut self,
24066 _outside: &ParseTreeType<'t>,
24067 _expression: &ParseTreeType<'t>,
24068 _l_brace: &ParseTreeType<'t>,
24069 _range_list: &ParseTreeType<'t>,
24070 _r_brace: &ParseTreeType<'t>,
24071 ) -> Result<()> {
24072 let context = function_name!();
24073 trace!("{}", self.trace_item_stack(context));
24074 let r_brace = pop_item!(self, r_brace, RBrace, context);
24075 let range_list = pop_item!(self, range_list, RangeList, context);
24076 let l_brace = pop_item!(self, l_brace, LBrace, context);
24077 let expression = pop_item!(self, expression, Expression, context);
24078 let outside = pop_item!(self, outside, Outside, context);
24079 let outside_expression_built = OutsideExpression {
24080 outside: Box::new(outside),
24081 expression: Box::new(expression),
24082 l_brace: Box::new(l_brace),
24083 range_list: Box::new(range_list),
24084 r_brace: Box::new(r_brace),
24085 };
24086 self.user_grammar
24088 .outside_expression(&outside_expression_built)?;
24089 self.push(
24090 ASTType::OutsideExpression(outside_expression_built),
24091 context,
24092 );
24093 Ok(())
24094 }
24095
24096 #[parol_runtime::function_name::named]
24101 fn range_list(
24102 &mut self,
24103 _range_item: &ParseTreeType<'t>,
24104 _range_list_list: &ParseTreeType<'t>,
24105 _range_list_opt: &ParseTreeType<'t>,
24106 ) -> Result<()> {
24107 let context = function_name!();
24108 trace!("{}", self.trace_item_stack(context));
24109 let range_list_opt = pop_item!(self, range_list_opt, RangeListOpt, context);
24110 let range_list_list = pop_and_reverse_item!(self, range_list_list, RangeListList, context);
24111 let range_item = pop_item!(self, range_item, RangeItem, context);
24112 let range_list_built = RangeList {
24113 range_item: Box::new(range_item),
24114 range_list_list,
24115 range_list_opt,
24116 };
24117 self.user_grammar.range_list(&range_list_built)?;
24119 self.push(ASTType::RangeList(range_list_built), context);
24120 Ok(())
24121 }
24122
24123 #[parol_runtime::function_name::named]
24128 fn range_list_list_0(
24129 &mut self,
24130 _comma: &ParseTreeType<'t>,
24131 _range_item: &ParseTreeType<'t>,
24132 _range_list_list: &ParseTreeType<'t>,
24133 ) -> Result<()> {
24134 let context = function_name!();
24135 trace!("{}", self.trace_item_stack(context));
24136 let mut range_list_list = pop_item!(self, range_list_list, RangeListList, context);
24137 let range_item = pop_item!(self, range_item, RangeItem, context);
24138 let comma = pop_item!(self, comma, Comma, context);
24139 let range_list_list_0_built = RangeListList {
24140 range_item: Box::new(range_item),
24141 comma: Box::new(comma),
24142 };
24143 range_list_list.push(range_list_list_0_built);
24145 self.push(ASTType::RangeListList(range_list_list), context);
24146 Ok(())
24147 }
24148
24149 #[parol_runtime::function_name::named]
24154 fn range_list_list_1(&mut self) -> Result<()> {
24155 let context = function_name!();
24156 trace!("{}", self.trace_item_stack(context));
24157 let range_list_list_1_built = Vec::new();
24158 self.push(ASTType::RangeListList(range_list_list_1_built), context);
24159 Ok(())
24160 }
24161
24162 #[parol_runtime::function_name::named]
24167 fn range_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
24168 let context = function_name!();
24169 trace!("{}", self.trace_item_stack(context));
24170 let comma = pop_item!(self, comma, Comma, context);
24171 let range_list_opt_0_built = RangeListOpt {
24172 comma: Box::new(comma),
24173 };
24174 self.push(ASTType::RangeListOpt(Some(range_list_opt_0_built)), context);
24175 Ok(())
24176 }
24177
24178 #[parol_runtime::function_name::named]
24183 fn range_list_opt_1(&mut self) -> Result<()> {
24184 let context = function_name!();
24185 trace!("{}", self.trace_item_stack(context));
24186 self.push(ASTType::RangeListOpt(None), context);
24187 Ok(())
24188 }
24189
24190 #[parol_runtime::function_name::named]
24195 fn range_item(&mut self, _range: &ParseTreeType<'t>) -> Result<()> {
24196 let context = function_name!();
24197 trace!("{}", self.trace_item_stack(context));
24198 let range = pop_item!(self, range, Range, context);
24199 let range_item_built = RangeItem {
24200 range: Box::new(range),
24201 };
24202 self.user_grammar.range_item(&range_item_built)?;
24204 self.push(ASTType::RangeItem(range_item_built), context);
24205 Ok(())
24206 }
24207
24208 #[parol_runtime::function_name::named]
24213 fn select(
24214 &mut self,
24215 _l_bracket: &ParseTreeType<'t>,
24216 _expression: &ParseTreeType<'t>,
24217 _select_opt: &ParseTreeType<'t>,
24218 _r_bracket: &ParseTreeType<'t>,
24219 ) -> Result<()> {
24220 let context = function_name!();
24221 trace!("{}", self.trace_item_stack(context));
24222 let r_bracket = pop_item!(self, r_bracket, RBracket, context);
24223 let select_opt = pop_item!(self, select_opt, SelectOpt, context);
24224 let expression = pop_item!(self, expression, Expression, context);
24225 let l_bracket = pop_item!(self, l_bracket, LBracket, context);
24226 let select_built = Select {
24227 l_bracket: Box::new(l_bracket),
24228 expression: Box::new(expression),
24229 select_opt,
24230 r_bracket: Box::new(r_bracket),
24231 };
24232 self.user_grammar.select(&select_built)?;
24234 self.push(ASTType::Select(select_built), context);
24235 Ok(())
24236 }
24237
24238 #[parol_runtime::function_name::named]
24243 fn select_opt_0(
24244 &mut self,
24245 _select_operator: &ParseTreeType<'t>,
24246 _expression: &ParseTreeType<'t>,
24247 ) -> Result<()> {
24248 let context = function_name!();
24249 trace!("{}", self.trace_item_stack(context));
24250 let expression = pop_item!(self, expression, Expression, context);
24251 let select_operator = pop_item!(self, select_operator, SelectOperator, context);
24252 let select_opt_0_built = SelectOpt {
24253 select_operator: Box::new(select_operator),
24254 expression: Box::new(expression),
24255 };
24256 self.push(ASTType::SelectOpt(Some(select_opt_0_built)), context);
24257 Ok(())
24258 }
24259
24260 #[parol_runtime::function_name::named]
24265 fn select_opt_1(&mut self) -> Result<()> {
24266 let context = function_name!();
24267 trace!("{}", self.trace_item_stack(context));
24268 self.push(ASTType::SelectOpt(None), context);
24269 Ok(())
24270 }
24271
24272 #[parol_runtime::function_name::named]
24277 fn select_operator_0(&mut self, _colon: &ParseTreeType<'t>) -> Result<()> {
24278 let context = function_name!();
24279 trace!("{}", self.trace_item_stack(context));
24280 let colon = pop_item!(self, colon, Colon, context);
24281 let select_operator_0_built = SelectOperatorColon {
24282 colon: Box::new(colon),
24283 };
24284 let select_operator_0_built = SelectOperator::Colon(select_operator_0_built);
24285 self.user_grammar
24287 .select_operator(&select_operator_0_built)?;
24288 self.push(ASTType::SelectOperator(select_operator_0_built), context);
24289 Ok(())
24290 }
24291
24292 #[parol_runtime::function_name::named]
24297 fn select_operator_1(&mut self, _plus_colon: &ParseTreeType<'t>) -> Result<()> {
24298 let context = function_name!();
24299 trace!("{}", self.trace_item_stack(context));
24300 let plus_colon = pop_item!(self, plus_colon, PlusColon, context);
24301 let select_operator_1_built = SelectOperatorPlusColon {
24302 plus_colon: Box::new(plus_colon),
24303 };
24304 let select_operator_1_built = SelectOperator::PlusColon(select_operator_1_built);
24305 self.user_grammar
24307 .select_operator(&select_operator_1_built)?;
24308 self.push(ASTType::SelectOperator(select_operator_1_built), context);
24309 Ok(())
24310 }
24311
24312 #[parol_runtime::function_name::named]
24317 fn select_operator_2(&mut self, _minus_colon: &ParseTreeType<'t>) -> Result<()> {
24318 let context = function_name!();
24319 trace!("{}", self.trace_item_stack(context));
24320 let minus_colon = pop_item!(self, minus_colon, MinusColon, context);
24321 let select_operator_2_built = SelectOperatorMinusColon {
24322 minus_colon: Box::new(minus_colon),
24323 };
24324 let select_operator_2_built = SelectOperator::MinusColon(select_operator_2_built);
24325 self.user_grammar
24327 .select_operator(&select_operator_2_built)?;
24328 self.push(ASTType::SelectOperator(select_operator_2_built), context);
24329 Ok(())
24330 }
24331
24332 #[parol_runtime::function_name::named]
24337 fn select_operator_3(&mut self, _step: &ParseTreeType<'t>) -> Result<()> {
24338 let context = function_name!();
24339 trace!("{}", self.trace_item_stack(context));
24340 let step = pop_item!(self, step, Step, context);
24341 let select_operator_3_built = SelectOperatorStep {
24342 step: Box::new(step),
24343 };
24344 let select_operator_3_built = SelectOperator::Step(select_operator_3_built);
24345 self.user_grammar
24347 .select_operator(&select_operator_3_built)?;
24348 self.push(ASTType::SelectOperator(select_operator_3_built), context);
24349 Ok(())
24350 }
24351
24352 #[parol_runtime::function_name::named]
24357 fn width(
24358 &mut self,
24359 _l_angle: &ParseTreeType<'t>,
24360 _expression: &ParseTreeType<'t>,
24361 _width_list: &ParseTreeType<'t>,
24362 _r_angle: &ParseTreeType<'t>,
24363 ) -> Result<()> {
24364 let context = function_name!();
24365 trace!("{}", self.trace_item_stack(context));
24366 let r_angle = pop_item!(self, r_angle, RAngle, context);
24367 let width_list = pop_and_reverse_item!(self, width_list, WidthList, context);
24368 let expression = pop_item!(self, expression, Expression, context);
24369 let l_angle = pop_item!(self, l_angle, LAngle, context);
24370 let width_built = Width {
24371 l_angle: Box::new(l_angle),
24372 expression: Box::new(expression),
24373 width_list,
24374 r_angle: Box::new(r_angle),
24375 };
24376 self.user_grammar.width(&width_built)?;
24378 self.push(ASTType::Width(width_built), context);
24379 Ok(())
24380 }
24381
24382 #[parol_runtime::function_name::named]
24387 fn width_list_0(
24388 &mut self,
24389 _comma: &ParseTreeType<'t>,
24390 _expression: &ParseTreeType<'t>,
24391 _width_list: &ParseTreeType<'t>,
24392 ) -> Result<()> {
24393 let context = function_name!();
24394 trace!("{}", self.trace_item_stack(context));
24395 let mut width_list = pop_item!(self, width_list, WidthList, context);
24396 let expression = pop_item!(self, expression, Expression, context);
24397 let comma = pop_item!(self, comma, Comma, context);
24398 let width_list_0_built = WidthList {
24399 expression: Box::new(expression),
24400 comma: Box::new(comma),
24401 };
24402 width_list.push(width_list_0_built);
24404 self.push(ASTType::WidthList(width_list), context);
24405 Ok(())
24406 }
24407
24408 #[parol_runtime::function_name::named]
24413 fn width_list_1(&mut self) -> Result<()> {
24414 let context = function_name!();
24415 trace!("{}", self.trace_item_stack(context));
24416 let width_list_1_built = Vec::new();
24417 self.push(ASTType::WidthList(width_list_1_built), context);
24418 Ok(())
24419 }
24420
24421 #[parol_runtime::function_name::named]
24426 fn array(
24427 &mut self,
24428 _l_bracket: &ParseTreeType<'t>,
24429 _expression: &ParseTreeType<'t>,
24430 _array_list: &ParseTreeType<'t>,
24431 _r_bracket: &ParseTreeType<'t>,
24432 ) -> Result<()> {
24433 let context = function_name!();
24434 trace!("{}", self.trace_item_stack(context));
24435 let r_bracket = pop_item!(self, r_bracket, RBracket, context);
24436 let array_list = pop_and_reverse_item!(self, array_list, ArrayList, context);
24437 let expression = pop_item!(self, expression, Expression, context);
24438 let l_bracket = pop_item!(self, l_bracket, LBracket, context);
24439 let array_built = Array {
24440 l_bracket: Box::new(l_bracket),
24441 expression: Box::new(expression),
24442 array_list,
24443 r_bracket: Box::new(r_bracket),
24444 };
24445 self.user_grammar.array(&array_built)?;
24447 self.push(ASTType::Array(array_built), context);
24448 Ok(())
24449 }
24450
24451 #[parol_runtime::function_name::named]
24456 fn array_list_0(
24457 &mut self,
24458 _comma: &ParseTreeType<'t>,
24459 _expression: &ParseTreeType<'t>,
24460 _array_list: &ParseTreeType<'t>,
24461 ) -> Result<()> {
24462 let context = function_name!();
24463 trace!("{}", self.trace_item_stack(context));
24464 let mut array_list = pop_item!(self, array_list, ArrayList, context);
24465 let expression = pop_item!(self, expression, Expression, context);
24466 let comma = pop_item!(self, comma, Comma, context);
24467 let array_list_0_built = ArrayList {
24468 expression: Box::new(expression),
24469 comma: Box::new(comma),
24470 };
24471 array_list.push(array_list_0_built);
24473 self.push(ASTType::ArrayList(array_list), context);
24474 Ok(())
24475 }
24476
24477 #[parol_runtime::function_name::named]
24482 fn array_list_1(&mut self) -> Result<()> {
24483 let context = function_name!();
24484 trace!("{}", self.trace_item_stack(context));
24485 let array_list_1_built = Vec::new();
24486 self.push(ASTType::ArrayList(array_list_1_built), context);
24487 Ok(())
24488 }
24489
24490 #[parol_runtime::function_name::named]
24495 fn range(
24496 &mut self,
24497 _expression: &ParseTreeType<'t>,
24498 _range_opt: &ParseTreeType<'t>,
24499 ) -> Result<()> {
24500 let context = function_name!();
24501 trace!("{}", self.trace_item_stack(context));
24502 let range_opt = pop_item!(self, range_opt, RangeOpt, context);
24503 let expression = pop_item!(self, expression, Expression, context);
24504 let range_built = Range {
24505 expression: Box::new(expression),
24506 range_opt,
24507 };
24508 self.user_grammar.range(&range_built)?;
24510 self.push(ASTType::Range(range_built), context);
24511 Ok(())
24512 }
24513
24514 #[parol_runtime::function_name::named]
24519 fn range_opt_0(
24520 &mut self,
24521 _range_operator: &ParseTreeType<'t>,
24522 _expression: &ParseTreeType<'t>,
24523 ) -> Result<()> {
24524 let context = function_name!();
24525 trace!("{}", self.trace_item_stack(context));
24526 let expression = pop_item!(self, expression, Expression, context);
24527 let range_operator = pop_item!(self, range_operator, RangeOperator, context);
24528 let range_opt_0_built = RangeOpt {
24529 range_operator: Box::new(range_operator),
24530 expression: Box::new(expression),
24531 };
24532 self.push(ASTType::RangeOpt(Some(range_opt_0_built)), context);
24533 Ok(())
24534 }
24535
24536 #[parol_runtime::function_name::named]
24541 fn range_opt_1(&mut self) -> Result<()> {
24542 let context = function_name!();
24543 trace!("{}", self.trace_item_stack(context));
24544 self.push(ASTType::RangeOpt(None), context);
24545 Ok(())
24546 }
24547
24548 #[parol_runtime::function_name::named]
24553 fn range_operator_0(&mut self, _dot_dot: &ParseTreeType<'t>) -> Result<()> {
24554 let context = function_name!();
24555 trace!("{}", self.trace_item_stack(context));
24556 let dot_dot = pop_item!(self, dot_dot, DotDot, context);
24557 let range_operator_0_built = RangeOperatorDotDot {
24558 dot_dot: Box::new(dot_dot),
24559 };
24560 let range_operator_0_built = RangeOperator::DotDot(range_operator_0_built);
24561 self.user_grammar.range_operator(&range_operator_0_built)?;
24563 self.push(ASTType::RangeOperator(range_operator_0_built), context);
24564 Ok(())
24565 }
24566
24567 #[parol_runtime::function_name::named]
24572 fn range_operator_1(&mut self, _dot_dot_equ: &ParseTreeType<'t>) -> Result<()> {
24573 let context = function_name!();
24574 trace!("{}", self.trace_item_stack(context));
24575 let dot_dot_equ = pop_item!(self, dot_dot_equ, DotDotEqu, context);
24576 let range_operator_1_built = RangeOperatorDotDotEqu {
24577 dot_dot_equ: Box::new(dot_dot_equ),
24578 };
24579 let range_operator_1_built = RangeOperator::DotDotEqu(range_operator_1_built);
24580 self.user_grammar.range_operator(&range_operator_1_built)?;
24582 self.push(ASTType::RangeOperator(range_operator_1_built), context);
24583 Ok(())
24584 }
24585
24586 #[parol_runtime::function_name::named]
24591 fn fixed_type_0(&mut self, _u32: &ParseTreeType<'t>) -> Result<()> {
24592 let context = function_name!();
24593 trace!("{}", self.trace_item_stack(context));
24594 let u32 = pop_item!(self, u32, U32, context);
24595 let fixed_type_0_built = FixedTypeU32 { u32: Box::new(u32) };
24596 let fixed_type_0_built = FixedType::U32(fixed_type_0_built);
24597 self.user_grammar.fixed_type(&fixed_type_0_built)?;
24599 self.push(ASTType::FixedType(fixed_type_0_built), context);
24600 Ok(())
24601 }
24602
24603 #[parol_runtime::function_name::named]
24608 fn fixed_type_1(&mut self, _u64: &ParseTreeType<'t>) -> Result<()> {
24609 let context = function_name!();
24610 trace!("{}", self.trace_item_stack(context));
24611 let u64 = pop_item!(self, u64, U64, context);
24612 let fixed_type_1_built = FixedTypeU64 { u64: Box::new(u64) };
24613 let fixed_type_1_built = FixedType::U64(fixed_type_1_built);
24614 self.user_grammar.fixed_type(&fixed_type_1_built)?;
24616 self.push(ASTType::FixedType(fixed_type_1_built), context);
24617 Ok(())
24618 }
24619
24620 #[parol_runtime::function_name::named]
24625 fn fixed_type_2(&mut self, _i32: &ParseTreeType<'t>) -> Result<()> {
24626 let context = function_name!();
24627 trace!("{}", self.trace_item_stack(context));
24628 let i32 = pop_item!(self, i32, I32, context);
24629 let fixed_type_2_built = FixedTypeI32 { i32: Box::new(i32) };
24630 let fixed_type_2_built = FixedType::I32(fixed_type_2_built);
24631 self.user_grammar.fixed_type(&fixed_type_2_built)?;
24633 self.push(ASTType::FixedType(fixed_type_2_built), context);
24634 Ok(())
24635 }
24636
24637 #[parol_runtime::function_name::named]
24642 fn fixed_type_3(&mut self, _i64: &ParseTreeType<'t>) -> Result<()> {
24643 let context = function_name!();
24644 trace!("{}", self.trace_item_stack(context));
24645 let i64 = pop_item!(self, i64, I64, context);
24646 let fixed_type_3_built = FixedTypeI64 { i64: Box::new(i64) };
24647 let fixed_type_3_built = FixedType::I64(fixed_type_3_built);
24648 self.user_grammar.fixed_type(&fixed_type_3_built)?;
24650 self.push(ASTType::FixedType(fixed_type_3_built), context);
24651 Ok(())
24652 }
24653
24654 #[parol_runtime::function_name::named]
24659 fn fixed_type_4(&mut self, _f32: &ParseTreeType<'t>) -> Result<()> {
24660 let context = function_name!();
24661 trace!("{}", self.trace_item_stack(context));
24662 let f32 = pop_item!(self, f32, F32, context);
24663 let fixed_type_4_built = FixedTypeF32 { f32: Box::new(f32) };
24664 let fixed_type_4_built = FixedType::F32(fixed_type_4_built);
24665 self.user_grammar.fixed_type(&fixed_type_4_built)?;
24667 self.push(ASTType::FixedType(fixed_type_4_built), context);
24668 Ok(())
24669 }
24670
24671 #[parol_runtime::function_name::named]
24676 fn fixed_type_5(&mut self, _f64: &ParseTreeType<'t>) -> Result<()> {
24677 let context = function_name!();
24678 trace!("{}", self.trace_item_stack(context));
24679 let f64 = pop_item!(self, f64, F64, context);
24680 let fixed_type_5_built = FixedTypeF64 { f64: Box::new(f64) };
24681 let fixed_type_5_built = FixedType::F64(fixed_type_5_built);
24682 self.user_grammar.fixed_type(&fixed_type_5_built)?;
24684 self.push(ASTType::FixedType(fixed_type_5_built), context);
24685 Ok(())
24686 }
24687
24688 #[parol_runtime::function_name::named]
24693 fn fixed_type_6(&mut self, _strin: &ParseTreeType<'t>) -> Result<()> {
24694 let context = function_name!();
24695 trace!("{}", self.trace_item_stack(context));
24696 let strin = pop_item!(self, strin, Strin, context);
24697 let fixed_type_6_built = FixedTypeStrin {
24698 strin: Box::new(strin),
24699 };
24700 let fixed_type_6_built = FixedType::Strin(fixed_type_6_built);
24701 self.user_grammar.fixed_type(&fixed_type_6_built)?;
24703 self.push(ASTType::FixedType(fixed_type_6_built), context);
24704 Ok(())
24705 }
24706
24707 #[parol_runtime::function_name::named]
24712 fn variable_type_0(&mut self, _clock: &ParseTreeType<'t>) -> Result<()> {
24713 let context = function_name!();
24714 trace!("{}", self.trace_item_stack(context));
24715 let clock = pop_item!(self, clock, Clock, context);
24716 let variable_type_0_built = VariableTypeClock {
24717 clock: Box::new(clock),
24718 };
24719 let variable_type_0_built = VariableType::Clock(variable_type_0_built);
24720 self.user_grammar.variable_type(&variable_type_0_built)?;
24722 self.push(ASTType::VariableType(variable_type_0_built), context);
24723 Ok(())
24724 }
24725
24726 #[parol_runtime::function_name::named]
24731 fn variable_type_1(&mut self, _clock_posedge: &ParseTreeType<'t>) -> Result<()> {
24732 let context = function_name!();
24733 trace!("{}", self.trace_item_stack(context));
24734 let clock_posedge = pop_item!(self, clock_posedge, ClockPosedge, context);
24735 let variable_type_1_built = VariableTypeClockPosedge {
24736 clock_posedge: Box::new(clock_posedge),
24737 };
24738 let variable_type_1_built = VariableType::ClockPosedge(variable_type_1_built);
24739 self.user_grammar.variable_type(&variable_type_1_built)?;
24741 self.push(ASTType::VariableType(variable_type_1_built), context);
24742 Ok(())
24743 }
24744
24745 #[parol_runtime::function_name::named]
24750 fn variable_type_2(&mut self, _clock_negedge: &ParseTreeType<'t>) -> Result<()> {
24751 let context = function_name!();
24752 trace!("{}", self.trace_item_stack(context));
24753 let clock_negedge = pop_item!(self, clock_negedge, ClockNegedge, context);
24754 let variable_type_2_built = VariableTypeClockNegedge {
24755 clock_negedge: Box::new(clock_negedge),
24756 };
24757 let variable_type_2_built = VariableType::ClockNegedge(variable_type_2_built);
24758 self.user_grammar.variable_type(&variable_type_2_built)?;
24760 self.push(ASTType::VariableType(variable_type_2_built), context);
24761 Ok(())
24762 }
24763
24764 #[parol_runtime::function_name::named]
24769 fn variable_type_3(&mut self, _reset: &ParseTreeType<'t>) -> Result<()> {
24770 let context = function_name!();
24771 trace!("{}", self.trace_item_stack(context));
24772 let reset = pop_item!(self, reset, Reset, context);
24773 let variable_type_3_built = VariableTypeReset {
24774 reset: Box::new(reset),
24775 };
24776 let variable_type_3_built = VariableType::Reset(variable_type_3_built);
24777 self.user_grammar.variable_type(&variable_type_3_built)?;
24779 self.push(ASTType::VariableType(variable_type_3_built), context);
24780 Ok(())
24781 }
24782
24783 #[parol_runtime::function_name::named]
24788 fn variable_type_4(&mut self, _reset_async_high: &ParseTreeType<'t>) -> Result<()> {
24789 let context = function_name!();
24790 trace!("{}", self.trace_item_stack(context));
24791 let reset_async_high = pop_item!(self, reset_async_high, ResetAsyncHigh, context);
24792 let variable_type_4_built = VariableTypeResetAsyncHigh {
24793 reset_async_high: Box::new(reset_async_high),
24794 };
24795 let variable_type_4_built = VariableType::ResetAsyncHigh(variable_type_4_built);
24796 self.user_grammar.variable_type(&variable_type_4_built)?;
24798 self.push(ASTType::VariableType(variable_type_4_built), context);
24799 Ok(())
24800 }
24801
24802 #[parol_runtime::function_name::named]
24807 fn variable_type_5(&mut self, _reset_async_low: &ParseTreeType<'t>) -> Result<()> {
24808 let context = function_name!();
24809 trace!("{}", self.trace_item_stack(context));
24810 let reset_async_low = pop_item!(self, reset_async_low, ResetAsyncLow, context);
24811 let variable_type_5_built = VariableTypeResetAsyncLow {
24812 reset_async_low: Box::new(reset_async_low),
24813 };
24814 let variable_type_5_built = VariableType::ResetAsyncLow(variable_type_5_built);
24815 self.user_grammar.variable_type(&variable_type_5_built)?;
24817 self.push(ASTType::VariableType(variable_type_5_built), context);
24818 Ok(())
24819 }
24820
24821 #[parol_runtime::function_name::named]
24826 fn variable_type_6(&mut self, _reset_sync_high: &ParseTreeType<'t>) -> Result<()> {
24827 let context = function_name!();
24828 trace!("{}", self.trace_item_stack(context));
24829 let reset_sync_high = pop_item!(self, reset_sync_high, ResetSyncHigh, context);
24830 let variable_type_6_built = VariableTypeResetSyncHigh {
24831 reset_sync_high: Box::new(reset_sync_high),
24832 };
24833 let variable_type_6_built = VariableType::ResetSyncHigh(variable_type_6_built);
24834 self.user_grammar.variable_type(&variable_type_6_built)?;
24836 self.push(ASTType::VariableType(variable_type_6_built), context);
24837 Ok(())
24838 }
24839
24840 #[parol_runtime::function_name::named]
24845 fn variable_type_7(&mut self, _reset_sync_low: &ParseTreeType<'t>) -> Result<()> {
24846 let context = function_name!();
24847 trace!("{}", self.trace_item_stack(context));
24848 let reset_sync_low = pop_item!(self, reset_sync_low, ResetSyncLow, context);
24849 let variable_type_7_built = VariableTypeResetSyncLow {
24850 reset_sync_low: Box::new(reset_sync_low),
24851 };
24852 let variable_type_7_built = VariableType::ResetSyncLow(variable_type_7_built);
24853 self.user_grammar.variable_type(&variable_type_7_built)?;
24855 self.push(ASTType::VariableType(variable_type_7_built), context);
24856 Ok(())
24857 }
24858
24859 #[parol_runtime::function_name::named]
24864 fn variable_type_8(&mut self, _logic: &ParseTreeType<'t>) -> Result<()> {
24865 let context = function_name!();
24866 trace!("{}", self.trace_item_stack(context));
24867 let logic = pop_item!(self, logic, Logic, context);
24868 let variable_type_8_built = VariableTypeLogic {
24869 logic: Box::new(logic),
24870 };
24871 let variable_type_8_built = VariableType::Logic(variable_type_8_built);
24872 self.user_grammar.variable_type(&variable_type_8_built)?;
24874 self.push(ASTType::VariableType(variable_type_8_built), context);
24875 Ok(())
24876 }
24877
24878 #[parol_runtime::function_name::named]
24883 fn variable_type_9(&mut self, _bit: &ParseTreeType<'t>) -> Result<()> {
24884 let context = function_name!();
24885 trace!("{}", self.trace_item_stack(context));
24886 let bit = pop_item!(self, bit, Bit, context);
24887 let variable_type_9_built = VariableTypeBit { bit: Box::new(bit) };
24888 let variable_type_9_built = VariableType::Bit(variable_type_9_built);
24889 self.user_grammar.variable_type(&variable_type_9_built)?;
24891 self.push(ASTType::VariableType(variable_type_9_built), context);
24892 Ok(())
24893 }
24894
24895 #[parol_runtime::function_name::named]
24900 fn user_defined_type(&mut self, _scoped_identifier: &ParseTreeType<'t>) -> Result<()> {
24901 let context = function_name!();
24902 trace!("{}", self.trace_item_stack(context));
24903 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
24904 let user_defined_type_built = UserDefinedType {
24905 scoped_identifier: Box::new(scoped_identifier),
24906 };
24907 self.user_grammar
24909 .user_defined_type(&user_defined_type_built)?;
24910 self.push(ASTType::UserDefinedType(user_defined_type_built), context);
24911 Ok(())
24912 }
24913
24914 #[parol_runtime::function_name::named]
24919 fn type_modifier_0(&mut self, _tri: &ParseTreeType<'t>) -> Result<()> {
24920 let context = function_name!();
24921 trace!("{}", self.trace_item_stack(context));
24922 let tri = pop_item!(self, tri, Tri, context);
24923 let type_modifier_0_built = TypeModifierTri { tri: Box::new(tri) };
24924 let type_modifier_0_built = TypeModifier::Tri(type_modifier_0_built);
24925 self.user_grammar.type_modifier(&type_modifier_0_built)?;
24927 self.push(ASTType::TypeModifier(type_modifier_0_built), context);
24928 Ok(())
24929 }
24930
24931 #[parol_runtime::function_name::named]
24936 fn type_modifier_1(&mut self, _signed: &ParseTreeType<'t>) -> Result<()> {
24937 let context = function_name!();
24938 trace!("{}", self.trace_item_stack(context));
24939 let signed = pop_item!(self, signed, Signed, context);
24940 let type_modifier_1_built = TypeModifierSigned {
24941 signed: Box::new(signed),
24942 };
24943 let type_modifier_1_built = TypeModifier::Signed(type_modifier_1_built);
24944 self.user_grammar.type_modifier(&type_modifier_1_built)?;
24946 self.push(ASTType::TypeModifier(type_modifier_1_built), context);
24947 Ok(())
24948 }
24949
24950 #[parol_runtime::function_name::named]
24955 fn factor_type(&mut self, _factor_type_group: &ParseTreeType<'t>) -> Result<()> {
24956 let context = function_name!();
24957 trace!("{}", self.trace_item_stack(context));
24958 let factor_type_group = pop_item!(self, factor_type_group, FactorTypeGroup, context);
24959 let factor_type_built = FactorType {
24960 factor_type_group: Box::new(factor_type_group),
24961 };
24962 self.user_grammar.factor_type(&factor_type_built)?;
24964 self.push(ASTType::FactorType(factor_type_built), context);
24965 Ok(())
24966 }
24967
24968 #[parol_runtime::function_name::named]
24973 fn factor_type_group_0(
24974 &mut self,
24975 _variable_type: &ParseTreeType<'t>,
24976 _factor_type_opt: &ParseTreeType<'t>,
24977 ) -> Result<()> {
24978 let context = function_name!();
24979 trace!("{}", self.trace_item_stack(context));
24980 let factor_type_opt = pop_item!(self, factor_type_opt, FactorTypeOpt, context);
24981 let variable_type = pop_item!(self, variable_type, VariableType, context);
24982 let factor_type_group_0_built = FactorTypeGroupVariableTypeFactorTypeOpt {
24983 variable_type: Box::new(variable_type),
24984 factor_type_opt,
24985 };
24986 let factor_type_group_0_built =
24987 FactorTypeGroup::VariableTypeFactorTypeOpt(factor_type_group_0_built);
24988 self.push(ASTType::FactorTypeGroup(factor_type_group_0_built), context);
24989 Ok(())
24990 }
24991
24992 #[parol_runtime::function_name::named]
24997 fn factor_type_group_1(&mut self, _fixed_type: &ParseTreeType<'t>) -> Result<()> {
24998 let context = function_name!();
24999 trace!("{}", self.trace_item_stack(context));
25000 let fixed_type = pop_item!(self, fixed_type, FixedType, context);
25001 let factor_type_group_1_built = FactorTypeGroupFixedType {
25002 fixed_type: Box::new(fixed_type),
25003 };
25004 let factor_type_group_1_built = FactorTypeGroup::FixedType(factor_type_group_1_built);
25005 self.push(ASTType::FactorTypeGroup(factor_type_group_1_built), context);
25006 Ok(())
25007 }
25008
25009 #[parol_runtime::function_name::named]
25014 fn factor_type_opt_0(&mut self, _width: &ParseTreeType<'t>) -> Result<()> {
25015 let context = function_name!();
25016 trace!("{}", self.trace_item_stack(context));
25017 let width = pop_item!(self, width, Width, context);
25018 let factor_type_opt_0_built = FactorTypeOpt {
25019 width: Box::new(width),
25020 };
25021 self.push(
25022 ASTType::FactorTypeOpt(Some(factor_type_opt_0_built)),
25023 context,
25024 );
25025 Ok(())
25026 }
25027
25028 #[parol_runtime::function_name::named]
25033 fn factor_type_opt_1(&mut self) -> Result<()> {
25034 let context = function_name!();
25035 trace!("{}", self.trace_item_stack(context));
25036 self.push(ASTType::FactorTypeOpt(None), context);
25037 Ok(())
25038 }
25039
25040 #[parol_runtime::function_name::named]
25045 fn scalar_type(
25046 &mut self,
25047 _scalar_type_list: &ParseTreeType<'t>,
25048 _scalar_type_group: &ParseTreeType<'t>,
25049 ) -> Result<()> {
25050 let context = function_name!();
25051 trace!("{}", self.trace_item_stack(context));
25052 let scalar_type_group = pop_item!(self, scalar_type_group, ScalarTypeGroup, context);
25053 let scalar_type_list =
25054 pop_and_reverse_item!(self, scalar_type_list, ScalarTypeList, context);
25055 let scalar_type_built = ScalarType {
25056 scalar_type_list,
25057 scalar_type_group: Box::new(scalar_type_group),
25058 };
25059 self.user_grammar.scalar_type(&scalar_type_built)?;
25061 self.push(ASTType::ScalarType(scalar_type_built), context);
25062 Ok(())
25063 }
25064
25065 #[parol_runtime::function_name::named]
25070 fn scalar_type_group_0(
25071 &mut self,
25072 _user_defined_type: &ParseTreeType<'t>,
25073 _scalar_type_opt: &ParseTreeType<'t>,
25074 ) -> Result<()> {
25075 let context = function_name!();
25076 trace!("{}", self.trace_item_stack(context));
25077 let scalar_type_opt = pop_item!(self, scalar_type_opt, ScalarTypeOpt, context);
25078 let user_defined_type = pop_item!(self, user_defined_type, UserDefinedType, context);
25079 let scalar_type_group_0_built = ScalarTypeGroupUserDefinedTypeScalarTypeOpt {
25080 user_defined_type: Box::new(user_defined_type),
25081 scalar_type_opt,
25082 };
25083 let scalar_type_group_0_built =
25084 ScalarTypeGroup::UserDefinedTypeScalarTypeOpt(scalar_type_group_0_built);
25085 self.push(ASTType::ScalarTypeGroup(scalar_type_group_0_built), context);
25086 Ok(())
25087 }
25088
25089 #[parol_runtime::function_name::named]
25094 fn scalar_type_group_1(&mut self, _factor_type: &ParseTreeType<'t>) -> Result<()> {
25095 let context = function_name!();
25096 trace!("{}", self.trace_item_stack(context));
25097 let factor_type = pop_item!(self, factor_type, FactorType, context);
25098 let scalar_type_group_1_built = ScalarTypeGroupFactorType {
25099 factor_type: Box::new(factor_type),
25100 };
25101 let scalar_type_group_1_built = ScalarTypeGroup::FactorType(scalar_type_group_1_built);
25102 self.push(ASTType::ScalarTypeGroup(scalar_type_group_1_built), context);
25103 Ok(())
25104 }
25105
25106 #[parol_runtime::function_name::named]
25111 fn scalar_type_list_0(
25112 &mut self,
25113 _type_modifier: &ParseTreeType<'t>,
25114 _scalar_type_list: &ParseTreeType<'t>,
25115 ) -> Result<()> {
25116 let context = function_name!();
25117 trace!("{}", self.trace_item_stack(context));
25118 let mut scalar_type_list = pop_item!(self, scalar_type_list, ScalarTypeList, context);
25119 let type_modifier = pop_item!(self, type_modifier, TypeModifier, context);
25120 let scalar_type_list_0_built = ScalarTypeList {
25121 type_modifier: Box::new(type_modifier),
25122 };
25123 scalar_type_list.push(scalar_type_list_0_built);
25125 self.push(ASTType::ScalarTypeList(scalar_type_list), context);
25126 Ok(())
25127 }
25128
25129 #[parol_runtime::function_name::named]
25134 fn scalar_type_list_1(&mut self) -> Result<()> {
25135 let context = function_name!();
25136 trace!("{}", self.trace_item_stack(context));
25137 let scalar_type_list_1_built = Vec::new();
25138 self.push(ASTType::ScalarTypeList(scalar_type_list_1_built), context);
25139 Ok(())
25140 }
25141
25142 #[parol_runtime::function_name::named]
25147 fn scalar_type_opt_0(&mut self, _width: &ParseTreeType<'t>) -> Result<()> {
25148 let context = function_name!();
25149 trace!("{}", self.trace_item_stack(context));
25150 let width = pop_item!(self, width, Width, context);
25151 let scalar_type_opt_0_built = ScalarTypeOpt {
25152 width: Box::new(width),
25153 };
25154 self.push(
25155 ASTType::ScalarTypeOpt(Some(scalar_type_opt_0_built)),
25156 context,
25157 );
25158 Ok(())
25159 }
25160
25161 #[parol_runtime::function_name::named]
25166 fn scalar_type_opt_1(&mut self) -> Result<()> {
25167 let context = function_name!();
25168 trace!("{}", self.trace_item_stack(context));
25169 self.push(ASTType::ScalarTypeOpt(None), context);
25170 Ok(())
25171 }
25172
25173 #[parol_runtime::function_name::named]
25178 fn array_type(
25179 &mut self,
25180 _scalar_type: &ParseTreeType<'t>,
25181 _array_type_opt: &ParseTreeType<'t>,
25182 ) -> Result<()> {
25183 let context = function_name!();
25184 trace!("{}", self.trace_item_stack(context));
25185 let array_type_opt = pop_item!(self, array_type_opt, ArrayTypeOpt, context);
25186 let scalar_type = pop_item!(self, scalar_type, ScalarType, context);
25187 let array_type_built = ArrayType {
25188 scalar_type: Box::new(scalar_type),
25189 array_type_opt,
25190 };
25191 self.user_grammar.array_type(&array_type_built)?;
25193 self.push(ASTType::ArrayType(array_type_built), context);
25194 Ok(())
25195 }
25196
25197 #[parol_runtime::function_name::named]
25202 fn array_type_opt_0(&mut self, _array: &ParseTreeType<'t>) -> Result<()> {
25203 let context = function_name!();
25204 trace!("{}", self.trace_item_stack(context));
25205 let array = pop_item!(self, array, Array, context);
25206 let array_type_opt_0_built = ArrayTypeOpt {
25207 array: Box::new(array),
25208 };
25209 self.push(ASTType::ArrayTypeOpt(Some(array_type_opt_0_built)), context);
25210 Ok(())
25211 }
25212
25213 #[parol_runtime::function_name::named]
25218 fn array_type_opt_1(&mut self) -> Result<()> {
25219 let context = function_name!();
25220 trace!("{}", self.trace_item_stack(context));
25221 self.push(ASTType::ArrayTypeOpt(None), context);
25222 Ok(())
25223 }
25224
25225 #[parol_runtime::function_name::named]
25230 fn casting_type_0(&mut self, _u32: &ParseTreeType<'t>) -> Result<()> {
25231 let context = function_name!();
25232 trace!("{}", self.trace_item_stack(context));
25233 let u32 = pop_item!(self, u32, U32, context);
25234 let casting_type_0_built = CastingTypeU32 { u32: Box::new(u32) };
25235 let casting_type_0_built = CastingType::U32(casting_type_0_built);
25236 self.user_grammar.casting_type(&casting_type_0_built)?;
25238 self.push(ASTType::CastingType(casting_type_0_built), context);
25239 Ok(())
25240 }
25241
25242 #[parol_runtime::function_name::named]
25247 fn casting_type_1(&mut self, _u64: &ParseTreeType<'t>) -> Result<()> {
25248 let context = function_name!();
25249 trace!("{}", self.trace_item_stack(context));
25250 let u64 = pop_item!(self, u64, U64, context);
25251 let casting_type_1_built = CastingTypeU64 { u64: Box::new(u64) };
25252 let casting_type_1_built = CastingType::U64(casting_type_1_built);
25253 self.user_grammar.casting_type(&casting_type_1_built)?;
25255 self.push(ASTType::CastingType(casting_type_1_built), context);
25256 Ok(())
25257 }
25258
25259 #[parol_runtime::function_name::named]
25264 fn casting_type_2(&mut self, _i32: &ParseTreeType<'t>) -> Result<()> {
25265 let context = function_name!();
25266 trace!("{}", self.trace_item_stack(context));
25267 let i32 = pop_item!(self, i32, I32, context);
25268 let casting_type_2_built = CastingTypeI32 { i32: Box::new(i32) };
25269 let casting_type_2_built = CastingType::I32(casting_type_2_built);
25270 self.user_grammar.casting_type(&casting_type_2_built)?;
25272 self.push(ASTType::CastingType(casting_type_2_built), context);
25273 Ok(())
25274 }
25275
25276 #[parol_runtime::function_name::named]
25281 fn casting_type_3(&mut self, _i64: &ParseTreeType<'t>) -> Result<()> {
25282 let context = function_name!();
25283 trace!("{}", self.trace_item_stack(context));
25284 let i64 = pop_item!(self, i64, I64, context);
25285 let casting_type_3_built = CastingTypeI64 { i64: Box::new(i64) };
25286 let casting_type_3_built = CastingType::I64(casting_type_3_built);
25287 self.user_grammar.casting_type(&casting_type_3_built)?;
25289 self.push(ASTType::CastingType(casting_type_3_built), context);
25290 Ok(())
25291 }
25292
25293 #[parol_runtime::function_name::named]
25298 fn casting_type_4(&mut self, _f32: &ParseTreeType<'t>) -> Result<()> {
25299 let context = function_name!();
25300 trace!("{}", self.trace_item_stack(context));
25301 let f32 = pop_item!(self, f32, F32, context);
25302 let casting_type_4_built = CastingTypeF32 { f32: Box::new(f32) };
25303 let casting_type_4_built = CastingType::F32(casting_type_4_built);
25304 self.user_grammar.casting_type(&casting_type_4_built)?;
25306 self.push(ASTType::CastingType(casting_type_4_built), context);
25307 Ok(())
25308 }
25309
25310 #[parol_runtime::function_name::named]
25315 fn casting_type_5(&mut self, _f64: &ParseTreeType<'t>) -> Result<()> {
25316 let context = function_name!();
25317 trace!("{}", self.trace_item_stack(context));
25318 let f64 = pop_item!(self, f64, F64, context);
25319 let casting_type_5_built = CastingTypeF64 { f64: Box::new(f64) };
25320 let casting_type_5_built = CastingType::F64(casting_type_5_built);
25321 self.user_grammar.casting_type(&casting_type_5_built)?;
25323 self.push(ASTType::CastingType(casting_type_5_built), context);
25324 Ok(())
25325 }
25326
25327 #[parol_runtime::function_name::named]
25332 fn casting_type_6(&mut self, _clock: &ParseTreeType<'t>) -> Result<()> {
25333 let context = function_name!();
25334 trace!("{}", self.trace_item_stack(context));
25335 let clock = pop_item!(self, clock, Clock, context);
25336 let casting_type_6_built = CastingTypeClock {
25337 clock: Box::new(clock),
25338 };
25339 let casting_type_6_built = CastingType::Clock(casting_type_6_built);
25340 self.user_grammar.casting_type(&casting_type_6_built)?;
25342 self.push(ASTType::CastingType(casting_type_6_built), context);
25343 Ok(())
25344 }
25345
25346 #[parol_runtime::function_name::named]
25351 fn casting_type_7(&mut self, _clock_posedge: &ParseTreeType<'t>) -> Result<()> {
25352 let context = function_name!();
25353 trace!("{}", self.trace_item_stack(context));
25354 let clock_posedge = pop_item!(self, clock_posedge, ClockPosedge, context);
25355 let casting_type_7_built = CastingTypeClockPosedge {
25356 clock_posedge: Box::new(clock_posedge),
25357 };
25358 let casting_type_7_built = CastingType::ClockPosedge(casting_type_7_built);
25359 self.user_grammar.casting_type(&casting_type_7_built)?;
25361 self.push(ASTType::CastingType(casting_type_7_built), context);
25362 Ok(())
25363 }
25364
25365 #[parol_runtime::function_name::named]
25370 fn casting_type_8(&mut self, _clock_negedge: &ParseTreeType<'t>) -> Result<()> {
25371 let context = function_name!();
25372 trace!("{}", self.trace_item_stack(context));
25373 let clock_negedge = pop_item!(self, clock_negedge, ClockNegedge, context);
25374 let casting_type_8_built = CastingTypeClockNegedge {
25375 clock_negedge: Box::new(clock_negedge),
25376 };
25377 let casting_type_8_built = CastingType::ClockNegedge(casting_type_8_built);
25378 self.user_grammar.casting_type(&casting_type_8_built)?;
25380 self.push(ASTType::CastingType(casting_type_8_built), context);
25381 Ok(())
25382 }
25383
25384 #[parol_runtime::function_name::named]
25389 fn casting_type_9(&mut self, _reset: &ParseTreeType<'t>) -> Result<()> {
25390 let context = function_name!();
25391 trace!("{}", self.trace_item_stack(context));
25392 let reset = pop_item!(self, reset, Reset, context);
25393 let casting_type_9_built = CastingTypeReset {
25394 reset: Box::new(reset),
25395 };
25396 let casting_type_9_built = CastingType::Reset(casting_type_9_built);
25397 self.user_grammar.casting_type(&casting_type_9_built)?;
25399 self.push(ASTType::CastingType(casting_type_9_built), context);
25400 Ok(())
25401 }
25402
25403 #[parol_runtime::function_name::named]
25408 fn casting_type_10(&mut self, _reset_async_high: &ParseTreeType<'t>) -> Result<()> {
25409 let context = function_name!();
25410 trace!("{}", self.trace_item_stack(context));
25411 let reset_async_high = pop_item!(self, reset_async_high, ResetAsyncHigh, context);
25412 let casting_type_10_built = CastingTypeResetAsyncHigh {
25413 reset_async_high: Box::new(reset_async_high),
25414 };
25415 let casting_type_10_built = CastingType::ResetAsyncHigh(casting_type_10_built);
25416 self.user_grammar.casting_type(&casting_type_10_built)?;
25418 self.push(ASTType::CastingType(casting_type_10_built), context);
25419 Ok(())
25420 }
25421
25422 #[parol_runtime::function_name::named]
25427 fn casting_type_11(&mut self, _reset_async_low: &ParseTreeType<'t>) -> Result<()> {
25428 let context = function_name!();
25429 trace!("{}", self.trace_item_stack(context));
25430 let reset_async_low = pop_item!(self, reset_async_low, ResetAsyncLow, context);
25431 let casting_type_11_built = CastingTypeResetAsyncLow {
25432 reset_async_low: Box::new(reset_async_low),
25433 };
25434 let casting_type_11_built = CastingType::ResetAsyncLow(casting_type_11_built);
25435 self.user_grammar.casting_type(&casting_type_11_built)?;
25437 self.push(ASTType::CastingType(casting_type_11_built), context);
25438 Ok(())
25439 }
25440
25441 #[parol_runtime::function_name::named]
25446 fn casting_type_12(&mut self, _reset_sync_high: &ParseTreeType<'t>) -> Result<()> {
25447 let context = function_name!();
25448 trace!("{}", self.trace_item_stack(context));
25449 let reset_sync_high = pop_item!(self, reset_sync_high, ResetSyncHigh, context);
25450 let casting_type_12_built = CastingTypeResetSyncHigh {
25451 reset_sync_high: Box::new(reset_sync_high),
25452 };
25453 let casting_type_12_built = CastingType::ResetSyncHigh(casting_type_12_built);
25454 self.user_grammar.casting_type(&casting_type_12_built)?;
25456 self.push(ASTType::CastingType(casting_type_12_built), context);
25457 Ok(())
25458 }
25459
25460 #[parol_runtime::function_name::named]
25465 fn casting_type_13(&mut self, _reset_sync_low: &ParseTreeType<'t>) -> Result<()> {
25466 let context = function_name!();
25467 trace!("{}", self.trace_item_stack(context));
25468 let reset_sync_low = pop_item!(self, reset_sync_low, ResetSyncLow, context);
25469 let casting_type_13_built = CastingTypeResetSyncLow {
25470 reset_sync_low: Box::new(reset_sync_low),
25471 };
25472 let casting_type_13_built = CastingType::ResetSyncLow(casting_type_13_built);
25473 self.user_grammar.casting_type(&casting_type_13_built)?;
25475 self.push(ASTType::CastingType(casting_type_13_built), context);
25476 Ok(())
25477 }
25478
25479 #[parol_runtime::function_name::named]
25484 fn casting_type_14(&mut self, _user_defined_type: &ParseTreeType<'t>) -> Result<()> {
25485 let context = function_name!();
25486 trace!("{}", self.trace_item_stack(context));
25487 let user_defined_type = pop_item!(self, user_defined_type, UserDefinedType, context);
25488 let casting_type_14_built = CastingTypeUserDefinedType {
25489 user_defined_type: Box::new(user_defined_type),
25490 };
25491 let casting_type_14_built = CastingType::UserDefinedType(casting_type_14_built);
25492 self.user_grammar.casting_type(&casting_type_14_built)?;
25494 self.push(ASTType::CastingType(casting_type_14_built), context);
25495 Ok(())
25496 }
25497
25498 #[parol_runtime::function_name::named]
25503 fn casting_type_15(&mut self, _based: &ParseTreeType<'t>) -> Result<()> {
25504 let context = function_name!();
25505 trace!("{}", self.trace_item_stack(context));
25506 let based = pop_item!(self, based, Based, context);
25507 let casting_type_15_built = CastingTypeBased {
25508 based: Box::new(based),
25509 };
25510 let casting_type_15_built = CastingType::Based(casting_type_15_built);
25511 self.user_grammar.casting_type(&casting_type_15_built)?;
25513 self.push(ASTType::CastingType(casting_type_15_built), context);
25514 Ok(())
25515 }
25516
25517 #[parol_runtime::function_name::named]
25522 fn casting_type_16(&mut self, _base_less: &ParseTreeType<'t>) -> Result<()> {
25523 let context = function_name!();
25524 trace!("{}", self.trace_item_stack(context));
25525 let base_less = pop_item!(self, base_less, BaseLess, context);
25526 let casting_type_16_built = CastingTypeBaseLess {
25527 base_less: Box::new(base_less),
25528 };
25529 let casting_type_16_built = CastingType::BaseLess(casting_type_16_built);
25530 self.user_grammar.casting_type(&casting_type_16_built)?;
25532 self.push(ASTType::CastingType(casting_type_16_built), context);
25533 Ok(())
25534 }
25535
25536 #[parol_runtime::function_name::named]
25541 fn clock_domain(
25542 &mut self,
25543 _back_quote: &ParseTreeType<'t>,
25544 _identifier: &ParseTreeType<'t>,
25545 ) -> Result<()> {
25546 let context = function_name!();
25547 trace!("{}", self.trace_item_stack(context));
25548 let identifier = pop_item!(self, identifier, Identifier, context);
25549 let back_quote = pop_item!(self, back_quote, BackQuote, context);
25550 let clock_domain_built = ClockDomain {
25551 back_quote: Box::new(back_quote),
25552 identifier: Box::new(identifier),
25553 };
25554 self.user_grammar.clock_domain(&clock_domain_built)?;
25556 self.push(ASTType::ClockDomain(clock_domain_built), context);
25557 Ok(())
25558 }
25559
25560 #[parol_runtime::function_name::named]
25565 fn statement_block(
25566 &mut self,
25567 _l_brace: &ParseTreeType<'t>,
25568 _statement_block_list: &ParseTreeType<'t>,
25569 _r_brace: &ParseTreeType<'t>,
25570 ) -> Result<()> {
25571 let context = function_name!();
25572 trace!("{}", self.trace_item_stack(context));
25573 let r_brace = pop_item!(self, r_brace, RBrace, context);
25574 let statement_block_list =
25575 pop_and_reverse_item!(self, statement_block_list, StatementBlockList, context);
25576 let l_brace = pop_item!(self, l_brace, LBrace, context);
25577 let statement_block_built = StatementBlock {
25578 l_brace: Box::new(l_brace),
25579 statement_block_list,
25580 r_brace: Box::new(r_brace),
25581 };
25582 self.user_grammar.statement_block(&statement_block_built)?;
25584 self.push(ASTType::StatementBlock(statement_block_built), context);
25585 Ok(())
25586 }
25587
25588 #[parol_runtime::function_name::named]
25593 fn statement_block_list_0(
25594 &mut self,
25595 _statement_block_group: &ParseTreeType<'t>,
25596 _statement_block_list: &ParseTreeType<'t>,
25597 ) -> Result<()> {
25598 let context = function_name!();
25599 trace!("{}", self.trace_item_stack(context));
25600 let mut statement_block_list =
25601 pop_item!(self, statement_block_list, StatementBlockList, context);
25602 let statement_block_group =
25603 pop_item!(self, statement_block_group, StatementBlockGroup, context);
25604 let statement_block_list_0_built = StatementBlockList {
25605 statement_block_group: Box::new(statement_block_group),
25606 };
25607 statement_block_list.push(statement_block_list_0_built);
25609 self.push(ASTType::StatementBlockList(statement_block_list), context);
25610 Ok(())
25611 }
25612
25613 #[parol_runtime::function_name::named]
25618 fn statement_block_list_1(&mut self) -> Result<()> {
25619 let context = function_name!();
25620 trace!("{}", self.trace_item_stack(context));
25621 let statement_block_list_1_built = Vec::new();
25622 self.push(
25623 ASTType::StatementBlockList(statement_block_list_1_built),
25624 context,
25625 );
25626 Ok(())
25627 }
25628
25629 #[parol_runtime::function_name::named]
25634 fn statement_block_group(
25635 &mut self,
25636 _statement_block_group_list: &ParseTreeType<'t>,
25637 _statement_block_group_group: &ParseTreeType<'t>,
25638 ) -> Result<()> {
25639 let context = function_name!();
25640 trace!("{}", self.trace_item_stack(context));
25641 let statement_block_group_group = pop_item!(
25642 self,
25643 statement_block_group_group,
25644 StatementBlockGroupGroup,
25645 context
25646 );
25647 let statement_block_group_list = pop_and_reverse_item!(
25648 self,
25649 statement_block_group_list,
25650 StatementBlockGroupList,
25651 context
25652 );
25653 let statement_block_group_built = StatementBlockGroup {
25654 statement_block_group_list,
25655 statement_block_group_group: Box::new(statement_block_group_group),
25656 };
25657 self.user_grammar
25659 .statement_block_group(&statement_block_group_built)?;
25660 self.push(
25661 ASTType::StatementBlockGroup(statement_block_group_built),
25662 context,
25663 );
25664 Ok(())
25665 }
25666
25667 #[parol_runtime::function_name::named]
25672 fn statement_block_group_group_0(
25673 &mut self,
25674 _l_brace: &ParseTreeType<'t>,
25675 _statement_block_group_group_list: &ParseTreeType<'t>,
25676 _r_brace: &ParseTreeType<'t>,
25677 ) -> Result<()> {
25678 let context = function_name!();
25679 trace!("{}", self.trace_item_stack(context));
25680 let r_brace = pop_item!(self, r_brace, RBrace, context);
25681 let statement_block_group_group_list = pop_and_reverse_item!(
25682 self,
25683 statement_block_group_group_list,
25684 StatementBlockGroupGroupList,
25685 context
25686 );
25687 let l_brace = pop_item!(self, l_brace, LBrace, context);
25688 let statement_block_group_group_0_built =
25689 StatementBlockGroupGroupLBraceStatementBlockGroupGroupListRBrace {
25690 l_brace: Box::new(l_brace),
25691 statement_block_group_group_list,
25692 r_brace: Box::new(r_brace),
25693 };
25694 let statement_block_group_group_0_built =
25695 StatementBlockGroupGroup::LBraceStatementBlockGroupGroupListRBrace(
25696 statement_block_group_group_0_built,
25697 );
25698 self.push(
25699 ASTType::StatementBlockGroupGroup(statement_block_group_group_0_built),
25700 context,
25701 );
25702 Ok(())
25703 }
25704
25705 #[parol_runtime::function_name::named]
25710 fn statement_block_group_group_list_0(
25711 &mut self,
25712 _statement_block_group: &ParseTreeType<'t>,
25713 _statement_block_group_group_list: &ParseTreeType<'t>,
25714 ) -> Result<()> {
25715 let context = function_name!();
25716 trace!("{}", self.trace_item_stack(context));
25717 let mut statement_block_group_group_list = pop_item!(
25718 self,
25719 statement_block_group_group_list,
25720 StatementBlockGroupGroupList,
25721 context
25722 );
25723 let statement_block_group =
25724 pop_item!(self, statement_block_group, StatementBlockGroup, context);
25725 let statement_block_group_group_list_0_built = StatementBlockGroupGroupList {
25726 statement_block_group: Box::new(statement_block_group),
25727 };
25728 statement_block_group_group_list.push(statement_block_group_group_list_0_built);
25730 self.push(
25731 ASTType::StatementBlockGroupGroupList(statement_block_group_group_list),
25732 context,
25733 );
25734 Ok(())
25735 }
25736
25737 #[parol_runtime::function_name::named]
25742 fn statement_block_group_group_list_1(&mut self) -> Result<()> {
25743 let context = function_name!();
25744 trace!("{}", self.trace_item_stack(context));
25745 let statement_block_group_group_list_1_built = Vec::new();
25746 self.push(
25747 ASTType::StatementBlockGroupGroupList(statement_block_group_group_list_1_built),
25748 context,
25749 );
25750 Ok(())
25751 }
25752
25753 #[parol_runtime::function_name::named]
25758 fn statement_block_group_group_1(
25759 &mut self,
25760 _statement_block_item: &ParseTreeType<'t>,
25761 ) -> Result<()> {
25762 let context = function_name!();
25763 trace!("{}", self.trace_item_stack(context));
25764 let statement_block_item =
25765 pop_item!(self, statement_block_item, StatementBlockItem, context);
25766 let statement_block_group_group_1_built = StatementBlockGroupGroupStatementBlockItem {
25767 statement_block_item: Box::new(statement_block_item),
25768 };
25769 let statement_block_group_group_1_built =
25770 StatementBlockGroupGroup::StatementBlockItem(statement_block_group_group_1_built);
25771 self.push(
25772 ASTType::StatementBlockGroupGroup(statement_block_group_group_1_built),
25773 context,
25774 );
25775 Ok(())
25776 }
25777
25778 #[parol_runtime::function_name::named]
25783 fn statement_block_group_list_0(
25784 &mut self,
25785 _attribute: &ParseTreeType<'t>,
25786 _statement_block_group_list: &ParseTreeType<'t>,
25787 ) -> Result<()> {
25788 let context = function_name!();
25789 trace!("{}", self.trace_item_stack(context));
25790 let mut statement_block_group_list = pop_item!(
25791 self,
25792 statement_block_group_list,
25793 StatementBlockGroupList,
25794 context
25795 );
25796 let attribute = pop_item!(self, attribute, Attribute, context);
25797 let statement_block_group_list_0_built = StatementBlockGroupList {
25798 attribute: Box::new(attribute),
25799 };
25800 statement_block_group_list.push(statement_block_group_list_0_built);
25802 self.push(
25803 ASTType::StatementBlockGroupList(statement_block_group_list),
25804 context,
25805 );
25806 Ok(())
25807 }
25808
25809 #[parol_runtime::function_name::named]
25814 fn statement_block_group_list_1(&mut self) -> Result<()> {
25815 let context = function_name!();
25816 trace!("{}", self.trace_item_stack(context));
25817 let statement_block_group_list_1_built = Vec::new();
25818 self.push(
25819 ASTType::StatementBlockGroupList(statement_block_group_list_1_built),
25820 context,
25821 );
25822 Ok(())
25823 }
25824
25825 #[parol_runtime::function_name::named]
25830 fn statement_block_item_0(&mut self, _var_declaration: &ParseTreeType<'t>) -> Result<()> {
25831 let context = function_name!();
25832 trace!("{}", self.trace_item_stack(context));
25833 let var_declaration = pop_item!(self, var_declaration, VarDeclaration, context);
25834 let statement_block_item_0_built = StatementBlockItemVarDeclaration {
25835 var_declaration: Box::new(var_declaration),
25836 };
25837 let statement_block_item_0_built =
25838 StatementBlockItem::VarDeclaration(statement_block_item_0_built);
25839 self.user_grammar
25841 .statement_block_item(&statement_block_item_0_built)?;
25842 self.push(
25843 ASTType::StatementBlockItem(statement_block_item_0_built),
25844 context,
25845 );
25846 Ok(())
25847 }
25848
25849 #[parol_runtime::function_name::named]
25854 fn statement_block_item_1(&mut self, _let_statement: &ParseTreeType<'t>) -> Result<()> {
25855 let context = function_name!();
25856 trace!("{}", self.trace_item_stack(context));
25857 let let_statement = pop_item!(self, let_statement, LetStatement, context);
25858 let statement_block_item_1_built = StatementBlockItemLetStatement {
25859 let_statement: Box::new(let_statement),
25860 };
25861 let statement_block_item_1_built =
25862 StatementBlockItem::LetStatement(statement_block_item_1_built);
25863 self.user_grammar
25865 .statement_block_item(&statement_block_item_1_built)?;
25866 self.push(
25867 ASTType::StatementBlockItem(statement_block_item_1_built),
25868 context,
25869 );
25870 Ok(())
25871 }
25872
25873 #[parol_runtime::function_name::named]
25878 fn statement_block_item_2(&mut self, _statement: &ParseTreeType<'t>) -> Result<()> {
25879 let context = function_name!();
25880 trace!("{}", self.trace_item_stack(context));
25881 let statement = pop_item!(self, statement, Statement, context);
25882 let statement_block_item_2_built = StatementBlockItemStatement {
25883 statement: Box::new(statement),
25884 };
25885 let statement_block_item_2_built =
25886 StatementBlockItem::Statement(statement_block_item_2_built);
25887 self.user_grammar
25889 .statement_block_item(&statement_block_item_2_built)?;
25890 self.push(
25891 ASTType::StatementBlockItem(statement_block_item_2_built),
25892 context,
25893 );
25894 Ok(())
25895 }
25896
25897 #[parol_runtime::function_name::named]
25902 fn statement_0(&mut self, _identifier_statement: &ParseTreeType<'t>) -> Result<()> {
25903 let context = function_name!();
25904 trace!("{}", self.trace_item_stack(context));
25905 let identifier_statement =
25906 pop_item!(self, identifier_statement, IdentifierStatement, context);
25907 let statement_0_built = StatementIdentifierStatement {
25908 identifier_statement: Box::new(identifier_statement),
25909 };
25910 let statement_0_built = Statement::IdentifierStatement(statement_0_built);
25911 self.user_grammar.statement(&statement_0_built)?;
25913 self.push(ASTType::Statement(statement_0_built), context);
25914 Ok(())
25915 }
25916
25917 #[parol_runtime::function_name::named]
25922 fn statement_1(&mut self, _if_statement: &ParseTreeType<'t>) -> Result<()> {
25923 let context = function_name!();
25924 trace!("{}", self.trace_item_stack(context));
25925 let if_statement = pop_item!(self, if_statement, IfStatement, context);
25926 let statement_1_built = StatementIfStatement {
25927 if_statement: Box::new(if_statement),
25928 };
25929 let statement_1_built = Statement::IfStatement(statement_1_built);
25930 self.user_grammar.statement(&statement_1_built)?;
25932 self.push(ASTType::Statement(statement_1_built), context);
25933 Ok(())
25934 }
25935
25936 #[parol_runtime::function_name::named]
25941 fn statement_2(&mut self, _if_reset_statement: &ParseTreeType<'t>) -> Result<()> {
25942 let context = function_name!();
25943 trace!("{}", self.trace_item_stack(context));
25944 let if_reset_statement = pop_item!(self, if_reset_statement, IfResetStatement, context);
25945 let statement_2_built = StatementIfResetStatement {
25946 if_reset_statement: Box::new(if_reset_statement),
25947 };
25948 let statement_2_built = Statement::IfResetStatement(statement_2_built);
25949 self.user_grammar.statement(&statement_2_built)?;
25951 self.push(ASTType::Statement(statement_2_built), context);
25952 Ok(())
25953 }
25954
25955 #[parol_runtime::function_name::named]
25960 fn statement_3(&mut self, _return_statement: &ParseTreeType<'t>) -> Result<()> {
25961 let context = function_name!();
25962 trace!("{}", self.trace_item_stack(context));
25963 let return_statement = pop_item!(self, return_statement, ReturnStatement, context);
25964 let statement_3_built = StatementReturnStatement {
25965 return_statement: Box::new(return_statement),
25966 };
25967 let statement_3_built = Statement::ReturnStatement(statement_3_built);
25968 self.user_grammar.statement(&statement_3_built)?;
25970 self.push(ASTType::Statement(statement_3_built), context);
25971 Ok(())
25972 }
25973
25974 #[parol_runtime::function_name::named]
25979 fn statement_4(&mut self, _break_statement: &ParseTreeType<'t>) -> Result<()> {
25980 let context = function_name!();
25981 trace!("{}", self.trace_item_stack(context));
25982 let break_statement = pop_item!(self, break_statement, BreakStatement, context);
25983 let statement_4_built = StatementBreakStatement {
25984 break_statement: Box::new(break_statement),
25985 };
25986 let statement_4_built = Statement::BreakStatement(statement_4_built);
25987 self.user_grammar.statement(&statement_4_built)?;
25989 self.push(ASTType::Statement(statement_4_built), context);
25990 Ok(())
25991 }
25992
25993 #[parol_runtime::function_name::named]
25998 fn statement_5(&mut self, _for_statement: &ParseTreeType<'t>) -> Result<()> {
25999 let context = function_name!();
26000 trace!("{}", self.trace_item_stack(context));
26001 let for_statement = pop_item!(self, for_statement, ForStatement, context);
26002 let statement_5_built = StatementForStatement {
26003 for_statement: Box::new(for_statement),
26004 };
26005 let statement_5_built = Statement::ForStatement(statement_5_built);
26006 self.user_grammar.statement(&statement_5_built)?;
26008 self.push(ASTType::Statement(statement_5_built), context);
26009 Ok(())
26010 }
26011
26012 #[parol_runtime::function_name::named]
26017 fn statement_6(&mut self, _case_statement: &ParseTreeType<'t>) -> Result<()> {
26018 let context = function_name!();
26019 trace!("{}", self.trace_item_stack(context));
26020 let case_statement = pop_item!(self, case_statement, CaseStatement, context);
26021 let statement_6_built = StatementCaseStatement {
26022 case_statement: Box::new(case_statement),
26023 };
26024 let statement_6_built = Statement::CaseStatement(statement_6_built);
26025 self.user_grammar.statement(&statement_6_built)?;
26027 self.push(ASTType::Statement(statement_6_built), context);
26028 Ok(())
26029 }
26030
26031 #[parol_runtime::function_name::named]
26036 fn statement_7(&mut self, _switch_statement: &ParseTreeType<'t>) -> Result<()> {
26037 let context = function_name!();
26038 trace!("{}", self.trace_item_stack(context));
26039 let switch_statement = pop_item!(self, switch_statement, SwitchStatement, context);
26040 let statement_7_built = StatementSwitchStatement {
26041 switch_statement: Box::new(switch_statement),
26042 };
26043 let statement_7_built = Statement::SwitchStatement(statement_7_built);
26044 self.user_grammar.statement(&statement_7_built)?;
26046 self.push(ASTType::Statement(statement_7_built), context);
26047 Ok(())
26048 }
26049
26050 #[parol_runtime::function_name::named]
26055 fn let_statement(
26056 &mut self,
26057 _let: &ParseTreeType<'t>,
26058 _identifier: &ParseTreeType<'t>,
26059 _colon: &ParseTreeType<'t>,
26060 _let_statement_opt: &ParseTreeType<'t>,
26061 _array_type: &ParseTreeType<'t>,
26062 _equ: &ParseTreeType<'t>,
26063 _expression: &ParseTreeType<'t>,
26064 _semicolon: &ParseTreeType<'t>,
26065 ) -> Result<()> {
26066 let context = function_name!();
26067 trace!("{}", self.trace_item_stack(context));
26068 let semicolon = pop_item!(self, semicolon, Semicolon, context);
26069 let expression = pop_item!(self, expression, Expression, context);
26070 let equ = pop_item!(self, equ, Equ, context);
26071 let array_type = pop_item!(self, array_type, ArrayType, context);
26072 let let_statement_opt = pop_item!(self, let_statement_opt, LetStatementOpt, context);
26073 let colon = pop_item!(self, colon, Colon, context);
26074 let identifier = pop_item!(self, identifier, Identifier, context);
26075 let r#let = pop_item!(self, r#let, Let, context);
26076 let let_statement_built = LetStatement {
26077 r#let: Box::new(r#let),
26078 identifier: Box::new(identifier),
26079 colon: Box::new(colon),
26080 let_statement_opt,
26081 array_type: Box::new(array_type),
26082 equ: Box::new(equ),
26083 expression: Box::new(expression),
26084 semicolon: Box::new(semicolon),
26085 };
26086 self.user_grammar.let_statement(&let_statement_built)?;
26088 self.push(ASTType::LetStatement(let_statement_built), context);
26089 Ok(())
26090 }
26091
26092 #[parol_runtime::function_name::named]
26097 fn let_statement_opt_0(&mut self, _clock_domain: &ParseTreeType<'t>) -> Result<()> {
26098 let context = function_name!();
26099 trace!("{}", self.trace_item_stack(context));
26100 let clock_domain = pop_item!(self, clock_domain, ClockDomain, context);
26101 let let_statement_opt_0_built = LetStatementOpt {
26102 clock_domain: Box::new(clock_domain),
26103 };
26104 self.push(
26105 ASTType::LetStatementOpt(Some(let_statement_opt_0_built)),
26106 context,
26107 );
26108 Ok(())
26109 }
26110
26111 #[parol_runtime::function_name::named]
26116 fn let_statement_opt_1(&mut self) -> Result<()> {
26117 let context = function_name!();
26118 trace!("{}", self.trace_item_stack(context));
26119 self.push(ASTType::LetStatementOpt(None), context);
26120 Ok(())
26121 }
26122
26123 #[parol_runtime::function_name::named]
26128 fn identifier_statement(
26129 &mut self,
26130 _expression_identifier: &ParseTreeType<'t>,
26131 _identifier_statement_group: &ParseTreeType<'t>,
26132 _semicolon: &ParseTreeType<'t>,
26133 ) -> Result<()> {
26134 let context = function_name!();
26135 trace!("{}", self.trace_item_stack(context));
26136 let semicolon = pop_item!(self, semicolon, Semicolon, context);
26137 let identifier_statement_group = pop_item!(
26138 self,
26139 identifier_statement_group,
26140 IdentifierStatementGroup,
26141 context
26142 );
26143 let expression_identifier =
26144 pop_item!(self, expression_identifier, ExpressionIdentifier, context);
26145 let identifier_statement_built = IdentifierStatement {
26146 expression_identifier: Box::new(expression_identifier),
26147 identifier_statement_group: Box::new(identifier_statement_group),
26148 semicolon: Box::new(semicolon),
26149 };
26150 self.user_grammar
26152 .identifier_statement(&identifier_statement_built)?;
26153 self.push(
26154 ASTType::IdentifierStatement(identifier_statement_built),
26155 context,
26156 );
26157 Ok(())
26158 }
26159
26160 #[parol_runtime::function_name::named]
26165 fn identifier_statement_group_0(&mut self, _function_call: &ParseTreeType<'t>) -> Result<()> {
26166 let context = function_name!();
26167 trace!("{}", self.trace_item_stack(context));
26168 let function_call = pop_item!(self, function_call, FunctionCall, context);
26169 let identifier_statement_group_0_built = IdentifierStatementGroupFunctionCall {
26170 function_call: Box::new(function_call),
26171 };
26172 let identifier_statement_group_0_built =
26173 IdentifierStatementGroup::FunctionCall(identifier_statement_group_0_built);
26174 self.push(
26175 ASTType::IdentifierStatementGroup(identifier_statement_group_0_built),
26176 context,
26177 );
26178 Ok(())
26179 }
26180
26181 #[parol_runtime::function_name::named]
26186 fn identifier_statement_group_1(&mut self, _assignment: &ParseTreeType<'t>) -> Result<()> {
26187 let context = function_name!();
26188 trace!("{}", self.trace_item_stack(context));
26189 let assignment = pop_item!(self, assignment, Assignment, context);
26190 let identifier_statement_group_1_built = IdentifierStatementGroupAssignment {
26191 assignment: Box::new(assignment),
26192 };
26193 let identifier_statement_group_1_built =
26194 IdentifierStatementGroup::Assignment(identifier_statement_group_1_built);
26195 self.push(
26196 ASTType::IdentifierStatementGroup(identifier_statement_group_1_built),
26197 context,
26198 );
26199 Ok(())
26200 }
26201
26202 #[parol_runtime::function_name::named]
26207 fn assignment(
26208 &mut self,
26209 _assignment_group: &ParseTreeType<'t>,
26210 _expression: &ParseTreeType<'t>,
26211 ) -> Result<()> {
26212 let context = function_name!();
26213 trace!("{}", self.trace_item_stack(context));
26214 let expression = pop_item!(self, expression, Expression, context);
26215 let assignment_group = pop_item!(self, assignment_group, AssignmentGroup, context);
26216 let assignment_built = Assignment {
26217 assignment_group: Box::new(assignment_group),
26218 expression: Box::new(expression),
26219 };
26220 self.user_grammar.assignment(&assignment_built)?;
26222 self.push(ASTType::Assignment(assignment_built), context);
26223 Ok(())
26224 }
26225
26226 #[parol_runtime::function_name::named]
26231 fn assignment_group_0(&mut self, _equ: &ParseTreeType<'t>) -> Result<()> {
26232 let context = function_name!();
26233 trace!("{}", self.trace_item_stack(context));
26234 let equ = pop_item!(self, equ, Equ, context);
26235 let assignment_group_0_built = AssignmentGroupEqu { equ: Box::new(equ) };
26236 let assignment_group_0_built = AssignmentGroup::Equ(assignment_group_0_built);
26237 self.push(ASTType::AssignmentGroup(assignment_group_0_built), context);
26238 Ok(())
26239 }
26240
26241 #[parol_runtime::function_name::named]
26246 fn assignment_group_1(&mut self, _assignment_operator: &ParseTreeType<'t>) -> Result<()> {
26247 let context = function_name!();
26248 trace!("{}", self.trace_item_stack(context));
26249 let assignment_operator = pop_item!(self, assignment_operator, AssignmentOperator, context);
26250 let assignment_group_1_built = AssignmentGroupAssignmentOperator {
26251 assignment_operator: Box::new(assignment_operator),
26252 };
26253 let assignment_group_1_built =
26254 AssignmentGroup::AssignmentOperator(assignment_group_1_built);
26255 self.push(ASTType::AssignmentGroup(assignment_group_1_built), context);
26256 Ok(())
26257 }
26258
26259 #[parol_runtime::function_name::named]
26264 fn if_statement(
26265 &mut self,
26266 _if: &ParseTreeType<'t>,
26267 _expression: &ParseTreeType<'t>,
26268 _statement_block: &ParseTreeType<'t>,
26269 _if_statement_list: &ParseTreeType<'t>,
26270 _if_statement_opt: &ParseTreeType<'t>,
26271 ) -> Result<()> {
26272 let context = function_name!();
26273 trace!("{}", self.trace_item_stack(context));
26274 let if_statement_opt = pop_item!(self, if_statement_opt, IfStatementOpt, context);
26275 let if_statement_list =
26276 pop_and_reverse_item!(self, if_statement_list, IfStatementList, context);
26277 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26278 let expression = pop_item!(self, expression, Expression, context);
26279 let r#if = pop_item!(self, r#if, If, context);
26280 let if_statement_built = IfStatement {
26281 r#if: Box::new(r#if),
26282 expression: Box::new(expression),
26283 statement_block: Box::new(statement_block),
26284 if_statement_list,
26285 if_statement_opt,
26286 };
26287 self.user_grammar.if_statement(&if_statement_built)?;
26289 self.push(ASTType::IfStatement(if_statement_built), context);
26290 Ok(())
26291 }
26292
26293 #[parol_runtime::function_name::named]
26298 fn if_statement_list_0(
26299 &mut self,
26300 _else: &ParseTreeType<'t>,
26301 _if: &ParseTreeType<'t>,
26302 _expression: &ParseTreeType<'t>,
26303 _statement_block: &ParseTreeType<'t>,
26304 _if_statement_list: &ParseTreeType<'t>,
26305 ) -> Result<()> {
26306 let context = function_name!();
26307 trace!("{}", self.trace_item_stack(context));
26308 let mut if_statement_list = pop_item!(self, if_statement_list, IfStatementList, context);
26309 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26310 let expression = pop_item!(self, expression, Expression, context);
26311 let r#if = pop_item!(self, r#if, If, context);
26312 let r#else = pop_item!(self, r#else, Else, context);
26313 let if_statement_list_0_built = IfStatementList {
26314 statement_block: Box::new(statement_block),
26315 expression: Box::new(expression),
26316 r#if: Box::new(r#if),
26317 r#else: Box::new(r#else),
26318 };
26319 if_statement_list.push(if_statement_list_0_built);
26321 self.push(ASTType::IfStatementList(if_statement_list), context);
26322 Ok(())
26323 }
26324
26325 #[parol_runtime::function_name::named]
26330 fn if_statement_list_1(&mut self) -> Result<()> {
26331 let context = function_name!();
26332 trace!("{}", self.trace_item_stack(context));
26333 let if_statement_list_1_built = Vec::new();
26334 self.push(ASTType::IfStatementList(if_statement_list_1_built), context);
26335 Ok(())
26336 }
26337
26338 #[parol_runtime::function_name::named]
26343 fn if_statement_opt_0(
26344 &mut self,
26345 _else: &ParseTreeType<'t>,
26346 _statement_block: &ParseTreeType<'t>,
26347 ) -> Result<()> {
26348 let context = function_name!();
26349 trace!("{}", self.trace_item_stack(context));
26350 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26351 let r#else = pop_item!(self, r#else, Else, context);
26352 let if_statement_opt_0_built = IfStatementOpt {
26353 r#else: Box::new(r#else),
26354 statement_block: Box::new(statement_block),
26355 };
26356 self.push(
26357 ASTType::IfStatementOpt(Some(if_statement_opt_0_built)),
26358 context,
26359 );
26360 Ok(())
26361 }
26362
26363 #[parol_runtime::function_name::named]
26368 fn if_statement_opt_1(&mut self) -> Result<()> {
26369 let context = function_name!();
26370 trace!("{}", self.trace_item_stack(context));
26371 self.push(ASTType::IfStatementOpt(None), context);
26372 Ok(())
26373 }
26374
26375 #[parol_runtime::function_name::named]
26380 fn if_reset_statement(
26381 &mut self,
26382 _if_reset: &ParseTreeType<'t>,
26383 _statement_block: &ParseTreeType<'t>,
26384 _if_reset_statement_list: &ParseTreeType<'t>,
26385 _if_reset_statement_opt: &ParseTreeType<'t>,
26386 ) -> Result<()> {
26387 let context = function_name!();
26388 trace!("{}", self.trace_item_stack(context));
26389 let if_reset_statement_opt =
26390 pop_item!(self, if_reset_statement_opt, IfResetStatementOpt, context);
26391 let if_reset_statement_list =
26392 pop_and_reverse_item!(self, if_reset_statement_list, IfResetStatementList, context);
26393 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26394 let if_reset = pop_item!(self, if_reset, IfReset, context);
26395 let if_reset_statement_built = IfResetStatement {
26396 if_reset: Box::new(if_reset),
26397 statement_block: Box::new(statement_block),
26398 if_reset_statement_list,
26399 if_reset_statement_opt,
26400 };
26401 self.user_grammar
26403 .if_reset_statement(&if_reset_statement_built)?;
26404 self.push(ASTType::IfResetStatement(if_reset_statement_built), context);
26405 Ok(())
26406 }
26407
26408 #[parol_runtime::function_name::named]
26413 fn if_reset_statement_list_0(
26414 &mut self,
26415 _else: &ParseTreeType<'t>,
26416 _if: &ParseTreeType<'t>,
26417 _expression: &ParseTreeType<'t>,
26418 _statement_block: &ParseTreeType<'t>,
26419 _if_reset_statement_list: &ParseTreeType<'t>,
26420 ) -> Result<()> {
26421 let context = function_name!();
26422 trace!("{}", self.trace_item_stack(context));
26423 let mut if_reset_statement_list =
26424 pop_item!(self, if_reset_statement_list, IfResetStatementList, context);
26425 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26426 let expression = pop_item!(self, expression, Expression, context);
26427 let r#if = pop_item!(self, r#if, If, context);
26428 let r#else = pop_item!(self, r#else, Else, context);
26429 let if_reset_statement_list_0_built = IfResetStatementList {
26430 statement_block: Box::new(statement_block),
26431 expression: Box::new(expression),
26432 r#if: Box::new(r#if),
26433 r#else: Box::new(r#else),
26434 };
26435 if_reset_statement_list.push(if_reset_statement_list_0_built);
26437 self.push(
26438 ASTType::IfResetStatementList(if_reset_statement_list),
26439 context,
26440 );
26441 Ok(())
26442 }
26443
26444 #[parol_runtime::function_name::named]
26449 fn if_reset_statement_list_1(&mut self) -> Result<()> {
26450 let context = function_name!();
26451 trace!("{}", self.trace_item_stack(context));
26452 let if_reset_statement_list_1_built = Vec::new();
26453 self.push(
26454 ASTType::IfResetStatementList(if_reset_statement_list_1_built),
26455 context,
26456 );
26457 Ok(())
26458 }
26459
26460 #[parol_runtime::function_name::named]
26465 fn if_reset_statement_opt_0(
26466 &mut self,
26467 _else: &ParseTreeType<'t>,
26468 _statement_block: &ParseTreeType<'t>,
26469 ) -> Result<()> {
26470 let context = function_name!();
26471 trace!("{}", self.trace_item_stack(context));
26472 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26473 let r#else = pop_item!(self, r#else, Else, context);
26474 let if_reset_statement_opt_0_built = IfResetStatementOpt {
26475 r#else: Box::new(r#else),
26476 statement_block: Box::new(statement_block),
26477 };
26478 self.push(
26479 ASTType::IfResetStatementOpt(Some(if_reset_statement_opt_0_built)),
26480 context,
26481 );
26482 Ok(())
26483 }
26484
26485 #[parol_runtime::function_name::named]
26490 fn if_reset_statement_opt_1(&mut self) -> Result<()> {
26491 let context = function_name!();
26492 trace!("{}", self.trace_item_stack(context));
26493 self.push(ASTType::IfResetStatementOpt(None), context);
26494 Ok(())
26495 }
26496
26497 #[parol_runtime::function_name::named]
26502 fn return_statement(
26503 &mut self,
26504 _return: &ParseTreeType<'t>,
26505 _expression: &ParseTreeType<'t>,
26506 _semicolon: &ParseTreeType<'t>,
26507 ) -> Result<()> {
26508 let context = function_name!();
26509 trace!("{}", self.trace_item_stack(context));
26510 let semicolon = pop_item!(self, semicolon, Semicolon, context);
26511 let expression = pop_item!(self, expression, Expression, context);
26512 let r#return = pop_item!(self, r#return, Return, context);
26513 let return_statement_built = ReturnStatement {
26514 r#return: Box::new(r#return),
26515 expression: Box::new(expression),
26516 semicolon: Box::new(semicolon),
26517 };
26518 self.user_grammar
26520 .return_statement(&return_statement_built)?;
26521 self.push(ASTType::ReturnStatement(return_statement_built), context);
26522 Ok(())
26523 }
26524
26525 #[parol_runtime::function_name::named]
26530 fn break_statement(
26531 &mut self,
26532 _break: &ParseTreeType<'t>,
26533 _semicolon: &ParseTreeType<'t>,
26534 ) -> Result<()> {
26535 let context = function_name!();
26536 trace!("{}", self.trace_item_stack(context));
26537 let semicolon = pop_item!(self, semicolon, Semicolon, context);
26538 let r#break = pop_item!(self, r#break, Break, context);
26539 let break_statement_built = BreakStatement {
26540 r#break: Box::new(r#break),
26541 semicolon: Box::new(semicolon),
26542 };
26543 self.user_grammar.break_statement(&break_statement_built)?;
26545 self.push(ASTType::BreakStatement(break_statement_built), context);
26546 Ok(())
26547 }
26548
26549 #[parol_runtime::function_name::named]
26554 fn for_statement(
26555 &mut self,
26556 _for: &ParseTreeType<'t>,
26557 _identifier: &ParseTreeType<'t>,
26558 _colon: &ParseTreeType<'t>,
26559 _scalar_type: &ParseTreeType<'t>,
26560 _in: &ParseTreeType<'t>,
26561 _range: &ParseTreeType<'t>,
26562 _for_statement_opt: &ParseTreeType<'t>,
26563 _statement_block: &ParseTreeType<'t>,
26564 ) -> Result<()> {
26565 let context = function_name!();
26566 trace!("{}", self.trace_item_stack(context));
26567 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26568 let for_statement_opt = pop_item!(self, for_statement_opt, ForStatementOpt, context);
26569 let range = pop_item!(self, range, Range, context);
26570 let r#in = pop_item!(self, r#in, In, context);
26571 let scalar_type = pop_item!(self, scalar_type, ScalarType, context);
26572 let colon = pop_item!(self, colon, Colon, context);
26573 let identifier = pop_item!(self, identifier, Identifier, context);
26574 let r#for = pop_item!(self, r#for, For, context);
26575 let for_statement_built = ForStatement {
26576 r#for: Box::new(r#for),
26577 identifier: Box::new(identifier),
26578 colon: Box::new(colon),
26579 scalar_type: Box::new(scalar_type),
26580 r#in: Box::new(r#in),
26581 range: Box::new(range),
26582 for_statement_opt,
26583 statement_block: Box::new(statement_block),
26584 };
26585 self.user_grammar.for_statement(&for_statement_built)?;
26587 self.push(ASTType::ForStatement(for_statement_built), context);
26588 Ok(())
26589 }
26590
26591 #[parol_runtime::function_name::named]
26596 fn for_statement_opt_0(
26597 &mut self,
26598 _step: &ParseTreeType<'t>,
26599 _assignment_operator: &ParseTreeType<'t>,
26600 _expression: &ParseTreeType<'t>,
26601 ) -> Result<()> {
26602 let context = function_name!();
26603 trace!("{}", self.trace_item_stack(context));
26604 let expression = pop_item!(self, expression, Expression, context);
26605 let assignment_operator = pop_item!(self, assignment_operator, AssignmentOperator, context);
26606 let step = pop_item!(self, step, Step, context);
26607 let for_statement_opt_0_built = ForStatementOpt {
26608 step: Box::new(step),
26609 assignment_operator: Box::new(assignment_operator),
26610 expression: Box::new(expression),
26611 };
26612 self.push(
26613 ASTType::ForStatementOpt(Some(for_statement_opt_0_built)),
26614 context,
26615 );
26616 Ok(())
26617 }
26618
26619 #[parol_runtime::function_name::named]
26624 fn for_statement_opt_1(&mut self) -> Result<()> {
26625 let context = function_name!();
26626 trace!("{}", self.trace_item_stack(context));
26627 self.push(ASTType::ForStatementOpt(None), context);
26628 Ok(())
26629 }
26630
26631 #[parol_runtime::function_name::named]
26636 fn case_statement(
26637 &mut self,
26638 _case: &ParseTreeType<'t>,
26639 _expression: &ParseTreeType<'t>,
26640 _l_brace: &ParseTreeType<'t>,
26641 _case_statement_list: &ParseTreeType<'t>,
26642 _r_brace: &ParseTreeType<'t>,
26643 ) -> Result<()> {
26644 let context = function_name!();
26645 trace!("{}", self.trace_item_stack(context));
26646 let r_brace = pop_item!(self, r_brace, RBrace, context);
26647 let case_statement_list =
26648 pop_and_reverse_item!(self, case_statement_list, CaseStatementList, context);
26649 let l_brace = pop_item!(self, l_brace, LBrace, context);
26650 let expression = pop_item!(self, expression, Expression, context);
26651 let case = pop_item!(self, case, Case, context);
26652 let case_statement_built = CaseStatement {
26653 case: Box::new(case),
26654 expression: Box::new(expression),
26655 l_brace: Box::new(l_brace),
26656 case_statement_list,
26657 r_brace: Box::new(r_brace),
26658 };
26659 self.user_grammar.case_statement(&case_statement_built)?;
26661 self.push(ASTType::CaseStatement(case_statement_built), context);
26662 Ok(())
26663 }
26664
26665 #[parol_runtime::function_name::named]
26670 fn case_statement_list_0(
26671 &mut self,
26672 _case_item: &ParseTreeType<'t>,
26673 _case_statement_list: &ParseTreeType<'t>,
26674 ) -> Result<()> {
26675 let context = function_name!();
26676 trace!("{}", self.trace_item_stack(context));
26677 let mut case_statement_list =
26678 pop_item!(self, case_statement_list, CaseStatementList, context);
26679 let case_item = pop_item!(self, case_item, CaseItem, context);
26680 let case_statement_list_0_built = CaseStatementList {
26681 case_item: Box::new(case_item),
26682 };
26683 case_statement_list.push(case_statement_list_0_built);
26685 self.push(ASTType::CaseStatementList(case_statement_list), context);
26686 Ok(())
26687 }
26688
26689 #[parol_runtime::function_name::named]
26694 fn case_statement_list_1(&mut self) -> Result<()> {
26695 let context = function_name!();
26696 trace!("{}", self.trace_item_stack(context));
26697 let case_statement_list_1_built = Vec::new();
26698 self.push(
26699 ASTType::CaseStatementList(case_statement_list_1_built),
26700 context,
26701 );
26702 Ok(())
26703 }
26704
26705 #[parol_runtime::function_name::named]
26710 fn case_item(
26711 &mut self,
26712 _case_item_group: &ParseTreeType<'t>,
26713 _colon: &ParseTreeType<'t>,
26714 _case_item_group0: &ParseTreeType<'t>,
26715 ) -> Result<()> {
26716 let context = function_name!();
26717 trace!("{}", self.trace_item_stack(context));
26718 let case_item_group0 = pop_item!(self, case_item_group0, CaseItemGroup0, context);
26719 let colon = pop_item!(self, colon, Colon, context);
26720 let case_item_group = pop_item!(self, case_item_group, CaseItemGroup, context);
26721 let case_item_built = CaseItem {
26722 case_item_group: Box::new(case_item_group),
26723 colon: Box::new(colon),
26724 case_item_group0: Box::new(case_item_group0),
26725 };
26726 self.user_grammar.case_item(&case_item_built)?;
26728 self.push(ASTType::CaseItem(case_item_built), context);
26729 Ok(())
26730 }
26731
26732 #[parol_runtime::function_name::named]
26737 fn case_item_group0_0(&mut self, _statement: &ParseTreeType<'t>) -> Result<()> {
26738 let context = function_name!();
26739 trace!("{}", self.trace_item_stack(context));
26740 let statement = pop_item!(self, statement, Statement, context);
26741 let case_item_group0_0_built = CaseItemGroup0Statement {
26742 statement: Box::new(statement),
26743 };
26744 let case_item_group0_0_built = CaseItemGroup0::Statement(case_item_group0_0_built);
26745 self.push(ASTType::CaseItemGroup0(case_item_group0_0_built), context);
26746 Ok(())
26747 }
26748
26749 #[parol_runtime::function_name::named]
26754 fn case_item_group0_1(&mut self, _statement_block: &ParseTreeType<'t>) -> Result<()> {
26755 let context = function_name!();
26756 trace!("{}", self.trace_item_stack(context));
26757 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26758 let case_item_group0_1_built = CaseItemGroup0StatementBlock {
26759 statement_block: Box::new(statement_block),
26760 };
26761 let case_item_group0_1_built = CaseItemGroup0::StatementBlock(case_item_group0_1_built);
26762 self.push(ASTType::CaseItemGroup0(case_item_group0_1_built), context);
26763 Ok(())
26764 }
26765
26766 #[parol_runtime::function_name::named]
26771 fn case_item_group_0(&mut self, _case_condition: &ParseTreeType<'t>) -> Result<()> {
26772 let context = function_name!();
26773 trace!("{}", self.trace_item_stack(context));
26774 let case_condition = pop_item!(self, case_condition, CaseCondition, context);
26775 let case_item_group_0_built = CaseItemGroupCaseCondition {
26776 case_condition: Box::new(case_condition),
26777 };
26778 let case_item_group_0_built = CaseItemGroup::CaseCondition(case_item_group_0_built);
26779 self.push(ASTType::CaseItemGroup(case_item_group_0_built), context);
26780 Ok(())
26781 }
26782
26783 #[parol_runtime::function_name::named]
26788 fn case_item_group_1(&mut self, _defaul: &ParseTreeType<'t>) -> Result<()> {
26789 let context = function_name!();
26790 trace!("{}", self.trace_item_stack(context));
26791 let defaul = pop_item!(self, defaul, Defaul, context);
26792 let case_item_group_1_built = CaseItemGroupDefaul {
26793 defaul: Box::new(defaul),
26794 };
26795 let case_item_group_1_built = CaseItemGroup::Defaul(case_item_group_1_built);
26796 self.push(ASTType::CaseItemGroup(case_item_group_1_built), context);
26797 Ok(())
26798 }
26799
26800 #[parol_runtime::function_name::named]
26805 fn case_condition(
26806 &mut self,
26807 _range_item: &ParseTreeType<'t>,
26808 _case_condition_list: &ParseTreeType<'t>,
26809 ) -> Result<()> {
26810 let context = function_name!();
26811 trace!("{}", self.trace_item_stack(context));
26812 let case_condition_list =
26813 pop_and_reverse_item!(self, case_condition_list, CaseConditionList, context);
26814 let range_item = pop_item!(self, range_item, RangeItem, context);
26815 let case_condition_built = CaseCondition {
26816 range_item: Box::new(range_item),
26817 case_condition_list,
26818 };
26819 self.user_grammar.case_condition(&case_condition_built)?;
26821 self.push(ASTType::CaseCondition(case_condition_built), context);
26822 Ok(())
26823 }
26824
26825 #[parol_runtime::function_name::named]
26830 fn case_condition_list_0(
26831 &mut self,
26832 _comma: &ParseTreeType<'t>,
26833 _range_item: &ParseTreeType<'t>,
26834 _case_condition_list: &ParseTreeType<'t>,
26835 ) -> Result<()> {
26836 let context = function_name!();
26837 trace!("{}", self.trace_item_stack(context));
26838 let mut case_condition_list =
26839 pop_item!(self, case_condition_list, CaseConditionList, context);
26840 let range_item = pop_item!(self, range_item, RangeItem, context);
26841 let comma = pop_item!(self, comma, Comma, context);
26842 let case_condition_list_0_built = CaseConditionList {
26843 range_item: Box::new(range_item),
26844 comma: Box::new(comma),
26845 };
26846 case_condition_list.push(case_condition_list_0_built);
26848 self.push(ASTType::CaseConditionList(case_condition_list), context);
26849 Ok(())
26850 }
26851
26852 #[parol_runtime::function_name::named]
26857 fn case_condition_list_1(&mut self) -> Result<()> {
26858 let context = function_name!();
26859 trace!("{}", self.trace_item_stack(context));
26860 let case_condition_list_1_built = Vec::new();
26861 self.push(
26862 ASTType::CaseConditionList(case_condition_list_1_built),
26863 context,
26864 );
26865 Ok(())
26866 }
26867
26868 #[parol_runtime::function_name::named]
26873 fn switch_statement(
26874 &mut self,
26875 _switch: &ParseTreeType<'t>,
26876 _l_brace: &ParseTreeType<'t>,
26877 _switch_statement_list: &ParseTreeType<'t>,
26878 _r_brace: &ParseTreeType<'t>,
26879 ) -> Result<()> {
26880 let context = function_name!();
26881 trace!("{}", self.trace_item_stack(context));
26882 let r_brace = pop_item!(self, r_brace, RBrace, context);
26883 let switch_statement_list =
26884 pop_and_reverse_item!(self, switch_statement_list, SwitchStatementList, context);
26885 let l_brace = pop_item!(self, l_brace, LBrace, context);
26886 let switch = pop_item!(self, switch, Switch, context);
26887 let switch_statement_built = SwitchStatement {
26888 switch: Box::new(switch),
26889 l_brace: Box::new(l_brace),
26890 switch_statement_list,
26891 r_brace: Box::new(r_brace),
26892 };
26893 self.user_grammar
26895 .switch_statement(&switch_statement_built)?;
26896 self.push(ASTType::SwitchStatement(switch_statement_built), context);
26897 Ok(())
26898 }
26899
26900 #[parol_runtime::function_name::named]
26905 fn switch_statement_list_0(
26906 &mut self,
26907 _switch_item: &ParseTreeType<'t>,
26908 _switch_statement_list: &ParseTreeType<'t>,
26909 ) -> Result<()> {
26910 let context = function_name!();
26911 trace!("{}", self.trace_item_stack(context));
26912 let mut switch_statement_list =
26913 pop_item!(self, switch_statement_list, SwitchStatementList, context);
26914 let switch_item = pop_item!(self, switch_item, SwitchItem, context);
26915 let switch_statement_list_0_built = SwitchStatementList {
26916 switch_item: Box::new(switch_item),
26917 };
26918 switch_statement_list.push(switch_statement_list_0_built);
26920 self.push(ASTType::SwitchStatementList(switch_statement_list), context);
26921 Ok(())
26922 }
26923
26924 #[parol_runtime::function_name::named]
26929 fn switch_statement_list_1(&mut self) -> Result<()> {
26930 let context = function_name!();
26931 trace!("{}", self.trace_item_stack(context));
26932 let switch_statement_list_1_built = Vec::new();
26933 self.push(
26934 ASTType::SwitchStatementList(switch_statement_list_1_built),
26935 context,
26936 );
26937 Ok(())
26938 }
26939
26940 #[parol_runtime::function_name::named]
26945 fn switch_item(
26946 &mut self,
26947 _switch_item_group: &ParseTreeType<'t>,
26948 _colon: &ParseTreeType<'t>,
26949 _switch_item_group0: &ParseTreeType<'t>,
26950 ) -> Result<()> {
26951 let context = function_name!();
26952 trace!("{}", self.trace_item_stack(context));
26953 let switch_item_group0 = pop_item!(self, switch_item_group0, SwitchItemGroup0, context);
26954 let colon = pop_item!(self, colon, Colon, context);
26955 let switch_item_group = pop_item!(self, switch_item_group, SwitchItemGroup, context);
26956 let switch_item_built = SwitchItem {
26957 switch_item_group: Box::new(switch_item_group),
26958 colon: Box::new(colon),
26959 switch_item_group0: Box::new(switch_item_group0),
26960 };
26961 self.user_grammar.switch_item(&switch_item_built)?;
26963 self.push(ASTType::SwitchItem(switch_item_built), context);
26964 Ok(())
26965 }
26966
26967 #[parol_runtime::function_name::named]
26972 fn switch_item_group0_0(&mut self, _statement: &ParseTreeType<'t>) -> Result<()> {
26973 let context = function_name!();
26974 trace!("{}", self.trace_item_stack(context));
26975 let statement = pop_item!(self, statement, Statement, context);
26976 let switch_item_group0_0_built = SwitchItemGroup0Statement {
26977 statement: Box::new(statement),
26978 };
26979 let switch_item_group0_0_built = SwitchItemGroup0::Statement(switch_item_group0_0_built);
26980 self.push(
26981 ASTType::SwitchItemGroup0(switch_item_group0_0_built),
26982 context,
26983 );
26984 Ok(())
26985 }
26986
26987 #[parol_runtime::function_name::named]
26992 fn switch_item_group0_1(&mut self, _statement_block: &ParseTreeType<'t>) -> Result<()> {
26993 let context = function_name!();
26994 trace!("{}", self.trace_item_stack(context));
26995 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
26996 let switch_item_group0_1_built = SwitchItemGroup0StatementBlock {
26997 statement_block: Box::new(statement_block),
26998 };
26999 let switch_item_group0_1_built =
27000 SwitchItemGroup0::StatementBlock(switch_item_group0_1_built);
27001 self.push(
27002 ASTType::SwitchItemGroup0(switch_item_group0_1_built),
27003 context,
27004 );
27005 Ok(())
27006 }
27007
27008 #[parol_runtime::function_name::named]
27013 fn switch_item_group_0(&mut self, _switch_condition: &ParseTreeType<'t>) -> Result<()> {
27014 let context = function_name!();
27015 trace!("{}", self.trace_item_stack(context));
27016 let switch_condition = pop_item!(self, switch_condition, SwitchCondition, context);
27017 let switch_item_group_0_built = SwitchItemGroupSwitchCondition {
27018 switch_condition: Box::new(switch_condition),
27019 };
27020 let switch_item_group_0_built = SwitchItemGroup::SwitchCondition(switch_item_group_0_built);
27021 self.push(ASTType::SwitchItemGroup(switch_item_group_0_built), context);
27022 Ok(())
27023 }
27024
27025 #[parol_runtime::function_name::named]
27030 fn switch_item_group_1(&mut self, _defaul: &ParseTreeType<'t>) -> Result<()> {
27031 let context = function_name!();
27032 trace!("{}", self.trace_item_stack(context));
27033 let defaul = pop_item!(self, defaul, Defaul, context);
27034 let switch_item_group_1_built = SwitchItemGroupDefaul {
27035 defaul: Box::new(defaul),
27036 };
27037 let switch_item_group_1_built = SwitchItemGroup::Defaul(switch_item_group_1_built);
27038 self.push(ASTType::SwitchItemGroup(switch_item_group_1_built), context);
27039 Ok(())
27040 }
27041
27042 #[parol_runtime::function_name::named]
27047 fn switch_condition(
27048 &mut self,
27049 _expression: &ParseTreeType<'t>,
27050 _switch_condition_list: &ParseTreeType<'t>,
27051 ) -> Result<()> {
27052 let context = function_name!();
27053 trace!("{}", self.trace_item_stack(context));
27054 let switch_condition_list =
27055 pop_and_reverse_item!(self, switch_condition_list, SwitchConditionList, context);
27056 let expression = pop_item!(self, expression, Expression, context);
27057 let switch_condition_built = SwitchCondition {
27058 expression: Box::new(expression),
27059 switch_condition_list,
27060 };
27061 self.user_grammar
27063 .switch_condition(&switch_condition_built)?;
27064 self.push(ASTType::SwitchCondition(switch_condition_built), context);
27065 Ok(())
27066 }
27067
27068 #[parol_runtime::function_name::named]
27073 fn switch_condition_list_0(
27074 &mut self,
27075 _comma: &ParseTreeType<'t>,
27076 _expression: &ParseTreeType<'t>,
27077 _switch_condition_list: &ParseTreeType<'t>,
27078 ) -> Result<()> {
27079 let context = function_name!();
27080 trace!("{}", self.trace_item_stack(context));
27081 let mut switch_condition_list =
27082 pop_item!(self, switch_condition_list, SwitchConditionList, context);
27083 let expression = pop_item!(self, expression, Expression, context);
27084 let comma = pop_item!(self, comma, Comma, context);
27085 let switch_condition_list_0_built = SwitchConditionList {
27086 expression: Box::new(expression),
27087 comma: Box::new(comma),
27088 };
27089 switch_condition_list.push(switch_condition_list_0_built);
27091 self.push(ASTType::SwitchConditionList(switch_condition_list), context);
27092 Ok(())
27093 }
27094
27095 #[parol_runtime::function_name::named]
27100 fn switch_condition_list_1(&mut self) -> Result<()> {
27101 let context = function_name!();
27102 trace!("{}", self.trace_item_stack(context));
27103 let switch_condition_list_1_built = Vec::new();
27104 self.push(
27105 ASTType::SwitchConditionList(switch_condition_list_1_built),
27106 context,
27107 );
27108 Ok(())
27109 }
27110
27111 #[parol_runtime::function_name::named]
27116 fn attribute(
27117 &mut self,
27118 _hash: &ParseTreeType<'t>,
27119 _l_bracket: &ParseTreeType<'t>,
27120 _identifier: &ParseTreeType<'t>,
27121 _attribute_opt: &ParseTreeType<'t>,
27122 _r_bracket: &ParseTreeType<'t>,
27123 ) -> Result<()> {
27124 let context = function_name!();
27125 trace!("{}", self.trace_item_stack(context));
27126 let r_bracket = pop_item!(self, r_bracket, RBracket, context);
27127 let attribute_opt = pop_item!(self, attribute_opt, AttributeOpt, context);
27128 let identifier = pop_item!(self, identifier, Identifier, context);
27129 let l_bracket = pop_item!(self, l_bracket, LBracket, context);
27130 let hash = pop_item!(self, hash, Hash, context);
27131 let attribute_built = Attribute {
27132 hash: Box::new(hash),
27133 l_bracket: Box::new(l_bracket),
27134 identifier: Box::new(identifier),
27135 attribute_opt,
27136 r_bracket: Box::new(r_bracket),
27137 };
27138 self.user_grammar.attribute(&attribute_built)?;
27140 self.push(ASTType::Attribute(attribute_built), context);
27141 Ok(())
27142 }
27143
27144 #[parol_runtime::function_name::named]
27149 fn attribute_opt_0(
27150 &mut self,
27151 _l_paren: &ParseTreeType<'t>,
27152 _attribute_list: &ParseTreeType<'t>,
27153 _r_paren: &ParseTreeType<'t>,
27154 ) -> Result<()> {
27155 let context = function_name!();
27156 trace!("{}", self.trace_item_stack(context));
27157 let r_paren = pop_item!(self, r_paren, RParen, context);
27158 let attribute_list = pop_item!(self, attribute_list, AttributeList, context);
27159 let l_paren = pop_item!(self, l_paren, LParen, context);
27160 let attribute_opt_0_built = AttributeOpt {
27161 l_paren: Box::new(l_paren),
27162 attribute_list: Box::new(attribute_list),
27163 r_paren: Box::new(r_paren),
27164 };
27165 self.push(ASTType::AttributeOpt(Some(attribute_opt_0_built)), context);
27166 Ok(())
27167 }
27168
27169 #[parol_runtime::function_name::named]
27174 fn attribute_opt_1(&mut self) -> Result<()> {
27175 let context = function_name!();
27176 trace!("{}", self.trace_item_stack(context));
27177 self.push(ASTType::AttributeOpt(None), context);
27178 Ok(())
27179 }
27180
27181 #[parol_runtime::function_name::named]
27186 fn attribute_list(
27187 &mut self,
27188 _attribute_item: &ParseTreeType<'t>,
27189 _attribute_list_list: &ParseTreeType<'t>,
27190 _attribute_list_opt: &ParseTreeType<'t>,
27191 ) -> Result<()> {
27192 let context = function_name!();
27193 trace!("{}", self.trace_item_stack(context));
27194 let attribute_list_opt = pop_item!(self, attribute_list_opt, AttributeListOpt, context);
27195 let attribute_list_list =
27196 pop_and_reverse_item!(self, attribute_list_list, AttributeListList, context);
27197 let attribute_item = pop_item!(self, attribute_item, AttributeItem, context);
27198 let attribute_list_built = AttributeList {
27199 attribute_item: Box::new(attribute_item),
27200 attribute_list_list,
27201 attribute_list_opt,
27202 };
27203 self.user_grammar.attribute_list(&attribute_list_built)?;
27205 self.push(ASTType::AttributeList(attribute_list_built), context);
27206 Ok(())
27207 }
27208
27209 #[parol_runtime::function_name::named]
27214 fn attribute_list_list_0(
27215 &mut self,
27216 _comma: &ParseTreeType<'t>,
27217 _attribute_item: &ParseTreeType<'t>,
27218 _attribute_list_list: &ParseTreeType<'t>,
27219 ) -> Result<()> {
27220 let context = function_name!();
27221 trace!("{}", self.trace_item_stack(context));
27222 let mut attribute_list_list =
27223 pop_item!(self, attribute_list_list, AttributeListList, context);
27224 let attribute_item = pop_item!(self, attribute_item, AttributeItem, context);
27225 let comma = pop_item!(self, comma, Comma, context);
27226 let attribute_list_list_0_built = AttributeListList {
27227 attribute_item: Box::new(attribute_item),
27228 comma: Box::new(comma),
27229 };
27230 attribute_list_list.push(attribute_list_list_0_built);
27232 self.push(ASTType::AttributeListList(attribute_list_list), context);
27233 Ok(())
27234 }
27235
27236 #[parol_runtime::function_name::named]
27241 fn attribute_list_list_1(&mut self) -> Result<()> {
27242 let context = function_name!();
27243 trace!("{}", self.trace_item_stack(context));
27244 let attribute_list_list_1_built = Vec::new();
27245 self.push(
27246 ASTType::AttributeListList(attribute_list_list_1_built),
27247 context,
27248 );
27249 Ok(())
27250 }
27251
27252 #[parol_runtime::function_name::named]
27257 fn attribute_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
27258 let context = function_name!();
27259 trace!("{}", self.trace_item_stack(context));
27260 let comma = pop_item!(self, comma, Comma, context);
27261 let attribute_list_opt_0_built = AttributeListOpt {
27262 comma: Box::new(comma),
27263 };
27264 self.push(
27265 ASTType::AttributeListOpt(Some(attribute_list_opt_0_built)),
27266 context,
27267 );
27268 Ok(())
27269 }
27270
27271 #[parol_runtime::function_name::named]
27276 fn attribute_list_opt_1(&mut self) -> Result<()> {
27277 let context = function_name!();
27278 trace!("{}", self.trace_item_stack(context));
27279 self.push(ASTType::AttributeListOpt(None), context);
27280 Ok(())
27281 }
27282
27283 #[parol_runtime::function_name::named]
27288 fn attribute_item_0(&mut self, _identifier: &ParseTreeType<'t>) -> Result<()> {
27289 let context = function_name!();
27290 trace!("{}", self.trace_item_stack(context));
27291 let identifier = pop_item!(self, identifier, Identifier, context);
27292 let attribute_item_0_built = AttributeItemIdentifier {
27293 identifier: Box::new(identifier),
27294 };
27295 let attribute_item_0_built = AttributeItem::Identifier(attribute_item_0_built);
27296 self.user_grammar.attribute_item(&attribute_item_0_built)?;
27298 self.push(ASTType::AttributeItem(attribute_item_0_built), context);
27299 Ok(())
27300 }
27301
27302 #[parol_runtime::function_name::named]
27307 fn attribute_item_1(&mut self, _string_literal: &ParseTreeType<'t>) -> Result<()> {
27308 let context = function_name!();
27309 trace!("{}", self.trace_item_stack(context));
27310 let string_literal = pop_item!(self, string_literal, StringLiteral, context);
27311 let attribute_item_1_built = AttributeItemStringLiteral {
27312 string_literal: Box::new(string_literal),
27313 };
27314 let attribute_item_1_built = AttributeItem::StringLiteral(attribute_item_1_built);
27315 self.user_grammar.attribute_item(&attribute_item_1_built)?;
27317 self.push(ASTType::AttributeItem(attribute_item_1_built), context);
27318 Ok(())
27319 }
27320
27321 #[parol_runtime::function_name::named]
27326 fn let_declaration(
27327 &mut self,
27328 _let: &ParseTreeType<'t>,
27329 _identifier: &ParseTreeType<'t>,
27330 _colon: &ParseTreeType<'t>,
27331 _let_declaration_opt: &ParseTreeType<'t>,
27332 _array_type: &ParseTreeType<'t>,
27333 _equ: &ParseTreeType<'t>,
27334 _expression: &ParseTreeType<'t>,
27335 _semicolon: &ParseTreeType<'t>,
27336 ) -> Result<()> {
27337 let context = function_name!();
27338 trace!("{}", self.trace_item_stack(context));
27339 let semicolon = pop_item!(self, semicolon, Semicolon, context);
27340 let expression = pop_item!(self, expression, Expression, context);
27341 let equ = pop_item!(self, equ, Equ, context);
27342 let array_type = pop_item!(self, array_type, ArrayType, context);
27343 let let_declaration_opt = pop_item!(self, let_declaration_opt, LetDeclarationOpt, context);
27344 let colon = pop_item!(self, colon, Colon, context);
27345 let identifier = pop_item!(self, identifier, Identifier, context);
27346 let r#let = pop_item!(self, r#let, Let, context);
27347 let let_declaration_built = LetDeclaration {
27348 r#let: Box::new(r#let),
27349 identifier: Box::new(identifier),
27350 colon: Box::new(colon),
27351 let_declaration_opt,
27352 array_type: Box::new(array_type),
27353 equ: Box::new(equ),
27354 expression: Box::new(expression),
27355 semicolon: Box::new(semicolon),
27356 };
27357 self.user_grammar.let_declaration(&let_declaration_built)?;
27359 self.push(ASTType::LetDeclaration(let_declaration_built), context);
27360 Ok(())
27361 }
27362
27363 #[parol_runtime::function_name::named]
27368 fn let_declaration_opt_0(&mut self, _clock_domain: &ParseTreeType<'t>) -> Result<()> {
27369 let context = function_name!();
27370 trace!("{}", self.trace_item_stack(context));
27371 let clock_domain = pop_item!(self, clock_domain, ClockDomain, context);
27372 let let_declaration_opt_0_built = LetDeclarationOpt {
27373 clock_domain: Box::new(clock_domain),
27374 };
27375 self.push(
27376 ASTType::LetDeclarationOpt(Some(let_declaration_opt_0_built)),
27377 context,
27378 );
27379 Ok(())
27380 }
27381
27382 #[parol_runtime::function_name::named]
27387 fn let_declaration_opt_1(&mut self) -> Result<()> {
27388 let context = function_name!();
27389 trace!("{}", self.trace_item_stack(context));
27390 self.push(ASTType::LetDeclarationOpt(None), context);
27391 Ok(())
27392 }
27393
27394 #[parol_runtime::function_name::named]
27399 fn var_declaration(
27400 &mut self,
27401 _var: &ParseTreeType<'t>,
27402 _identifier: &ParseTreeType<'t>,
27403 _colon: &ParseTreeType<'t>,
27404 _var_declaration_opt: &ParseTreeType<'t>,
27405 _array_type: &ParseTreeType<'t>,
27406 _semicolon: &ParseTreeType<'t>,
27407 ) -> Result<()> {
27408 let context = function_name!();
27409 trace!("{}", self.trace_item_stack(context));
27410 let semicolon = pop_item!(self, semicolon, Semicolon, context);
27411 let array_type = pop_item!(self, array_type, ArrayType, context);
27412 let var_declaration_opt = pop_item!(self, var_declaration_opt, VarDeclarationOpt, context);
27413 let colon = pop_item!(self, colon, Colon, context);
27414 let identifier = pop_item!(self, identifier, Identifier, context);
27415 let var = pop_item!(self, var, Var, context);
27416 let var_declaration_built = VarDeclaration {
27417 var: Box::new(var),
27418 identifier: Box::new(identifier),
27419 colon: Box::new(colon),
27420 var_declaration_opt,
27421 array_type: Box::new(array_type),
27422 semicolon: Box::new(semicolon),
27423 };
27424 self.user_grammar.var_declaration(&var_declaration_built)?;
27426 self.push(ASTType::VarDeclaration(var_declaration_built), context);
27427 Ok(())
27428 }
27429
27430 #[parol_runtime::function_name::named]
27435 fn var_declaration_opt_0(&mut self, _clock_domain: &ParseTreeType<'t>) -> Result<()> {
27436 let context = function_name!();
27437 trace!("{}", self.trace_item_stack(context));
27438 let clock_domain = pop_item!(self, clock_domain, ClockDomain, context);
27439 let var_declaration_opt_0_built = VarDeclarationOpt {
27440 clock_domain: Box::new(clock_domain),
27441 };
27442 self.push(
27443 ASTType::VarDeclarationOpt(Some(var_declaration_opt_0_built)),
27444 context,
27445 );
27446 Ok(())
27447 }
27448
27449 #[parol_runtime::function_name::named]
27454 fn var_declaration_opt_1(&mut self) -> Result<()> {
27455 let context = function_name!();
27456 trace!("{}", self.trace_item_stack(context));
27457 self.push(ASTType::VarDeclarationOpt(None), context);
27458 Ok(())
27459 }
27460
27461 #[parol_runtime::function_name::named]
27466 fn const_declaration(
27467 &mut self,
27468 _const: &ParseTreeType<'t>,
27469 _identifier: &ParseTreeType<'t>,
27470 _colon: &ParseTreeType<'t>,
27471 _const_declaration_group: &ParseTreeType<'t>,
27472 _equ: &ParseTreeType<'t>,
27473 _expression: &ParseTreeType<'t>,
27474 _semicolon: &ParseTreeType<'t>,
27475 ) -> Result<()> {
27476 let context = function_name!();
27477 trace!("{}", self.trace_item_stack(context));
27478 let semicolon = pop_item!(self, semicolon, Semicolon, context);
27479 let expression = pop_item!(self, expression, Expression, context);
27480 let equ = pop_item!(self, equ, Equ, context);
27481 let const_declaration_group = pop_item!(
27482 self,
27483 const_declaration_group,
27484 ConstDeclarationGroup,
27485 context
27486 );
27487 let colon = pop_item!(self, colon, Colon, context);
27488 let identifier = pop_item!(self, identifier, Identifier, context);
27489 let r#const = pop_item!(self, r#const, Const, context);
27490 let const_declaration_built = ConstDeclaration {
27491 r#const: Box::new(r#const),
27492 identifier: Box::new(identifier),
27493 colon: Box::new(colon),
27494 const_declaration_group: Box::new(const_declaration_group),
27495 equ: Box::new(equ),
27496 expression: Box::new(expression),
27497 semicolon: Box::new(semicolon),
27498 };
27499 self.user_grammar
27501 .const_declaration(&const_declaration_built)?;
27502 self.push(ASTType::ConstDeclaration(const_declaration_built), context);
27503 Ok(())
27504 }
27505
27506 #[parol_runtime::function_name::named]
27511 fn const_declaration_group_0(&mut self, _array_type: &ParseTreeType<'t>) -> Result<()> {
27512 let context = function_name!();
27513 trace!("{}", self.trace_item_stack(context));
27514 let array_type = pop_item!(self, array_type, ArrayType, context);
27515 let const_declaration_group_0_built = ConstDeclarationGroupArrayType {
27516 array_type: Box::new(array_type),
27517 };
27518 let const_declaration_group_0_built =
27519 ConstDeclarationGroup::ArrayType(const_declaration_group_0_built);
27520 self.push(
27521 ASTType::ConstDeclarationGroup(const_declaration_group_0_built),
27522 context,
27523 );
27524 Ok(())
27525 }
27526
27527 #[parol_runtime::function_name::named]
27532 fn const_declaration_group_1(&mut self, _type: &ParseTreeType<'t>) -> Result<()> {
27533 let context = function_name!();
27534 trace!("{}", self.trace_item_stack(context));
27535 let r#type = pop_item!(self, r#type, Type, context);
27536 let const_declaration_group_1_built = ConstDeclarationGroupType {
27537 r#type: Box::new(r#type),
27538 };
27539 let const_declaration_group_1_built =
27540 ConstDeclarationGroup::Type(const_declaration_group_1_built);
27541 self.push(
27542 ASTType::ConstDeclarationGroup(const_declaration_group_1_built),
27543 context,
27544 );
27545 Ok(())
27546 }
27547
27548 #[parol_runtime::function_name::named]
27553 fn type_def_declaration(
27554 &mut self,
27555 _type: &ParseTreeType<'t>,
27556 _identifier: &ParseTreeType<'t>,
27557 _equ: &ParseTreeType<'t>,
27558 _array_type: &ParseTreeType<'t>,
27559 _semicolon: &ParseTreeType<'t>,
27560 ) -> Result<()> {
27561 let context = function_name!();
27562 trace!("{}", self.trace_item_stack(context));
27563 let semicolon = pop_item!(self, semicolon, Semicolon, context);
27564 let array_type = pop_item!(self, array_type, ArrayType, context);
27565 let equ = pop_item!(self, equ, Equ, context);
27566 let identifier = pop_item!(self, identifier, Identifier, context);
27567 let r#type = pop_item!(self, r#type, Type, context);
27568 let type_def_declaration_built = TypeDefDeclaration {
27569 r#type: Box::new(r#type),
27570 identifier: Box::new(identifier),
27571 equ: Box::new(equ),
27572 array_type: Box::new(array_type),
27573 semicolon: Box::new(semicolon),
27574 };
27575 self.user_grammar
27577 .type_def_declaration(&type_def_declaration_built)?;
27578 self.push(
27579 ASTType::TypeDefDeclaration(type_def_declaration_built),
27580 context,
27581 );
27582 Ok(())
27583 }
27584
27585 #[parol_runtime::function_name::named]
27590 fn always_ff_declaration(
27591 &mut self,
27592 _always_ff: &ParseTreeType<'t>,
27593 _always_ff_declaration_opt: &ParseTreeType<'t>,
27594 _statement_block: &ParseTreeType<'t>,
27595 ) -> Result<()> {
27596 let context = function_name!();
27597 trace!("{}", self.trace_item_stack(context));
27598 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
27599 let always_ff_declaration_opt = pop_item!(
27600 self,
27601 always_ff_declaration_opt,
27602 AlwaysFfDeclarationOpt,
27603 context
27604 );
27605 let always_ff = pop_item!(self, always_ff, AlwaysFf, context);
27606 let always_ff_declaration_built = AlwaysFfDeclaration {
27607 always_ff: Box::new(always_ff),
27608 always_ff_declaration_opt,
27609 statement_block: Box::new(statement_block),
27610 };
27611 self.user_grammar
27613 .always_ff_declaration(&always_ff_declaration_built)?;
27614 self.push(
27615 ASTType::AlwaysFfDeclaration(always_ff_declaration_built),
27616 context,
27617 );
27618 Ok(())
27619 }
27620
27621 #[parol_runtime::function_name::named]
27626 fn always_ff_declaration_opt_0(
27627 &mut self,
27628 _always_ff_event_list: &ParseTreeType<'t>,
27629 ) -> Result<()> {
27630 let context = function_name!();
27631 trace!("{}", self.trace_item_stack(context));
27632 let always_ff_event_list =
27633 pop_item!(self, always_ff_event_list, AlwaysFfEventList, context);
27634 let always_ff_declaration_opt_0_built = AlwaysFfDeclarationOpt {
27635 always_ff_event_list: Box::new(always_ff_event_list),
27636 };
27637 self.push(
27638 ASTType::AlwaysFfDeclarationOpt(Some(always_ff_declaration_opt_0_built)),
27639 context,
27640 );
27641 Ok(())
27642 }
27643
27644 #[parol_runtime::function_name::named]
27649 fn always_ff_declaration_opt_1(&mut self) -> Result<()> {
27650 let context = function_name!();
27651 trace!("{}", self.trace_item_stack(context));
27652 self.push(ASTType::AlwaysFfDeclarationOpt(None), context);
27653 Ok(())
27654 }
27655
27656 #[parol_runtime::function_name::named]
27661 fn always_ff_event_list(
27662 &mut self,
27663 _l_paren: &ParseTreeType<'t>,
27664 _always_ff_clock: &ParseTreeType<'t>,
27665 _always_ff_event_list_opt: &ParseTreeType<'t>,
27666 _r_paren: &ParseTreeType<'t>,
27667 ) -> Result<()> {
27668 let context = function_name!();
27669 trace!("{}", self.trace_item_stack(context));
27670 let r_paren = pop_item!(self, r_paren, RParen, context);
27671 let always_ff_event_list_opt = pop_item!(
27672 self,
27673 always_ff_event_list_opt,
27674 AlwaysFfEventListOpt,
27675 context
27676 );
27677 let always_ff_clock = pop_item!(self, always_ff_clock, AlwaysFfClock, context);
27678 let l_paren = pop_item!(self, l_paren, LParen, context);
27679 let always_ff_event_list_built = AlwaysFfEventList {
27680 l_paren: Box::new(l_paren),
27681 always_ff_clock: Box::new(always_ff_clock),
27682 always_ff_event_list_opt,
27683 r_paren: Box::new(r_paren),
27684 };
27685 self.user_grammar
27687 .always_ff_event_list(&always_ff_event_list_built)?;
27688 self.push(
27689 ASTType::AlwaysFfEventList(always_ff_event_list_built),
27690 context,
27691 );
27692 Ok(())
27693 }
27694
27695 #[parol_runtime::function_name::named]
27700 fn always_ff_event_list_opt_0(
27701 &mut self,
27702 _comma: &ParseTreeType<'t>,
27703 _always_ff_reset: &ParseTreeType<'t>,
27704 ) -> Result<()> {
27705 let context = function_name!();
27706 trace!("{}", self.trace_item_stack(context));
27707 let always_ff_reset = pop_item!(self, always_ff_reset, AlwaysFfReset, context);
27708 let comma = pop_item!(self, comma, Comma, context);
27709 let always_ff_event_list_opt_0_built = AlwaysFfEventListOpt {
27710 comma: Box::new(comma),
27711 always_ff_reset: Box::new(always_ff_reset),
27712 };
27713 self.push(
27714 ASTType::AlwaysFfEventListOpt(Some(always_ff_event_list_opt_0_built)),
27715 context,
27716 );
27717 Ok(())
27718 }
27719
27720 #[parol_runtime::function_name::named]
27725 fn always_ff_event_list_opt_1(&mut self) -> Result<()> {
27726 let context = function_name!();
27727 trace!("{}", self.trace_item_stack(context));
27728 self.push(ASTType::AlwaysFfEventListOpt(None), context);
27729 Ok(())
27730 }
27731
27732 #[parol_runtime::function_name::named]
27737 fn always_ff_clock(&mut self, _hierarchical_identifier: &ParseTreeType<'t>) -> Result<()> {
27738 let context = function_name!();
27739 trace!("{}", self.trace_item_stack(context));
27740 let hierarchical_identifier = pop_item!(
27741 self,
27742 hierarchical_identifier,
27743 HierarchicalIdentifier,
27744 context
27745 );
27746 let always_ff_clock_built = AlwaysFfClock {
27747 hierarchical_identifier: Box::new(hierarchical_identifier),
27748 };
27749 self.user_grammar.always_ff_clock(&always_ff_clock_built)?;
27751 self.push(ASTType::AlwaysFfClock(always_ff_clock_built), context);
27752 Ok(())
27753 }
27754
27755 #[parol_runtime::function_name::named]
27760 fn always_ff_reset(&mut self, _hierarchical_identifier: &ParseTreeType<'t>) -> Result<()> {
27761 let context = function_name!();
27762 trace!("{}", self.trace_item_stack(context));
27763 let hierarchical_identifier = pop_item!(
27764 self,
27765 hierarchical_identifier,
27766 HierarchicalIdentifier,
27767 context
27768 );
27769 let always_ff_reset_built = AlwaysFfReset {
27770 hierarchical_identifier: Box::new(hierarchical_identifier),
27771 };
27772 self.user_grammar.always_ff_reset(&always_ff_reset_built)?;
27774 self.push(ASTType::AlwaysFfReset(always_ff_reset_built), context);
27775 Ok(())
27776 }
27777
27778 #[parol_runtime::function_name::named]
27783 fn always_comb_declaration(
27784 &mut self,
27785 _always_comb: &ParseTreeType<'t>,
27786 _statement_block: &ParseTreeType<'t>,
27787 ) -> Result<()> {
27788 let context = function_name!();
27789 trace!("{}", self.trace_item_stack(context));
27790 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
27791 let always_comb = pop_item!(self, always_comb, AlwaysComb, context);
27792 let always_comb_declaration_built = AlwaysCombDeclaration {
27793 always_comb: Box::new(always_comb),
27794 statement_block: Box::new(statement_block),
27795 };
27796 self.user_grammar
27798 .always_comb_declaration(&always_comb_declaration_built)?;
27799 self.push(
27800 ASTType::AlwaysCombDeclaration(always_comb_declaration_built),
27801 context,
27802 );
27803 Ok(())
27804 }
27805
27806 #[parol_runtime::function_name::named]
27811 fn assign_declaration(
27812 &mut self,
27813 _assign: &ParseTreeType<'t>,
27814 _assign_destination: &ParseTreeType<'t>,
27815 _equ: &ParseTreeType<'t>,
27816 _expression: &ParseTreeType<'t>,
27817 _semicolon: &ParseTreeType<'t>,
27818 ) -> Result<()> {
27819 let context = function_name!();
27820 trace!("{}", self.trace_item_stack(context));
27821 let semicolon = pop_item!(self, semicolon, Semicolon, context);
27822 let expression = pop_item!(self, expression, Expression, context);
27823 let equ = pop_item!(self, equ, Equ, context);
27824 let assign_destination = pop_item!(self, assign_destination, AssignDestination, context);
27825 let assign = pop_item!(self, assign, Assign, context);
27826 let assign_declaration_built = AssignDeclaration {
27827 assign: Box::new(assign),
27828 assign_destination: Box::new(assign_destination),
27829 equ: Box::new(equ),
27830 expression: Box::new(expression),
27831 semicolon: Box::new(semicolon),
27832 };
27833 self.user_grammar
27835 .assign_declaration(&assign_declaration_built)?;
27836 self.push(
27837 ASTType::AssignDeclaration(assign_declaration_built),
27838 context,
27839 );
27840 Ok(())
27841 }
27842
27843 #[parol_runtime::function_name::named]
27848 fn assign_destination_0(&mut self, _hierarchical_identifier: &ParseTreeType<'t>) -> Result<()> {
27849 let context = function_name!();
27850 trace!("{}", self.trace_item_stack(context));
27851 let hierarchical_identifier = pop_item!(
27852 self,
27853 hierarchical_identifier,
27854 HierarchicalIdentifier,
27855 context
27856 );
27857 let assign_destination_0_built = AssignDestinationHierarchicalIdentifier {
27858 hierarchical_identifier: Box::new(hierarchical_identifier),
27859 };
27860 let assign_destination_0_built =
27861 AssignDestination::HierarchicalIdentifier(assign_destination_0_built);
27862 self.user_grammar
27864 .assign_destination(&assign_destination_0_built)?;
27865 self.push(
27866 ASTType::AssignDestination(assign_destination_0_built),
27867 context,
27868 );
27869 Ok(())
27870 }
27871
27872 #[parol_runtime::function_name::named]
27877 fn assign_destination_1(
27878 &mut self,
27879 _l_brace: &ParseTreeType<'t>,
27880 _assign_concatenation_list: &ParseTreeType<'t>,
27881 _r_brace: &ParseTreeType<'t>,
27882 ) -> Result<()> {
27883 let context = function_name!();
27884 trace!("{}", self.trace_item_stack(context));
27885 let r_brace = pop_item!(self, r_brace, RBrace, context);
27886 let assign_concatenation_list = pop_item!(
27887 self,
27888 assign_concatenation_list,
27889 AssignConcatenationList,
27890 context
27891 );
27892 let l_brace = pop_item!(self, l_brace, LBrace, context);
27893 let assign_destination_1_built = AssignDestinationLBraceAssignConcatenationListRBrace {
27894 l_brace: Box::new(l_brace),
27895 assign_concatenation_list: Box::new(assign_concatenation_list),
27896 r_brace: Box::new(r_brace),
27897 };
27898 let assign_destination_1_built =
27899 AssignDestination::LBraceAssignConcatenationListRBrace(assign_destination_1_built);
27900 self.user_grammar
27902 .assign_destination(&assign_destination_1_built)?;
27903 self.push(
27904 ASTType::AssignDestination(assign_destination_1_built),
27905 context,
27906 );
27907 Ok(())
27908 }
27909
27910 #[parol_runtime::function_name::named]
27915 fn assign_concatenation_list(
27916 &mut self,
27917 _assign_concatenation_item: &ParseTreeType<'t>,
27918 _assign_concatenation_list_list: &ParseTreeType<'t>,
27919 _assign_concatenation_list_opt: &ParseTreeType<'t>,
27920 ) -> Result<()> {
27921 let context = function_name!();
27922 trace!("{}", self.trace_item_stack(context));
27923 let assign_concatenation_list_opt = pop_item!(
27924 self,
27925 assign_concatenation_list_opt,
27926 AssignConcatenationListOpt,
27927 context
27928 );
27929 let assign_concatenation_list_list = pop_and_reverse_item!(
27930 self,
27931 assign_concatenation_list_list,
27932 AssignConcatenationListList,
27933 context
27934 );
27935 let assign_concatenation_item = pop_item!(
27936 self,
27937 assign_concatenation_item,
27938 AssignConcatenationItem,
27939 context
27940 );
27941 let assign_concatenation_list_built = AssignConcatenationList {
27942 assign_concatenation_item: Box::new(assign_concatenation_item),
27943 assign_concatenation_list_list,
27944 assign_concatenation_list_opt,
27945 };
27946 self.user_grammar
27948 .assign_concatenation_list(&assign_concatenation_list_built)?;
27949 self.push(
27950 ASTType::AssignConcatenationList(assign_concatenation_list_built),
27951 context,
27952 );
27953 Ok(())
27954 }
27955
27956 #[parol_runtime::function_name::named]
27961 fn assign_concatenation_list_list_0(
27962 &mut self,
27963 _comma: &ParseTreeType<'t>,
27964 _assign_concatenation_item: &ParseTreeType<'t>,
27965 _assign_concatenation_list_list: &ParseTreeType<'t>,
27966 ) -> Result<()> {
27967 let context = function_name!();
27968 trace!("{}", self.trace_item_stack(context));
27969 let mut assign_concatenation_list_list = pop_item!(
27970 self,
27971 assign_concatenation_list_list,
27972 AssignConcatenationListList,
27973 context
27974 );
27975 let assign_concatenation_item = pop_item!(
27976 self,
27977 assign_concatenation_item,
27978 AssignConcatenationItem,
27979 context
27980 );
27981 let comma = pop_item!(self, comma, Comma, context);
27982 let assign_concatenation_list_list_0_built = AssignConcatenationListList {
27983 assign_concatenation_item: Box::new(assign_concatenation_item),
27984 comma: Box::new(comma),
27985 };
27986 assign_concatenation_list_list.push(assign_concatenation_list_list_0_built);
27988 self.push(
27989 ASTType::AssignConcatenationListList(assign_concatenation_list_list),
27990 context,
27991 );
27992 Ok(())
27993 }
27994
27995 #[parol_runtime::function_name::named]
28000 fn assign_concatenation_list_list_1(&mut self) -> Result<()> {
28001 let context = function_name!();
28002 trace!("{}", self.trace_item_stack(context));
28003 let assign_concatenation_list_list_1_built = Vec::new();
28004 self.push(
28005 ASTType::AssignConcatenationListList(assign_concatenation_list_list_1_built),
28006 context,
28007 );
28008 Ok(())
28009 }
28010
28011 #[parol_runtime::function_name::named]
28016 fn assign_concatenation_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
28017 let context = function_name!();
28018 trace!("{}", self.trace_item_stack(context));
28019 let comma = pop_item!(self, comma, Comma, context);
28020 let assign_concatenation_list_opt_0_built = AssignConcatenationListOpt {
28021 comma: Box::new(comma),
28022 };
28023 self.push(
28024 ASTType::AssignConcatenationListOpt(Some(assign_concatenation_list_opt_0_built)),
28025 context,
28026 );
28027 Ok(())
28028 }
28029
28030 #[parol_runtime::function_name::named]
28035 fn assign_concatenation_list_opt_1(&mut self) -> Result<()> {
28036 let context = function_name!();
28037 trace!("{}", self.trace_item_stack(context));
28038 self.push(ASTType::AssignConcatenationListOpt(None), context);
28039 Ok(())
28040 }
28041
28042 #[parol_runtime::function_name::named]
28047 fn assign_concatenation_item(
28048 &mut self,
28049 _hierarchical_identifier: &ParseTreeType<'t>,
28050 ) -> Result<()> {
28051 let context = function_name!();
28052 trace!("{}", self.trace_item_stack(context));
28053 let hierarchical_identifier = pop_item!(
28054 self,
28055 hierarchical_identifier,
28056 HierarchicalIdentifier,
28057 context
28058 );
28059 let assign_concatenation_item_built = AssignConcatenationItem {
28060 hierarchical_identifier: Box::new(hierarchical_identifier),
28061 };
28062 self.user_grammar
28064 .assign_concatenation_item(&assign_concatenation_item_built)?;
28065 self.push(
28066 ASTType::AssignConcatenationItem(assign_concatenation_item_built),
28067 context,
28068 );
28069 Ok(())
28070 }
28071
28072 #[parol_runtime::function_name::named]
28077 fn modport_declaration(
28078 &mut self,
28079 _modport: &ParseTreeType<'t>,
28080 _identifier: &ParseTreeType<'t>,
28081 _l_brace: &ParseTreeType<'t>,
28082 _modport_declaration_opt: &ParseTreeType<'t>,
28083 _modport_declaration_opt0: &ParseTreeType<'t>,
28084 _r_brace: &ParseTreeType<'t>,
28085 ) -> Result<()> {
28086 let context = function_name!();
28087 trace!("{}", self.trace_item_stack(context));
28088 let r_brace = pop_item!(self, r_brace, RBrace, context);
28089 let modport_declaration_opt0 = pop_item!(
28090 self,
28091 modport_declaration_opt0,
28092 ModportDeclarationOpt0,
28093 context
28094 );
28095 let modport_declaration_opt = pop_item!(
28096 self,
28097 modport_declaration_opt,
28098 ModportDeclarationOpt,
28099 context
28100 );
28101 let l_brace = pop_item!(self, l_brace, LBrace, context);
28102 let identifier = pop_item!(self, identifier, Identifier, context);
28103 let modport = pop_item!(self, modport, Modport, context);
28104 let modport_declaration_built = ModportDeclaration {
28105 modport: Box::new(modport),
28106 identifier: Box::new(identifier),
28107 l_brace: Box::new(l_brace),
28108 modport_declaration_opt,
28109 modport_declaration_opt0,
28110 r_brace: Box::new(r_brace),
28111 };
28112 self.user_grammar
28114 .modport_declaration(&modport_declaration_built)?;
28115 self.push(
28116 ASTType::ModportDeclaration(modport_declaration_built),
28117 context,
28118 );
28119 Ok(())
28120 }
28121
28122 #[parol_runtime::function_name::named]
28127 fn modport_declaration_opt0_0(
28128 &mut self,
28129 _dot_dot: &ParseTreeType<'t>,
28130 _modport_default: &ParseTreeType<'t>,
28131 ) -> Result<()> {
28132 let context = function_name!();
28133 trace!("{}", self.trace_item_stack(context));
28134 let modport_default = pop_item!(self, modport_default, ModportDefault, context);
28135 let dot_dot = pop_item!(self, dot_dot, DotDot, context);
28136 let modport_declaration_opt0_0_built = ModportDeclarationOpt0 {
28137 dot_dot: Box::new(dot_dot),
28138 modport_default: Box::new(modport_default),
28139 };
28140 self.push(
28141 ASTType::ModportDeclarationOpt0(Some(modport_declaration_opt0_0_built)),
28142 context,
28143 );
28144 Ok(())
28145 }
28146
28147 #[parol_runtime::function_name::named]
28152 fn modport_declaration_opt0_1(&mut self) -> Result<()> {
28153 let context = function_name!();
28154 trace!("{}", self.trace_item_stack(context));
28155 self.push(ASTType::ModportDeclarationOpt0(None), context);
28156 Ok(())
28157 }
28158
28159 #[parol_runtime::function_name::named]
28164 fn modport_declaration_opt_0(&mut self, _modport_list: &ParseTreeType<'t>) -> Result<()> {
28165 let context = function_name!();
28166 trace!("{}", self.trace_item_stack(context));
28167 let modport_list = pop_item!(self, modport_list, ModportList, context);
28168 let modport_declaration_opt_0_built = ModportDeclarationOpt {
28169 modport_list: Box::new(modport_list),
28170 };
28171 self.push(
28172 ASTType::ModportDeclarationOpt(Some(modport_declaration_opt_0_built)),
28173 context,
28174 );
28175 Ok(())
28176 }
28177
28178 #[parol_runtime::function_name::named]
28183 fn modport_declaration_opt_1(&mut self) -> Result<()> {
28184 let context = function_name!();
28185 trace!("{}", self.trace_item_stack(context));
28186 self.push(ASTType::ModportDeclarationOpt(None), context);
28187 Ok(())
28188 }
28189
28190 #[parol_runtime::function_name::named]
28195 fn modport_list(
28196 &mut self,
28197 _modport_group: &ParseTreeType<'t>,
28198 _modport_list_list: &ParseTreeType<'t>,
28199 _modport_list_opt: &ParseTreeType<'t>,
28200 ) -> Result<()> {
28201 let context = function_name!();
28202 trace!("{}", self.trace_item_stack(context));
28203 let modport_list_opt = pop_item!(self, modport_list_opt, ModportListOpt, context);
28204 let modport_list_list =
28205 pop_and_reverse_item!(self, modport_list_list, ModportListList, context);
28206 let modport_group = pop_item!(self, modport_group, ModportGroup, context);
28207 let modport_list_built = ModportList {
28208 modport_group: Box::new(modport_group),
28209 modport_list_list,
28210 modport_list_opt,
28211 };
28212 self.user_grammar.modport_list(&modport_list_built)?;
28214 self.push(ASTType::ModportList(modport_list_built), context);
28215 Ok(())
28216 }
28217
28218 #[parol_runtime::function_name::named]
28223 fn modport_list_list_0(
28224 &mut self,
28225 _comma: &ParseTreeType<'t>,
28226 _modport_group: &ParseTreeType<'t>,
28227 _modport_list_list: &ParseTreeType<'t>,
28228 ) -> Result<()> {
28229 let context = function_name!();
28230 trace!("{}", self.trace_item_stack(context));
28231 let mut modport_list_list = pop_item!(self, modport_list_list, ModportListList, context);
28232 let modport_group = pop_item!(self, modport_group, ModportGroup, context);
28233 let comma = pop_item!(self, comma, Comma, context);
28234 let modport_list_list_0_built = ModportListList {
28235 modport_group: Box::new(modport_group),
28236 comma: Box::new(comma),
28237 };
28238 modport_list_list.push(modport_list_list_0_built);
28240 self.push(ASTType::ModportListList(modport_list_list), context);
28241 Ok(())
28242 }
28243
28244 #[parol_runtime::function_name::named]
28249 fn modport_list_list_1(&mut self) -> Result<()> {
28250 let context = function_name!();
28251 trace!("{}", self.trace_item_stack(context));
28252 let modport_list_list_1_built = Vec::new();
28253 self.push(ASTType::ModportListList(modport_list_list_1_built), context);
28254 Ok(())
28255 }
28256
28257 #[parol_runtime::function_name::named]
28262 fn modport_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
28263 let context = function_name!();
28264 trace!("{}", self.trace_item_stack(context));
28265 let comma = pop_item!(self, comma, Comma, context);
28266 let modport_list_opt_0_built = ModportListOpt {
28267 comma: Box::new(comma),
28268 };
28269 self.push(
28270 ASTType::ModportListOpt(Some(modport_list_opt_0_built)),
28271 context,
28272 );
28273 Ok(())
28274 }
28275
28276 #[parol_runtime::function_name::named]
28281 fn modport_list_opt_1(&mut self) -> Result<()> {
28282 let context = function_name!();
28283 trace!("{}", self.trace_item_stack(context));
28284 self.push(ASTType::ModportListOpt(None), context);
28285 Ok(())
28286 }
28287
28288 #[parol_runtime::function_name::named]
28293 fn modport_group(
28294 &mut self,
28295 _modport_group_list: &ParseTreeType<'t>,
28296 _modport_group_group: &ParseTreeType<'t>,
28297 ) -> Result<()> {
28298 let context = function_name!();
28299 trace!("{}", self.trace_item_stack(context));
28300 let modport_group_group = pop_item!(self, modport_group_group, ModportGroupGroup, context);
28301 let modport_group_list =
28302 pop_and_reverse_item!(self, modport_group_list, ModportGroupList, context);
28303 let modport_group_built = ModportGroup {
28304 modport_group_list,
28305 modport_group_group: Box::new(modport_group_group),
28306 };
28307 self.user_grammar.modport_group(&modport_group_built)?;
28309 self.push(ASTType::ModportGroup(modport_group_built), context);
28310 Ok(())
28311 }
28312
28313 #[parol_runtime::function_name::named]
28318 fn modport_group_group_0(
28319 &mut self,
28320 _l_brace: &ParseTreeType<'t>,
28321 _modport_list: &ParseTreeType<'t>,
28322 _r_brace: &ParseTreeType<'t>,
28323 ) -> Result<()> {
28324 let context = function_name!();
28325 trace!("{}", self.trace_item_stack(context));
28326 let r_brace = pop_item!(self, r_brace, RBrace, context);
28327 let modport_list = pop_item!(self, modport_list, ModportList, context);
28328 let l_brace = pop_item!(self, l_brace, LBrace, context);
28329 let modport_group_group_0_built = ModportGroupGroupLBraceModportListRBrace {
28330 l_brace: Box::new(l_brace),
28331 modport_list: Box::new(modport_list),
28332 r_brace: Box::new(r_brace),
28333 };
28334 let modport_group_group_0_built =
28335 ModportGroupGroup::LBraceModportListRBrace(modport_group_group_0_built);
28336 self.push(
28337 ASTType::ModportGroupGroup(modport_group_group_0_built),
28338 context,
28339 );
28340 Ok(())
28341 }
28342
28343 #[parol_runtime::function_name::named]
28348 fn modport_group_group_1(&mut self, _modport_item: &ParseTreeType<'t>) -> Result<()> {
28349 let context = function_name!();
28350 trace!("{}", self.trace_item_stack(context));
28351 let modport_item = pop_item!(self, modport_item, ModportItem, context);
28352 let modport_group_group_1_built = ModportGroupGroupModportItem {
28353 modport_item: Box::new(modport_item),
28354 };
28355 let modport_group_group_1_built =
28356 ModportGroupGroup::ModportItem(modport_group_group_1_built);
28357 self.push(
28358 ASTType::ModportGroupGroup(modport_group_group_1_built),
28359 context,
28360 );
28361 Ok(())
28362 }
28363
28364 #[parol_runtime::function_name::named]
28369 fn modport_group_list_0(
28370 &mut self,
28371 _attribute: &ParseTreeType<'t>,
28372 _modport_group_list: &ParseTreeType<'t>,
28373 ) -> Result<()> {
28374 let context = function_name!();
28375 trace!("{}", self.trace_item_stack(context));
28376 let mut modport_group_list = pop_item!(self, modport_group_list, ModportGroupList, context);
28377 let attribute = pop_item!(self, attribute, Attribute, context);
28378 let modport_group_list_0_built = ModportGroupList {
28379 attribute: Box::new(attribute),
28380 };
28381 modport_group_list.push(modport_group_list_0_built);
28383 self.push(ASTType::ModportGroupList(modport_group_list), context);
28384 Ok(())
28385 }
28386
28387 #[parol_runtime::function_name::named]
28392 fn modport_group_list_1(&mut self) -> Result<()> {
28393 let context = function_name!();
28394 trace!("{}", self.trace_item_stack(context));
28395 let modport_group_list_1_built = Vec::new();
28396 self.push(
28397 ASTType::ModportGroupList(modport_group_list_1_built),
28398 context,
28399 );
28400 Ok(())
28401 }
28402
28403 #[parol_runtime::function_name::named]
28408 fn modport_item(
28409 &mut self,
28410 _identifier: &ParseTreeType<'t>,
28411 _colon: &ParseTreeType<'t>,
28412 _direction: &ParseTreeType<'t>,
28413 ) -> Result<()> {
28414 let context = function_name!();
28415 trace!("{}", self.trace_item_stack(context));
28416 let direction = pop_item!(self, direction, Direction, context);
28417 let colon = pop_item!(self, colon, Colon, context);
28418 let identifier = pop_item!(self, identifier, Identifier, context);
28419 let modport_item_built = ModportItem {
28420 identifier: Box::new(identifier),
28421 colon: Box::new(colon),
28422 direction: Box::new(direction),
28423 };
28424 self.user_grammar.modport_item(&modport_item_built)?;
28426 self.push(ASTType::ModportItem(modport_item_built), context);
28427 Ok(())
28428 }
28429
28430 #[parol_runtime::function_name::named]
28435 fn modport_default_0(&mut self, _input: &ParseTreeType<'t>) -> Result<()> {
28436 let context = function_name!();
28437 trace!("{}", self.trace_item_stack(context));
28438 let input = pop_item!(self, input, Input, context);
28439 let modport_default_0_built = ModportDefaultInput {
28440 input: Box::new(input),
28441 };
28442 let modport_default_0_built = ModportDefault::Input(modport_default_0_built);
28443 self.user_grammar
28445 .modport_default(&modport_default_0_built)?;
28446 self.push(ASTType::ModportDefault(modport_default_0_built), context);
28447 Ok(())
28448 }
28449
28450 #[parol_runtime::function_name::named]
28455 fn modport_default_1(&mut self, _output: &ParseTreeType<'t>) -> Result<()> {
28456 let context = function_name!();
28457 trace!("{}", self.trace_item_stack(context));
28458 let output = pop_item!(self, output, Output, context);
28459 let modport_default_1_built = ModportDefaultOutput {
28460 output: Box::new(output),
28461 };
28462 let modport_default_1_built = ModportDefault::Output(modport_default_1_built);
28463 self.user_grammar
28465 .modport_default(&modport_default_1_built)?;
28466 self.push(ASTType::ModportDefault(modport_default_1_built), context);
28467 Ok(())
28468 }
28469
28470 #[parol_runtime::function_name::named]
28475 fn modport_default_2(
28476 &mut self,
28477 _converse: &ParseTreeType<'t>,
28478 _l_paren: &ParseTreeType<'t>,
28479 _identifier: &ParseTreeType<'t>,
28480 _r_paren: &ParseTreeType<'t>,
28481 ) -> Result<()> {
28482 let context = function_name!();
28483 trace!("{}", self.trace_item_stack(context));
28484 let r_paren = pop_item!(self, r_paren, RParen, context);
28485 let identifier = pop_item!(self, identifier, Identifier, context);
28486 let l_paren = pop_item!(self, l_paren, LParen, context);
28487 let converse = pop_item!(self, converse, Converse, context);
28488 let modport_default_2_built = ModportDefaultConverseLParenIdentifierRParen {
28489 converse: Box::new(converse),
28490 l_paren: Box::new(l_paren),
28491 identifier: Box::new(identifier),
28492 r_paren: Box::new(r_paren),
28493 };
28494 let modport_default_2_built =
28495 ModportDefault::ConverseLParenIdentifierRParen(modport_default_2_built);
28496 self.user_grammar
28498 .modport_default(&modport_default_2_built)?;
28499 self.push(ASTType::ModportDefault(modport_default_2_built), context);
28500 Ok(())
28501 }
28502
28503 #[parol_runtime::function_name::named]
28508 fn enum_declaration(
28509 &mut self,
28510 _enum: &ParseTreeType<'t>,
28511 _identifier: &ParseTreeType<'t>,
28512 _enum_declaration_opt: &ParseTreeType<'t>,
28513 _l_brace: &ParseTreeType<'t>,
28514 _enum_list: &ParseTreeType<'t>,
28515 _r_brace: &ParseTreeType<'t>,
28516 ) -> Result<()> {
28517 let context = function_name!();
28518 trace!("{}", self.trace_item_stack(context));
28519 let r_brace = pop_item!(self, r_brace, RBrace, context);
28520 let enum_list = pop_item!(self, enum_list, EnumList, context);
28521 let l_brace = pop_item!(self, l_brace, LBrace, context);
28522 let enum_declaration_opt =
28523 pop_item!(self, enum_declaration_opt, EnumDeclarationOpt, context);
28524 let identifier = pop_item!(self, identifier, Identifier, context);
28525 let r#enum = pop_item!(self, r#enum, Enum, context);
28526 let enum_declaration_built = EnumDeclaration {
28527 r#enum: Box::new(r#enum),
28528 identifier: Box::new(identifier),
28529 enum_declaration_opt,
28530 l_brace: Box::new(l_brace),
28531 enum_list: Box::new(enum_list),
28532 r_brace: Box::new(r_brace),
28533 };
28534 self.user_grammar
28536 .enum_declaration(&enum_declaration_built)?;
28537 self.push(ASTType::EnumDeclaration(enum_declaration_built), context);
28538 Ok(())
28539 }
28540
28541 #[parol_runtime::function_name::named]
28546 fn enum_declaration_opt_0(
28547 &mut self,
28548 _colon: &ParseTreeType<'t>,
28549 _scalar_type: &ParseTreeType<'t>,
28550 ) -> Result<()> {
28551 let context = function_name!();
28552 trace!("{}", self.trace_item_stack(context));
28553 let scalar_type = pop_item!(self, scalar_type, ScalarType, context);
28554 let colon = pop_item!(self, colon, Colon, context);
28555 let enum_declaration_opt_0_built = EnumDeclarationOpt {
28556 colon: Box::new(colon),
28557 scalar_type: Box::new(scalar_type),
28558 };
28559 self.push(
28560 ASTType::EnumDeclarationOpt(Some(enum_declaration_opt_0_built)),
28561 context,
28562 );
28563 Ok(())
28564 }
28565
28566 #[parol_runtime::function_name::named]
28571 fn enum_declaration_opt_1(&mut self) -> Result<()> {
28572 let context = function_name!();
28573 trace!("{}", self.trace_item_stack(context));
28574 self.push(ASTType::EnumDeclarationOpt(None), context);
28575 Ok(())
28576 }
28577
28578 #[parol_runtime::function_name::named]
28583 fn enum_list(
28584 &mut self,
28585 _enum_group: &ParseTreeType<'t>,
28586 _enum_list_list: &ParseTreeType<'t>,
28587 _enum_list_opt: &ParseTreeType<'t>,
28588 ) -> Result<()> {
28589 let context = function_name!();
28590 trace!("{}", self.trace_item_stack(context));
28591 let enum_list_opt = pop_item!(self, enum_list_opt, EnumListOpt, context);
28592 let enum_list_list = pop_and_reverse_item!(self, enum_list_list, EnumListList, context);
28593 let enum_group = pop_item!(self, enum_group, EnumGroup, context);
28594 let enum_list_built = EnumList {
28595 enum_group: Box::new(enum_group),
28596 enum_list_list,
28597 enum_list_opt,
28598 };
28599 self.user_grammar.enum_list(&enum_list_built)?;
28601 self.push(ASTType::EnumList(enum_list_built), context);
28602 Ok(())
28603 }
28604
28605 #[parol_runtime::function_name::named]
28610 fn enum_list_list_0(
28611 &mut self,
28612 _comma: &ParseTreeType<'t>,
28613 _enum_group: &ParseTreeType<'t>,
28614 _enum_list_list: &ParseTreeType<'t>,
28615 ) -> Result<()> {
28616 let context = function_name!();
28617 trace!("{}", self.trace_item_stack(context));
28618 let mut enum_list_list = pop_item!(self, enum_list_list, EnumListList, context);
28619 let enum_group = pop_item!(self, enum_group, EnumGroup, context);
28620 let comma = pop_item!(self, comma, Comma, context);
28621 let enum_list_list_0_built = EnumListList {
28622 enum_group: Box::new(enum_group),
28623 comma: Box::new(comma),
28624 };
28625 enum_list_list.push(enum_list_list_0_built);
28627 self.push(ASTType::EnumListList(enum_list_list), context);
28628 Ok(())
28629 }
28630
28631 #[parol_runtime::function_name::named]
28636 fn enum_list_list_1(&mut self) -> Result<()> {
28637 let context = function_name!();
28638 trace!("{}", self.trace_item_stack(context));
28639 let enum_list_list_1_built = Vec::new();
28640 self.push(ASTType::EnumListList(enum_list_list_1_built), context);
28641 Ok(())
28642 }
28643
28644 #[parol_runtime::function_name::named]
28649 fn enum_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
28650 let context = function_name!();
28651 trace!("{}", self.trace_item_stack(context));
28652 let comma = pop_item!(self, comma, Comma, context);
28653 let enum_list_opt_0_built = EnumListOpt {
28654 comma: Box::new(comma),
28655 };
28656 self.push(ASTType::EnumListOpt(Some(enum_list_opt_0_built)), context);
28657 Ok(())
28658 }
28659
28660 #[parol_runtime::function_name::named]
28665 fn enum_list_opt_1(&mut self) -> Result<()> {
28666 let context = function_name!();
28667 trace!("{}", self.trace_item_stack(context));
28668 self.push(ASTType::EnumListOpt(None), context);
28669 Ok(())
28670 }
28671
28672 #[parol_runtime::function_name::named]
28677 fn enum_group(
28678 &mut self,
28679 _enum_group_list: &ParseTreeType<'t>,
28680 _enum_group_group: &ParseTreeType<'t>,
28681 ) -> Result<()> {
28682 let context = function_name!();
28683 trace!("{}", self.trace_item_stack(context));
28684 let enum_group_group = pop_item!(self, enum_group_group, EnumGroupGroup, context);
28685 let enum_group_list = pop_and_reverse_item!(self, enum_group_list, EnumGroupList, context);
28686 let enum_group_built = EnumGroup {
28687 enum_group_list,
28688 enum_group_group: Box::new(enum_group_group),
28689 };
28690 self.user_grammar.enum_group(&enum_group_built)?;
28692 self.push(ASTType::EnumGroup(enum_group_built), context);
28693 Ok(())
28694 }
28695
28696 #[parol_runtime::function_name::named]
28701 fn enum_group_group_0(
28702 &mut self,
28703 _l_brace: &ParseTreeType<'t>,
28704 _enum_list: &ParseTreeType<'t>,
28705 _r_brace: &ParseTreeType<'t>,
28706 ) -> Result<()> {
28707 let context = function_name!();
28708 trace!("{}", self.trace_item_stack(context));
28709 let r_brace = pop_item!(self, r_brace, RBrace, context);
28710 let enum_list = pop_item!(self, enum_list, EnumList, context);
28711 let l_brace = pop_item!(self, l_brace, LBrace, context);
28712 let enum_group_group_0_built = EnumGroupGroupLBraceEnumListRBrace {
28713 l_brace: Box::new(l_brace),
28714 enum_list: Box::new(enum_list),
28715 r_brace: Box::new(r_brace),
28716 };
28717 let enum_group_group_0_built =
28718 EnumGroupGroup::LBraceEnumListRBrace(enum_group_group_0_built);
28719 self.push(ASTType::EnumGroupGroup(enum_group_group_0_built), context);
28720 Ok(())
28721 }
28722
28723 #[parol_runtime::function_name::named]
28728 fn enum_group_group_1(&mut self, _enum_item: &ParseTreeType<'t>) -> Result<()> {
28729 let context = function_name!();
28730 trace!("{}", self.trace_item_stack(context));
28731 let enum_item = pop_item!(self, enum_item, EnumItem, context);
28732 let enum_group_group_1_built = EnumGroupGroupEnumItem {
28733 enum_item: Box::new(enum_item),
28734 };
28735 let enum_group_group_1_built = EnumGroupGroup::EnumItem(enum_group_group_1_built);
28736 self.push(ASTType::EnumGroupGroup(enum_group_group_1_built), context);
28737 Ok(())
28738 }
28739
28740 #[parol_runtime::function_name::named]
28745 fn enum_group_list_0(
28746 &mut self,
28747 _attribute: &ParseTreeType<'t>,
28748 _enum_group_list: &ParseTreeType<'t>,
28749 ) -> Result<()> {
28750 let context = function_name!();
28751 trace!("{}", self.trace_item_stack(context));
28752 let mut enum_group_list = pop_item!(self, enum_group_list, EnumGroupList, context);
28753 let attribute = pop_item!(self, attribute, Attribute, context);
28754 let enum_group_list_0_built = EnumGroupList {
28755 attribute: Box::new(attribute),
28756 };
28757 enum_group_list.push(enum_group_list_0_built);
28759 self.push(ASTType::EnumGroupList(enum_group_list), context);
28760 Ok(())
28761 }
28762
28763 #[parol_runtime::function_name::named]
28768 fn enum_group_list_1(&mut self) -> Result<()> {
28769 let context = function_name!();
28770 trace!("{}", self.trace_item_stack(context));
28771 let enum_group_list_1_built = Vec::new();
28772 self.push(ASTType::EnumGroupList(enum_group_list_1_built), context);
28773 Ok(())
28774 }
28775
28776 #[parol_runtime::function_name::named]
28781 fn enum_item(
28782 &mut self,
28783 _identifier: &ParseTreeType<'t>,
28784 _enum_item_opt: &ParseTreeType<'t>,
28785 ) -> Result<()> {
28786 let context = function_name!();
28787 trace!("{}", self.trace_item_stack(context));
28788 let enum_item_opt = pop_item!(self, enum_item_opt, EnumItemOpt, context);
28789 let identifier = pop_item!(self, identifier, Identifier, context);
28790 let enum_item_built = EnumItem {
28791 identifier: Box::new(identifier),
28792 enum_item_opt,
28793 };
28794 self.user_grammar.enum_item(&enum_item_built)?;
28796 self.push(ASTType::EnumItem(enum_item_built), context);
28797 Ok(())
28798 }
28799
28800 #[parol_runtime::function_name::named]
28805 fn enum_item_opt_0(
28806 &mut self,
28807 _equ: &ParseTreeType<'t>,
28808 _expression: &ParseTreeType<'t>,
28809 ) -> Result<()> {
28810 let context = function_name!();
28811 trace!("{}", self.trace_item_stack(context));
28812 let expression = pop_item!(self, expression, Expression, context);
28813 let equ = pop_item!(self, equ, Equ, context);
28814 let enum_item_opt_0_built = EnumItemOpt {
28815 equ: Box::new(equ),
28816 expression: Box::new(expression),
28817 };
28818 self.push(ASTType::EnumItemOpt(Some(enum_item_opt_0_built)), context);
28819 Ok(())
28820 }
28821
28822 #[parol_runtime::function_name::named]
28827 fn enum_item_opt_1(&mut self) -> Result<()> {
28828 let context = function_name!();
28829 trace!("{}", self.trace_item_stack(context));
28830 self.push(ASTType::EnumItemOpt(None), context);
28831 Ok(())
28832 }
28833
28834 #[parol_runtime::function_name::named]
28839 fn struct_union_0(&mut self, _struct: &ParseTreeType<'t>) -> Result<()> {
28840 let context = function_name!();
28841 trace!("{}", self.trace_item_stack(context));
28842 let r#struct = pop_item!(self, r#struct, Struct, context);
28843 let struct_union_0_built = StructUnionStruct {
28844 r#struct: Box::new(r#struct),
28845 };
28846 let struct_union_0_built = StructUnion::Struct(struct_union_0_built);
28847 self.user_grammar.struct_union(&struct_union_0_built)?;
28849 self.push(ASTType::StructUnion(struct_union_0_built), context);
28850 Ok(())
28851 }
28852
28853 #[parol_runtime::function_name::named]
28858 fn struct_union_1(&mut self, _union: &ParseTreeType<'t>) -> Result<()> {
28859 let context = function_name!();
28860 trace!("{}", self.trace_item_stack(context));
28861 let r#union = pop_item!(self, r#union, Union, context);
28862 let struct_union_1_built = StructUnionUnion {
28863 r#union: Box::new(r#union),
28864 };
28865 let struct_union_1_built = StructUnion::Union(struct_union_1_built);
28866 self.user_grammar.struct_union(&struct_union_1_built)?;
28868 self.push(ASTType::StructUnion(struct_union_1_built), context);
28869 Ok(())
28870 }
28871
28872 #[parol_runtime::function_name::named]
28877 fn struct_union_declaration(
28878 &mut self,
28879 _struct_union: &ParseTreeType<'t>,
28880 _identifier: &ParseTreeType<'t>,
28881 _struct_union_declaration_opt: &ParseTreeType<'t>,
28882 _l_brace: &ParseTreeType<'t>,
28883 _struct_union_list: &ParseTreeType<'t>,
28884 _r_brace: &ParseTreeType<'t>,
28885 ) -> Result<()> {
28886 let context = function_name!();
28887 trace!("{}", self.trace_item_stack(context));
28888 let r_brace = pop_item!(self, r_brace, RBrace, context);
28889 let struct_union_list = pop_item!(self, struct_union_list, StructUnionList, context);
28890 let l_brace = pop_item!(self, l_brace, LBrace, context);
28891 let struct_union_declaration_opt = pop_item!(
28892 self,
28893 struct_union_declaration_opt,
28894 StructUnionDeclarationOpt,
28895 context
28896 );
28897 let identifier = pop_item!(self, identifier, Identifier, context);
28898 let struct_union = pop_item!(self, struct_union, StructUnion, context);
28899 let struct_union_declaration_built = StructUnionDeclaration {
28900 struct_union: Box::new(struct_union),
28901 identifier: Box::new(identifier),
28902 struct_union_declaration_opt,
28903 l_brace: Box::new(l_brace),
28904 struct_union_list: Box::new(struct_union_list),
28905 r_brace: Box::new(r_brace),
28906 };
28907 self.user_grammar
28909 .struct_union_declaration(&struct_union_declaration_built)?;
28910 self.push(
28911 ASTType::StructUnionDeclaration(struct_union_declaration_built),
28912 context,
28913 );
28914 Ok(())
28915 }
28916
28917 #[parol_runtime::function_name::named]
28922 fn struct_union_declaration_opt_0(
28923 &mut self,
28924 _with_generic_parameter: &ParseTreeType<'t>,
28925 ) -> Result<()> {
28926 let context = function_name!();
28927 trace!("{}", self.trace_item_stack(context));
28928 let with_generic_parameter =
28929 pop_item!(self, with_generic_parameter, WithGenericParameter, context);
28930 let struct_union_declaration_opt_0_built = StructUnionDeclarationOpt {
28931 with_generic_parameter: Box::new(with_generic_parameter),
28932 };
28933 self.push(
28934 ASTType::StructUnionDeclarationOpt(Some(struct_union_declaration_opt_0_built)),
28935 context,
28936 );
28937 Ok(())
28938 }
28939
28940 #[parol_runtime::function_name::named]
28945 fn struct_union_declaration_opt_1(&mut self) -> Result<()> {
28946 let context = function_name!();
28947 trace!("{}", self.trace_item_stack(context));
28948 self.push(ASTType::StructUnionDeclarationOpt(None), context);
28949 Ok(())
28950 }
28951
28952 #[parol_runtime::function_name::named]
28957 fn struct_union_list(
28958 &mut self,
28959 _struct_union_group: &ParseTreeType<'t>,
28960 _struct_union_list_list: &ParseTreeType<'t>,
28961 _struct_union_list_opt: &ParseTreeType<'t>,
28962 ) -> Result<()> {
28963 let context = function_name!();
28964 trace!("{}", self.trace_item_stack(context));
28965 let struct_union_list_opt =
28966 pop_item!(self, struct_union_list_opt, StructUnionListOpt, context);
28967 let struct_union_list_list =
28968 pop_and_reverse_item!(self, struct_union_list_list, StructUnionListList, context);
28969 let struct_union_group = pop_item!(self, struct_union_group, StructUnionGroup, context);
28970 let struct_union_list_built = StructUnionList {
28971 struct_union_group: Box::new(struct_union_group),
28972 struct_union_list_list,
28973 struct_union_list_opt,
28974 };
28975 self.user_grammar
28977 .struct_union_list(&struct_union_list_built)?;
28978 self.push(ASTType::StructUnionList(struct_union_list_built), context);
28979 Ok(())
28980 }
28981
28982 #[parol_runtime::function_name::named]
28987 fn struct_union_list_list_0(
28988 &mut self,
28989 _comma: &ParseTreeType<'t>,
28990 _struct_union_group: &ParseTreeType<'t>,
28991 _struct_union_list_list: &ParseTreeType<'t>,
28992 ) -> Result<()> {
28993 let context = function_name!();
28994 trace!("{}", self.trace_item_stack(context));
28995 let mut struct_union_list_list =
28996 pop_item!(self, struct_union_list_list, StructUnionListList, context);
28997 let struct_union_group = pop_item!(self, struct_union_group, StructUnionGroup, context);
28998 let comma = pop_item!(self, comma, Comma, context);
28999 let struct_union_list_list_0_built = StructUnionListList {
29000 struct_union_group: Box::new(struct_union_group),
29001 comma: Box::new(comma),
29002 };
29003 struct_union_list_list.push(struct_union_list_list_0_built);
29005 self.push(
29006 ASTType::StructUnionListList(struct_union_list_list),
29007 context,
29008 );
29009 Ok(())
29010 }
29011
29012 #[parol_runtime::function_name::named]
29017 fn struct_union_list_list_1(&mut self) -> Result<()> {
29018 let context = function_name!();
29019 trace!("{}", self.trace_item_stack(context));
29020 let struct_union_list_list_1_built = Vec::new();
29021 self.push(
29022 ASTType::StructUnionListList(struct_union_list_list_1_built),
29023 context,
29024 );
29025 Ok(())
29026 }
29027
29028 #[parol_runtime::function_name::named]
29033 fn struct_union_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
29034 let context = function_name!();
29035 trace!("{}", self.trace_item_stack(context));
29036 let comma = pop_item!(self, comma, Comma, context);
29037 let struct_union_list_opt_0_built = StructUnionListOpt {
29038 comma: Box::new(comma),
29039 };
29040 self.push(
29041 ASTType::StructUnionListOpt(Some(struct_union_list_opt_0_built)),
29042 context,
29043 );
29044 Ok(())
29045 }
29046
29047 #[parol_runtime::function_name::named]
29052 fn struct_union_list_opt_1(&mut self) -> Result<()> {
29053 let context = function_name!();
29054 trace!("{}", self.trace_item_stack(context));
29055 self.push(ASTType::StructUnionListOpt(None), context);
29056 Ok(())
29057 }
29058
29059 #[parol_runtime::function_name::named]
29064 fn struct_union_group(
29065 &mut self,
29066 _struct_union_group_list: &ParseTreeType<'t>,
29067 _struct_union_group_group: &ParseTreeType<'t>,
29068 ) -> Result<()> {
29069 let context = function_name!();
29070 trace!("{}", self.trace_item_stack(context));
29071 let struct_union_group_group = pop_item!(
29072 self,
29073 struct_union_group_group,
29074 StructUnionGroupGroup,
29075 context
29076 );
29077 let struct_union_group_list =
29078 pop_and_reverse_item!(self, struct_union_group_list, StructUnionGroupList, context);
29079 let struct_union_group_built = StructUnionGroup {
29080 struct_union_group_list,
29081 struct_union_group_group: Box::new(struct_union_group_group),
29082 };
29083 self.user_grammar
29085 .struct_union_group(&struct_union_group_built)?;
29086 self.push(ASTType::StructUnionGroup(struct_union_group_built), context);
29087 Ok(())
29088 }
29089
29090 #[parol_runtime::function_name::named]
29095 fn struct_union_group_group_0(
29096 &mut self,
29097 _l_brace: &ParseTreeType<'t>,
29098 _struct_union_list: &ParseTreeType<'t>,
29099 _r_brace: &ParseTreeType<'t>,
29100 ) -> Result<()> {
29101 let context = function_name!();
29102 trace!("{}", self.trace_item_stack(context));
29103 let r_brace = pop_item!(self, r_brace, RBrace, context);
29104 let struct_union_list = pop_item!(self, struct_union_list, StructUnionList, context);
29105 let l_brace = pop_item!(self, l_brace, LBrace, context);
29106 let struct_union_group_group_0_built = StructUnionGroupGroupLBraceStructUnionListRBrace {
29107 l_brace: Box::new(l_brace),
29108 struct_union_list: Box::new(struct_union_list),
29109 r_brace: Box::new(r_brace),
29110 };
29111 let struct_union_group_group_0_built =
29112 StructUnionGroupGroup::LBraceStructUnionListRBrace(struct_union_group_group_0_built);
29113 self.push(
29114 ASTType::StructUnionGroupGroup(struct_union_group_group_0_built),
29115 context,
29116 );
29117 Ok(())
29118 }
29119
29120 #[parol_runtime::function_name::named]
29125 fn struct_union_group_group_1(&mut self, _struct_union_item: &ParseTreeType<'t>) -> Result<()> {
29126 let context = function_name!();
29127 trace!("{}", self.trace_item_stack(context));
29128 let struct_union_item = pop_item!(self, struct_union_item, StructUnionItem, context);
29129 let struct_union_group_group_1_built = StructUnionGroupGroupStructUnionItem {
29130 struct_union_item: Box::new(struct_union_item),
29131 };
29132 let struct_union_group_group_1_built =
29133 StructUnionGroupGroup::StructUnionItem(struct_union_group_group_1_built);
29134 self.push(
29135 ASTType::StructUnionGroupGroup(struct_union_group_group_1_built),
29136 context,
29137 );
29138 Ok(())
29139 }
29140
29141 #[parol_runtime::function_name::named]
29146 fn struct_union_group_list_0(
29147 &mut self,
29148 _attribute: &ParseTreeType<'t>,
29149 _struct_union_group_list: &ParseTreeType<'t>,
29150 ) -> Result<()> {
29151 let context = function_name!();
29152 trace!("{}", self.trace_item_stack(context));
29153 let mut struct_union_group_list =
29154 pop_item!(self, struct_union_group_list, StructUnionGroupList, context);
29155 let attribute = pop_item!(self, attribute, Attribute, context);
29156 let struct_union_group_list_0_built = StructUnionGroupList {
29157 attribute: Box::new(attribute),
29158 };
29159 struct_union_group_list.push(struct_union_group_list_0_built);
29161 self.push(
29162 ASTType::StructUnionGroupList(struct_union_group_list),
29163 context,
29164 );
29165 Ok(())
29166 }
29167
29168 #[parol_runtime::function_name::named]
29173 fn struct_union_group_list_1(&mut self) -> Result<()> {
29174 let context = function_name!();
29175 trace!("{}", self.trace_item_stack(context));
29176 let struct_union_group_list_1_built = Vec::new();
29177 self.push(
29178 ASTType::StructUnionGroupList(struct_union_group_list_1_built),
29179 context,
29180 );
29181 Ok(())
29182 }
29183
29184 #[parol_runtime::function_name::named]
29189 fn struct_union_item(
29190 &mut self,
29191 _identifier: &ParseTreeType<'t>,
29192 _colon: &ParseTreeType<'t>,
29193 _scalar_type: &ParseTreeType<'t>,
29194 ) -> Result<()> {
29195 let context = function_name!();
29196 trace!("{}", self.trace_item_stack(context));
29197 let scalar_type = pop_item!(self, scalar_type, ScalarType, context);
29198 let colon = pop_item!(self, colon, Colon, context);
29199 let identifier = pop_item!(self, identifier, Identifier, context);
29200 let struct_union_item_built = StructUnionItem {
29201 identifier: Box::new(identifier),
29202 colon: Box::new(colon),
29203 scalar_type: Box::new(scalar_type),
29204 };
29205 self.user_grammar
29207 .struct_union_item(&struct_union_item_built)?;
29208 self.push(ASTType::StructUnionItem(struct_union_item_built), context);
29209 Ok(())
29210 }
29211
29212 #[parol_runtime::function_name::named]
29217 fn initial_declaration(
29218 &mut self,
29219 _initial: &ParseTreeType<'t>,
29220 _statement_block: &ParseTreeType<'t>,
29221 ) -> Result<()> {
29222 let context = function_name!();
29223 trace!("{}", self.trace_item_stack(context));
29224 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
29225 let initial = pop_item!(self, initial, Initial, context);
29226 let initial_declaration_built = InitialDeclaration {
29227 initial: Box::new(initial),
29228 statement_block: Box::new(statement_block),
29229 };
29230 self.user_grammar
29232 .initial_declaration(&initial_declaration_built)?;
29233 self.push(
29234 ASTType::InitialDeclaration(initial_declaration_built),
29235 context,
29236 );
29237 Ok(())
29238 }
29239
29240 #[parol_runtime::function_name::named]
29245 fn final_declaration(
29246 &mut self,
29247 _final: &ParseTreeType<'t>,
29248 _statement_block: &ParseTreeType<'t>,
29249 ) -> Result<()> {
29250 let context = function_name!();
29251 trace!("{}", self.trace_item_stack(context));
29252 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
29253 let r#final = pop_item!(self, r#final, Final, context);
29254 let final_declaration_built = FinalDeclaration {
29255 r#final: Box::new(r#final),
29256 statement_block: Box::new(statement_block),
29257 };
29258 self.user_grammar
29260 .final_declaration(&final_declaration_built)?;
29261 self.push(ASTType::FinalDeclaration(final_declaration_built), context);
29262 Ok(())
29263 }
29264
29265 #[parol_runtime::function_name::named]
29270 fn inst_declaration(
29271 &mut self,
29272 _inst: &ParseTreeType<'t>,
29273 _identifier: &ParseTreeType<'t>,
29274 _colon: &ParseTreeType<'t>,
29275 _inst_declaration_opt: &ParseTreeType<'t>,
29276 _scoped_identifier: &ParseTreeType<'t>,
29277 _inst_declaration_opt0: &ParseTreeType<'t>,
29278 _inst_declaration_opt1: &ParseTreeType<'t>,
29279 _inst_declaration_opt2: &ParseTreeType<'t>,
29280 _semicolon: &ParseTreeType<'t>,
29281 ) -> Result<()> {
29282 let context = function_name!();
29283 trace!("{}", self.trace_item_stack(context));
29284 let semicolon = pop_item!(self, semicolon, Semicolon, context);
29285 let inst_declaration_opt2 =
29286 pop_item!(self, inst_declaration_opt2, InstDeclarationOpt2, context);
29287 let inst_declaration_opt1 =
29288 pop_item!(self, inst_declaration_opt1, InstDeclarationOpt1, context);
29289 let inst_declaration_opt0 =
29290 pop_item!(self, inst_declaration_opt0, InstDeclarationOpt0, context);
29291 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
29292 let inst_declaration_opt =
29293 pop_item!(self, inst_declaration_opt, InstDeclarationOpt, context);
29294 let colon = pop_item!(self, colon, Colon, context);
29295 let identifier = pop_item!(self, identifier, Identifier, context);
29296 let inst = pop_item!(self, inst, Inst, context);
29297 let inst_declaration_built = InstDeclaration {
29298 inst: Box::new(inst),
29299 identifier: Box::new(identifier),
29300 colon: Box::new(colon),
29301 inst_declaration_opt,
29302 scoped_identifier: Box::new(scoped_identifier),
29303 inst_declaration_opt0,
29304 inst_declaration_opt1,
29305 inst_declaration_opt2,
29306 semicolon: Box::new(semicolon),
29307 };
29308 self.user_grammar
29310 .inst_declaration(&inst_declaration_built)?;
29311 self.push(ASTType::InstDeclaration(inst_declaration_built), context);
29312 Ok(())
29313 }
29314
29315 #[parol_runtime::function_name::named]
29320 fn inst_declaration_opt2_0(
29321 &mut self,
29322 _l_paren: &ParseTreeType<'t>,
29323 _inst_declaration_opt3: &ParseTreeType<'t>,
29324 _r_paren: &ParseTreeType<'t>,
29325 ) -> Result<()> {
29326 let context = function_name!();
29327 trace!("{}", self.trace_item_stack(context));
29328 let r_paren = pop_item!(self, r_paren, RParen, context);
29329 let inst_declaration_opt3 =
29330 pop_item!(self, inst_declaration_opt3, InstDeclarationOpt3, context);
29331 let l_paren = pop_item!(self, l_paren, LParen, context);
29332 let inst_declaration_opt2_0_built = InstDeclarationOpt2 {
29333 l_paren: Box::new(l_paren),
29334 inst_declaration_opt3,
29335 r_paren: Box::new(r_paren),
29336 };
29337 self.push(
29338 ASTType::InstDeclarationOpt2(Some(inst_declaration_opt2_0_built)),
29339 context,
29340 );
29341 Ok(())
29342 }
29343
29344 #[parol_runtime::function_name::named]
29349 fn inst_declaration_opt3_0(&mut self, _inst_port_list: &ParseTreeType<'t>) -> Result<()> {
29350 let context = function_name!();
29351 trace!("{}", self.trace_item_stack(context));
29352 let inst_port_list = pop_item!(self, inst_port_list, InstPortList, context);
29353 let inst_declaration_opt3_0_built = InstDeclarationOpt3 {
29354 inst_port_list: Box::new(inst_port_list),
29355 };
29356 self.push(
29357 ASTType::InstDeclarationOpt3(Some(inst_declaration_opt3_0_built)),
29358 context,
29359 );
29360 Ok(())
29361 }
29362
29363 #[parol_runtime::function_name::named]
29368 fn inst_declaration_opt3_1(&mut self) -> Result<()> {
29369 let context = function_name!();
29370 trace!("{}", self.trace_item_stack(context));
29371 self.push(ASTType::InstDeclarationOpt3(None), context);
29372 Ok(())
29373 }
29374
29375 #[parol_runtime::function_name::named]
29380 fn inst_declaration_opt2_1(&mut self) -> Result<()> {
29381 let context = function_name!();
29382 trace!("{}", self.trace_item_stack(context));
29383 self.push(ASTType::InstDeclarationOpt2(None), context);
29384 Ok(())
29385 }
29386
29387 #[parol_runtime::function_name::named]
29392 fn inst_declaration_opt1_0(&mut self, _inst_parameter: &ParseTreeType<'t>) -> Result<()> {
29393 let context = function_name!();
29394 trace!("{}", self.trace_item_stack(context));
29395 let inst_parameter = pop_item!(self, inst_parameter, InstParameter, context);
29396 let inst_declaration_opt1_0_built = InstDeclarationOpt1 {
29397 inst_parameter: Box::new(inst_parameter),
29398 };
29399 self.push(
29400 ASTType::InstDeclarationOpt1(Some(inst_declaration_opt1_0_built)),
29401 context,
29402 );
29403 Ok(())
29404 }
29405
29406 #[parol_runtime::function_name::named]
29411 fn inst_declaration_opt1_1(&mut self) -> Result<()> {
29412 let context = function_name!();
29413 trace!("{}", self.trace_item_stack(context));
29414 self.push(ASTType::InstDeclarationOpt1(None), context);
29415 Ok(())
29416 }
29417
29418 #[parol_runtime::function_name::named]
29423 fn inst_declaration_opt0_0(&mut self, _array: &ParseTreeType<'t>) -> Result<()> {
29424 let context = function_name!();
29425 trace!("{}", self.trace_item_stack(context));
29426 let array = pop_item!(self, array, Array, context);
29427 let inst_declaration_opt0_0_built = InstDeclarationOpt0 {
29428 array: Box::new(array),
29429 };
29430 self.push(
29431 ASTType::InstDeclarationOpt0(Some(inst_declaration_opt0_0_built)),
29432 context,
29433 );
29434 Ok(())
29435 }
29436
29437 #[parol_runtime::function_name::named]
29442 fn inst_declaration_opt0_1(&mut self) -> Result<()> {
29443 let context = function_name!();
29444 trace!("{}", self.trace_item_stack(context));
29445 self.push(ASTType::InstDeclarationOpt0(None), context);
29446 Ok(())
29447 }
29448
29449 #[parol_runtime::function_name::named]
29454 fn inst_declaration_opt_0(&mut self, _clock_domain: &ParseTreeType<'t>) -> Result<()> {
29455 let context = function_name!();
29456 trace!("{}", self.trace_item_stack(context));
29457 let clock_domain = pop_item!(self, clock_domain, ClockDomain, context);
29458 let inst_declaration_opt_0_built = InstDeclarationOpt {
29459 clock_domain: Box::new(clock_domain),
29460 };
29461 self.push(
29462 ASTType::InstDeclarationOpt(Some(inst_declaration_opt_0_built)),
29463 context,
29464 );
29465 Ok(())
29466 }
29467
29468 #[parol_runtime::function_name::named]
29473 fn inst_declaration_opt_1(&mut self) -> Result<()> {
29474 let context = function_name!();
29475 trace!("{}", self.trace_item_stack(context));
29476 self.push(ASTType::InstDeclarationOpt(None), context);
29477 Ok(())
29478 }
29479
29480 #[parol_runtime::function_name::named]
29485 fn inst_parameter(
29486 &mut self,
29487 _hash: &ParseTreeType<'t>,
29488 _l_paren: &ParseTreeType<'t>,
29489 _inst_parameter_opt: &ParseTreeType<'t>,
29490 _r_paren: &ParseTreeType<'t>,
29491 ) -> Result<()> {
29492 let context = function_name!();
29493 trace!("{}", self.trace_item_stack(context));
29494 let r_paren = pop_item!(self, r_paren, RParen, context);
29495 let inst_parameter_opt = pop_item!(self, inst_parameter_opt, InstParameterOpt, context);
29496 let l_paren = pop_item!(self, l_paren, LParen, context);
29497 let hash = pop_item!(self, hash, Hash, context);
29498 let inst_parameter_built = InstParameter {
29499 hash: Box::new(hash),
29500 l_paren: Box::new(l_paren),
29501 inst_parameter_opt,
29502 r_paren: Box::new(r_paren),
29503 };
29504 self.user_grammar.inst_parameter(&inst_parameter_built)?;
29506 self.push(ASTType::InstParameter(inst_parameter_built), context);
29507 Ok(())
29508 }
29509
29510 #[parol_runtime::function_name::named]
29515 fn inst_parameter_opt_0(&mut self, _inst_parameter_list: &ParseTreeType<'t>) -> Result<()> {
29516 let context = function_name!();
29517 trace!("{}", self.trace_item_stack(context));
29518 let inst_parameter_list = pop_item!(self, inst_parameter_list, InstParameterList, context);
29519 let inst_parameter_opt_0_built = InstParameterOpt {
29520 inst_parameter_list: Box::new(inst_parameter_list),
29521 };
29522 self.push(
29523 ASTType::InstParameterOpt(Some(inst_parameter_opt_0_built)),
29524 context,
29525 );
29526 Ok(())
29527 }
29528
29529 #[parol_runtime::function_name::named]
29534 fn inst_parameter_opt_1(&mut self) -> Result<()> {
29535 let context = function_name!();
29536 trace!("{}", self.trace_item_stack(context));
29537 self.push(ASTType::InstParameterOpt(None), context);
29538 Ok(())
29539 }
29540
29541 #[parol_runtime::function_name::named]
29546 fn inst_parameter_list(
29547 &mut self,
29548 _inst_parameter_group: &ParseTreeType<'t>,
29549 _inst_parameter_list_list: &ParseTreeType<'t>,
29550 _inst_parameter_list_opt: &ParseTreeType<'t>,
29551 ) -> Result<()> {
29552 let context = function_name!();
29553 trace!("{}", self.trace_item_stack(context));
29554 let inst_parameter_list_opt =
29555 pop_item!(self, inst_parameter_list_opt, InstParameterListOpt, context);
29556 let inst_parameter_list_list = pop_and_reverse_item!(
29557 self,
29558 inst_parameter_list_list,
29559 InstParameterListList,
29560 context
29561 );
29562 let inst_parameter_group =
29563 pop_item!(self, inst_parameter_group, InstParameterGroup, context);
29564 let inst_parameter_list_built = InstParameterList {
29565 inst_parameter_group: Box::new(inst_parameter_group),
29566 inst_parameter_list_list,
29567 inst_parameter_list_opt,
29568 };
29569 self.user_grammar
29571 .inst_parameter_list(&inst_parameter_list_built)?;
29572 self.push(
29573 ASTType::InstParameterList(inst_parameter_list_built),
29574 context,
29575 );
29576 Ok(())
29577 }
29578
29579 #[parol_runtime::function_name::named]
29584 fn inst_parameter_list_list_0(
29585 &mut self,
29586 _comma: &ParseTreeType<'t>,
29587 _inst_parameter_group: &ParseTreeType<'t>,
29588 _inst_parameter_list_list: &ParseTreeType<'t>,
29589 ) -> Result<()> {
29590 let context = function_name!();
29591 trace!("{}", self.trace_item_stack(context));
29592 let mut inst_parameter_list_list = pop_item!(
29593 self,
29594 inst_parameter_list_list,
29595 InstParameterListList,
29596 context
29597 );
29598 let inst_parameter_group =
29599 pop_item!(self, inst_parameter_group, InstParameterGroup, context);
29600 let comma = pop_item!(self, comma, Comma, context);
29601 let inst_parameter_list_list_0_built = InstParameterListList {
29602 inst_parameter_group: Box::new(inst_parameter_group),
29603 comma: Box::new(comma),
29604 };
29605 inst_parameter_list_list.push(inst_parameter_list_list_0_built);
29607 self.push(
29608 ASTType::InstParameterListList(inst_parameter_list_list),
29609 context,
29610 );
29611 Ok(())
29612 }
29613
29614 #[parol_runtime::function_name::named]
29619 fn inst_parameter_list_list_1(&mut self) -> Result<()> {
29620 let context = function_name!();
29621 trace!("{}", self.trace_item_stack(context));
29622 let inst_parameter_list_list_1_built = Vec::new();
29623 self.push(
29624 ASTType::InstParameterListList(inst_parameter_list_list_1_built),
29625 context,
29626 );
29627 Ok(())
29628 }
29629
29630 #[parol_runtime::function_name::named]
29635 fn inst_parameter_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
29636 let context = function_name!();
29637 trace!("{}", self.trace_item_stack(context));
29638 let comma = pop_item!(self, comma, Comma, context);
29639 let inst_parameter_list_opt_0_built = InstParameterListOpt {
29640 comma: Box::new(comma),
29641 };
29642 self.push(
29643 ASTType::InstParameterListOpt(Some(inst_parameter_list_opt_0_built)),
29644 context,
29645 );
29646 Ok(())
29647 }
29648
29649 #[parol_runtime::function_name::named]
29654 fn inst_parameter_list_opt_1(&mut self) -> Result<()> {
29655 let context = function_name!();
29656 trace!("{}", self.trace_item_stack(context));
29657 self.push(ASTType::InstParameterListOpt(None), context);
29658 Ok(())
29659 }
29660
29661 #[parol_runtime::function_name::named]
29666 fn inst_parameter_group(
29667 &mut self,
29668 _inst_parameter_group_list: &ParseTreeType<'t>,
29669 _inst_parameter_group_group: &ParseTreeType<'t>,
29670 ) -> Result<()> {
29671 let context = function_name!();
29672 trace!("{}", self.trace_item_stack(context));
29673 let inst_parameter_group_group = pop_item!(
29674 self,
29675 inst_parameter_group_group,
29676 InstParameterGroupGroup,
29677 context
29678 );
29679 let inst_parameter_group_list = pop_and_reverse_item!(
29680 self,
29681 inst_parameter_group_list,
29682 InstParameterGroupList,
29683 context
29684 );
29685 let inst_parameter_group_built = InstParameterGroup {
29686 inst_parameter_group_list,
29687 inst_parameter_group_group: Box::new(inst_parameter_group_group),
29688 };
29689 self.user_grammar
29691 .inst_parameter_group(&inst_parameter_group_built)?;
29692 self.push(
29693 ASTType::InstParameterGroup(inst_parameter_group_built),
29694 context,
29695 );
29696 Ok(())
29697 }
29698
29699 #[parol_runtime::function_name::named]
29704 fn inst_parameter_group_group_0(
29705 &mut self,
29706 _l_brace: &ParseTreeType<'t>,
29707 _inst_parameter_list: &ParseTreeType<'t>,
29708 _r_brace: &ParseTreeType<'t>,
29709 ) -> Result<()> {
29710 let context = function_name!();
29711 trace!("{}", self.trace_item_stack(context));
29712 let r_brace = pop_item!(self, r_brace, RBrace, context);
29713 let inst_parameter_list = pop_item!(self, inst_parameter_list, InstParameterList, context);
29714 let l_brace = pop_item!(self, l_brace, LBrace, context);
29715 let inst_parameter_group_group_0_built =
29716 InstParameterGroupGroupLBraceInstParameterListRBrace {
29717 l_brace: Box::new(l_brace),
29718 inst_parameter_list: Box::new(inst_parameter_list),
29719 r_brace: Box::new(r_brace),
29720 };
29721 let inst_parameter_group_group_0_built =
29722 InstParameterGroupGroup::LBraceInstParameterListRBrace(
29723 inst_parameter_group_group_0_built,
29724 );
29725 self.push(
29726 ASTType::InstParameterGroupGroup(inst_parameter_group_group_0_built),
29727 context,
29728 );
29729 Ok(())
29730 }
29731
29732 #[parol_runtime::function_name::named]
29737 fn inst_parameter_group_group_1(
29738 &mut self,
29739 _inst_parameter_item: &ParseTreeType<'t>,
29740 ) -> Result<()> {
29741 let context = function_name!();
29742 trace!("{}", self.trace_item_stack(context));
29743 let inst_parameter_item = pop_item!(self, inst_parameter_item, InstParameterItem, context);
29744 let inst_parameter_group_group_1_built = InstParameterGroupGroupInstParameterItem {
29745 inst_parameter_item: Box::new(inst_parameter_item),
29746 };
29747 let inst_parameter_group_group_1_built =
29748 InstParameterGroupGroup::InstParameterItem(inst_parameter_group_group_1_built);
29749 self.push(
29750 ASTType::InstParameterGroupGroup(inst_parameter_group_group_1_built),
29751 context,
29752 );
29753 Ok(())
29754 }
29755
29756 #[parol_runtime::function_name::named]
29761 fn inst_parameter_group_list_0(
29762 &mut self,
29763 _attribute: &ParseTreeType<'t>,
29764 _inst_parameter_group_list: &ParseTreeType<'t>,
29765 ) -> Result<()> {
29766 let context = function_name!();
29767 trace!("{}", self.trace_item_stack(context));
29768 let mut inst_parameter_group_list = pop_item!(
29769 self,
29770 inst_parameter_group_list,
29771 InstParameterGroupList,
29772 context
29773 );
29774 let attribute = pop_item!(self, attribute, Attribute, context);
29775 let inst_parameter_group_list_0_built = InstParameterGroupList {
29776 attribute: Box::new(attribute),
29777 };
29778 inst_parameter_group_list.push(inst_parameter_group_list_0_built);
29780 self.push(
29781 ASTType::InstParameterGroupList(inst_parameter_group_list),
29782 context,
29783 );
29784 Ok(())
29785 }
29786
29787 #[parol_runtime::function_name::named]
29792 fn inst_parameter_group_list_1(&mut self) -> Result<()> {
29793 let context = function_name!();
29794 trace!("{}", self.trace_item_stack(context));
29795 let inst_parameter_group_list_1_built = Vec::new();
29796 self.push(
29797 ASTType::InstParameterGroupList(inst_parameter_group_list_1_built),
29798 context,
29799 );
29800 Ok(())
29801 }
29802
29803 #[parol_runtime::function_name::named]
29808 fn inst_parameter_item(
29809 &mut self,
29810 _identifier: &ParseTreeType<'t>,
29811 _inst_parameter_item_opt: &ParseTreeType<'t>,
29812 ) -> Result<()> {
29813 let context = function_name!();
29814 trace!("{}", self.trace_item_stack(context));
29815 let inst_parameter_item_opt =
29816 pop_item!(self, inst_parameter_item_opt, InstParameterItemOpt, context);
29817 let identifier = pop_item!(self, identifier, Identifier, context);
29818 let inst_parameter_item_built = InstParameterItem {
29819 identifier: Box::new(identifier),
29820 inst_parameter_item_opt,
29821 };
29822 self.user_grammar
29824 .inst_parameter_item(&inst_parameter_item_built)?;
29825 self.push(
29826 ASTType::InstParameterItem(inst_parameter_item_built),
29827 context,
29828 );
29829 Ok(())
29830 }
29831
29832 #[parol_runtime::function_name::named]
29837 fn inst_parameter_item_opt_0(
29838 &mut self,
29839 _colon: &ParseTreeType<'t>,
29840 _expression: &ParseTreeType<'t>,
29841 ) -> Result<()> {
29842 let context = function_name!();
29843 trace!("{}", self.trace_item_stack(context));
29844 let expression = pop_item!(self, expression, Expression, context);
29845 let colon = pop_item!(self, colon, Colon, context);
29846 let inst_parameter_item_opt_0_built = InstParameterItemOpt {
29847 colon: Box::new(colon),
29848 expression: Box::new(expression),
29849 };
29850 self.push(
29851 ASTType::InstParameterItemOpt(Some(inst_parameter_item_opt_0_built)),
29852 context,
29853 );
29854 Ok(())
29855 }
29856
29857 #[parol_runtime::function_name::named]
29862 fn inst_parameter_item_opt_1(&mut self) -> Result<()> {
29863 let context = function_name!();
29864 trace!("{}", self.trace_item_stack(context));
29865 self.push(ASTType::InstParameterItemOpt(None), context);
29866 Ok(())
29867 }
29868
29869 #[parol_runtime::function_name::named]
29874 fn inst_port_list(
29875 &mut self,
29876 _inst_port_group: &ParseTreeType<'t>,
29877 _inst_port_list_list: &ParseTreeType<'t>,
29878 _inst_port_list_opt: &ParseTreeType<'t>,
29879 ) -> Result<()> {
29880 let context = function_name!();
29881 trace!("{}", self.trace_item_stack(context));
29882 let inst_port_list_opt = pop_item!(self, inst_port_list_opt, InstPortListOpt, context);
29883 let inst_port_list_list =
29884 pop_and_reverse_item!(self, inst_port_list_list, InstPortListList, context);
29885 let inst_port_group = pop_item!(self, inst_port_group, InstPortGroup, context);
29886 let inst_port_list_built = InstPortList {
29887 inst_port_group: Box::new(inst_port_group),
29888 inst_port_list_list,
29889 inst_port_list_opt,
29890 };
29891 self.user_grammar.inst_port_list(&inst_port_list_built)?;
29893 self.push(ASTType::InstPortList(inst_port_list_built), context);
29894 Ok(())
29895 }
29896
29897 #[parol_runtime::function_name::named]
29902 fn inst_port_list_list_0(
29903 &mut self,
29904 _comma: &ParseTreeType<'t>,
29905 _inst_port_group: &ParseTreeType<'t>,
29906 _inst_port_list_list: &ParseTreeType<'t>,
29907 ) -> Result<()> {
29908 let context = function_name!();
29909 trace!("{}", self.trace_item_stack(context));
29910 let mut inst_port_list_list =
29911 pop_item!(self, inst_port_list_list, InstPortListList, context);
29912 let inst_port_group = pop_item!(self, inst_port_group, InstPortGroup, context);
29913 let comma = pop_item!(self, comma, Comma, context);
29914 let inst_port_list_list_0_built = InstPortListList {
29915 inst_port_group: Box::new(inst_port_group),
29916 comma: Box::new(comma),
29917 };
29918 inst_port_list_list.push(inst_port_list_list_0_built);
29920 self.push(ASTType::InstPortListList(inst_port_list_list), context);
29921 Ok(())
29922 }
29923
29924 #[parol_runtime::function_name::named]
29929 fn inst_port_list_list_1(&mut self) -> Result<()> {
29930 let context = function_name!();
29931 trace!("{}", self.trace_item_stack(context));
29932 let inst_port_list_list_1_built = Vec::new();
29933 self.push(
29934 ASTType::InstPortListList(inst_port_list_list_1_built),
29935 context,
29936 );
29937 Ok(())
29938 }
29939
29940 #[parol_runtime::function_name::named]
29945 fn inst_port_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
29946 let context = function_name!();
29947 trace!("{}", self.trace_item_stack(context));
29948 let comma = pop_item!(self, comma, Comma, context);
29949 let inst_port_list_opt_0_built = InstPortListOpt {
29950 comma: Box::new(comma),
29951 };
29952 self.push(
29953 ASTType::InstPortListOpt(Some(inst_port_list_opt_0_built)),
29954 context,
29955 );
29956 Ok(())
29957 }
29958
29959 #[parol_runtime::function_name::named]
29964 fn inst_port_list_opt_1(&mut self) -> Result<()> {
29965 let context = function_name!();
29966 trace!("{}", self.trace_item_stack(context));
29967 self.push(ASTType::InstPortListOpt(None), context);
29968 Ok(())
29969 }
29970
29971 #[parol_runtime::function_name::named]
29976 fn inst_port_group(
29977 &mut self,
29978 _inst_port_group_list: &ParseTreeType<'t>,
29979 _inst_port_group_group: &ParseTreeType<'t>,
29980 ) -> Result<()> {
29981 let context = function_name!();
29982 trace!("{}", self.trace_item_stack(context));
29983 let inst_port_group_group =
29984 pop_item!(self, inst_port_group_group, InstPortGroupGroup, context);
29985 let inst_port_group_list =
29986 pop_and_reverse_item!(self, inst_port_group_list, InstPortGroupList, context);
29987 let inst_port_group_built = InstPortGroup {
29988 inst_port_group_list,
29989 inst_port_group_group: Box::new(inst_port_group_group),
29990 };
29991 self.user_grammar.inst_port_group(&inst_port_group_built)?;
29993 self.push(ASTType::InstPortGroup(inst_port_group_built), context);
29994 Ok(())
29995 }
29996
29997 #[parol_runtime::function_name::named]
30002 fn inst_port_group_group_0(
30003 &mut self,
30004 _l_brace: &ParseTreeType<'t>,
30005 _inst_port_list: &ParseTreeType<'t>,
30006 _r_brace: &ParseTreeType<'t>,
30007 ) -> Result<()> {
30008 let context = function_name!();
30009 trace!("{}", self.trace_item_stack(context));
30010 let r_brace = pop_item!(self, r_brace, RBrace, context);
30011 let inst_port_list = pop_item!(self, inst_port_list, InstPortList, context);
30012 let l_brace = pop_item!(self, l_brace, LBrace, context);
30013 let inst_port_group_group_0_built = InstPortGroupGroupLBraceInstPortListRBrace {
30014 l_brace: Box::new(l_brace),
30015 inst_port_list: Box::new(inst_port_list),
30016 r_brace: Box::new(r_brace),
30017 };
30018 let inst_port_group_group_0_built =
30019 InstPortGroupGroup::LBraceInstPortListRBrace(inst_port_group_group_0_built);
30020 self.push(
30021 ASTType::InstPortGroupGroup(inst_port_group_group_0_built),
30022 context,
30023 );
30024 Ok(())
30025 }
30026
30027 #[parol_runtime::function_name::named]
30032 fn inst_port_group_group_1(&mut self, _inst_port_item: &ParseTreeType<'t>) -> Result<()> {
30033 let context = function_name!();
30034 trace!("{}", self.trace_item_stack(context));
30035 let inst_port_item = pop_item!(self, inst_port_item, InstPortItem, context);
30036 let inst_port_group_group_1_built = InstPortGroupGroupInstPortItem {
30037 inst_port_item: Box::new(inst_port_item),
30038 };
30039 let inst_port_group_group_1_built =
30040 InstPortGroupGroup::InstPortItem(inst_port_group_group_1_built);
30041 self.push(
30042 ASTType::InstPortGroupGroup(inst_port_group_group_1_built),
30043 context,
30044 );
30045 Ok(())
30046 }
30047
30048 #[parol_runtime::function_name::named]
30053 fn inst_port_group_list_0(
30054 &mut self,
30055 _attribute: &ParseTreeType<'t>,
30056 _inst_port_group_list: &ParseTreeType<'t>,
30057 ) -> Result<()> {
30058 let context = function_name!();
30059 trace!("{}", self.trace_item_stack(context));
30060 let mut inst_port_group_list =
30061 pop_item!(self, inst_port_group_list, InstPortGroupList, context);
30062 let attribute = pop_item!(self, attribute, Attribute, context);
30063 let inst_port_group_list_0_built = InstPortGroupList {
30064 attribute: Box::new(attribute),
30065 };
30066 inst_port_group_list.push(inst_port_group_list_0_built);
30068 self.push(ASTType::InstPortGroupList(inst_port_group_list), context);
30069 Ok(())
30070 }
30071
30072 #[parol_runtime::function_name::named]
30077 fn inst_port_group_list_1(&mut self) -> Result<()> {
30078 let context = function_name!();
30079 trace!("{}", self.trace_item_stack(context));
30080 let inst_port_group_list_1_built = Vec::new();
30081 self.push(
30082 ASTType::InstPortGroupList(inst_port_group_list_1_built),
30083 context,
30084 );
30085 Ok(())
30086 }
30087
30088 #[parol_runtime::function_name::named]
30093 fn inst_port_item(
30094 &mut self,
30095 _identifier: &ParseTreeType<'t>,
30096 _inst_port_item_opt: &ParseTreeType<'t>,
30097 ) -> Result<()> {
30098 let context = function_name!();
30099 trace!("{}", self.trace_item_stack(context));
30100 let inst_port_item_opt = pop_item!(self, inst_port_item_opt, InstPortItemOpt, context);
30101 let identifier = pop_item!(self, identifier, Identifier, context);
30102 let inst_port_item_built = InstPortItem {
30103 identifier: Box::new(identifier),
30104 inst_port_item_opt,
30105 };
30106 self.user_grammar.inst_port_item(&inst_port_item_built)?;
30108 self.push(ASTType::InstPortItem(inst_port_item_built), context);
30109 Ok(())
30110 }
30111
30112 #[parol_runtime::function_name::named]
30117 fn inst_port_item_opt_0(
30118 &mut self,
30119 _colon: &ParseTreeType<'t>,
30120 _expression: &ParseTreeType<'t>,
30121 ) -> Result<()> {
30122 let context = function_name!();
30123 trace!("{}", self.trace_item_stack(context));
30124 let expression = pop_item!(self, expression, Expression, context);
30125 let colon = pop_item!(self, colon, Colon, context);
30126 let inst_port_item_opt_0_built = InstPortItemOpt {
30127 colon: Box::new(colon),
30128 expression: Box::new(expression),
30129 };
30130 self.push(
30131 ASTType::InstPortItemOpt(Some(inst_port_item_opt_0_built)),
30132 context,
30133 );
30134 Ok(())
30135 }
30136
30137 #[parol_runtime::function_name::named]
30142 fn inst_port_item_opt_1(&mut self) -> Result<()> {
30143 let context = function_name!();
30144 trace!("{}", self.trace_item_stack(context));
30145 self.push(ASTType::InstPortItemOpt(None), context);
30146 Ok(())
30147 }
30148
30149 #[parol_runtime::function_name::named]
30154 fn with_parameter(
30155 &mut self,
30156 _hash: &ParseTreeType<'t>,
30157 _l_paren: &ParseTreeType<'t>,
30158 _with_parameter_opt: &ParseTreeType<'t>,
30159 _r_paren: &ParseTreeType<'t>,
30160 ) -> Result<()> {
30161 let context = function_name!();
30162 trace!("{}", self.trace_item_stack(context));
30163 let r_paren = pop_item!(self, r_paren, RParen, context);
30164 let with_parameter_opt = pop_item!(self, with_parameter_opt, WithParameterOpt, context);
30165 let l_paren = pop_item!(self, l_paren, LParen, context);
30166 let hash = pop_item!(self, hash, Hash, context);
30167 let with_parameter_built = WithParameter {
30168 hash: Box::new(hash),
30169 l_paren: Box::new(l_paren),
30170 with_parameter_opt,
30171 r_paren: Box::new(r_paren),
30172 };
30173 self.user_grammar.with_parameter(&with_parameter_built)?;
30175 self.push(ASTType::WithParameter(with_parameter_built), context);
30176 Ok(())
30177 }
30178
30179 #[parol_runtime::function_name::named]
30184 fn with_parameter_opt_0(&mut self, _with_parameter_list: &ParseTreeType<'t>) -> Result<()> {
30185 let context = function_name!();
30186 trace!("{}", self.trace_item_stack(context));
30187 let with_parameter_list = pop_item!(self, with_parameter_list, WithParameterList, context);
30188 let with_parameter_opt_0_built = WithParameterOpt {
30189 with_parameter_list: Box::new(with_parameter_list),
30190 };
30191 self.push(
30192 ASTType::WithParameterOpt(Some(with_parameter_opt_0_built)),
30193 context,
30194 );
30195 Ok(())
30196 }
30197
30198 #[parol_runtime::function_name::named]
30203 fn with_parameter_opt_1(&mut self) -> Result<()> {
30204 let context = function_name!();
30205 trace!("{}", self.trace_item_stack(context));
30206 self.push(ASTType::WithParameterOpt(None), context);
30207 Ok(())
30208 }
30209
30210 #[parol_runtime::function_name::named]
30215 fn with_parameter_list(
30216 &mut self,
30217 _with_parameter_group: &ParseTreeType<'t>,
30218 _with_parameter_list_list: &ParseTreeType<'t>,
30219 _with_parameter_list_opt: &ParseTreeType<'t>,
30220 ) -> Result<()> {
30221 let context = function_name!();
30222 trace!("{}", self.trace_item_stack(context));
30223 let with_parameter_list_opt =
30224 pop_item!(self, with_parameter_list_opt, WithParameterListOpt, context);
30225 let with_parameter_list_list = pop_and_reverse_item!(
30226 self,
30227 with_parameter_list_list,
30228 WithParameterListList,
30229 context
30230 );
30231 let with_parameter_group =
30232 pop_item!(self, with_parameter_group, WithParameterGroup, context);
30233 let with_parameter_list_built = WithParameterList {
30234 with_parameter_group: Box::new(with_parameter_group),
30235 with_parameter_list_list,
30236 with_parameter_list_opt,
30237 };
30238 self.user_grammar
30240 .with_parameter_list(&with_parameter_list_built)?;
30241 self.push(
30242 ASTType::WithParameterList(with_parameter_list_built),
30243 context,
30244 );
30245 Ok(())
30246 }
30247
30248 #[parol_runtime::function_name::named]
30253 fn with_parameter_list_list_0(
30254 &mut self,
30255 _comma: &ParseTreeType<'t>,
30256 _with_parameter_group: &ParseTreeType<'t>,
30257 _with_parameter_list_list: &ParseTreeType<'t>,
30258 ) -> Result<()> {
30259 let context = function_name!();
30260 trace!("{}", self.trace_item_stack(context));
30261 let mut with_parameter_list_list = pop_item!(
30262 self,
30263 with_parameter_list_list,
30264 WithParameterListList,
30265 context
30266 );
30267 let with_parameter_group =
30268 pop_item!(self, with_parameter_group, WithParameterGroup, context);
30269 let comma = pop_item!(self, comma, Comma, context);
30270 let with_parameter_list_list_0_built = WithParameterListList {
30271 with_parameter_group: Box::new(with_parameter_group),
30272 comma: Box::new(comma),
30273 };
30274 with_parameter_list_list.push(with_parameter_list_list_0_built);
30276 self.push(
30277 ASTType::WithParameterListList(with_parameter_list_list),
30278 context,
30279 );
30280 Ok(())
30281 }
30282
30283 #[parol_runtime::function_name::named]
30288 fn with_parameter_list_list_1(&mut self) -> Result<()> {
30289 let context = function_name!();
30290 trace!("{}", self.trace_item_stack(context));
30291 let with_parameter_list_list_1_built = Vec::new();
30292 self.push(
30293 ASTType::WithParameterListList(with_parameter_list_list_1_built),
30294 context,
30295 );
30296 Ok(())
30297 }
30298
30299 #[parol_runtime::function_name::named]
30304 fn with_parameter_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
30305 let context = function_name!();
30306 trace!("{}", self.trace_item_stack(context));
30307 let comma = pop_item!(self, comma, Comma, context);
30308 let with_parameter_list_opt_0_built = WithParameterListOpt {
30309 comma: Box::new(comma),
30310 };
30311 self.push(
30312 ASTType::WithParameterListOpt(Some(with_parameter_list_opt_0_built)),
30313 context,
30314 );
30315 Ok(())
30316 }
30317
30318 #[parol_runtime::function_name::named]
30323 fn with_parameter_list_opt_1(&mut self) -> Result<()> {
30324 let context = function_name!();
30325 trace!("{}", self.trace_item_stack(context));
30326 self.push(ASTType::WithParameterListOpt(None), context);
30327 Ok(())
30328 }
30329
30330 #[parol_runtime::function_name::named]
30335 fn with_parameter_group(
30336 &mut self,
30337 _with_parameter_group_list: &ParseTreeType<'t>,
30338 _with_parameter_group_group: &ParseTreeType<'t>,
30339 ) -> Result<()> {
30340 let context = function_name!();
30341 trace!("{}", self.trace_item_stack(context));
30342 let with_parameter_group_group = pop_item!(
30343 self,
30344 with_parameter_group_group,
30345 WithParameterGroupGroup,
30346 context
30347 );
30348 let with_parameter_group_list = pop_and_reverse_item!(
30349 self,
30350 with_parameter_group_list,
30351 WithParameterGroupList,
30352 context
30353 );
30354 let with_parameter_group_built = WithParameterGroup {
30355 with_parameter_group_list,
30356 with_parameter_group_group: Box::new(with_parameter_group_group),
30357 };
30358 self.user_grammar
30360 .with_parameter_group(&with_parameter_group_built)?;
30361 self.push(
30362 ASTType::WithParameterGroup(with_parameter_group_built),
30363 context,
30364 );
30365 Ok(())
30366 }
30367
30368 #[parol_runtime::function_name::named]
30373 fn with_parameter_group_group_0(
30374 &mut self,
30375 _l_brace: &ParseTreeType<'t>,
30376 _with_parameter_list: &ParseTreeType<'t>,
30377 _r_brace: &ParseTreeType<'t>,
30378 ) -> Result<()> {
30379 let context = function_name!();
30380 trace!("{}", self.trace_item_stack(context));
30381 let r_brace = pop_item!(self, r_brace, RBrace, context);
30382 let with_parameter_list = pop_item!(self, with_parameter_list, WithParameterList, context);
30383 let l_brace = pop_item!(self, l_brace, LBrace, context);
30384 let with_parameter_group_group_0_built =
30385 WithParameterGroupGroupLBraceWithParameterListRBrace {
30386 l_brace: Box::new(l_brace),
30387 with_parameter_list: Box::new(with_parameter_list),
30388 r_brace: Box::new(r_brace),
30389 };
30390 let with_parameter_group_group_0_built =
30391 WithParameterGroupGroup::LBraceWithParameterListRBrace(
30392 with_parameter_group_group_0_built,
30393 );
30394 self.push(
30395 ASTType::WithParameterGroupGroup(with_parameter_group_group_0_built),
30396 context,
30397 );
30398 Ok(())
30399 }
30400
30401 #[parol_runtime::function_name::named]
30406 fn with_parameter_group_group_1(
30407 &mut self,
30408 _with_parameter_item: &ParseTreeType<'t>,
30409 ) -> Result<()> {
30410 let context = function_name!();
30411 trace!("{}", self.trace_item_stack(context));
30412 let with_parameter_item = pop_item!(self, with_parameter_item, WithParameterItem, context);
30413 let with_parameter_group_group_1_built = WithParameterGroupGroupWithParameterItem {
30414 with_parameter_item: Box::new(with_parameter_item),
30415 };
30416 let with_parameter_group_group_1_built =
30417 WithParameterGroupGroup::WithParameterItem(with_parameter_group_group_1_built);
30418 self.push(
30419 ASTType::WithParameterGroupGroup(with_parameter_group_group_1_built),
30420 context,
30421 );
30422 Ok(())
30423 }
30424
30425 #[parol_runtime::function_name::named]
30430 fn with_parameter_group_list_0(
30431 &mut self,
30432 _attribute: &ParseTreeType<'t>,
30433 _with_parameter_group_list: &ParseTreeType<'t>,
30434 ) -> Result<()> {
30435 let context = function_name!();
30436 trace!("{}", self.trace_item_stack(context));
30437 let mut with_parameter_group_list = pop_item!(
30438 self,
30439 with_parameter_group_list,
30440 WithParameterGroupList,
30441 context
30442 );
30443 let attribute = pop_item!(self, attribute, Attribute, context);
30444 let with_parameter_group_list_0_built = WithParameterGroupList {
30445 attribute: Box::new(attribute),
30446 };
30447 with_parameter_group_list.push(with_parameter_group_list_0_built);
30449 self.push(
30450 ASTType::WithParameterGroupList(with_parameter_group_list),
30451 context,
30452 );
30453 Ok(())
30454 }
30455
30456 #[parol_runtime::function_name::named]
30461 fn with_parameter_group_list_1(&mut self) -> Result<()> {
30462 let context = function_name!();
30463 trace!("{}", self.trace_item_stack(context));
30464 let with_parameter_group_list_1_built = Vec::new();
30465 self.push(
30466 ASTType::WithParameterGroupList(with_parameter_group_list_1_built),
30467 context,
30468 );
30469 Ok(())
30470 }
30471
30472 #[parol_runtime::function_name::named]
30477 fn with_parameter_item(
30478 &mut self,
30479 _with_parameter_item_group: &ParseTreeType<'t>,
30480 _identifier: &ParseTreeType<'t>,
30481 _colon: &ParseTreeType<'t>,
30482 _with_parameter_item_group0: &ParseTreeType<'t>,
30483 _equ: &ParseTreeType<'t>,
30484 _expression: &ParseTreeType<'t>,
30485 ) -> Result<()> {
30486 let context = function_name!();
30487 trace!("{}", self.trace_item_stack(context));
30488 let expression = pop_item!(self, expression, Expression, context);
30489 let equ = pop_item!(self, equ, Equ, context);
30490 let with_parameter_item_group0 = pop_item!(
30491 self,
30492 with_parameter_item_group0,
30493 WithParameterItemGroup0,
30494 context
30495 );
30496 let colon = pop_item!(self, colon, Colon, context);
30497 let identifier = pop_item!(self, identifier, Identifier, context);
30498 let with_parameter_item_group = pop_item!(
30499 self,
30500 with_parameter_item_group,
30501 WithParameterItemGroup,
30502 context
30503 );
30504 let with_parameter_item_built = WithParameterItem {
30505 with_parameter_item_group: Box::new(with_parameter_item_group),
30506 identifier: Box::new(identifier),
30507 colon: Box::new(colon),
30508 with_parameter_item_group0: Box::new(with_parameter_item_group0),
30509 equ: Box::new(equ),
30510 expression: Box::new(expression),
30511 };
30512 self.user_grammar
30514 .with_parameter_item(&with_parameter_item_built)?;
30515 self.push(
30516 ASTType::WithParameterItem(with_parameter_item_built),
30517 context,
30518 );
30519 Ok(())
30520 }
30521
30522 #[parol_runtime::function_name::named]
30527 fn with_parameter_item_group0_0(&mut self, _array_type: &ParseTreeType<'t>) -> Result<()> {
30528 let context = function_name!();
30529 trace!("{}", self.trace_item_stack(context));
30530 let array_type = pop_item!(self, array_type, ArrayType, context);
30531 let with_parameter_item_group0_0_built = WithParameterItemGroup0ArrayType {
30532 array_type: Box::new(array_type),
30533 };
30534 let with_parameter_item_group0_0_built =
30535 WithParameterItemGroup0::ArrayType(with_parameter_item_group0_0_built);
30536 self.push(
30537 ASTType::WithParameterItemGroup0(with_parameter_item_group0_0_built),
30538 context,
30539 );
30540 Ok(())
30541 }
30542
30543 #[parol_runtime::function_name::named]
30548 fn with_parameter_item_group0_1(&mut self, _type: &ParseTreeType<'t>) -> Result<()> {
30549 let context = function_name!();
30550 trace!("{}", self.trace_item_stack(context));
30551 let r#type = pop_item!(self, r#type, Type, context);
30552 let with_parameter_item_group0_1_built = WithParameterItemGroup0Type {
30553 r#type: Box::new(r#type),
30554 };
30555 let with_parameter_item_group0_1_built =
30556 WithParameterItemGroup0::Type(with_parameter_item_group0_1_built);
30557 self.push(
30558 ASTType::WithParameterItemGroup0(with_parameter_item_group0_1_built),
30559 context,
30560 );
30561 Ok(())
30562 }
30563
30564 #[parol_runtime::function_name::named]
30569 fn with_parameter_item_group_0(&mut self, _param: &ParseTreeType<'t>) -> Result<()> {
30570 let context = function_name!();
30571 trace!("{}", self.trace_item_stack(context));
30572 let param = pop_item!(self, param, Param, context);
30573 let with_parameter_item_group_0_built = WithParameterItemGroupParam {
30574 param: Box::new(param),
30575 };
30576 let with_parameter_item_group_0_built =
30577 WithParameterItemGroup::Param(with_parameter_item_group_0_built);
30578 self.push(
30579 ASTType::WithParameterItemGroup(with_parameter_item_group_0_built),
30580 context,
30581 );
30582 Ok(())
30583 }
30584
30585 #[parol_runtime::function_name::named]
30590 fn with_parameter_item_group_1(&mut self, _const: &ParseTreeType<'t>) -> Result<()> {
30591 let context = function_name!();
30592 trace!("{}", self.trace_item_stack(context));
30593 let r#const = pop_item!(self, r#const, Const, context);
30594 let with_parameter_item_group_1_built = WithParameterItemGroupConst {
30595 r#const: Box::new(r#const),
30596 };
30597 let with_parameter_item_group_1_built =
30598 WithParameterItemGroup::Const(with_parameter_item_group_1_built);
30599 self.push(
30600 ASTType::WithParameterItemGroup(with_parameter_item_group_1_built),
30601 context,
30602 );
30603 Ok(())
30604 }
30605
30606 #[parol_runtime::function_name::named]
30611 fn generic_bound_0(&mut self, _const: &ParseTreeType<'t>) -> Result<()> {
30612 let context = function_name!();
30613 trace!("{}", self.trace_item_stack(context));
30614 let r#const = pop_item!(self, r#const, Const, context);
30615 let generic_bound_0_built = GenericBoundConst {
30616 r#const: Box::new(r#const),
30617 };
30618 let generic_bound_0_built = GenericBound::Const(generic_bound_0_built);
30619 self.user_grammar.generic_bound(&generic_bound_0_built)?;
30621 self.push(ASTType::GenericBound(generic_bound_0_built), context);
30622 Ok(())
30623 }
30624
30625 #[parol_runtime::function_name::named]
30630 fn generic_bound_1(&mut self, _type: &ParseTreeType<'t>) -> Result<()> {
30631 let context = function_name!();
30632 trace!("{}", self.trace_item_stack(context));
30633 let r#type = pop_item!(self, r#type, Type, context);
30634 let generic_bound_1_built = GenericBoundType {
30635 r#type: Box::new(r#type),
30636 };
30637 let generic_bound_1_built = GenericBound::Type(generic_bound_1_built);
30638 self.user_grammar.generic_bound(&generic_bound_1_built)?;
30640 self.push(ASTType::GenericBound(generic_bound_1_built), context);
30641 Ok(())
30642 }
30643
30644 #[parol_runtime::function_name::named]
30649 fn generic_bound_2(
30650 &mut self,
30651 _inst: &ParseTreeType<'t>,
30652 _scoped_identifier: &ParseTreeType<'t>,
30653 ) -> Result<()> {
30654 let context = function_name!();
30655 trace!("{}", self.trace_item_stack(context));
30656 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
30657 let inst = pop_item!(self, inst, Inst, context);
30658 let generic_bound_2_built = GenericBoundInstScopedIdentifier {
30659 inst: Box::new(inst),
30660 scoped_identifier: Box::new(scoped_identifier),
30661 };
30662 let generic_bound_2_built = GenericBound::InstScopedIdentifier(generic_bound_2_built);
30663 self.user_grammar.generic_bound(&generic_bound_2_built)?;
30665 self.push(ASTType::GenericBound(generic_bound_2_built), context);
30666 Ok(())
30667 }
30668
30669 #[parol_runtime::function_name::named]
30674 fn generic_bound_3(&mut self, _scoped_identifier: &ParseTreeType<'t>) -> Result<()> {
30675 let context = function_name!();
30676 trace!("{}", self.trace_item_stack(context));
30677 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
30678 let generic_bound_3_built = GenericBoundScopedIdentifier {
30679 scoped_identifier: Box::new(scoped_identifier),
30680 };
30681 let generic_bound_3_built = GenericBound::ScopedIdentifier(generic_bound_3_built);
30682 self.user_grammar.generic_bound(&generic_bound_3_built)?;
30684 self.push(ASTType::GenericBound(generic_bound_3_built), context);
30685 Ok(())
30686 }
30687
30688 #[parol_runtime::function_name::named]
30693 fn with_generic_parameter(
30694 &mut self,
30695 _colon_colon_l_angle: &ParseTreeType<'t>,
30696 _with_generic_parameter_list: &ParseTreeType<'t>,
30697 _r_angle: &ParseTreeType<'t>,
30698 ) -> Result<()> {
30699 let context = function_name!();
30700 trace!("{}", self.trace_item_stack(context));
30701 let r_angle = pop_item!(self, r_angle, RAngle, context);
30702 let with_generic_parameter_list = pop_item!(
30703 self,
30704 with_generic_parameter_list,
30705 WithGenericParameterList,
30706 context
30707 );
30708 let colon_colon_l_angle = pop_item!(self, colon_colon_l_angle, ColonColonLAngle, context);
30709 let with_generic_parameter_built = WithGenericParameter {
30710 colon_colon_l_angle: Box::new(colon_colon_l_angle),
30711 with_generic_parameter_list: Box::new(with_generic_parameter_list),
30712 r_angle: Box::new(r_angle),
30713 };
30714 self.user_grammar
30716 .with_generic_parameter(&with_generic_parameter_built)?;
30717 self.push(
30718 ASTType::WithGenericParameter(with_generic_parameter_built),
30719 context,
30720 );
30721 Ok(())
30722 }
30723
30724 #[parol_runtime::function_name::named]
30729 fn with_generic_parameter_list(
30730 &mut self,
30731 _with_generic_parameter_item: &ParseTreeType<'t>,
30732 _with_generic_parameter_list_list: &ParseTreeType<'t>,
30733 _with_generic_parameter_list_opt: &ParseTreeType<'t>,
30734 ) -> Result<()> {
30735 let context = function_name!();
30736 trace!("{}", self.trace_item_stack(context));
30737 let with_generic_parameter_list_opt = pop_item!(
30738 self,
30739 with_generic_parameter_list_opt,
30740 WithGenericParameterListOpt,
30741 context
30742 );
30743 let with_generic_parameter_list_list = pop_and_reverse_item!(
30744 self,
30745 with_generic_parameter_list_list,
30746 WithGenericParameterListList,
30747 context
30748 );
30749 let with_generic_parameter_item = pop_item!(
30750 self,
30751 with_generic_parameter_item,
30752 WithGenericParameterItem,
30753 context
30754 );
30755 let with_generic_parameter_list_built = WithGenericParameterList {
30756 with_generic_parameter_item: Box::new(with_generic_parameter_item),
30757 with_generic_parameter_list_list,
30758 with_generic_parameter_list_opt,
30759 };
30760 self.user_grammar
30762 .with_generic_parameter_list(&with_generic_parameter_list_built)?;
30763 self.push(
30764 ASTType::WithGenericParameterList(with_generic_parameter_list_built),
30765 context,
30766 );
30767 Ok(())
30768 }
30769
30770 #[parol_runtime::function_name::named]
30775 fn with_generic_parameter_list_list_0(
30776 &mut self,
30777 _comma: &ParseTreeType<'t>,
30778 _with_generic_parameter_item: &ParseTreeType<'t>,
30779 _with_generic_parameter_list_list: &ParseTreeType<'t>,
30780 ) -> Result<()> {
30781 let context = function_name!();
30782 trace!("{}", self.trace_item_stack(context));
30783 let mut with_generic_parameter_list_list = pop_item!(
30784 self,
30785 with_generic_parameter_list_list,
30786 WithGenericParameterListList,
30787 context
30788 );
30789 let with_generic_parameter_item = pop_item!(
30790 self,
30791 with_generic_parameter_item,
30792 WithGenericParameterItem,
30793 context
30794 );
30795 let comma = pop_item!(self, comma, Comma, context);
30796 let with_generic_parameter_list_list_0_built = WithGenericParameterListList {
30797 with_generic_parameter_item: Box::new(with_generic_parameter_item),
30798 comma: Box::new(comma),
30799 };
30800 with_generic_parameter_list_list.push(with_generic_parameter_list_list_0_built);
30802 self.push(
30803 ASTType::WithGenericParameterListList(with_generic_parameter_list_list),
30804 context,
30805 );
30806 Ok(())
30807 }
30808
30809 #[parol_runtime::function_name::named]
30814 fn with_generic_parameter_list_list_1(&mut self) -> Result<()> {
30815 let context = function_name!();
30816 trace!("{}", self.trace_item_stack(context));
30817 let with_generic_parameter_list_list_1_built = Vec::new();
30818 self.push(
30819 ASTType::WithGenericParameterListList(with_generic_parameter_list_list_1_built),
30820 context,
30821 );
30822 Ok(())
30823 }
30824
30825 #[parol_runtime::function_name::named]
30830 fn with_generic_parameter_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
30831 let context = function_name!();
30832 trace!("{}", self.trace_item_stack(context));
30833 let comma = pop_item!(self, comma, Comma, context);
30834 let with_generic_parameter_list_opt_0_built = WithGenericParameterListOpt {
30835 comma: Box::new(comma),
30836 };
30837 self.push(
30838 ASTType::WithGenericParameterListOpt(Some(with_generic_parameter_list_opt_0_built)),
30839 context,
30840 );
30841 Ok(())
30842 }
30843
30844 #[parol_runtime::function_name::named]
30849 fn with_generic_parameter_list_opt_1(&mut self) -> Result<()> {
30850 let context = function_name!();
30851 trace!("{}", self.trace_item_stack(context));
30852 self.push(ASTType::WithGenericParameterListOpt(None), context);
30853 Ok(())
30854 }
30855
30856 #[parol_runtime::function_name::named]
30861 fn with_generic_parameter_item(
30862 &mut self,
30863 _identifier: &ParseTreeType<'t>,
30864 _colon: &ParseTreeType<'t>,
30865 _generic_bound: &ParseTreeType<'t>,
30866 _with_generic_parameter_item_opt: &ParseTreeType<'t>,
30867 ) -> Result<()> {
30868 let context = function_name!();
30869 trace!("{}", self.trace_item_stack(context));
30870 let with_generic_parameter_item_opt = pop_item!(
30871 self,
30872 with_generic_parameter_item_opt,
30873 WithGenericParameterItemOpt,
30874 context
30875 );
30876 let generic_bound = pop_item!(self, generic_bound, GenericBound, context);
30877 let colon = pop_item!(self, colon, Colon, context);
30878 let identifier = pop_item!(self, identifier, Identifier, context);
30879 let with_generic_parameter_item_built = WithGenericParameterItem {
30880 identifier: Box::new(identifier),
30881 colon: Box::new(colon),
30882 generic_bound: Box::new(generic_bound),
30883 with_generic_parameter_item_opt,
30884 };
30885 self.user_grammar
30887 .with_generic_parameter_item(&with_generic_parameter_item_built)?;
30888 self.push(
30889 ASTType::WithGenericParameterItem(with_generic_parameter_item_built),
30890 context,
30891 );
30892 Ok(())
30893 }
30894
30895 #[parol_runtime::function_name::named]
30900 fn with_generic_parameter_item_opt_0(
30901 &mut self,
30902 _equ: &ParseTreeType<'t>,
30903 _with_generic_argument_item: &ParseTreeType<'t>,
30904 ) -> Result<()> {
30905 let context = function_name!();
30906 trace!("{}", self.trace_item_stack(context));
30907 let with_generic_argument_item = pop_item!(
30908 self,
30909 with_generic_argument_item,
30910 WithGenericArgumentItem,
30911 context
30912 );
30913 let equ = pop_item!(self, equ, Equ, context);
30914 let with_generic_parameter_item_opt_0_built = WithGenericParameterItemOpt {
30915 equ: Box::new(equ),
30916 with_generic_argument_item: Box::new(with_generic_argument_item),
30917 };
30918 self.push(
30919 ASTType::WithGenericParameterItemOpt(Some(with_generic_parameter_item_opt_0_built)),
30920 context,
30921 );
30922 Ok(())
30923 }
30924
30925 #[parol_runtime::function_name::named]
30930 fn with_generic_parameter_item_opt_1(&mut self) -> Result<()> {
30931 let context = function_name!();
30932 trace!("{}", self.trace_item_stack(context));
30933 self.push(ASTType::WithGenericParameterItemOpt(None), context);
30934 Ok(())
30935 }
30936
30937 #[parol_runtime::function_name::named]
30942 fn with_generic_argument(
30943 &mut self,
30944 _colon_colon_l_angle: &ParseTreeType<'t>,
30945 _with_generic_argument_opt: &ParseTreeType<'t>,
30946 _r_angle: &ParseTreeType<'t>,
30947 ) -> Result<()> {
30948 let context = function_name!();
30949 trace!("{}", self.trace_item_stack(context));
30950 let r_angle = pop_item!(self, r_angle, RAngle, context);
30951 let with_generic_argument_opt = pop_item!(
30952 self,
30953 with_generic_argument_opt,
30954 WithGenericArgumentOpt,
30955 context
30956 );
30957 let colon_colon_l_angle = pop_item!(self, colon_colon_l_angle, ColonColonLAngle, context);
30958 let with_generic_argument_built = WithGenericArgument {
30959 colon_colon_l_angle: Box::new(colon_colon_l_angle),
30960 with_generic_argument_opt,
30961 r_angle: Box::new(r_angle),
30962 };
30963 self.user_grammar
30965 .with_generic_argument(&with_generic_argument_built)?;
30966 self.push(
30967 ASTType::WithGenericArgument(with_generic_argument_built),
30968 context,
30969 );
30970 Ok(())
30971 }
30972
30973 #[parol_runtime::function_name::named]
30978 fn with_generic_argument_opt_0(
30979 &mut self,
30980 _with_generic_argument_list: &ParseTreeType<'t>,
30981 ) -> Result<()> {
30982 let context = function_name!();
30983 trace!("{}", self.trace_item_stack(context));
30984 let with_generic_argument_list = pop_item!(
30985 self,
30986 with_generic_argument_list,
30987 WithGenericArgumentList,
30988 context
30989 );
30990 let with_generic_argument_opt_0_built = WithGenericArgumentOpt {
30991 with_generic_argument_list: Box::new(with_generic_argument_list),
30992 };
30993 self.push(
30994 ASTType::WithGenericArgumentOpt(Some(with_generic_argument_opt_0_built)),
30995 context,
30996 );
30997 Ok(())
30998 }
30999
31000 #[parol_runtime::function_name::named]
31005 fn with_generic_argument_opt_1(&mut self) -> Result<()> {
31006 let context = function_name!();
31007 trace!("{}", self.trace_item_stack(context));
31008 self.push(ASTType::WithGenericArgumentOpt(None), context);
31009 Ok(())
31010 }
31011
31012 #[parol_runtime::function_name::named]
31017 fn with_generic_argument_list(
31018 &mut self,
31019 _with_generic_argument_item: &ParseTreeType<'t>,
31020 _with_generic_argument_list_list: &ParseTreeType<'t>,
31021 _with_generic_argument_list_opt: &ParseTreeType<'t>,
31022 ) -> Result<()> {
31023 let context = function_name!();
31024 trace!("{}", self.trace_item_stack(context));
31025 let with_generic_argument_list_opt = pop_item!(
31026 self,
31027 with_generic_argument_list_opt,
31028 WithGenericArgumentListOpt,
31029 context
31030 );
31031 let with_generic_argument_list_list = pop_and_reverse_item!(
31032 self,
31033 with_generic_argument_list_list,
31034 WithGenericArgumentListList,
31035 context
31036 );
31037 let with_generic_argument_item = pop_item!(
31038 self,
31039 with_generic_argument_item,
31040 WithGenericArgumentItem,
31041 context
31042 );
31043 let with_generic_argument_list_built = WithGenericArgumentList {
31044 with_generic_argument_item: Box::new(with_generic_argument_item),
31045 with_generic_argument_list_list,
31046 with_generic_argument_list_opt,
31047 };
31048 self.user_grammar
31050 .with_generic_argument_list(&with_generic_argument_list_built)?;
31051 self.push(
31052 ASTType::WithGenericArgumentList(with_generic_argument_list_built),
31053 context,
31054 );
31055 Ok(())
31056 }
31057
31058 #[parol_runtime::function_name::named]
31063 fn with_generic_argument_list_list_0(
31064 &mut self,
31065 _comma: &ParseTreeType<'t>,
31066 _with_generic_argument_item: &ParseTreeType<'t>,
31067 _with_generic_argument_list_list: &ParseTreeType<'t>,
31068 ) -> Result<()> {
31069 let context = function_name!();
31070 trace!("{}", self.trace_item_stack(context));
31071 let mut with_generic_argument_list_list = pop_item!(
31072 self,
31073 with_generic_argument_list_list,
31074 WithGenericArgumentListList,
31075 context
31076 );
31077 let with_generic_argument_item = pop_item!(
31078 self,
31079 with_generic_argument_item,
31080 WithGenericArgumentItem,
31081 context
31082 );
31083 let comma = pop_item!(self, comma, Comma, context);
31084 let with_generic_argument_list_list_0_built = WithGenericArgumentListList {
31085 with_generic_argument_item: Box::new(with_generic_argument_item),
31086 comma: Box::new(comma),
31087 };
31088 with_generic_argument_list_list.push(with_generic_argument_list_list_0_built);
31090 self.push(
31091 ASTType::WithGenericArgumentListList(with_generic_argument_list_list),
31092 context,
31093 );
31094 Ok(())
31095 }
31096
31097 #[parol_runtime::function_name::named]
31102 fn with_generic_argument_list_list_1(&mut self) -> Result<()> {
31103 let context = function_name!();
31104 trace!("{}", self.trace_item_stack(context));
31105 let with_generic_argument_list_list_1_built = Vec::new();
31106 self.push(
31107 ASTType::WithGenericArgumentListList(with_generic_argument_list_list_1_built),
31108 context,
31109 );
31110 Ok(())
31111 }
31112
31113 #[parol_runtime::function_name::named]
31118 fn with_generic_argument_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
31119 let context = function_name!();
31120 trace!("{}", self.trace_item_stack(context));
31121 let comma = pop_item!(self, comma, Comma, context);
31122 let with_generic_argument_list_opt_0_built = WithGenericArgumentListOpt {
31123 comma: Box::new(comma),
31124 };
31125 self.push(
31126 ASTType::WithGenericArgumentListOpt(Some(with_generic_argument_list_opt_0_built)),
31127 context,
31128 );
31129 Ok(())
31130 }
31131
31132 #[parol_runtime::function_name::named]
31137 fn with_generic_argument_list_opt_1(&mut self) -> Result<()> {
31138 let context = function_name!();
31139 trace!("{}", self.trace_item_stack(context));
31140 self.push(ASTType::WithGenericArgumentListOpt(None), context);
31141 Ok(())
31142 }
31143
31144 #[parol_runtime::function_name::named]
31149 fn with_generic_argument_item_0(
31150 &mut self,
31151 _scoped_identifier: &ParseTreeType<'t>,
31152 ) -> Result<()> {
31153 let context = function_name!();
31154 trace!("{}", self.trace_item_stack(context));
31155 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
31156 let with_generic_argument_item_0_built = WithGenericArgumentItemScopedIdentifier {
31157 scoped_identifier: Box::new(scoped_identifier),
31158 };
31159 let with_generic_argument_item_0_built =
31160 WithGenericArgumentItem::ScopedIdentifier(with_generic_argument_item_0_built);
31161 self.user_grammar
31163 .with_generic_argument_item(&with_generic_argument_item_0_built)?;
31164 self.push(
31165 ASTType::WithGenericArgumentItem(with_generic_argument_item_0_built),
31166 context,
31167 );
31168 Ok(())
31169 }
31170
31171 #[parol_runtime::function_name::named]
31176 fn with_generic_argument_item_1(&mut self, _number: &ParseTreeType<'t>) -> Result<()> {
31177 let context = function_name!();
31178 trace!("{}", self.trace_item_stack(context));
31179 let number = pop_item!(self, number, Number, context);
31180 let with_generic_argument_item_1_built = WithGenericArgumentItemNumber {
31181 number: Box::new(number),
31182 };
31183 let with_generic_argument_item_1_built =
31184 WithGenericArgumentItem::Number(with_generic_argument_item_1_built);
31185 self.user_grammar
31187 .with_generic_argument_item(&with_generic_argument_item_1_built)?;
31188 self.push(
31189 ASTType::WithGenericArgumentItem(with_generic_argument_item_1_built),
31190 context,
31191 );
31192 Ok(())
31193 }
31194
31195 #[parol_runtime::function_name::named]
31200 fn port_declaration(
31201 &mut self,
31202 _l_paren: &ParseTreeType<'t>,
31203 _port_declaration_opt: &ParseTreeType<'t>,
31204 _r_paren: &ParseTreeType<'t>,
31205 ) -> Result<()> {
31206 let context = function_name!();
31207 trace!("{}", self.trace_item_stack(context));
31208 let r_paren = pop_item!(self, r_paren, RParen, context);
31209 let port_declaration_opt =
31210 pop_item!(self, port_declaration_opt, PortDeclarationOpt, context);
31211 let l_paren = pop_item!(self, l_paren, LParen, context);
31212 let port_declaration_built = PortDeclaration {
31213 l_paren: Box::new(l_paren),
31214 port_declaration_opt,
31215 r_paren: Box::new(r_paren),
31216 };
31217 self.user_grammar
31219 .port_declaration(&port_declaration_built)?;
31220 self.push(ASTType::PortDeclaration(port_declaration_built), context);
31221 Ok(())
31222 }
31223
31224 #[parol_runtime::function_name::named]
31229 fn port_declaration_opt_0(&mut self, _port_declaration_list: &ParseTreeType<'t>) -> Result<()> {
31230 let context = function_name!();
31231 trace!("{}", self.trace_item_stack(context));
31232 let port_declaration_list =
31233 pop_item!(self, port_declaration_list, PortDeclarationList, context);
31234 let port_declaration_opt_0_built = PortDeclarationOpt {
31235 port_declaration_list: Box::new(port_declaration_list),
31236 };
31237 self.push(
31238 ASTType::PortDeclarationOpt(Some(port_declaration_opt_0_built)),
31239 context,
31240 );
31241 Ok(())
31242 }
31243
31244 #[parol_runtime::function_name::named]
31249 fn port_declaration_opt_1(&mut self) -> Result<()> {
31250 let context = function_name!();
31251 trace!("{}", self.trace_item_stack(context));
31252 self.push(ASTType::PortDeclarationOpt(None), context);
31253 Ok(())
31254 }
31255
31256 #[parol_runtime::function_name::named]
31261 fn port_declaration_list(
31262 &mut self,
31263 _port_declaration_group: &ParseTreeType<'t>,
31264 _port_declaration_list_list: &ParseTreeType<'t>,
31265 _port_declaration_list_opt: &ParseTreeType<'t>,
31266 ) -> Result<()> {
31267 let context = function_name!();
31268 trace!("{}", self.trace_item_stack(context));
31269 let port_declaration_list_opt = pop_item!(
31270 self,
31271 port_declaration_list_opt,
31272 PortDeclarationListOpt,
31273 context
31274 );
31275 let port_declaration_list_list = pop_and_reverse_item!(
31276 self,
31277 port_declaration_list_list,
31278 PortDeclarationListList,
31279 context
31280 );
31281 let port_declaration_group =
31282 pop_item!(self, port_declaration_group, PortDeclarationGroup, context);
31283 let port_declaration_list_built = PortDeclarationList {
31284 port_declaration_group: Box::new(port_declaration_group),
31285 port_declaration_list_list,
31286 port_declaration_list_opt,
31287 };
31288 self.user_grammar
31290 .port_declaration_list(&port_declaration_list_built)?;
31291 self.push(
31292 ASTType::PortDeclarationList(port_declaration_list_built),
31293 context,
31294 );
31295 Ok(())
31296 }
31297
31298 #[parol_runtime::function_name::named]
31303 fn port_declaration_list_list_0(
31304 &mut self,
31305 _comma: &ParseTreeType<'t>,
31306 _port_declaration_group: &ParseTreeType<'t>,
31307 _port_declaration_list_list: &ParseTreeType<'t>,
31308 ) -> Result<()> {
31309 let context = function_name!();
31310 trace!("{}", self.trace_item_stack(context));
31311 let mut port_declaration_list_list = pop_item!(
31312 self,
31313 port_declaration_list_list,
31314 PortDeclarationListList,
31315 context
31316 );
31317 let port_declaration_group =
31318 pop_item!(self, port_declaration_group, PortDeclarationGroup, context);
31319 let comma = pop_item!(self, comma, Comma, context);
31320 let port_declaration_list_list_0_built = PortDeclarationListList {
31321 port_declaration_group: Box::new(port_declaration_group),
31322 comma: Box::new(comma),
31323 };
31324 port_declaration_list_list.push(port_declaration_list_list_0_built);
31326 self.push(
31327 ASTType::PortDeclarationListList(port_declaration_list_list),
31328 context,
31329 );
31330 Ok(())
31331 }
31332
31333 #[parol_runtime::function_name::named]
31338 fn port_declaration_list_list_1(&mut self) -> Result<()> {
31339 let context = function_name!();
31340 trace!("{}", self.trace_item_stack(context));
31341 let port_declaration_list_list_1_built = Vec::new();
31342 self.push(
31343 ASTType::PortDeclarationListList(port_declaration_list_list_1_built),
31344 context,
31345 );
31346 Ok(())
31347 }
31348
31349 #[parol_runtime::function_name::named]
31354 fn port_declaration_list_opt_0(&mut self, _comma: &ParseTreeType<'t>) -> Result<()> {
31355 let context = function_name!();
31356 trace!("{}", self.trace_item_stack(context));
31357 let comma = pop_item!(self, comma, Comma, context);
31358 let port_declaration_list_opt_0_built = PortDeclarationListOpt {
31359 comma: Box::new(comma),
31360 };
31361 self.push(
31362 ASTType::PortDeclarationListOpt(Some(port_declaration_list_opt_0_built)),
31363 context,
31364 );
31365 Ok(())
31366 }
31367
31368 #[parol_runtime::function_name::named]
31373 fn port_declaration_list_opt_1(&mut self) -> Result<()> {
31374 let context = function_name!();
31375 trace!("{}", self.trace_item_stack(context));
31376 self.push(ASTType::PortDeclarationListOpt(None), context);
31377 Ok(())
31378 }
31379
31380 #[parol_runtime::function_name::named]
31385 fn port_declaration_group(
31386 &mut self,
31387 _port_declaration_group_list: &ParseTreeType<'t>,
31388 _port_declaration_group_group: &ParseTreeType<'t>,
31389 ) -> Result<()> {
31390 let context = function_name!();
31391 trace!("{}", self.trace_item_stack(context));
31392 let port_declaration_group_group = pop_item!(
31393 self,
31394 port_declaration_group_group,
31395 PortDeclarationGroupGroup,
31396 context
31397 );
31398 let port_declaration_group_list = pop_and_reverse_item!(
31399 self,
31400 port_declaration_group_list,
31401 PortDeclarationGroupList,
31402 context
31403 );
31404 let port_declaration_group_built = PortDeclarationGroup {
31405 port_declaration_group_list,
31406 port_declaration_group_group: Box::new(port_declaration_group_group),
31407 };
31408 self.user_grammar
31410 .port_declaration_group(&port_declaration_group_built)?;
31411 self.push(
31412 ASTType::PortDeclarationGroup(port_declaration_group_built),
31413 context,
31414 );
31415 Ok(())
31416 }
31417
31418 #[parol_runtime::function_name::named]
31423 fn port_declaration_group_group_0(
31424 &mut self,
31425 _l_brace: &ParseTreeType<'t>,
31426 _port_declaration_list: &ParseTreeType<'t>,
31427 _r_brace: &ParseTreeType<'t>,
31428 ) -> Result<()> {
31429 let context = function_name!();
31430 trace!("{}", self.trace_item_stack(context));
31431 let r_brace = pop_item!(self, r_brace, RBrace, context);
31432 let port_declaration_list =
31433 pop_item!(self, port_declaration_list, PortDeclarationList, context);
31434 let l_brace = pop_item!(self, l_brace, LBrace, context);
31435 let port_declaration_group_group_0_built =
31436 PortDeclarationGroupGroupLBracePortDeclarationListRBrace {
31437 l_brace: Box::new(l_brace),
31438 port_declaration_list: Box::new(port_declaration_list),
31439 r_brace: Box::new(r_brace),
31440 };
31441 let port_declaration_group_group_0_built =
31442 PortDeclarationGroupGroup::LBracePortDeclarationListRBrace(
31443 port_declaration_group_group_0_built,
31444 );
31445 self.push(
31446 ASTType::PortDeclarationGroupGroup(port_declaration_group_group_0_built),
31447 context,
31448 );
31449 Ok(())
31450 }
31451
31452 #[parol_runtime::function_name::named]
31457 fn port_declaration_group_group_1(
31458 &mut self,
31459 _port_declaration_item: &ParseTreeType<'t>,
31460 ) -> Result<()> {
31461 let context = function_name!();
31462 trace!("{}", self.trace_item_stack(context));
31463 let port_declaration_item =
31464 pop_item!(self, port_declaration_item, PortDeclarationItem, context);
31465 let port_declaration_group_group_1_built = PortDeclarationGroupGroupPortDeclarationItem {
31466 port_declaration_item: Box::new(port_declaration_item),
31467 };
31468 let port_declaration_group_group_1_built =
31469 PortDeclarationGroupGroup::PortDeclarationItem(port_declaration_group_group_1_built);
31470 self.push(
31471 ASTType::PortDeclarationGroupGroup(port_declaration_group_group_1_built),
31472 context,
31473 );
31474 Ok(())
31475 }
31476
31477 #[parol_runtime::function_name::named]
31482 fn port_declaration_group_list_0(
31483 &mut self,
31484 _attribute: &ParseTreeType<'t>,
31485 _port_declaration_group_list: &ParseTreeType<'t>,
31486 ) -> Result<()> {
31487 let context = function_name!();
31488 trace!("{}", self.trace_item_stack(context));
31489 let mut port_declaration_group_list = pop_item!(
31490 self,
31491 port_declaration_group_list,
31492 PortDeclarationGroupList,
31493 context
31494 );
31495 let attribute = pop_item!(self, attribute, Attribute, context);
31496 let port_declaration_group_list_0_built = PortDeclarationGroupList {
31497 attribute: Box::new(attribute),
31498 };
31499 port_declaration_group_list.push(port_declaration_group_list_0_built);
31501 self.push(
31502 ASTType::PortDeclarationGroupList(port_declaration_group_list),
31503 context,
31504 );
31505 Ok(())
31506 }
31507
31508 #[parol_runtime::function_name::named]
31513 fn port_declaration_group_list_1(&mut self) -> Result<()> {
31514 let context = function_name!();
31515 trace!("{}", self.trace_item_stack(context));
31516 let port_declaration_group_list_1_built = Vec::new();
31517 self.push(
31518 ASTType::PortDeclarationGroupList(port_declaration_group_list_1_built),
31519 context,
31520 );
31521 Ok(())
31522 }
31523
31524 #[parol_runtime::function_name::named]
31529 fn port_declaration_item(
31530 &mut self,
31531 _identifier: &ParseTreeType<'t>,
31532 _colon: &ParseTreeType<'t>,
31533 _port_declaration_item_group: &ParseTreeType<'t>,
31534 ) -> Result<()> {
31535 let context = function_name!();
31536 trace!("{}", self.trace_item_stack(context));
31537 let port_declaration_item_group = pop_item!(
31538 self,
31539 port_declaration_item_group,
31540 PortDeclarationItemGroup,
31541 context
31542 );
31543 let colon = pop_item!(self, colon, Colon, context);
31544 let identifier = pop_item!(self, identifier, Identifier, context);
31545 let port_declaration_item_built = PortDeclarationItem {
31546 identifier: Box::new(identifier),
31547 colon: Box::new(colon),
31548 port_declaration_item_group: Box::new(port_declaration_item_group),
31549 };
31550 self.user_grammar
31552 .port_declaration_item(&port_declaration_item_built)?;
31553 self.push(
31554 ASTType::PortDeclarationItem(port_declaration_item_built),
31555 context,
31556 );
31557 Ok(())
31558 }
31559
31560 #[parol_runtime::function_name::named]
31565 fn port_declaration_item_group_0(
31566 &mut self,
31567 _port_type_concrete: &ParseTreeType<'t>,
31568 ) -> Result<()> {
31569 let context = function_name!();
31570 trace!("{}", self.trace_item_stack(context));
31571 let port_type_concrete = pop_item!(self, port_type_concrete, PortTypeConcrete, context);
31572 let port_declaration_item_group_0_built = PortDeclarationItemGroupPortTypeConcrete {
31573 port_type_concrete: Box::new(port_type_concrete),
31574 };
31575 let port_declaration_item_group_0_built =
31576 PortDeclarationItemGroup::PortTypeConcrete(port_declaration_item_group_0_built);
31577 self.push(
31578 ASTType::PortDeclarationItemGroup(port_declaration_item_group_0_built),
31579 context,
31580 );
31581 Ok(())
31582 }
31583
31584 #[parol_runtime::function_name::named]
31589 fn port_declaration_item_group_1(
31590 &mut self,
31591 _port_type_abstract: &ParseTreeType<'t>,
31592 ) -> Result<()> {
31593 let context = function_name!();
31594 trace!("{}", self.trace_item_stack(context));
31595 let port_type_abstract = pop_item!(self, port_type_abstract, PortTypeAbstract, context);
31596 let port_declaration_item_group_1_built = PortDeclarationItemGroupPortTypeAbstract {
31597 port_type_abstract: Box::new(port_type_abstract),
31598 };
31599 let port_declaration_item_group_1_built =
31600 PortDeclarationItemGroup::PortTypeAbstract(port_declaration_item_group_1_built);
31601 self.push(
31602 ASTType::PortDeclarationItemGroup(port_declaration_item_group_1_built),
31603 context,
31604 );
31605 Ok(())
31606 }
31607
31608 #[parol_runtime::function_name::named]
31613 fn port_type_concrete(
31614 &mut self,
31615 _direction: &ParseTreeType<'t>,
31616 _port_type_concrete_opt: &ParseTreeType<'t>,
31617 _array_type: &ParseTreeType<'t>,
31618 _port_type_concrete_opt0: &ParseTreeType<'t>,
31619 ) -> Result<()> {
31620 let context = function_name!();
31621 trace!("{}", self.trace_item_stack(context));
31622 let port_type_concrete_opt0 =
31623 pop_item!(self, port_type_concrete_opt0, PortTypeConcreteOpt0, context);
31624 let array_type = pop_item!(self, array_type, ArrayType, context);
31625 let port_type_concrete_opt =
31626 pop_item!(self, port_type_concrete_opt, PortTypeConcreteOpt, context);
31627 let direction = pop_item!(self, direction, Direction, context);
31628 let port_type_concrete_built = PortTypeConcrete {
31629 direction: Box::new(direction),
31630 port_type_concrete_opt,
31631 array_type: Box::new(array_type),
31632 port_type_concrete_opt0,
31633 };
31634 self.user_grammar
31636 .port_type_concrete(&port_type_concrete_built)?;
31637 self.push(ASTType::PortTypeConcrete(port_type_concrete_built), context);
31638 Ok(())
31639 }
31640
31641 #[parol_runtime::function_name::named]
31646 fn port_type_concrete_opt0_0(
31647 &mut self,
31648 _equ: &ParseTreeType<'t>,
31649 _port_default_value: &ParseTreeType<'t>,
31650 ) -> Result<()> {
31651 let context = function_name!();
31652 trace!("{}", self.trace_item_stack(context));
31653 let port_default_value = pop_item!(self, port_default_value, PortDefaultValue, context);
31654 let equ = pop_item!(self, equ, Equ, context);
31655 let port_type_concrete_opt0_0_built = PortTypeConcreteOpt0 {
31656 equ: Box::new(equ),
31657 port_default_value: Box::new(port_default_value),
31658 };
31659 self.push(
31660 ASTType::PortTypeConcreteOpt0(Some(port_type_concrete_opt0_0_built)),
31661 context,
31662 );
31663 Ok(())
31664 }
31665
31666 #[parol_runtime::function_name::named]
31671 fn port_type_concrete_opt0_1(&mut self) -> Result<()> {
31672 let context = function_name!();
31673 trace!("{}", self.trace_item_stack(context));
31674 self.push(ASTType::PortTypeConcreteOpt0(None), context);
31675 Ok(())
31676 }
31677
31678 #[parol_runtime::function_name::named]
31683 fn port_type_concrete_opt_0(&mut self, _clock_domain: &ParseTreeType<'t>) -> Result<()> {
31684 let context = function_name!();
31685 trace!("{}", self.trace_item_stack(context));
31686 let clock_domain = pop_item!(self, clock_domain, ClockDomain, context);
31687 let port_type_concrete_opt_0_built = PortTypeConcreteOpt {
31688 clock_domain: Box::new(clock_domain),
31689 };
31690 self.push(
31691 ASTType::PortTypeConcreteOpt(Some(port_type_concrete_opt_0_built)),
31692 context,
31693 );
31694 Ok(())
31695 }
31696
31697 #[parol_runtime::function_name::named]
31702 fn port_type_concrete_opt_1(&mut self) -> Result<()> {
31703 let context = function_name!();
31704 trace!("{}", self.trace_item_stack(context));
31705 self.push(ASTType::PortTypeConcreteOpt(None), context);
31706 Ok(())
31707 }
31708
31709 #[parol_runtime::function_name::named]
31714 fn port_default_value(&mut self, _expression: &ParseTreeType<'t>) -> Result<()> {
31715 let context = function_name!();
31716 trace!("{}", self.trace_item_stack(context));
31717 let expression = pop_item!(self, expression, Expression, context);
31718 let port_default_value_built = PortDefaultValue {
31719 expression: Box::new(expression),
31720 };
31721 self.user_grammar
31723 .port_default_value(&port_default_value_built)?;
31724 self.push(ASTType::PortDefaultValue(port_default_value_built), context);
31725 Ok(())
31726 }
31727
31728 #[parol_runtime::function_name::named]
31733 fn port_type_abstract(
31734 &mut self,
31735 _port_type_abstract_opt: &ParseTreeType<'t>,
31736 _interface: &ParseTreeType<'t>,
31737 _port_type_abstract_opt0: &ParseTreeType<'t>,
31738 _port_type_abstract_opt1: &ParseTreeType<'t>,
31739 ) -> Result<()> {
31740 let context = function_name!();
31741 trace!("{}", self.trace_item_stack(context));
31742 let port_type_abstract_opt1 =
31743 pop_item!(self, port_type_abstract_opt1, PortTypeAbstractOpt1, context);
31744 let port_type_abstract_opt0 =
31745 pop_item!(self, port_type_abstract_opt0, PortTypeAbstractOpt0, context);
31746 let interface = pop_item!(self, interface, Interface, context);
31747 let port_type_abstract_opt =
31748 pop_item!(self, port_type_abstract_opt, PortTypeAbstractOpt, context);
31749 let port_type_abstract_built = PortTypeAbstract {
31750 port_type_abstract_opt,
31751 interface: Box::new(interface),
31752 port_type_abstract_opt0,
31753 port_type_abstract_opt1,
31754 };
31755 self.user_grammar
31757 .port_type_abstract(&port_type_abstract_built)?;
31758 self.push(ASTType::PortTypeAbstract(port_type_abstract_built), context);
31759 Ok(())
31760 }
31761
31762 #[parol_runtime::function_name::named]
31767 fn port_type_abstract_opt1_0(&mut self, _array: &ParseTreeType<'t>) -> Result<()> {
31768 let context = function_name!();
31769 trace!("{}", self.trace_item_stack(context));
31770 let array = pop_item!(self, array, Array, context);
31771 let port_type_abstract_opt1_0_built = PortTypeAbstractOpt1 {
31772 array: Box::new(array),
31773 };
31774 self.push(
31775 ASTType::PortTypeAbstractOpt1(Some(port_type_abstract_opt1_0_built)),
31776 context,
31777 );
31778 Ok(())
31779 }
31780
31781 #[parol_runtime::function_name::named]
31786 fn port_type_abstract_opt1_1(&mut self) -> Result<()> {
31787 let context = function_name!();
31788 trace!("{}", self.trace_item_stack(context));
31789 self.push(ASTType::PortTypeAbstractOpt1(None), context);
31790 Ok(())
31791 }
31792
31793 #[parol_runtime::function_name::named]
31798 fn port_type_abstract_opt0_0(
31799 &mut self,
31800 _colon_colon: &ParseTreeType<'t>,
31801 _identifier: &ParseTreeType<'t>,
31802 ) -> Result<()> {
31803 let context = function_name!();
31804 trace!("{}", self.trace_item_stack(context));
31805 let identifier = pop_item!(self, identifier, Identifier, context);
31806 let colon_colon = pop_item!(self, colon_colon, ColonColon, context);
31807 let port_type_abstract_opt0_0_built = PortTypeAbstractOpt0 {
31808 colon_colon: Box::new(colon_colon),
31809 identifier: Box::new(identifier),
31810 };
31811 self.push(
31812 ASTType::PortTypeAbstractOpt0(Some(port_type_abstract_opt0_0_built)),
31813 context,
31814 );
31815 Ok(())
31816 }
31817
31818 #[parol_runtime::function_name::named]
31823 fn port_type_abstract_opt0_1(&mut self) -> Result<()> {
31824 let context = function_name!();
31825 trace!("{}", self.trace_item_stack(context));
31826 self.push(ASTType::PortTypeAbstractOpt0(None), context);
31827 Ok(())
31828 }
31829
31830 #[parol_runtime::function_name::named]
31835 fn port_type_abstract_opt_0(&mut self, _clock_domain: &ParseTreeType<'t>) -> Result<()> {
31836 let context = function_name!();
31837 trace!("{}", self.trace_item_stack(context));
31838 let clock_domain = pop_item!(self, clock_domain, ClockDomain, context);
31839 let port_type_abstract_opt_0_built = PortTypeAbstractOpt {
31840 clock_domain: Box::new(clock_domain),
31841 };
31842 self.push(
31843 ASTType::PortTypeAbstractOpt(Some(port_type_abstract_opt_0_built)),
31844 context,
31845 );
31846 Ok(())
31847 }
31848
31849 #[parol_runtime::function_name::named]
31854 fn port_type_abstract_opt_1(&mut self) -> Result<()> {
31855 let context = function_name!();
31856 trace!("{}", self.trace_item_stack(context));
31857 self.push(ASTType::PortTypeAbstractOpt(None), context);
31858 Ok(())
31859 }
31860
31861 #[parol_runtime::function_name::named]
31866 fn direction_0(&mut self, _input: &ParseTreeType<'t>) -> Result<()> {
31867 let context = function_name!();
31868 trace!("{}", self.trace_item_stack(context));
31869 let input = pop_item!(self, input, Input, context);
31870 let direction_0_built = DirectionInput {
31871 input: Box::new(input),
31872 };
31873 let direction_0_built = Direction::Input(direction_0_built);
31874 self.user_grammar.direction(&direction_0_built)?;
31876 self.push(ASTType::Direction(direction_0_built), context);
31877 Ok(())
31878 }
31879
31880 #[parol_runtime::function_name::named]
31885 fn direction_1(&mut self, _output: &ParseTreeType<'t>) -> Result<()> {
31886 let context = function_name!();
31887 trace!("{}", self.trace_item_stack(context));
31888 let output = pop_item!(self, output, Output, context);
31889 let direction_1_built = DirectionOutput {
31890 output: Box::new(output),
31891 };
31892 let direction_1_built = Direction::Output(direction_1_built);
31893 self.user_grammar.direction(&direction_1_built)?;
31895 self.push(ASTType::Direction(direction_1_built), context);
31896 Ok(())
31897 }
31898
31899 #[parol_runtime::function_name::named]
31904 fn direction_2(&mut self, _inout: &ParseTreeType<'t>) -> Result<()> {
31905 let context = function_name!();
31906 trace!("{}", self.trace_item_stack(context));
31907 let inout = pop_item!(self, inout, Inout, context);
31908 let direction_2_built = DirectionInout {
31909 inout: Box::new(inout),
31910 };
31911 let direction_2_built = Direction::Inout(direction_2_built);
31912 self.user_grammar.direction(&direction_2_built)?;
31914 self.push(ASTType::Direction(direction_2_built), context);
31915 Ok(())
31916 }
31917
31918 #[parol_runtime::function_name::named]
31923 fn direction_3(&mut self, _ref: &ParseTreeType<'t>) -> Result<()> {
31924 let context = function_name!();
31925 trace!("{}", self.trace_item_stack(context));
31926 let r#ref = pop_item!(self, r#ref, Ref, context);
31927 let direction_3_built = DirectionRef {
31928 r#ref: Box::new(r#ref),
31929 };
31930 let direction_3_built = Direction::Ref(direction_3_built);
31931 self.user_grammar.direction(&direction_3_built)?;
31933 self.push(ASTType::Direction(direction_3_built), context);
31934 Ok(())
31935 }
31936
31937 #[parol_runtime::function_name::named]
31942 fn direction_4(&mut self, _modport: &ParseTreeType<'t>) -> Result<()> {
31943 let context = function_name!();
31944 trace!("{}", self.trace_item_stack(context));
31945 let modport = pop_item!(self, modport, Modport, context);
31946 let direction_4_built = DirectionModport {
31947 modport: Box::new(modport),
31948 };
31949 let direction_4_built = Direction::Modport(direction_4_built);
31950 self.user_grammar.direction(&direction_4_built)?;
31952 self.push(ASTType::Direction(direction_4_built), context);
31953 Ok(())
31954 }
31955
31956 #[parol_runtime::function_name::named]
31961 fn direction_5(&mut self, _import: &ParseTreeType<'t>) -> Result<()> {
31962 let context = function_name!();
31963 trace!("{}", self.trace_item_stack(context));
31964 let import = pop_item!(self, import, Import, context);
31965 let direction_5_built = DirectionImport {
31966 import: Box::new(import),
31967 };
31968 let direction_5_built = Direction::Import(direction_5_built);
31969 self.user_grammar.direction(&direction_5_built)?;
31971 self.push(ASTType::Direction(direction_5_built), context);
31972 Ok(())
31973 }
31974
31975 #[parol_runtime::function_name::named]
31980 fn function_declaration(
31981 &mut self,
31982 _function: &ParseTreeType<'t>,
31983 _identifier: &ParseTreeType<'t>,
31984 _function_declaration_opt: &ParseTreeType<'t>,
31985 _function_declaration_opt0: &ParseTreeType<'t>,
31986 _function_declaration_opt1: &ParseTreeType<'t>,
31987 _statement_block: &ParseTreeType<'t>,
31988 ) -> Result<()> {
31989 let context = function_name!();
31990 trace!("{}", self.trace_item_stack(context));
31991 let statement_block = pop_item!(self, statement_block, StatementBlock, context);
31992 let function_declaration_opt1 = pop_item!(
31993 self,
31994 function_declaration_opt1,
31995 FunctionDeclarationOpt1,
31996 context
31997 );
31998 let function_declaration_opt0 = pop_item!(
31999 self,
32000 function_declaration_opt0,
32001 FunctionDeclarationOpt0,
32002 context
32003 );
32004 let function_declaration_opt = pop_item!(
32005 self,
32006 function_declaration_opt,
32007 FunctionDeclarationOpt,
32008 context
32009 );
32010 let identifier = pop_item!(self, identifier, Identifier, context);
32011 let function = pop_item!(self, function, Function, context);
32012 let function_declaration_built = FunctionDeclaration {
32013 function: Box::new(function),
32014 identifier: Box::new(identifier),
32015 function_declaration_opt,
32016 function_declaration_opt0,
32017 function_declaration_opt1,
32018 statement_block: Box::new(statement_block),
32019 };
32020 self.user_grammar
32022 .function_declaration(&function_declaration_built)?;
32023 self.push(
32024 ASTType::FunctionDeclaration(function_declaration_built),
32025 context,
32026 );
32027 Ok(())
32028 }
32029
32030 #[parol_runtime::function_name::named]
32035 fn function_declaration_opt1_0(
32036 &mut self,
32037 _minus_g_t: &ParseTreeType<'t>,
32038 _scalar_type: &ParseTreeType<'t>,
32039 ) -> Result<()> {
32040 let context = function_name!();
32041 trace!("{}", self.trace_item_stack(context));
32042 let scalar_type = pop_item!(self, scalar_type, ScalarType, context);
32043 let minus_g_t = pop_item!(self, minus_g_t, MinusGT, context);
32044 let function_declaration_opt1_0_built = FunctionDeclarationOpt1 {
32045 minus_g_t: Box::new(minus_g_t),
32046 scalar_type: Box::new(scalar_type),
32047 };
32048 self.push(
32049 ASTType::FunctionDeclarationOpt1(Some(function_declaration_opt1_0_built)),
32050 context,
32051 );
32052 Ok(())
32053 }
32054
32055 #[parol_runtime::function_name::named]
32060 fn function_declaration_opt1_1(&mut self) -> Result<()> {
32061 let context = function_name!();
32062 trace!("{}", self.trace_item_stack(context));
32063 self.push(ASTType::FunctionDeclarationOpt1(None), context);
32064 Ok(())
32065 }
32066
32067 #[parol_runtime::function_name::named]
32072 fn function_declaration_opt0_0(&mut self, _port_declaration: &ParseTreeType<'t>) -> Result<()> {
32073 let context = function_name!();
32074 trace!("{}", self.trace_item_stack(context));
32075 let port_declaration = pop_item!(self, port_declaration, PortDeclaration, context);
32076 let function_declaration_opt0_0_built = FunctionDeclarationOpt0 {
32077 port_declaration: Box::new(port_declaration),
32078 };
32079 self.push(
32080 ASTType::FunctionDeclarationOpt0(Some(function_declaration_opt0_0_built)),
32081 context,
32082 );
32083 Ok(())
32084 }
32085
32086 #[parol_runtime::function_name::named]
32091 fn function_declaration_opt0_1(&mut self) -> Result<()> {
32092 let context = function_name!();
32093 trace!("{}", self.trace_item_stack(context));
32094 self.push(ASTType::FunctionDeclarationOpt0(None), context);
32095 Ok(())
32096 }
32097
32098 #[parol_runtime::function_name::named]
32103 fn function_declaration_opt_0(
32104 &mut self,
32105 _with_generic_parameter: &ParseTreeType<'t>,
32106 ) -> Result<()> {
32107 let context = function_name!();
32108 trace!("{}", self.trace_item_stack(context));
32109 let with_generic_parameter =
32110 pop_item!(self, with_generic_parameter, WithGenericParameter, context);
32111 let function_declaration_opt_0_built = FunctionDeclarationOpt {
32112 with_generic_parameter: Box::new(with_generic_parameter),
32113 };
32114 self.push(
32115 ASTType::FunctionDeclarationOpt(Some(function_declaration_opt_0_built)),
32116 context,
32117 );
32118 Ok(())
32119 }
32120
32121 #[parol_runtime::function_name::named]
32126 fn function_declaration_opt_1(&mut self) -> Result<()> {
32127 let context = function_name!();
32128 trace!("{}", self.trace_item_stack(context));
32129 self.push(ASTType::FunctionDeclarationOpt(None), context);
32130 Ok(())
32131 }
32132
32133 #[parol_runtime::function_name::named]
32138 fn import_declaration(
32139 &mut self,
32140 _import: &ParseTreeType<'t>,
32141 _scoped_identifier: &ParseTreeType<'t>,
32142 _import_declaration_opt: &ParseTreeType<'t>,
32143 _semicolon: &ParseTreeType<'t>,
32144 ) -> Result<()> {
32145 let context = function_name!();
32146 trace!("{}", self.trace_item_stack(context));
32147 let semicolon = pop_item!(self, semicolon, Semicolon, context);
32148 let import_declaration_opt =
32149 pop_item!(self, import_declaration_opt, ImportDeclarationOpt, context);
32150 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
32151 let import = pop_item!(self, import, Import, context);
32152 let import_declaration_built = ImportDeclaration {
32153 import: Box::new(import),
32154 scoped_identifier: Box::new(scoped_identifier),
32155 import_declaration_opt,
32156 semicolon: Box::new(semicolon),
32157 };
32158 self.user_grammar
32160 .import_declaration(&import_declaration_built)?;
32161 self.push(
32162 ASTType::ImportDeclaration(import_declaration_built),
32163 context,
32164 );
32165 Ok(())
32166 }
32167
32168 #[parol_runtime::function_name::named]
32173 fn import_declaration_opt_0(
32174 &mut self,
32175 _colon_colon: &ParseTreeType<'t>,
32176 _star: &ParseTreeType<'t>,
32177 ) -> Result<()> {
32178 let context = function_name!();
32179 trace!("{}", self.trace_item_stack(context));
32180 let star = pop_item!(self, star, Star, context);
32181 let colon_colon = pop_item!(self, colon_colon, ColonColon, context);
32182 let import_declaration_opt_0_built = ImportDeclarationOpt {
32183 colon_colon: Box::new(colon_colon),
32184 star: Box::new(star),
32185 };
32186 self.push(
32187 ASTType::ImportDeclarationOpt(Some(import_declaration_opt_0_built)),
32188 context,
32189 );
32190 Ok(())
32191 }
32192
32193 #[parol_runtime::function_name::named]
32198 fn import_declaration_opt_1(&mut self) -> Result<()> {
32199 let context = function_name!();
32200 trace!("{}", self.trace_item_stack(context));
32201 self.push(ASTType::ImportDeclarationOpt(None), context);
32202 Ok(())
32203 }
32204
32205 #[parol_runtime::function_name::named]
32210 fn export_declaration(
32211 &mut self,
32212 _export: &ParseTreeType<'t>,
32213 _export_declaration_group: &ParseTreeType<'t>,
32214 _semicolon: &ParseTreeType<'t>,
32215 ) -> Result<()> {
32216 let context = function_name!();
32217 trace!("{}", self.trace_item_stack(context));
32218 let semicolon = pop_item!(self, semicolon, Semicolon, context);
32219 let export_declaration_group = pop_item!(
32220 self,
32221 export_declaration_group,
32222 ExportDeclarationGroup,
32223 context
32224 );
32225 let export = pop_item!(self, export, Export, context);
32226 let export_declaration_built = ExportDeclaration {
32227 export: Box::new(export),
32228 export_declaration_group: Box::new(export_declaration_group),
32229 semicolon: Box::new(semicolon),
32230 };
32231 self.user_grammar
32233 .export_declaration(&export_declaration_built)?;
32234 self.push(
32235 ASTType::ExportDeclaration(export_declaration_built),
32236 context,
32237 );
32238 Ok(())
32239 }
32240
32241 #[parol_runtime::function_name::named]
32246 fn export_declaration_group_0(&mut self, _star: &ParseTreeType<'t>) -> Result<()> {
32247 let context = function_name!();
32248 trace!("{}", self.trace_item_stack(context));
32249 let star = pop_item!(self, star, Star, context);
32250 let export_declaration_group_0_built = ExportDeclarationGroupStar {
32251 star: Box::new(star),
32252 };
32253 let export_declaration_group_0_built =
32254 ExportDeclarationGroup::Star(export_declaration_group_0_built);
32255 self.push(
32256 ASTType::ExportDeclarationGroup(export_declaration_group_0_built),
32257 context,
32258 );
32259 Ok(())
32260 }
32261
32262 #[parol_runtime::function_name::named]
32267 fn export_declaration_group_1(
32268 &mut self,
32269 _scoped_identifier: &ParseTreeType<'t>,
32270 _export_declaration_opt: &ParseTreeType<'t>,
32271 ) -> Result<()> {
32272 let context = function_name!();
32273 trace!("{}", self.trace_item_stack(context));
32274 let export_declaration_opt =
32275 pop_item!(self, export_declaration_opt, ExportDeclarationOpt, context);
32276 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
32277 let export_declaration_group_1_built =
32278 ExportDeclarationGroupScopedIdentifierExportDeclarationOpt {
32279 scoped_identifier: Box::new(scoped_identifier),
32280 export_declaration_opt,
32281 };
32282 let export_declaration_group_1_built =
32283 ExportDeclarationGroup::ScopedIdentifierExportDeclarationOpt(
32284 export_declaration_group_1_built,
32285 );
32286 self.push(
32287 ASTType::ExportDeclarationGroup(export_declaration_group_1_built),
32288 context,
32289 );
32290 Ok(())
32291 }
32292
32293 #[parol_runtime::function_name::named]
32298 fn export_declaration_opt_0(
32299 &mut self,
32300 _colon_colon: &ParseTreeType<'t>,
32301 _star: &ParseTreeType<'t>,
32302 ) -> Result<()> {
32303 let context = function_name!();
32304 trace!("{}", self.trace_item_stack(context));
32305 let star = pop_item!(self, star, Star, context);
32306 let colon_colon = pop_item!(self, colon_colon, ColonColon, context);
32307 let export_declaration_opt_0_built = ExportDeclarationOpt {
32308 colon_colon: Box::new(colon_colon),
32309 star: Box::new(star),
32310 };
32311 self.push(
32312 ASTType::ExportDeclarationOpt(Some(export_declaration_opt_0_built)),
32313 context,
32314 );
32315 Ok(())
32316 }
32317
32318 #[parol_runtime::function_name::named]
32323 fn export_declaration_opt_1(&mut self) -> Result<()> {
32324 let context = function_name!();
32325 trace!("{}", self.trace_item_stack(context));
32326 self.push(ASTType::ExportDeclarationOpt(None), context);
32327 Ok(())
32328 }
32329
32330 #[parol_runtime::function_name::named]
32335 fn unsafe_block(
32336 &mut self,
32337 _unsafe: &ParseTreeType<'t>,
32338 _l_paren: &ParseTreeType<'t>,
32339 _identifier: &ParseTreeType<'t>,
32340 _r_paren: &ParseTreeType<'t>,
32341 _l_brace: &ParseTreeType<'t>,
32342 _unsafe_block_list: &ParseTreeType<'t>,
32343 _r_brace: &ParseTreeType<'t>,
32344 ) -> Result<()> {
32345 let context = function_name!();
32346 trace!("{}", self.trace_item_stack(context));
32347 let r_brace = pop_item!(self, r_brace, RBrace, context);
32348 let unsafe_block_list =
32349 pop_and_reverse_item!(self, unsafe_block_list, UnsafeBlockList, context);
32350 let l_brace = pop_item!(self, l_brace, LBrace, context);
32351 let r_paren = pop_item!(self, r_paren, RParen, context);
32352 let identifier = pop_item!(self, identifier, Identifier, context);
32353 let l_paren = pop_item!(self, l_paren, LParen, context);
32354 let r#unsafe = pop_item!(self, r#unsafe, Unsafe, context);
32355 let unsafe_block_built = UnsafeBlock {
32356 r#unsafe: Box::new(r#unsafe),
32357 l_paren: Box::new(l_paren),
32358 identifier: Box::new(identifier),
32359 r_paren: Box::new(r_paren),
32360 l_brace: Box::new(l_brace),
32361 unsafe_block_list,
32362 r_brace: Box::new(r_brace),
32363 };
32364 self.user_grammar.unsafe_block(&unsafe_block_built)?;
32366 self.push(ASTType::UnsafeBlock(unsafe_block_built), context);
32367 Ok(())
32368 }
32369
32370 #[parol_runtime::function_name::named]
32375 fn unsafe_block_list_0(
32376 &mut self,
32377 _generate_group: &ParseTreeType<'t>,
32378 _unsafe_block_list: &ParseTreeType<'t>,
32379 ) -> Result<()> {
32380 let context = function_name!();
32381 trace!("{}", self.trace_item_stack(context));
32382 let mut unsafe_block_list = pop_item!(self, unsafe_block_list, UnsafeBlockList, context);
32383 let generate_group = pop_item!(self, generate_group, GenerateGroup, context);
32384 let unsafe_block_list_0_built = UnsafeBlockList {
32385 generate_group: Box::new(generate_group),
32386 };
32387 unsafe_block_list.push(unsafe_block_list_0_built);
32389 self.push(ASTType::UnsafeBlockList(unsafe_block_list), context);
32390 Ok(())
32391 }
32392
32393 #[parol_runtime::function_name::named]
32398 fn unsafe_block_list_1(&mut self) -> Result<()> {
32399 let context = function_name!();
32400 trace!("{}", self.trace_item_stack(context));
32401 let unsafe_block_list_1_built = Vec::new();
32402 self.push(ASTType::UnsafeBlockList(unsafe_block_list_1_built), context);
32403 Ok(())
32404 }
32405
32406 #[parol_runtime::function_name::named]
32411 fn module_declaration(
32412 &mut self,
32413 _module: &ParseTreeType<'t>,
32414 _identifier: &ParseTreeType<'t>,
32415 _module_declaration_opt: &ParseTreeType<'t>,
32416 _module_declaration_opt0: &ParseTreeType<'t>,
32417 _module_declaration_opt1: &ParseTreeType<'t>,
32418 _module_declaration_opt2: &ParseTreeType<'t>,
32419 _l_brace: &ParseTreeType<'t>,
32420 _module_declaration_list: &ParseTreeType<'t>,
32421 _r_brace: &ParseTreeType<'t>,
32422 ) -> Result<()> {
32423 let context = function_name!();
32424 trace!("{}", self.trace_item_stack(context));
32425 let r_brace = pop_item!(self, r_brace, RBrace, context);
32426 let module_declaration_list = pop_and_reverse_item!(
32427 self,
32428 module_declaration_list,
32429 ModuleDeclarationList,
32430 context
32431 );
32432 let l_brace = pop_item!(self, l_brace, LBrace, context);
32433 let module_declaration_opt2 = pop_item!(
32434 self,
32435 module_declaration_opt2,
32436 ModuleDeclarationOpt2,
32437 context
32438 );
32439 let module_declaration_opt1 = pop_item!(
32440 self,
32441 module_declaration_opt1,
32442 ModuleDeclarationOpt1,
32443 context
32444 );
32445 let module_declaration_opt0 = pop_item!(
32446 self,
32447 module_declaration_opt0,
32448 ModuleDeclarationOpt0,
32449 context
32450 );
32451 let module_declaration_opt =
32452 pop_item!(self, module_declaration_opt, ModuleDeclarationOpt, context);
32453 let identifier = pop_item!(self, identifier, Identifier, context);
32454 let module = pop_item!(self, module, Module, context);
32455 let module_declaration_built = ModuleDeclaration {
32456 module: Box::new(module),
32457 identifier: Box::new(identifier),
32458 module_declaration_opt,
32459 module_declaration_opt0,
32460 module_declaration_opt1,
32461 module_declaration_opt2,
32462 l_brace: Box::new(l_brace),
32463 module_declaration_list,
32464 r_brace: Box::new(r_brace),
32465 };
32466 self.user_grammar
32468 .module_declaration(&module_declaration_built)?;
32469 self.push(
32470 ASTType::ModuleDeclaration(module_declaration_built),
32471 context,
32472 );
32473 Ok(())
32474 }
32475
32476 #[parol_runtime::function_name::named]
32481 fn module_declaration_list_0(
32482 &mut self,
32483 _module_group: &ParseTreeType<'t>,
32484 _module_declaration_list: &ParseTreeType<'t>,
32485 ) -> Result<()> {
32486 let context = function_name!();
32487 trace!("{}", self.trace_item_stack(context));
32488 let mut module_declaration_list = pop_item!(
32489 self,
32490 module_declaration_list,
32491 ModuleDeclarationList,
32492 context
32493 );
32494 let module_group = pop_item!(self, module_group, ModuleGroup, context);
32495 let module_declaration_list_0_built = ModuleDeclarationList {
32496 module_group: Box::new(module_group),
32497 };
32498 module_declaration_list.push(module_declaration_list_0_built);
32500 self.push(
32501 ASTType::ModuleDeclarationList(module_declaration_list),
32502 context,
32503 );
32504 Ok(())
32505 }
32506
32507 #[parol_runtime::function_name::named]
32512 fn module_declaration_list_1(&mut self) -> Result<()> {
32513 let context = function_name!();
32514 trace!("{}", self.trace_item_stack(context));
32515 let module_declaration_list_1_built = Vec::new();
32516 self.push(
32517 ASTType::ModuleDeclarationList(module_declaration_list_1_built),
32518 context,
32519 );
32520 Ok(())
32521 }
32522
32523 #[parol_runtime::function_name::named]
32528 fn module_declaration_opt2_0(&mut self, _port_declaration: &ParseTreeType<'t>) -> Result<()> {
32529 let context = function_name!();
32530 trace!("{}", self.trace_item_stack(context));
32531 let port_declaration = pop_item!(self, port_declaration, PortDeclaration, context);
32532 let module_declaration_opt2_0_built = ModuleDeclarationOpt2 {
32533 port_declaration: Box::new(port_declaration),
32534 };
32535 self.push(
32536 ASTType::ModuleDeclarationOpt2(Some(module_declaration_opt2_0_built)),
32537 context,
32538 );
32539 Ok(())
32540 }
32541
32542 #[parol_runtime::function_name::named]
32547 fn module_declaration_opt2_1(&mut self) -> Result<()> {
32548 let context = function_name!();
32549 trace!("{}", self.trace_item_stack(context));
32550 self.push(ASTType::ModuleDeclarationOpt2(None), context);
32551 Ok(())
32552 }
32553
32554 #[parol_runtime::function_name::named]
32559 fn module_declaration_opt1_0(&mut self, _with_parameter: &ParseTreeType<'t>) -> Result<()> {
32560 let context = function_name!();
32561 trace!("{}", self.trace_item_stack(context));
32562 let with_parameter = pop_item!(self, with_parameter, WithParameter, context);
32563 let module_declaration_opt1_0_built = ModuleDeclarationOpt1 {
32564 with_parameter: Box::new(with_parameter),
32565 };
32566 self.push(
32567 ASTType::ModuleDeclarationOpt1(Some(module_declaration_opt1_0_built)),
32568 context,
32569 );
32570 Ok(())
32571 }
32572
32573 #[parol_runtime::function_name::named]
32578 fn module_declaration_opt1_1(&mut self) -> Result<()> {
32579 let context = function_name!();
32580 trace!("{}", self.trace_item_stack(context));
32581 self.push(ASTType::ModuleDeclarationOpt1(None), context);
32582 Ok(())
32583 }
32584
32585 #[parol_runtime::function_name::named]
32590 fn module_declaration_opt0_0(
32591 &mut self,
32592 _for: &ParseTreeType<'t>,
32593 _scoped_identifier: &ParseTreeType<'t>,
32594 ) -> Result<()> {
32595 let context = function_name!();
32596 trace!("{}", self.trace_item_stack(context));
32597 let scoped_identifier = pop_item!(self, scoped_identifier, ScopedIdentifier, context);
32598 let r#for = pop_item!(self, r#for, For, context);
32599 let module_declaration_opt0_0_built = ModuleDeclarationOpt0 {
32600 r#for: Box::new(r#for),
32601 scoped_identifier: Box::new(scoped_identifier),
32602 };
32603 self.push(
32604 ASTType::ModuleDeclarationOpt0(Some(module_declaration_opt0_0_built)),
32605 context,
32606 );
32607 Ok(())
32608 }
32609
32610 #[parol_runtime::function_name::named]
32615 fn module_declaration_opt0_1(&mut self) -> Result<()> {
32616 let context = function_name!();
32617 trace!("{}", self.trace_item_stack(context));
32618 self.push(ASTType::ModuleDeclarationOpt0(None), context);
32619 Ok(())
32620 }
32621
32622 #[parol_runtime::function_name::named]
32627 fn module_declaration_opt_0(
32628 &mut self,
32629 _with_generic_parameter: &ParseTreeType<'t>,
32630 ) -> Result<()> {
32631 let context = function_name!();
32632 trace!("{}", self.trace_item_stack(context));
32633 let with_generic_parameter =
32634 pop_item!(self, with_generic_parameter, WithGenericParameter, context);
32635 let module_declaration_opt_0_built = ModuleDeclarationOpt {
32636 with_generic_parameter: Box::new(with_generic_parameter),
32637 };
32638 self.push(
32639 ASTType::ModuleDeclarationOpt(Some(module_declaration_opt_0_built)),
32640 context,
32641 );
32642 Ok(())
32643 }
32644
32645 #[parol_runtime::function_name::named]
32650 fn module_declaration_opt_1(&mut self) -> Result<()> {
32651 let context = function_name!();
32652 trace!("{}", self.trace_item_stack(context));
32653 self.push(ASTType::ModuleDeclarationOpt(None), context);
32654 Ok(())
32655 }
32656
32657 #[parol_runtime::function_name::named]
32662 fn module_group(
32663 &mut self,
32664 _module_group_list: &ParseTreeType<'t>,
32665 _module_group_group: &ParseTreeType<'t>,
32666 ) -> Result<()> {
32667 let context = function_name!();
32668 trace!("{}", self.trace_item_stack(context));
32669 let module_group_group = pop_item!(self, module_group_group, ModuleGroupGroup, context);
32670 let module_group_list =
32671 pop_and_reverse_item!(self, module_group_list, ModuleGroupList, context);
32672 let module_group_built = ModuleGroup {
32673 module_group_list,
32674 module_group_group: Box::new(module_group_group),
32675 };
32676 self.user_grammar.module_group(&module_group_built)?;
32678 self.push(ASTType::ModuleGroup(module_group_built), context);
32679 Ok(())
32680 }
32681
32682 #[parol_runtime::function_name::named]
32687 fn module_group_group_0(
32688 &mut self,
32689 _l_brace: &ParseTreeType<'t>,
32690 _module_group_group_list: &ParseTreeType<'t>,
32691 _r_brace: &ParseTreeType<'t>,
32692 ) -> Result<()> {
32693 let context = function_name!();
32694 trace!("{}", self.trace_item_stack(context));
32695 let r_brace = pop_item!(self, r_brace, RBrace, context);
32696 let module_group_group_list =
32697 pop_and_reverse_item!(self, module_group_group_list, ModuleGroupGroupList, context);
32698 let l_brace = pop_item!(self, l_brace, LBrace, context);
32699 let module_group_group_0_built = ModuleGroupGroupLBraceModuleGroupGroupListRBrace {
32700 l_brace: Box::new(l_brace),
32701 module_group_group_list,
32702 r_brace: Box::new(r_brace),
32703 };
32704 let module_group_group_0_built =
32705 ModuleGroupGroup::LBraceModuleGroupGroupListRBrace(module_group_group_0_built);
32706 self.push(
32707 ASTType::ModuleGroupGroup(module_group_group_0_built),
32708 context,
32709 );
32710 Ok(())
32711 }
32712
32713 #[parol_runtime::function_name::named]
32718 fn module_group_group_list_0(
32719 &mut self,
32720 _module_group: &ParseTreeType<'t>,
32721 _module_group_group_list: &ParseTreeType<'t>,
32722 ) -> Result<()> {
32723 let context = function_name!();
32724 trace!("{}", self.trace_item_stack(context));
32725 let mut module_group_group_list =
32726 pop_item!(self, module_group_group_list, ModuleGroupGroupList, context);
32727 let module_group = pop_item!(self, module_group, ModuleGroup, context);
32728 let module_group_group_list_0_built = ModuleGroupGroupList {
32729 module_group: Box::new(module_group),
32730 };
32731 module_group_group_list.push(module_group_group_list_0_built);
32733 self.push(
32734 ASTType::ModuleGroupGroupList(module_group_group_list),
32735 context,
32736 );
32737 Ok(())
32738 }
32739
32740 #[parol_runtime::function_name::named]
32745 fn module_group_group_list_1(&mut self) -> Result<()> {
32746 let context = function_name!();
32747 trace!("{}", self.trace_item_stack(context));
32748 let module_group_group_list_1_built = Vec::new();
32749 self.push(
32750 ASTType::ModuleGroupGroupList(module_group_group_list_1_built),
32751 context,
32752 );
32753 Ok(())
32754 }
32755
32756 #[parol_runtime::function_name::named]
32761 fn module_group_group_1(&mut self, _module_item: &ParseTreeType<'t>) -> Result<()> {
32762 let context = function_name!();
32763 trace!("{}", self.trace_item_stack(context));
32764 let module_item = pop_item!(self, module_item, ModuleItem, context);
32765 let module_group_group_1_built = ModuleGroupGroupModuleItem {
32766 module_item: Box::new(module_item),
32767 };
32768 let module_group_group_1_built = ModuleGroupGroup::ModuleItem(module_group_group_1_built);
32769 self.push(
32770 ASTType::ModuleGroupGroup(module_group_group_1_built),
32771 context,
32772 );
32773 Ok(())
32774 }
32775
32776 #[parol_runtime::function_name::named]
32781 fn module_group_list_0(
32782 &mut self,
32783 _attribute: &ParseTreeType<'t>,
32784 _module_group_list: &ParseTreeType<'t>,
32785 ) -> Result<()> {
32786 let context = function_name!();
32787 trace!("{}", self.trace_item_stack(context));
32788 let mut module_group_list = pop_item!(self, module_group_list, ModuleGroupList, context);
32789 let attribute = pop_item!(self, attribute, Attribute, context);
32790 let module_group_list_0_built = ModuleGroupList {
32791 attribute: Box::new(attribute),
32792 };
32793 module_group_list.push(module_group_list_0_built);
32795 self.push(ASTType::ModuleGroupList(module_group_list), context);
32796 Ok(())
32797 }
32798
32799 #[parol_runtime::function_name::named]
32804 fn module_group_list_1(&mut self) -> Result<()> {
32805 let context = function_name!();
32806 trace!("{}", self.trace_item_stack(context));
32807 let module_group_list_1_built = Vec::new();
32808 self.push(ASTType::ModuleGroupList(module_group_list_1_built), context);
32809 Ok(())
32810 }
32811
32812 #[parol_runtime::function_name::named]
32817 fn module_item(&mut self, _generate_item: &ParseTreeType<'t>) -> Result<()> {
32818 let context = function_name!();
32819 trace!("{}", self.trace_item_stack(context));
32820 let generate_item = pop_item!(self, generate_item, GenerateItem, context);
32821 let module_item_built = ModuleItem {
32822 generate_item: Box::new(generate_item),
32823 };
32824 self.user_grammar.module_item(&module_item_built)?;
32826 self.push(ASTType::ModuleItem(module_item_built), context);
32827 Ok(())
32828 }
32829
32830 #[parol_runtime::function_name::named]
32835 fn interface_declaration(
32836 &mut self,
32837 _interface: &ParseTreeType<'t>,
32838 _identifier: &ParseTreeType<'t>,
32839 _interface_declaration_opt: &ParseTreeType<'t>,
32840 _interface_declaration_opt0: &ParseTreeType<'t>,
32841 _l_brace: &ParseTreeType<'t>,
32842 _interface_declaration_list: &ParseTreeType<'t>,
32843 _r_brace: &ParseTreeType<'t>,
32844 ) -> Result<()> {
32845 let context = function_name!();
32846 trace!("{}", self.trace_item_stack(context));
32847 let r_brace = pop_item!(self, r_brace, RBrace, context);
32848 let interface_declaration_list = pop_and_reverse_item!(
32849 self,
32850 interface_declaration_list,
32851 InterfaceDeclarationList,
32852 context
32853 );
32854 let l_brace = pop_item!(self, l_brace, LBrace, context);
32855 let interface_declaration_opt0 = pop_item!(
32856 self,
32857 interface_declaration_opt0,
32858 InterfaceDeclarationOpt0,
32859 context
32860 );
32861 let interface_declaration_opt = pop_item!(
32862 self,
32863 interface_declaration_opt,
32864 InterfaceDeclarationOpt,
32865 context
32866 );
32867 let identifier = pop_item!(self, identifier, Identifier, context);
32868 let interface = pop_item!(self, interface, Interface, context);
32869 let interface_declaration_built = InterfaceDeclaration {
32870 interface: Box::new(interface),
32871 identifier: Box::new(identifier),
32872 interface_declaration_opt,
32873 interface_declaration_opt0,
32874 l_brace: Box::new(l_brace),
32875 interface_declaration_list,
32876 r_brace: Box::new(r_brace),
32877 };
32878 self.user_grammar
32880 .interface_declaration(&interface_declaration_built)?;
32881 self.push(
32882 ASTType::InterfaceDeclaration(interface_declaration_built),
32883 context,
32884 );
32885 Ok(())
32886 }
32887
32888 #[parol_runtime::function_name::named]
32893 fn interface_declaration_list_0(
32894 &mut self,
32895 _interface_group: &ParseTreeType<'t>,
32896 _interface_declaration_list: &ParseTreeType<'t>,
32897 ) -> Result<()> {
32898 let context = function_name!();
32899 trace!("{}", self.trace_item_stack(context));
32900 let mut interface_declaration_list = pop_item!(
32901 self,
32902 interface_declaration_list,
32903 InterfaceDeclarationList,
32904 context
32905 );
32906 let interface_group = pop_item!(self, interface_group, InterfaceGroup, context);
32907 let interface_declaration_list_0_built = InterfaceDeclarationList {
32908 interface_group: Box::new(interface_group),
32909 };
32910 interface_declaration_list.push(interface_declaration_list_0_built);
32912 self.push(
32913 ASTType::InterfaceDeclarationList(interface_declaration_list),
32914 context,
32915 );
32916 Ok(())
32917 }
32918
32919 #[parol_runtime::function_name::named]
32924 fn interface_declaration_list_1(&mut self) -> Result<()> {
32925 let context = function_name!();
32926 trace!("{}", self.trace_item_stack(context));
32927 let interface_declaration_list_1_built = Vec::new();
32928 self.push(
32929 ASTType::InterfaceDeclarationList(interface_declaration_list_1_built),
32930 context,
32931 );
32932 Ok(())
32933 }
32934
32935 #[parol_runtime::function_name::named]
32940 fn interface_declaration_opt0_0(&mut self, _with_parameter: &ParseTreeType<'t>) -> Result<()> {
32941 let context = function_name!();
32942 trace!("{}", self.trace_item_stack(context));
32943 let with_parameter = pop_item!(self, with_parameter, WithParameter, context);
32944 let interface_declaration_opt0_0_built = InterfaceDeclarationOpt0 {
32945 with_parameter: Box::new(with_parameter),
32946 };
32947 self.push(
32948 ASTType::InterfaceDeclarationOpt0(Some(interface_declaration_opt0_0_built)),
32949 context,
32950 );
32951 Ok(())
32952 }
32953
32954 #[parol_runtime::function_name::named]
32959 fn interface_declaration_opt0_1(&mut self) -> Result<()> {
32960 let context = function_name!();
32961 trace!("{}", self.trace_item_stack(context));
32962 self.push(ASTType::InterfaceDeclarationOpt0(None), context);
32963 Ok(())
32964 }
32965
32966 #[parol_runtime::function_name::named]
32971 fn interface_declaration_opt_0(
32972 &mut self,
32973 _with_generic_parameter: &ParseTreeType<'t>,
32974 ) -> Result<()> {
32975 let context = function_name!();
32976 trace!("{}", self.trace_item_stack(context));
32977 let with_generic_parameter =
32978 pop_item!(self, with_generic_parameter, WithGenericParameter, context);
32979 let interface_declaration_opt_0_built = InterfaceDeclarationOpt {
32980 with_generic_parameter: Box::new(with_generic_parameter),
32981 };
32982 self.push(
32983 ASTType::InterfaceDeclarationOpt(Some(interface_declaration_opt_0_built)),
32984 context,
32985 );
32986 Ok(())
32987 }
32988
32989 #[parol_runtime::function_name::named]
32994 fn interface_declaration_opt_1(&mut self) -> Result<()> {
32995 let context = function_name!();
32996 trace!("{}", self.trace_item_stack(context));
32997 self.push(ASTType::InterfaceDeclarationOpt(None), context);
32998 Ok(())
32999 }
33000
33001 #[parol_runtime::function_name::named]
33006 fn interface_group(
33007 &mut self,
33008 _interface_group_list: &ParseTreeType<'t>,
33009 _interface_group_group: &ParseTreeType<'t>,
33010 ) -> Result<()> {
33011 let context = function_name!();
33012 trace!("{}", self.trace_item_stack(context));
33013 let interface_group_group =
33014 pop_item!(self, interface_group_group, InterfaceGroupGroup, context);
33015 let interface_group_list =
33016 pop_and_reverse_item!(self, interface_group_list, InterfaceGroupList, context);
33017 let interface_group_built = InterfaceGroup {
33018 interface_group_list,
33019 interface_group_group: Box::new(interface_group_group),
33020 };
33021 self.user_grammar.interface_group(&interface_group_built)?;
33023 self.push(ASTType::InterfaceGroup(interface_group_built), context);
33024 Ok(())
33025 }
33026
33027 #[parol_runtime::function_name::named]
33032 fn interface_group_group_0(
33033 &mut self,
33034 _l_brace: &ParseTreeType<'t>,
33035 _interface_group_group_list: &ParseTreeType<'t>,
33036 _r_brace: &ParseTreeType<'t>,
33037 ) -> Result<()> {
33038 let context = function_name!();
33039 trace!("{}", self.trace_item_stack(context));
33040 let r_brace = pop_item!(self, r_brace, RBrace, context);
33041 let interface_group_group_list = pop_and_reverse_item!(
33042 self,
33043 interface_group_group_list,
33044 InterfaceGroupGroupList,
33045 context
33046 );
33047 let l_brace = pop_item!(self, l_brace, LBrace, context);
33048 let interface_group_group_0_built =
33049 InterfaceGroupGroupLBraceInterfaceGroupGroupListRBrace {
33050 l_brace: Box::new(l_brace),
33051 interface_group_group_list,
33052 r_brace: Box::new(r_brace),
33053 };
33054 let interface_group_group_0_built =
33055 InterfaceGroupGroup::LBraceInterfaceGroupGroupListRBrace(interface_group_group_0_built);
33056 self.push(
33057 ASTType::InterfaceGroupGroup(interface_group_group_0_built),
33058 context,
33059 );
33060 Ok(())
33061 }
33062
33063 #[parol_runtime::function_name::named]
33068 fn interface_group_group_list_0(
33069 &mut self,
33070 _interface_group: &ParseTreeType<'t>,
33071 _interface_group_group_list: &ParseTreeType<'t>,
33072 ) -> Result<()> {
33073 let context = function_name!();
33074 trace!("{}", self.trace_item_stack(context));
33075 let mut interface_group_group_list = pop_item!(
33076 self,
33077 interface_group_group_list,
33078 InterfaceGroupGroupList,
33079 context
33080 );
33081 let interface_group = pop_item!(self, interface_group, InterfaceGroup, context);
33082 let interface_group_group_list_0_built = InterfaceGroupGroupList {
33083 interface_group: Box::new(interface_group),
33084 };
33085 interface_group_group_list.push(interface_group_group_list_0_built);
33087 self.push(
33088 ASTType::InterfaceGroupGroupList(interface_group_group_list),
33089 context,
33090 );
33091 Ok(())
33092 }
33093
33094 #[parol_runtime::function_name::named]
33099 fn interface_group_group_list_1(&mut self) -> Result<()> {
33100 let context = function_name!();
33101 trace!("{}", self.trace_item_stack(context));
33102 let interface_group_group_list_1_built = Vec::new();
33103 self.push(
33104 ASTType::InterfaceGroupGroupList(interface_group_group_list_1_built),
33105 context,
33106 );
33107 Ok(())
33108 }
33109
33110 #[parol_runtime::function_name::named]
33115 fn interface_group_group_1(&mut self, _interface_item: &ParseTreeType<'t>) -> Result<()> {
33116 let context = function_name!();
33117 trace!("{}", self.trace_item_stack(context));
33118 let interface_item = pop_item!(self, interface_item, InterfaceItem, context);
33119 let interface_group_group_1_built = InterfaceGroupGroupInterfaceItem {
33120 interface_item: Box::new(interface_item),
33121 };
33122 let interface_group_group_1_built =
33123 InterfaceGroupGroup::InterfaceItem(interface_group_group_1_built);
33124 self.push(
33125 ASTType::InterfaceGroupGroup(interface_group_group_1_built),
33126 context,
33127 );
33128 Ok(())
33129 }
33130
33131 #[parol_runtime::function_name::named]
33136 fn interface_group_list_0(
33137 &mut self,
33138 _attribute: &ParseTreeType<'t>,
33139 _interface_group_list: &ParseTreeType<'t>,
33140 ) -> Result<()> {
33141 let context = function_name!();
33142 trace!("{}", self.trace_item_stack(context));
33143 let mut interface_group_list =
33144 pop_item!(self, interface_group_list, InterfaceGroupList, context);
33145 let attribute = pop_item!(self, attribute, Attribute, context);
33146 let interface_group_list_0_built = InterfaceGroupList {
33147 attribute: Box::new(attribute),
33148 };
33149 interface_group_list.push(interface_group_list_0_built);
33151 self.push(ASTType::InterfaceGroupList(interface_group_list), context);
33152 Ok(())
33153 }
33154
33155 #[parol_runtime::function_name::named]
33160 fn interface_group_list_1(&mut self) -> Result<()> {
33161 let context = function_name!();
33162 trace!("{}", self.trace_item_stack(context));
33163 let interface_group_list_1_built = Vec::new();
33164 self.push(
33165 ASTType::InterfaceGroupList(interface_group_list_1_built),
33166 context,
33167 );
33168 Ok(())
33169 }
33170
33171 #[parol_runtime::function_name::named]
33176 fn interface_item_0(&mut self, _generate_item: &ParseTreeType<'t>) -> Result<()> {
33177 let context = function_name!();
33178 trace!("{}", self.trace_item_stack(context));
33179 let generate_item = pop_item!(self, generate_item, GenerateItem, context);
33180 let interface_item_0_built = InterfaceItemGenerateItem {
33181 generate_item: Box::new(generate_item),
33182 };
33183 let interface_item_0_built = InterfaceItem::GenerateItem(interface_item_0_built);
33184 self.user_grammar.interface_item(&interface_item_0_built)?;
33186 self.push(ASTType::InterfaceItem(interface_item_0_built), context);
33187 Ok(())
33188 }
33189
33190 #[parol_runtime::function_name::named]
33195 fn interface_item_1(&mut self, _modport_declaration: &ParseTreeType<'t>) -> Result<()> {
33196 let context = function_name!();
33197 trace!("{}", self.trace_item_stack(context));
33198 let modport_declaration = pop_item!(self, modport_declaration, ModportDeclaration, context);
33199 let interface_item_1_built = InterfaceItemModportDeclaration {
33200 modport_declaration: Box::new(modport_declaration),
33201 };
33202 let interface_item_1_built = InterfaceItem::ModportDeclaration(interface_item_1_built);
33203 self.user_grammar.interface_item(&interface_item_1_built)?;
33205 self.push(ASTType::InterfaceItem(interface_item_1_built), context);
33206 Ok(())
33207 }
33208
33209 #[parol_runtime::function_name::named]
33214 fn generate_if_declaration(
33215 &mut self,
33216 _if: &ParseTreeType<'t>,
33217 _expression: &ParseTreeType<'t>,
33218 _generate_named_block: &ParseTreeType<'t>,
33219 _generate_if_declaration_list: &ParseTreeType<'t>,
33220 _generate_if_declaration_opt: &ParseTreeType<'t>,
33221 ) -> Result<()> {
33222 let context = function_name!();
33223 trace!("{}", self.trace_item_stack(context));
33224 let generate_if_declaration_opt = pop_item!(
33225 self,
33226 generate_if_declaration_opt,
33227 GenerateIfDeclarationOpt,
33228 context
33229 );
33230 let generate_if_declaration_list = pop_and_reverse_item!(
33231 self,
33232 generate_if_declaration_list,
33233 GenerateIfDeclarationList,
33234 context
33235 );
33236 let generate_named_block =
33237 pop_item!(self, generate_named_block, GenerateNamedBlock, context);
33238 let expression = pop_item!(self, expression, Expression, context);
33239 let r#if = pop_item!(self, r#if, If, context);
33240 let generate_if_declaration_built = GenerateIfDeclaration {
33241 r#if: Box::new(r#if),
33242 expression: Box::new(expression),
33243 generate_named_block: Box::new(generate_named_block),
33244 generate_if_declaration_list,
33245 generate_if_declaration_opt,
33246 };
33247 self.user_grammar
33249 .generate_if_declaration(&generate_if_declaration_built)?;
33250 self.push(
33251 ASTType::GenerateIfDeclaration(generate_if_declaration_built),
33252 context,
33253 );
33254 Ok(())
33255 }
33256
33257 #[parol_runtime::function_name::named]
33262 fn generate_if_declaration_list_0(
33263 &mut self,
33264 _else: &ParseTreeType<'t>,
33265 _if: &ParseTreeType<'t>,
33266 _expression: &ParseTreeType<'t>,
33267 _generate_optional_named_block: &ParseTreeType<'t>,
33268 _generate_if_declaration_list: &ParseTreeType<'t>,
33269 ) -> Result<()> {
33270 let context = function_name!();
33271 trace!("{}", self.trace_item_stack(context));
33272 let mut generate_if_declaration_list = pop_item!(
33273 self,
33274 generate_if_declaration_list,
33275 GenerateIfDeclarationList,
33276 context
33277 );
33278 let generate_optional_named_block = pop_item!(
33279 self,
33280 generate_optional_named_block,
33281 GenerateOptionalNamedBlock,
33282 context
33283 );
33284 let expression = pop_item!(self, expression, Expression, context);
33285 let r#if = pop_item!(self, r#if, If, context);
33286 let r#else = pop_item!(self, r#else, Else, context);
33287 let generate_if_declaration_list_0_built = GenerateIfDeclarationList {
33288 generate_optional_named_block: Box::new(generate_optional_named_block),
33289 expression: Box::new(expression),
33290 r#if: Box::new(r#if),
33291 r#else: Box::new(r#else),
33292 };
33293 generate_if_declaration_list.push(generate_if_declaration_list_0_built);
33295 self.push(
33296 ASTType::GenerateIfDeclarationList(generate_if_declaration_list),
33297 context,
33298 );
33299 Ok(())
33300 }
33301
33302 #[parol_runtime::function_name::named]
33307 fn generate_if_declaration_list_1(&mut self) -> Result<()> {
33308 let context = function_name!();
33309 trace!("{}", self.trace_item_stack(context));
33310 let generate_if_declaration_list_1_built = Vec::new();
33311 self.push(
33312 ASTType::GenerateIfDeclarationList(generate_if_declaration_list_1_built),
33313 context,
33314 );
33315 Ok(())
33316 }
33317
33318 #[parol_runtime::function_name::named]
33323 fn generate_if_declaration_opt_0(
33324 &mut self,
33325 _else: &ParseTreeType<'t>,
33326 _generate_optional_named_block: &ParseTreeType<'t>,
33327 ) -> Result<()> {
33328 let context = function_name!();
33329 trace!("{}", self.trace_item_stack(context));
33330 let generate_optional_named_block = pop_item!(
33331 self,
33332 generate_optional_named_block,
33333 GenerateOptionalNamedBlock,
33334 context
33335 );
33336 let r#else = pop_item!(self, r#else, Else, context);
33337 let generate_if_declaration_opt_0_built = GenerateIfDeclarationOpt {
33338 r#else: Box::new(r#else),
33339 generate_optional_named_block: Box::new(generate_optional_named_block),
33340 };
33341 self.push(
33342 ASTType::GenerateIfDeclarationOpt(Some(generate_if_declaration_opt_0_built)),
33343 context,
33344 );
33345 Ok(())
33346 }
33347
33348 #[parol_runtime::function_name::named]
33353 fn generate_if_declaration_opt_1(&mut self) -> Result<()> {
33354 let context = function_name!();
33355 trace!("{}", self.trace_item_stack(context));
33356 self.push(ASTType::GenerateIfDeclarationOpt(None), context);
33357 Ok(())
33358 }
33359
33360 #[parol_runtime::function_name::named]
33365 fn generate_for_declaration(
33366 &mut self,
33367 _for: &ParseTreeType<'t>,
33368 _identifier: &ParseTreeType<'t>,
33369 _in: &ParseTreeType<'t>,
33370 _range: &ParseTreeType<'t>,
33371 _generate_for_declaration_opt: &ParseTreeType<'t>,
33372 _generate_named_block: &ParseTreeType<'t>,
33373 ) -> Result<()> {
33374 let context = function_name!();
33375 trace!("{}", self.trace_item_stack(context));
33376 let generate_named_block =
33377 pop_item!(self, generate_named_block, GenerateNamedBlock, context);
33378 let generate_for_declaration_opt = pop_item!(
33379 self,
33380 generate_for_declaration_opt,
33381 GenerateForDeclarationOpt,
33382 context
33383 );
33384 let range = pop_item!(self, range, Range, context);
33385 let r#in = pop_item!(self, r#in, In, context);
33386 let identifier = pop_item!(self, identifier, Identifier, context);
33387 let r#for = pop_item!(self, r#for, For, context);
33388 let generate_for_declaration_built = GenerateForDeclaration {
33389 r#for: Box::new(r#for),
33390 identifier: Box::new(identifier),
33391 r#in: Box::new(r#in),
33392 range: Box::new(range),
33393 generate_for_declaration_opt,
33394 generate_named_block: Box::new(generate_named_block),
33395 };
33396 self.user_grammar
33398 .generate_for_declaration(&generate_for_declaration_built)?;
33399 self.push(
33400 ASTType::GenerateForDeclaration(generate_for_declaration_built),
33401 context,
33402 );
33403 Ok(())
33404 }
33405
33406 #[parol_runtime::function_name::named]
33411 fn generate_for_declaration_opt_0(
33412 &mut self,
33413 _step: &ParseTreeType<'t>,
33414 _assignment_operator: &ParseTreeType<'t>,
33415 _expression: &ParseTreeType<'t>,
33416 ) -> Result<()> {
33417 let context = function_name!();
33418 trace!("{}", self.trace_item_stack(context));
33419 let expression = pop_item!(self, expression, Expression, context);
33420 let assignment_operator = pop_item!(self, assignment_operator, AssignmentOperator, context);
33421 let step = pop_item!(self, step, Step, context);
33422 let generate_for_declaration_opt_0_built = GenerateForDeclarationOpt {
33423 step: Box::new(step),
33424 assignment_operator: Box::new(assignment_operator),
33425 expression: Box::new(expression),
33426 };
33427 self.push(
33428 ASTType::GenerateForDeclarationOpt(Some(generate_for_declaration_opt_0_built)),
33429 context,
33430 );
33431 Ok(())
33432 }
33433
33434 #[parol_runtime::function_name::named]
33439 fn generate_for_declaration_opt_1(&mut self) -> Result<()> {
33440 let context = function_name!();
33441 trace!("{}", self.trace_item_stack(context));
33442 self.push(ASTType::GenerateForDeclarationOpt(None), context);
33443 Ok(())
33444 }
33445
33446 #[parol_runtime::function_name::named]
33451 fn generate_block_declaration(
33452 &mut self,
33453 _generate_named_block: &ParseTreeType<'t>,
33454 ) -> Result<()> {
33455 let context = function_name!();
33456 trace!("{}", self.trace_item_stack(context));
33457 let generate_named_block =
33458 pop_item!(self, generate_named_block, GenerateNamedBlock, context);
33459 let generate_block_declaration_built = GenerateBlockDeclaration {
33460 generate_named_block: Box::new(generate_named_block),
33461 };
33462 self.user_grammar
33464 .generate_block_declaration(&generate_block_declaration_built)?;
33465 self.push(
33466 ASTType::GenerateBlockDeclaration(generate_block_declaration_built),
33467 context,
33468 );
33469 Ok(())
33470 }
33471
33472 #[parol_runtime::function_name::named]
33477 fn generate_named_block(
33478 &mut self,
33479 _colon: &ParseTreeType<'t>,
33480 _identifier: &ParseTreeType<'t>,
33481 _l_brace: &ParseTreeType<'t>,
33482 _generate_named_block_list: &ParseTreeType<'t>,
33483 _r_brace: &ParseTreeType<'t>,
33484 ) -> Result<()> {
33485 let context = function_name!();
33486 trace!("{}", self.trace_item_stack(context));
33487 let r_brace = pop_item!(self, r_brace, RBrace, context);
33488 let generate_named_block_list = pop_and_reverse_item!(
33489 self,
33490 generate_named_block_list,
33491 GenerateNamedBlockList,
33492 context
33493 );
33494 let l_brace = pop_item!(self, l_brace, LBrace, context);
33495 let identifier = pop_item!(self, identifier, Identifier, context);
33496 let colon = pop_item!(self, colon, Colon, context);
33497 let generate_named_block_built = GenerateNamedBlock {
33498 colon: Box::new(colon),
33499 identifier: Box::new(identifier),
33500 l_brace: Box::new(l_brace),
33501 generate_named_block_list,
33502 r_brace: Box::new(r_brace),
33503 };
33504 self.user_grammar
33506 .generate_named_block(&generate_named_block_built)?;
33507 self.push(
33508 ASTType::GenerateNamedBlock(generate_named_block_built),
33509 context,
33510 );
33511 Ok(())
33512 }
33513
33514 #[parol_runtime::function_name::named]
33519 fn generate_named_block_list_0(
33520 &mut self,
33521 _generate_group: &ParseTreeType<'t>,
33522 _generate_named_block_list: &ParseTreeType<'t>,
33523 ) -> Result<()> {
33524 let context = function_name!();
33525 trace!("{}", self.trace_item_stack(context));
33526 let mut generate_named_block_list = pop_item!(
33527 self,
33528 generate_named_block_list,
33529 GenerateNamedBlockList,
33530 context
33531 );
33532 let generate_group = pop_item!(self, generate_group, GenerateGroup, context);
33533 let generate_named_block_list_0_built = GenerateNamedBlockList {
33534 generate_group: Box::new(generate_group),
33535 };
33536 generate_named_block_list.push(generate_named_block_list_0_built);
33538 self.push(
33539 ASTType::GenerateNamedBlockList(generate_named_block_list),
33540 context,
33541 );
33542 Ok(())
33543 }
33544
33545 #[parol_runtime::function_name::named]
33550 fn generate_named_block_list_1(&mut self) -> Result<()> {
33551 let context = function_name!();
33552 trace!("{}", self.trace_item_stack(context));
33553 let generate_named_block_list_1_built = Vec::new();
33554 self.push(
33555 ASTType::GenerateNamedBlockList(generate_named_block_list_1_built),
33556 context,
33557 );
33558 Ok(())
33559 }
33560
33561 #[parol_runtime::function_name::named]
33566 fn generate_optional_named_block(
33567 &mut self,
33568 _generate_optional_named_block_opt: &ParseTreeType<'t>,
33569 _l_brace: &ParseTreeType<'t>,
33570 _generate_optional_named_block_list: &ParseTreeType<'t>,
33571 _r_brace: &ParseTreeType<'t>,
33572 ) -> Result<()> {
33573 let context = function_name!();
33574 trace!("{}", self.trace_item_stack(context));
33575 let r_brace = pop_item!(self, r_brace, RBrace, context);
33576 let generate_optional_named_block_list = pop_and_reverse_item!(
33577 self,
33578 generate_optional_named_block_list,
33579 GenerateOptionalNamedBlockList,
33580 context
33581 );
33582 let l_brace = pop_item!(self, l_brace, LBrace, context);
33583 let generate_optional_named_block_opt = pop_item!(
33584 self,
33585 generate_optional_named_block_opt,
33586 GenerateOptionalNamedBlockOpt,
33587 context
33588 );
33589 let generate_optional_named_block_built = GenerateOptionalNamedBlock {
33590 generate_optional_named_block_opt,
33591 l_brace: Box::new(l_brace),
33592 generate_optional_named_block_list,
33593 r_brace: Box::new(r_brace),
33594 };
33595 self.user_grammar
33597 .generate_optional_named_block(&generate_optional_named_block_built)?;
33598 self.push(
33599 ASTType::GenerateOptionalNamedBlock(generate_optional_named_block_built),
33600 context,
33601 );
33602 Ok(())
33603 }
33604
33605 #[parol_runtime::function_name::named]
33610 fn generate_optional_named_block_list_0(
33611 &mut self,
33612 _generate_group: &ParseTreeType<'t>,
33613 _generate_optional_named_block_list: &ParseTreeType<'t>,
33614 ) -> Result<()> {
33615 let context = function_name!();
33616 trace!("{}", self.trace_item_stack(context));
33617 let mut generate_optional_named_block_list = pop_item!(
33618 self,
33619 generate_optional_named_block_list,
33620 GenerateOptionalNamedBlockList,
33621 context
33622 );
33623 let generate_group = pop_item!(self, generate_group, GenerateGroup, context);
33624 let generate_optional_named_block_list_0_built = GenerateOptionalNamedBlockList {
33625 generate_group: Box::new(generate_group),
33626 };
33627 generate_optional_named_block_list.push(generate_optional_named_block_list_0_built);
33629 self.push(
33630 ASTType::GenerateOptionalNamedBlockList(generate_optional_named_block_list),
33631 context,
33632 );
33633 Ok(())
33634 }
33635
33636 #[parol_runtime::function_name::named]
33641 fn generate_optional_named_block_list_1(&mut self) -> Result<()> {
33642 let context = function_name!();
33643 trace!("{}", self.trace_item_stack(context));
33644 let generate_optional_named_block_list_1_built = Vec::new();
33645 self.push(
33646 ASTType::GenerateOptionalNamedBlockList(generate_optional_named_block_list_1_built),
33647 context,
33648 );
33649 Ok(())
33650 }
33651
33652 #[parol_runtime::function_name::named]
33657 fn generate_optional_named_block_opt_0(
33658 &mut self,
33659 _colon: &ParseTreeType<'t>,
33660 _identifier: &ParseTreeType<'t>,
33661 ) -> Result<()> {
33662 let context = function_name!();
33663 trace!("{}", self.trace_item_stack(context));
33664 let identifier = pop_item!(self, identifier, Identifier, context);
33665 let colon = pop_item!(self, colon, Colon, context);
33666 let generate_optional_named_block_opt_0_built = GenerateOptionalNamedBlockOpt {
33667 colon: Box::new(colon),
33668 identifier: Box::new(identifier),
33669 };
33670 self.push(
33671 ASTType::GenerateOptionalNamedBlockOpt(Some(generate_optional_named_block_opt_0_built)),
33672 context,
33673 );
33674 Ok(())
33675 }
33676
33677 #[parol_runtime::function_name::named]
33682 fn generate_optional_named_block_opt_1(&mut self) -> Result<()> {
33683 let context = function_name!();
33684 trace!("{}", self.trace_item_stack(context));
33685 self.push(ASTType::GenerateOptionalNamedBlockOpt(None), context);
33686 Ok(())
33687 }
33688
33689 #[parol_runtime::function_name::named]
33694 fn generate_group(
33695 &mut self,
33696 _generate_group_list: &ParseTreeType<'t>,
33697 _generate_group_group: &ParseTreeType<'t>,
33698 ) -> Result<()> {
33699 let context = function_name!();
33700 trace!("{}", self.trace_item_stack(context));
33701 let generate_group_group =
33702 pop_item!(self, generate_group_group, GenerateGroupGroup, context);
33703 let generate_group_list =
33704 pop_and_reverse_item!(self, generate_group_list, GenerateGroupList, context);
33705 let generate_group_built = GenerateGroup {
33706 generate_group_list,
33707 generate_group_group: Box::new(generate_group_group),
33708 };
33709 self.user_grammar.generate_group(&generate_group_built)?;
33711 self.push(ASTType::GenerateGroup(generate_group_built), context);
33712 Ok(())
33713 }
33714
33715 #[parol_runtime::function_name::named]
33720 fn generate_group_group_0(
33721 &mut self,
33722 _l_brace: &ParseTreeType<'t>,
33723 _generate_group_group_list: &ParseTreeType<'t>,
33724 _r_brace: &ParseTreeType<'t>,
33725 ) -> Result<()> {
33726 let context = function_name!();
33727 trace!("{}", self.trace_item_stack(context));
33728 let r_brace = pop_item!(self, r_brace, RBrace, context);
33729 let generate_group_group_list = pop_and_reverse_item!(
33730 self,
33731 generate_group_group_list,
33732 GenerateGroupGroupList,
33733 context
33734 );
33735 let l_brace = pop_item!(self, l_brace, LBrace, context);
33736 let generate_group_group_0_built = GenerateGroupGroupLBraceGenerateGroupGroupListRBrace {
33737 l_brace: Box::new(l_brace),
33738 generate_group_group_list,
33739 r_brace: Box::new(r_brace),
33740 };
33741 let generate_group_group_0_built =
33742 GenerateGroupGroup::LBraceGenerateGroupGroupListRBrace(generate_group_group_0_built);
33743 self.push(
33744 ASTType::GenerateGroupGroup(generate_group_group_0_built),
33745 context,
33746 );
33747 Ok(())
33748 }
33749
33750 #[parol_runtime::function_name::named]
33755 fn generate_group_group_list_0(
33756 &mut self,
33757 _generate_group: &ParseTreeType<'t>,
33758 _generate_group_group_list: &ParseTreeType<'t>,
33759 ) -> Result<()> {
33760 let context = function_name!();
33761 trace!("{}", self.trace_item_stack(context));
33762 let mut generate_group_group_list = pop_item!(
33763 self,
33764 generate_group_group_list,
33765 GenerateGroupGroupList,
33766 context
33767 );
33768 let generate_group = pop_item!(self, generate_group, GenerateGroup, context);
33769 let generate_group_group_list_0_built = GenerateGroupGroupList {
33770 generate_group: Box::new(generate_group),
33771 };
33772 generate_group_group_list.push(generate_group_group_list_0_built);
33774 self.push(
33775 ASTType::GenerateGroupGroupList(generate_group_group_list),
33776 context,
33777 );
33778 Ok(())
33779 }
33780
33781 #[parol_runtime::function_name::named]
33786 fn generate_group_group_list_1(&mut self) -> Result<()> {
33787 let context = function_name!();
33788 trace!("{}", self.trace_item_stack(context));
33789 let generate_group_group_list_1_built = Vec::new();
33790 self.push(
33791 ASTType::GenerateGroupGroupList(generate_group_group_list_1_built),
33792 context,
33793 );
33794 Ok(())
33795 }
33796
33797 #[parol_runtime::function_name::named]
33802 fn generate_group_group_1(&mut self, _generate_item: &ParseTreeType<'t>) -> Result<()> {
33803 let context = function_name!();
33804 trace!("{}", self.trace_item_stack(context));
33805 let generate_item = pop_item!(self, generate_item, GenerateItem, context);
33806 let generate_group_group_1_built = GenerateGroupGroupGenerateItem {
33807 generate_item: Box::new(generate_item),
33808 };
33809 let generate_group_group_1_built =
33810 GenerateGroupGroup::GenerateItem(generate_group_group_1_built);
33811 self.push(
33812 ASTType::GenerateGroupGroup(generate_group_group_1_built),
33813 context,
33814 );
33815 Ok(())
33816 }
33817
33818 #[parol_runtime::function_name::named]
33823 fn generate_group_list_0(
33824 &mut self,
33825 _attribute: &ParseTreeType<'t>,
33826 _generate_group_list: &ParseTreeType<'t>,
33827 ) -> Result<()> {
33828 let context = function_name!();
33829 trace!("{}", self.trace_item_stack(context));
33830 let mut generate_group_list =
33831 pop_item!(self, generate_group_list, GenerateGroupList, context);
33832 let attribute = pop_item!(self, attribute, Attribute, context);
33833 let generate_group_list_0_built = GenerateGroupList {
33834 attribute: Box::new(attribute),
33835 };
33836 generate_group_list.push(generate_group_list_0_built);
33838 self.push(ASTType::GenerateGroupList(generate_group_list), context);
33839 Ok(())
33840 }
33841
33842 #[parol_runtime::function_name::named]
33847 fn generate_group_list_1(&mut self) -> Result<()> {
33848 let context = function_name!();
33849 trace!("{}", self.trace_item_stack(context));
33850 let generate_group_list_1_built = Vec::new();
33851 self.push(
33852 ASTType::GenerateGroupList(generate_group_list_1_built),
33853 context,
33854 );
33855 Ok(())
33856 }
33857
33858 #[parol_runtime::function_name::named]
33863 fn generate_item_0(&mut self, _let_declaration: &ParseTreeType<'t>) -> Result<()> {
33864 let context = function_name!();
33865 trace!("{}", self.trace_item_stack(context));
33866 let let_declaration = pop_item!(self, let_declaration, LetDeclaration, context);
33867 let generate_item_0_built = GenerateItemLetDeclaration {
33868 let_declaration: Box::new(let_declaration),
33869 };
33870 let generate_item_0_built = GenerateItem::LetDeclaration(generate_item_0_built);
33871 self.user_grammar.generate_item(&generate_item_0_built)?;
33873 self.push(ASTType::GenerateItem(generate_item_0_built), context);
33874 Ok(())
33875 }
33876
33877 #[parol_runtime::function_name::named]
33882 fn generate_item_1(&mut self, _var_declaration: &ParseTreeType<'t>) -> Result<()> {
33883 let context = function_name!();
33884 trace!("{}", self.trace_item_stack(context));
33885 let var_declaration = pop_item!(self, var_declaration, VarDeclaration, context);
33886 let generate_item_1_built = GenerateItemVarDeclaration {
33887 var_declaration: Box::new(var_declaration),
33888 };
33889 let generate_item_1_built = GenerateItem::VarDeclaration(generate_item_1_built);
33890 self.user_grammar.generate_item(&generate_item_1_built)?;
33892 self.push(ASTType::GenerateItem(generate_item_1_built), context);
33893 Ok(())
33894 }
33895
33896 #[parol_runtime::function_name::named]
33901 fn generate_item_2(&mut self, _inst_declaration: &ParseTreeType<'t>) -> Result<()> {
33902 let context = function_name!();
33903 trace!("{}", self.trace_item_stack(context));
33904 let inst_declaration = pop_item!(self, inst_declaration, InstDeclaration, context);
33905 let generate_item_2_built = GenerateItemInstDeclaration {
33906 inst_declaration: Box::new(inst_declaration),
33907 };
33908 let generate_item_2_built = GenerateItem::InstDeclaration(generate_item_2_built);
33909 self.user_grammar.generate_item(&generate_item_2_built)?;
33911 self.push(ASTType::GenerateItem(generate_item_2_built), context);
33912 Ok(())
33913 }
33914
33915 #[parol_runtime::function_name::named]
33920 fn generate_item_3(&mut self, _const_declaration: &ParseTreeType<'t>) -> Result<()> {
33921 let context = function_name!();
33922 trace!("{}", self.trace_item_stack(context));
33923 let const_declaration = pop_item!(self, const_declaration, ConstDeclaration, context);
33924 let generate_item_3_built = GenerateItemConstDeclaration {
33925 const_declaration: Box::new(const_declaration),
33926 };
33927 let generate_item_3_built = GenerateItem::ConstDeclaration(generate_item_3_built);
33928 self.user_grammar.generate_item(&generate_item_3_built)?;
33930 self.push(ASTType::GenerateItem(generate_item_3_built), context);
33931 Ok(())
33932 }
33933
33934 #[parol_runtime::function_name::named]
33939 fn generate_item_4(&mut self, _always_ff_declaration: &ParseTreeType<'t>) -> Result<()> {
33940 let context = function_name!();
33941 trace!("{}", self.trace_item_stack(context));
33942 let always_ff_declaration =
33943 pop_item!(self, always_ff_declaration, AlwaysFfDeclaration, context);
33944 let generate_item_4_built = GenerateItemAlwaysFfDeclaration {
33945 always_ff_declaration: Box::new(always_ff_declaration),
33946 };
33947 let generate_item_4_built = GenerateItem::AlwaysFfDeclaration(generate_item_4_built);
33948 self.user_grammar.generate_item(&generate_item_4_built)?;
33950 self.push(ASTType::GenerateItem(generate_item_4_built), context);
33951 Ok(())
33952 }
33953
33954 #[parol_runtime::function_name::named]
33959 fn generate_item_5(&mut self, _always_comb_declaration: &ParseTreeType<'t>) -> Result<()> {
33960 let context = function_name!();
33961 trace!("{}", self.trace_item_stack(context));
33962 let always_comb_declaration = pop_item!(
33963 self,
33964 always_comb_declaration,
33965 AlwaysCombDeclaration,
33966 context
33967 );
33968 let generate_item_5_built = GenerateItemAlwaysCombDeclaration {
33969 always_comb_declaration: Box::new(always_comb_declaration),
33970 };
33971 let generate_item_5_built = GenerateItem::AlwaysCombDeclaration(generate_item_5_built);
33972 self.user_grammar.generate_item(&generate_item_5_built)?;
33974 self.push(ASTType::GenerateItem(generate_item_5_built), context);
33975 Ok(())
33976 }
33977
33978 #[parol_runtime::function_name::named]
33983 fn generate_item_6(&mut self, _assign_declaration: &ParseTreeType<'t>) -> Result<()> {
33984 let context = function_name!();
33985 trace!("{}", self.trace_item_stack(context));
33986 let assign_declaration = pop_item!(self, assign_declaration, AssignDeclaration, context);
33987 let generate_item_6_built = GenerateItemAssignDeclaration {
33988 assign_declaration: Box::new(assign_declaration),
33989 };
33990 let generate_item_6_built = GenerateItem::AssignDeclaration(generate_item_6_built);
33991 self.user_grammar.generate_item(&generate_item_6_built)?;
33993 self.push(ASTType::GenerateItem(generate_item_6_built), context);
33994 Ok(())
33995 }
33996
33997 #[parol_runtime::function_name::named]
34002 fn generate_item_7(&mut self, _function_declaration: &ParseTreeType<'t>) -> Result<()> {
34003 let context = function_name!();
34004 trace!("{}", self.trace_item_stack(context));
34005 let function_declaration =
34006 pop_item!(self, function_declaration, FunctionDeclaration, context);
34007 let generate_item_7_built = GenerateItemFunctionDeclaration {
34008 function_declaration: Box::new(function_declaration),
34009 };
34010 let generate_item_7_built = GenerateItem::FunctionDeclaration(generate_item_7_built);
34011 self.user_grammar.generate_item(&generate_item_7_built)?;
34013 self.push(ASTType::GenerateItem(generate_item_7_built), context);
34014 Ok(())
34015 }
34016
34017 #[parol_runtime::function_name::named]
34022 fn generate_item_8(&mut self, _generate_if_declaration: &ParseTreeType<'t>) -> Result<()> {
34023 let context = function_name!();
34024 trace!("{}", self.trace_item_stack(context));
34025 let generate_if_declaration = pop_item!(
34026 self,
34027 generate_if_declaration,
34028 GenerateIfDeclaration,
34029 context
34030 );
34031 let generate_item_8_built = GenerateItemGenerateIfDeclaration {
34032 generate_if_declaration: Box::new(generate_if_declaration),
34033 };
34034 let generate_item_8_built = GenerateItem::GenerateIfDeclaration(generate_item_8_built);
34035 self.user_grammar.generate_item(&generate_item_8_built)?;
34037 self.push(ASTType::GenerateItem(generate_item_8_built), context);
34038 Ok(())
34039 }
34040
34041 #[parol_runtime::function_name::named]
34046 fn generate_item_9(&mut self, _generate_for_declaration: &ParseTreeType<'t>) -> Result<()> {
34047 let context = function_name!();
34048 trace!("{}", self.trace_item_stack(context));
34049 let generate_for_declaration = pop_item!(
34050 self,
34051 generate_for_declaration,
34052 GenerateForDeclaration,
34053 context
34054 );
34055 let generate_item_9_built = GenerateItemGenerateForDeclaration {
34056 generate_for_declaration: Box::new(generate_for_declaration),
34057 };
34058 let generate_item_9_built = GenerateItem::GenerateForDeclaration(generate_item_9_built);
34059 self.user_grammar.generate_item(&generate_item_9_built)?;
34061 self.push(ASTType::GenerateItem(generate_item_9_built), context);
34062 Ok(())
34063 }
34064
34065 #[parol_runtime::function_name::named]
34070 fn generate_item_10(&mut self, _generate_block_declaration: &ParseTreeType<'t>) -> Result<()> {
34071 let context = function_name!();
34072 trace!("{}", self.trace_item_stack(context));
34073 let generate_block_declaration = pop_item!(
34074 self,
34075 generate_block_declaration,
34076 GenerateBlockDeclaration,
34077 context
34078 );
34079 let generate_item_10_built = GenerateItemGenerateBlockDeclaration {
34080 generate_block_declaration: Box::new(generate_block_declaration),
34081 };
34082 let generate_item_10_built = GenerateItem::GenerateBlockDeclaration(generate_item_10_built);
34083 self.user_grammar.generate_item(&generate_item_10_built)?;
34085 self.push(ASTType::GenerateItem(generate_item_10_built), context);
34086 Ok(())
34087 }
34088
34089 #[parol_runtime::function_name::named]
34094 fn generate_item_11(&mut self, _type_def_declaration: &ParseTreeType<'t>) -> Result<()> {
34095 let context = function_name!();
34096 trace!("{}", self.trace_item_stack(context));
34097 let type_def_declaration =
34098 pop_item!(self, type_def_declaration, TypeDefDeclaration, context);
34099 let generate_item_11_built = GenerateItemTypeDefDeclaration {
34100 type_def_declaration: Box::new(type_def_declaration),
34101 };
34102 let generate_item_11_built = GenerateItem::TypeDefDeclaration(generate_item_11_built);
34103 self.user_grammar.generate_item(&generate_item_11_built)?;
34105 self.push(ASTType::GenerateItem(generate_item_11_built), context);
34106 Ok(())
34107 }
34108
34109 #[parol_runtime::function_name::named]
34114 fn generate_item_12(&mut self, _enum_declaration: &ParseTreeType<'t>) -> Result<()> {
34115 let context = function_name!();
34116 trace!("{}", self.trace_item_stack(context));
34117 let enum_declaration = pop_item!(self, enum_declaration, EnumDeclaration, context);
34118 let generate_item_12_built = GenerateItemEnumDeclaration {
34119 enum_declaration: Box::new(enum_declaration),
34120 };
34121 let generate_item_12_built = GenerateItem::EnumDeclaration(generate_item_12_built);
34122 self.user_grammar.generate_item(&generate_item_12_built)?;
34124 self.push(ASTType::GenerateItem(generate_item_12_built), context);
34125 Ok(())
34126 }
34127
34128 #[parol_runtime::function_name::named]
34133 fn generate_item_13(&mut self, _struct_union_declaration: &ParseTreeType<'t>) -> Result<()> {
34134 let context = function_name!();
34135 trace!("{}", self.trace_item_stack(context));
34136 let struct_union_declaration = pop_item!(
34137 self,
34138 struct_union_declaration,
34139 StructUnionDeclaration,
34140 context
34141 );
34142 let generate_item_13_built = GenerateItemStructUnionDeclaration {
34143 struct_union_declaration: Box::new(struct_union_declaration),
34144 };
34145 let generate_item_13_built = GenerateItem::StructUnionDeclaration(generate_item_13_built);
34146 self.user_grammar.generate_item(&generate_item_13_built)?;
34148 self.push(ASTType::GenerateItem(generate_item_13_built), context);
34149 Ok(())
34150 }
34151
34152 #[parol_runtime::function_name::named]
34157 fn generate_item_14(&mut self, _import_declaration: &ParseTreeType<'t>) -> Result<()> {
34158 let context = function_name!();
34159 trace!("{}", self.trace_item_stack(context));
34160 let import_declaration = pop_item!(self, import_declaration, ImportDeclaration, context);
34161 let generate_item_14_built = GenerateItemImportDeclaration {
34162 import_declaration: Box::new(import_declaration),
34163 };
34164 let generate_item_14_built = GenerateItem::ImportDeclaration(generate_item_14_built);
34165 self.user_grammar.generate_item(&generate_item_14_built)?;
34167 self.push(ASTType::GenerateItem(generate_item_14_built), context);
34168 Ok(())
34169 }
34170
34171 #[parol_runtime::function_name::named]
34176 fn generate_item_15(&mut self, _initial_declaration: &ParseTreeType<'t>) -> Result<()> {
34177 let context = function_name!();
34178 trace!("{}", self.trace_item_stack(context));
34179 let initial_declaration = pop_item!(self, initial_declaration, InitialDeclaration, context);
34180 let generate_item_15_built = GenerateItemInitialDeclaration {
34181 initial_declaration: Box::new(initial_declaration),
34182 };
34183 let generate_item_15_built = GenerateItem::InitialDeclaration(generate_item_15_built);
34184 self.user_grammar.generate_item(&generate_item_15_built)?;
34186 self.push(ASTType::GenerateItem(generate_item_15_built), context);
34187 Ok(())
34188 }
34189
34190 #[parol_runtime::function_name::named]
34195 fn generate_item_16(&mut self, _final_declaration: &ParseTreeType<'t>) -> Result<()> {
34196 let context = function_name!();
34197 trace!("{}", self.trace_item_stack(context));
34198 let final_declaration = pop_item!(self, final_declaration, FinalDeclaration, context);
34199 let generate_item_16_built = GenerateItemFinalDeclaration {
34200 final_declaration: Box::new(final_declaration),
34201 };
34202 let generate_item_16_built = GenerateItem::FinalDeclaration(generate_item_16_built);
34203 self.user_grammar.generate_item(&generate_item_16_built)?;
34205 self.push(ASTType::GenerateItem(generate_item_16_built), context);
34206 Ok(())
34207 }
34208
34209 #[parol_runtime::function_name::named]
34214 fn generate_item_17(&mut self, _unsafe_block: &ParseTreeType<'t>) -> Result<()> {
34215 let context = function_name!();
34216 trace!("{}", self.trace_item_stack(context));
34217 let unsafe_block = pop_item!(self, unsafe_block, UnsafeBlock, context);
34218 let generate_item_17_built = GenerateItemUnsafeBlock {
34219 unsafe_block: Box::new(unsafe_block),
34220 };
34221 let generate_item_17_built = GenerateItem::UnsafeBlock(generate_item_17_built);
34222 self.user_grammar.generate_item(&generate_item_17_built)?;
34224 self.push(ASTType::GenerateItem(generate_item_17_built), context);
34225 Ok(())
34226 }
34227
34228 #[parol_runtime::function_name::named]
34233 fn package_declaration(
34234 &mut self,
34235 _package: &ParseTreeType<'t>,
34236 _identifier: &ParseTreeType<'t>,
34237 _package_declaration_opt: &ParseTreeType<'t>,
34238 _l_brace: &ParseTreeType<'t>,
34239 _package_declaration_list: &ParseTreeType<'t>,
34240 _r_brace: &ParseTreeType<'t>,
34241 ) -> Result<()> {
34242 let context = function_name!();
34243 trace!("{}", self.trace_item_stack(context));
34244 let r_brace = pop_item!(self, r_brace, RBrace, context);
34245 let package_declaration_list = pop_and_reverse_item!(
34246 self,
34247 package_declaration_list,
34248 PackageDeclarationList,
34249 context
34250 );
34251 let l_brace = pop_item!(self, l_brace, LBrace, context);
34252 let package_declaration_opt = pop_item!(
34253 self,
34254 package_declaration_opt,
34255 PackageDeclarationOpt,
34256 context
34257 );
34258 let identifier = pop_item!(self, identifier, Identifier, context);
34259 let package = pop_item!(self, package, Package, context);
34260 let package_declaration_built = PackageDeclaration {
34261 package: Box::new(package),
34262 identifier: Box::new(identifier),
34263 package_declaration_opt,
34264 l_brace: Box::new(l_brace),
34265 package_declaration_list,
34266 r_brace: Box::new(r_brace),
34267 };
34268 self.user_grammar
34270 .package_declaration(&package_declaration_built)?;
34271 self.push(
34272 ASTType::PackageDeclaration(package_declaration_built),
34273 context,
34274 );
34275 Ok(())
34276 }
34277
34278 #[parol_runtime::function_name::named]
34283 fn package_declaration_list_0(
34284 &mut self,
34285 _package_group: &ParseTreeType<'t>,
34286 _package_declaration_list: &ParseTreeType<'t>,
34287 ) -> Result<()> {
34288 let context = function_name!();
34289 trace!("{}", self.trace_item_stack(context));
34290 let mut package_declaration_list = pop_item!(
34291 self,
34292 package_declaration_list,
34293 PackageDeclarationList,
34294 context
34295 );
34296 let package_group = pop_item!(self, package_group, PackageGroup, context);
34297 let package_declaration_list_0_built = PackageDeclarationList {
34298 package_group: Box::new(package_group),
34299 };
34300 package_declaration_list.push(package_declaration_list_0_built);
34302 self.push(
34303 ASTType::PackageDeclarationList(package_declaration_list),
34304 context,
34305 );
34306 Ok(())
34307 }
34308
34309 #[parol_runtime::function_name::named]
34314 fn package_declaration_list_1(&mut self) -> Result<()> {
34315 let context = function_name!();
34316 trace!("{}", self.trace_item_stack(context));
34317 let package_declaration_list_1_built = Vec::new();
34318 self.push(
34319 ASTType::PackageDeclarationList(package_declaration_list_1_built),
34320 context,
34321 );
34322 Ok(())
34323 }
34324
34325 #[parol_runtime::function_name::named]
34330 fn package_declaration_opt_0(
34331 &mut self,
34332 _with_generic_parameter: &ParseTreeType<'t>,
34333 ) -> Result<()> {
34334 let context = function_name!();
34335 trace!("{}", self.trace_item_stack(context));
34336 let with_generic_parameter =
34337 pop_item!(self, with_generic_parameter, WithGenericParameter, context);
34338 let package_declaration_opt_0_built = PackageDeclarationOpt {
34339 with_generic_parameter: Box::new(with_generic_parameter),
34340 };
34341 self.push(
34342 ASTType::PackageDeclarationOpt(Some(package_declaration_opt_0_built)),
34343 context,
34344 );
34345 Ok(())
34346 }
34347
34348 #[parol_runtime::function_name::named]
34353 fn package_declaration_opt_1(&mut self) -> Result<()> {
34354 let context = function_name!();
34355 trace!("{}", self.trace_item_stack(context));
34356 self.push(ASTType::PackageDeclarationOpt(None), context);
34357 Ok(())
34358 }
34359
34360 #[parol_runtime::function_name::named]
34365 fn package_group(
34366 &mut self,
34367 _package_group_list: &ParseTreeType<'t>,
34368 _package_group_group: &ParseTreeType<'t>,
34369 ) -> Result<()> {
34370 let context = function_name!();
34371 trace!("{}", self.trace_item_stack(context));
34372 let package_group_group = pop_item!(self, package_group_group, PackageGroupGroup, context);
34373 let package_group_list =
34374 pop_and_reverse_item!(self, package_group_list, PackageGroupList, context);
34375 let package_group_built = PackageGroup {
34376 package_group_list,
34377 package_group_group: Box::new(package_group_group),
34378 };
34379 self.user_grammar.package_group(&package_group_built)?;
34381 self.push(ASTType::PackageGroup(package_group_built), context);
34382 Ok(())
34383 }
34384
34385 #[parol_runtime::function_name::named]
34390 fn package_group_group_0(
34391 &mut self,
34392 _l_brace: &ParseTreeType<'t>,
34393 _package_group_group_list: &ParseTreeType<'t>,
34394 _r_brace: &ParseTreeType<'t>,
34395 ) -> Result<()> {
34396 let context = function_name!();
34397 trace!("{}", self.trace_item_stack(context));
34398 let r_brace = pop_item!(self, r_brace, RBrace, context);
34399 let package_group_group_list = pop_and_reverse_item!(
34400 self,
34401 package_group_group_list,
34402 PackageGroupGroupList,
34403 context
34404 );
34405 let l_brace = pop_item!(self, l_brace, LBrace, context);
34406 let package_group_group_0_built = PackageGroupGroupLBracePackageGroupGroupListRBrace {
34407 l_brace: Box::new(l_brace),
34408 package_group_group_list,
34409 r_brace: Box::new(r_brace),
34410 };
34411 let package_group_group_0_built =
34412 PackageGroupGroup::LBracePackageGroupGroupListRBrace(package_group_group_0_built);
34413 self.push(
34414 ASTType::PackageGroupGroup(package_group_group_0_built),
34415 context,
34416 );
34417 Ok(())
34418 }
34419
34420 #[parol_runtime::function_name::named]
34425 fn package_group_group_list_0(
34426 &mut self,
34427 _package_group: &ParseTreeType<'t>,
34428 _package_group_group_list: &ParseTreeType<'t>,
34429 ) -> Result<()> {
34430 let context = function_name!();
34431 trace!("{}", self.trace_item_stack(context));
34432 let mut package_group_group_list = pop_item!(
34433 self,
34434 package_group_group_list,
34435 PackageGroupGroupList,
34436 context
34437 );
34438 let package_group = pop_item!(self, package_group, PackageGroup, context);
34439 let package_group_group_list_0_built = PackageGroupGroupList {
34440 package_group: Box::new(package_group),
34441 };
34442 package_group_group_list.push(package_group_group_list_0_built);
34444 self.push(
34445 ASTType::PackageGroupGroupList(package_group_group_list),
34446 context,
34447 );
34448 Ok(())
34449 }
34450
34451 #[parol_runtime::function_name::named]
34456 fn package_group_group_list_1(&mut self) -> Result<()> {
34457 let context = function_name!();
34458 trace!("{}", self.trace_item_stack(context));
34459 let package_group_group_list_1_built = Vec::new();
34460 self.push(
34461 ASTType::PackageGroupGroupList(package_group_group_list_1_built),
34462 context,
34463 );
34464 Ok(())
34465 }
34466
34467 #[parol_runtime::function_name::named]
34472 fn package_group_group_1(&mut self, _package_item: &ParseTreeType<'t>) -> Result<()> {
34473 let context = function_name!();
34474 trace!("{}", self.trace_item_stack(context));
34475 let package_item = pop_item!(self, package_item, PackageItem, context);
34476 let package_group_group_1_built = PackageGroupGroupPackageItem {
34477 package_item: Box::new(package_item),
34478 };
34479 let package_group_group_1_built =
34480 PackageGroupGroup::PackageItem(package_group_group_1_built);
34481 self.push(
34482 ASTType::PackageGroupGroup(package_group_group_1_built),
34483 context,
34484 );
34485 Ok(())
34486 }
34487
34488 #[parol_runtime::function_name::named]
34493 fn package_group_list_0(
34494 &mut self,
34495 _attribute: &ParseTreeType<'t>,
34496 _package_group_list: &ParseTreeType<'t>,
34497 ) -> Result<()> {
34498 let context = function_name!();
34499 trace!("{}", self.trace_item_stack(context));
34500 let mut package_group_list = pop_item!(self, package_group_list, PackageGroupList, context);
34501 let attribute = pop_item!(self, attribute, Attribute, context);
34502 let package_group_list_0_built = PackageGroupList {
34503 attribute: Box::new(attribute),
34504 };
34505 package_group_list.push(package_group_list_0_built);
34507 self.push(ASTType::PackageGroupList(package_group_list), context);
34508 Ok(())
34509 }
34510
34511 #[parol_runtime::function_name::named]
34516 fn package_group_list_1(&mut self) -> Result<()> {
34517 let context = function_name!();
34518 trace!("{}", self.trace_item_stack(context));
34519 let package_group_list_1_built = Vec::new();
34520 self.push(
34521 ASTType::PackageGroupList(package_group_list_1_built),
34522 context,
34523 );
34524 Ok(())
34525 }
34526
34527 #[parol_runtime::function_name::named]
34532 fn package_item_0(&mut self, _const_declaration: &ParseTreeType<'t>) -> Result<()> {
34533 let context = function_name!();
34534 trace!("{}", self.trace_item_stack(context));
34535 let const_declaration = pop_item!(self, const_declaration, ConstDeclaration, context);
34536 let package_item_0_built = PackageItemConstDeclaration {
34537 const_declaration: Box::new(const_declaration),
34538 };
34539 let package_item_0_built = PackageItem::ConstDeclaration(package_item_0_built);
34540 self.user_grammar.package_item(&package_item_0_built)?;
34542 self.push(ASTType::PackageItem(package_item_0_built), context);
34543 Ok(())
34544 }
34545
34546 #[parol_runtime::function_name::named]
34551 fn package_item_1(&mut self, _type_def_declaration: &ParseTreeType<'t>) -> Result<()> {
34552 let context = function_name!();
34553 trace!("{}", self.trace_item_stack(context));
34554 let type_def_declaration =
34555 pop_item!(self, type_def_declaration, TypeDefDeclaration, context);
34556 let package_item_1_built = PackageItemTypeDefDeclaration {
34557 type_def_declaration: Box::new(type_def_declaration),
34558 };
34559 let package_item_1_built = PackageItem::TypeDefDeclaration(package_item_1_built);
34560 self.user_grammar.package_item(&package_item_1_built)?;
34562 self.push(ASTType::PackageItem(package_item_1_built), context);
34563 Ok(())
34564 }
34565
34566 #[parol_runtime::function_name::named]
34571 fn package_item_2(&mut self, _enum_declaration: &ParseTreeType<'t>) -> Result<()> {
34572 let context = function_name!();
34573 trace!("{}", self.trace_item_stack(context));
34574 let enum_declaration = pop_item!(self, enum_declaration, EnumDeclaration, context);
34575 let package_item_2_built = PackageItemEnumDeclaration {
34576 enum_declaration: Box::new(enum_declaration),
34577 };
34578 let package_item_2_built = PackageItem::EnumDeclaration(package_item_2_built);
34579 self.user_grammar.package_item(&package_item_2_built)?;
34581 self.push(ASTType::PackageItem(package_item_2_built), context);
34582 Ok(())
34583 }
34584
34585 #[parol_runtime::function_name::named]
34590 fn package_item_3(&mut self, _struct_union_declaration: &ParseTreeType<'t>) -> Result<()> {
34591 let context = function_name!();
34592 trace!("{}", self.trace_item_stack(context));
34593 let struct_union_declaration = pop_item!(
34594 self,
34595 struct_union_declaration,
34596 StructUnionDeclaration,
34597 context
34598 );
34599 let package_item_3_built = PackageItemStructUnionDeclaration {
34600 struct_union_declaration: Box::new(struct_union_declaration),
34601 };
34602 let package_item_3_built = PackageItem::StructUnionDeclaration(package_item_3_built);
34603 self.user_grammar.package_item(&package_item_3_built)?;
34605 self.push(ASTType::PackageItem(package_item_3_built), context);
34606 Ok(())
34607 }
34608
34609 #[parol_runtime::function_name::named]
34614 fn package_item_4(&mut self, _function_declaration: &ParseTreeType<'t>) -> Result<()> {
34615 let context = function_name!();
34616 trace!("{}", self.trace_item_stack(context));
34617 let function_declaration =
34618 pop_item!(self, function_declaration, FunctionDeclaration, context);
34619 let package_item_4_built = PackageItemFunctionDeclaration {
34620 function_declaration: Box::new(function_declaration),
34621 };
34622 let package_item_4_built = PackageItem::FunctionDeclaration(package_item_4_built);
34623 self.user_grammar.package_item(&package_item_4_built)?;
34625 self.push(ASTType::PackageItem(package_item_4_built), context);
34626 Ok(())
34627 }
34628
34629 #[parol_runtime::function_name::named]
34634 fn package_item_5(&mut self, _import_declaration: &ParseTreeType<'t>) -> Result<()> {
34635 let context = function_name!();
34636 trace!("{}", self.trace_item_stack(context));
34637 let import_declaration = pop_item!(self, import_declaration, ImportDeclaration, context);
34638 let package_item_5_built = PackageItemImportDeclaration {
34639 import_declaration: Box::new(import_declaration),
34640 };
34641 let package_item_5_built = PackageItem::ImportDeclaration(package_item_5_built);
34642 self.user_grammar.package_item(&package_item_5_built)?;
34644 self.push(ASTType::PackageItem(package_item_5_built), context);
34645 Ok(())
34646 }
34647
34648 #[parol_runtime::function_name::named]
34653 fn package_item_6(&mut self, _export_declaration: &ParseTreeType<'t>) -> Result<()> {
34654 let context = function_name!();
34655 trace!("{}", self.trace_item_stack(context));
34656 let export_declaration = pop_item!(self, export_declaration, ExportDeclaration, context);
34657 let package_item_6_built = PackageItemExportDeclaration {
34658 export_declaration: Box::new(export_declaration),
34659 };
34660 let package_item_6_built = PackageItem::ExportDeclaration(package_item_6_built);
34661 self.user_grammar.package_item(&package_item_6_built)?;
34663 self.push(ASTType::PackageItem(package_item_6_built), context);
34664 Ok(())
34665 }
34666
34667 #[parol_runtime::function_name::named]
34672 fn proto_module_declaration(
34673 &mut self,
34674 _proto: &ParseTreeType<'t>,
34675 _module: &ParseTreeType<'t>,
34676 _identifier: &ParseTreeType<'t>,
34677 _proto_module_declaration_opt: &ParseTreeType<'t>,
34678 _proto_module_declaration_opt0: &ParseTreeType<'t>,
34679 _semicolon: &ParseTreeType<'t>,
34680 ) -> Result<()> {
34681 let context = function_name!();
34682 trace!("{}", self.trace_item_stack(context));
34683 let semicolon = pop_item!(self, semicolon, Semicolon, context);
34684 let proto_module_declaration_opt0 = pop_item!(
34685 self,
34686 proto_module_declaration_opt0,
34687 ProtoModuleDeclarationOpt0,
34688 context
34689 );
34690 let proto_module_declaration_opt = pop_item!(
34691 self,
34692 proto_module_declaration_opt,
34693 ProtoModuleDeclarationOpt,
34694 context
34695 );
34696 let identifier = pop_item!(self, identifier, Identifier, context);
34697 let module = pop_item!(self, module, Module, context);
34698 let proto = pop_item!(self, proto, Proto, context);
34699 let proto_module_declaration_built = ProtoModuleDeclaration {
34700 proto: Box::new(proto),
34701 module: Box::new(module),
34702 identifier: Box::new(identifier),
34703 proto_module_declaration_opt,
34704 proto_module_declaration_opt0,
34705 semicolon: Box::new(semicolon),
34706 };
34707 self.user_grammar
34709 .proto_module_declaration(&proto_module_declaration_built)?;
34710 self.push(
34711 ASTType::ProtoModuleDeclaration(proto_module_declaration_built),
34712 context,
34713 );
34714 Ok(())
34715 }
34716
34717 #[parol_runtime::function_name::named]
34722 fn proto_module_declaration_opt0_0(
34723 &mut self,
34724 _port_declaration: &ParseTreeType<'t>,
34725 ) -> Result<()> {
34726 let context = function_name!();
34727 trace!("{}", self.trace_item_stack(context));
34728 let port_declaration = pop_item!(self, port_declaration, PortDeclaration, context);
34729 let proto_module_declaration_opt0_0_built = ProtoModuleDeclarationOpt0 {
34730 port_declaration: Box::new(port_declaration),
34731 };
34732 self.push(
34733 ASTType::ProtoModuleDeclarationOpt0(Some(proto_module_declaration_opt0_0_built)),
34734 context,
34735 );
34736 Ok(())
34737 }
34738
34739 #[parol_runtime::function_name::named]
34744 fn proto_module_declaration_opt0_1(&mut self) -> Result<()> {
34745 let context = function_name!();
34746 trace!("{}", self.trace_item_stack(context));
34747 self.push(ASTType::ProtoModuleDeclarationOpt0(None), context);
34748 Ok(())
34749 }
34750
34751 #[parol_runtime::function_name::named]
34756 fn proto_module_declaration_opt_0(
34757 &mut self,
34758 _with_parameter: &ParseTreeType<'t>,
34759 ) -> Result<()> {
34760 let context = function_name!();
34761 trace!("{}", self.trace_item_stack(context));
34762 let with_parameter = pop_item!(self, with_parameter, WithParameter, context);
34763 let proto_module_declaration_opt_0_built = ProtoModuleDeclarationOpt {
34764 with_parameter: Box::new(with_parameter),
34765 };
34766 self.push(
34767 ASTType::ProtoModuleDeclarationOpt(Some(proto_module_declaration_opt_0_built)),
34768 context,
34769 );
34770 Ok(())
34771 }
34772
34773 #[parol_runtime::function_name::named]
34778 fn proto_module_declaration_opt_1(&mut self) -> Result<()> {
34779 let context = function_name!();
34780 trace!("{}", self.trace_item_stack(context));
34781 self.push(ASTType::ProtoModuleDeclarationOpt(None), context);
34782 Ok(())
34783 }
34784
34785 #[parol_runtime::function_name::named]
34790 fn embed_declaration(
34791 &mut self,
34792 _embed: &ParseTreeType<'t>,
34793 _l_paren: &ParseTreeType<'t>,
34794 _identifier: &ParseTreeType<'t>,
34795 _r_paren: &ParseTreeType<'t>,
34796 _identifier0: &ParseTreeType<'t>,
34797 _embed_content: &ParseTreeType<'t>,
34798 ) -> Result<()> {
34799 let context = function_name!();
34800 trace!("{}", self.trace_item_stack(context));
34801 let embed_content = pop_item!(self, embed_content, EmbedContent, context);
34802 let identifier0 = pop_item!(self, identifier0, Identifier, context);
34803 let r_paren = pop_item!(self, r_paren, RParen, context);
34804 let identifier = pop_item!(self, identifier, Identifier, context);
34805 let l_paren = pop_item!(self, l_paren, LParen, context);
34806 let embed = pop_item!(self, embed, Embed, context);
34807 let embed_declaration_built = EmbedDeclaration {
34808 embed: Box::new(embed),
34809 l_paren: Box::new(l_paren),
34810 identifier: Box::new(identifier),
34811 r_paren: Box::new(r_paren),
34812 identifier0: Box::new(identifier0),
34813 embed_content: Box::new(embed_content),
34814 };
34815 self.user_grammar
34817 .embed_declaration(&embed_declaration_built)?;
34818 self.push(ASTType::EmbedDeclaration(embed_declaration_built), context);
34819 Ok(())
34820 }
34821
34822 #[parol_runtime::function_name::named]
34827 fn embed_content(&mut self, _embed_content_token: &ParseTreeType<'t>) -> Result<()> {
34828 let context = function_name!();
34829 trace!("{}", self.trace_item_stack(context));
34830 let embed_content_token = pop_item!(self, embed_content_token, EmbedContentToken, context);
34831 let embed_content_built = EmbedContent {
34832 embed_content_token: (&embed_content_token)
34833 .try_into()
34834 .map_err(parol_runtime::ParolError::UserError)?,
34835 };
34836 self.user_grammar.embed_content(&embed_content_built)?;
34838 self.push(ASTType::EmbedContent(embed_content_built), context);
34839 Ok(())
34840 }
34841
34842 #[parol_runtime::function_name::named]
34847 fn embed_content_token(
34848 &mut self,
34849 _l_brace_term: &ParseTreeType<'t>,
34850 _l_brace_term0: &ParseTreeType<'t>,
34851 _l_brace_term1: &ParseTreeType<'t>,
34852 _embed_content_token_list: &ParseTreeType<'t>,
34853 _r_brace_term: &ParseTreeType<'t>,
34854 _r_brace_term0: &ParseTreeType<'t>,
34855 _r_brace_term1: &ParseTreeType<'t>,
34856 _comments: &ParseTreeType<'t>,
34857 ) -> Result<()> {
34858 let context = function_name!();
34859 trace!("{}", self.trace_item_stack(context));
34860 let comments = pop_item!(self, comments, Comments, context);
34861 let r_brace_term1 = pop_item!(self, r_brace_term1, RBraceTerm, context);
34862 let r_brace_term0 = pop_item!(self, r_brace_term0, RBraceTerm, context);
34863 let r_brace_term = pop_item!(self, r_brace_term, RBraceTerm, context);
34864 let embed_content_token_list = pop_and_reverse_item!(
34865 self,
34866 embed_content_token_list,
34867 EmbedContentTokenList,
34868 context
34869 );
34870 let l_brace_term1 = pop_item!(self, l_brace_term1, LBraceTerm, context);
34871 let l_brace_term0 = pop_item!(self, l_brace_term0, LBraceTerm, context);
34872 let l_brace_term = pop_item!(self, l_brace_term, LBraceTerm, context);
34873 let embed_content_token_built = EmbedContentToken {
34874 l_brace_term: Box::new(l_brace_term),
34875 l_brace_term0: Box::new(l_brace_term0),
34876 l_brace_term1: Box::new(l_brace_term1),
34877 embed_content_token_list,
34878 r_brace_term: Box::new(r_brace_term),
34879 r_brace_term0: Box::new(r_brace_term0),
34880 r_brace_term1: Box::new(r_brace_term1),
34881 comments: Box::new(comments),
34882 };
34883 self.user_grammar
34885 .embed_content_token(&embed_content_token_built)?;
34886 self.push(
34887 ASTType::EmbedContentToken(embed_content_token_built),
34888 context,
34889 );
34890 Ok(())
34891 }
34892
34893 #[parol_runtime::function_name::named]
34898 fn embed_content_token_list_0(
34899 &mut self,
34900 _embed_item: &ParseTreeType<'t>,
34901 _embed_content_token_list: &ParseTreeType<'t>,
34902 ) -> Result<()> {
34903 let context = function_name!();
34904 trace!("{}", self.trace_item_stack(context));
34905 let mut embed_content_token_list = pop_item!(
34906 self,
34907 embed_content_token_list,
34908 EmbedContentTokenList,
34909 context
34910 );
34911 let embed_item = pop_item!(self, embed_item, EmbedItem, context);
34912 let embed_content_token_list_0_built = EmbedContentTokenList {
34913 embed_item: Box::new(embed_item),
34914 };
34915 embed_content_token_list.push(embed_content_token_list_0_built);
34917 self.push(
34918 ASTType::EmbedContentTokenList(embed_content_token_list),
34919 context,
34920 );
34921 Ok(())
34922 }
34923
34924 #[parol_runtime::function_name::named]
34929 fn embed_content_token_list_1(&mut self) -> Result<()> {
34930 let context = function_name!();
34931 trace!("{}", self.trace_item_stack(context));
34932 let embed_content_token_list_1_built = Vec::new();
34933 self.push(
34934 ASTType::EmbedContentTokenList(embed_content_token_list_1_built),
34935 context,
34936 );
34937 Ok(())
34938 }
34939
34940 #[parol_runtime::function_name::named]
34945 fn embed_item_0(
34946 &mut self,
34947 _l_brace_term: &ParseTreeType<'t>,
34948 _embed_item_list: &ParseTreeType<'t>,
34949 _r_brace_term: &ParseTreeType<'t>,
34950 ) -> Result<()> {
34951 let context = function_name!();
34952 trace!("{}", self.trace_item_stack(context));
34953 let r_brace_term = pop_item!(self, r_brace_term, RBraceTerm, context);
34954 let embed_item_list = pop_and_reverse_item!(self, embed_item_list, EmbedItemList, context);
34955 let l_brace_term = pop_item!(self, l_brace_term, LBraceTerm, context);
34956 let embed_item_0_built = EmbedItemLBraceTermEmbedItemListRBraceTerm {
34957 l_brace_term: Box::new(l_brace_term),
34958 embed_item_list,
34959 r_brace_term: Box::new(r_brace_term),
34960 };
34961 let embed_item_0_built = EmbedItem::LBraceTermEmbedItemListRBraceTerm(embed_item_0_built);
34962 self.user_grammar.embed_item(&embed_item_0_built)?;
34964 self.push(ASTType::EmbedItem(embed_item_0_built), context);
34965 Ok(())
34966 }
34967
34968 #[parol_runtime::function_name::named]
34973 fn embed_item_list_0(
34974 &mut self,
34975 _embed_item: &ParseTreeType<'t>,
34976 _embed_item_list: &ParseTreeType<'t>,
34977 ) -> Result<()> {
34978 let context = function_name!();
34979 trace!("{}", self.trace_item_stack(context));
34980 let mut embed_item_list = pop_item!(self, embed_item_list, EmbedItemList, context);
34981 let embed_item = pop_item!(self, embed_item, EmbedItem, context);
34982 let embed_item_list_0_built = EmbedItemList {
34983 embed_item: Box::new(embed_item),
34984 };
34985 embed_item_list.push(embed_item_list_0_built);
34987 self.push(ASTType::EmbedItemList(embed_item_list), context);
34988 Ok(())
34989 }
34990
34991 #[parol_runtime::function_name::named]
34996 fn embed_item_list_1(&mut self) -> Result<()> {
34997 let context = function_name!();
34998 trace!("{}", self.trace_item_stack(context));
34999 let embed_item_list_1_built = Vec::new();
35000 self.push(ASTType::EmbedItemList(embed_item_list_1_built), context);
35001 Ok(())
35002 }
35003
35004 #[parol_runtime::function_name::named]
35009 fn embed_item_1(&mut self, _any_term: &ParseTreeType<'t>) -> Result<()> {
35010 let context = function_name!();
35011 trace!("{}", self.trace_item_stack(context));
35012 let any_term = pop_item!(self, any_term, AnyTerm, context);
35013 let embed_item_1_built = EmbedItemAnyTerm {
35014 any_term: Box::new(any_term),
35015 };
35016 let embed_item_1_built = EmbedItem::AnyTerm(embed_item_1_built);
35017 self.user_grammar.embed_item(&embed_item_1_built)?;
35019 self.push(ASTType::EmbedItem(embed_item_1_built), context);
35020 Ok(())
35021 }
35022
35023 #[parol_runtime::function_name::named]
35028 fn include_declaration(
35029 &mut self,
35030 _include: &ParseTreeType<'t>,
35031 _l_paren: &ParseTreeType<'t>,
35032 _identifier: &ParseTreeType<'t>,
35033 _comma: &ParseTreeType<'t>,
35034 _string_literal: &ParseTreeType<'t>,
35035 _r_paren: &ParseTreeType<'t>,
35036 _semicolon: &ParseTreeType<'t>,
35037 ) -> Result<()> {
35038 let context = function_name!();
35039 trace!("{}", self.trace_item_stack(context));
35040 let semicolon = pop_item!(self, semicolon, Semicolon, context);
35041 let r_paren = pop_item!(self, r_paren, RParen, context);
35042 let string_literal = pop_item!(self, string_literal, StringLiteral, context);
35043 let comma = pop_item!(self, comma, Comma, context);
35044 let identifier = pop_item!(self, identifier, Identifier, context);
35045 let l_paren = pop_item!(self, l_paren, LParen, context);
35046 let include = pop_item!(self, include, Include, context);
35047 let include_declaration_built = IncludeDeclaration {
35048 include: Box::new(include),
35049 l_paren: Box::new(l_paren),
35050 identifier: Box::new(identifier),
35051 comma: Box::new(comma),
35052 string_literal: Box::new(string_literal),
35053 r_paren: Box::new(r_paren),
35054 semicolon: Box::new(semicolon),
35055 };
35056 self.user_grammar
35058 .include_declaration(&include_declaration_built)?;
35059 self.push(
35060 ASTType::IncludeDeclaration(include_declaration_built),
35061 context,
35062 );
35063 Ok(())
35064 }
35065
35066 #[parol_runtime::function_name::named]
35071 fn description_group(
35072 &mut self,
35073 _description_group_list: &ParseTreeType<'t>,
35074 _description_group_group: &ParseTreeType<'t>,
35075 ) -> Result<()> {
35076 let context = function_name!();
35077 trace!("{}", self.trace_item_stack(context));
35078 let description_group_group = pop_item!(
35079 self,
35080 description_group_group,
35081 DescriptionGroupGroup,
35082 context
35083 );
35084 let description_group_list =
35085 pop_and_reverse_item!(self, description_group_list, DescriptionGroupList, context);
35086 let description_group_built = DescriptionGroup {
35087 description_group_list,
35088 description_group_group: Box::new(description_group_group),
35089 };
35090 self.user_grammar
35092 .description_group(&description_group_built)?;
35093 self.push(ASTType::DescriptionGroup(description_group_built), context);
35094 Ok(())
35095 }
35096
35097 #[parol_runtime::function_name::named]
35102 fn description_group_group_0(
35103 &mut self,
35104 _l_brace: &ParseTreeType<'t>,
35105 _description_group_group_list: &ParseTreeType<'t>,
35106 _r_brace: &ParseTreeType<'t>,
35107 ) -> Result<()> {
35108 let context = function_name!();
35109 trace!("{}", self.trace_item_stack(context));
35110 let r_brace = pop_item!(self, r_brace, RBrace, context);
35111 let description_group_group_list = pop_and_reverse_item!(
35112 self,
35113 description_group_group_list,
35114 DescriptionGroupGroupList,
35115 context
35116 );
35117 let l_brace = pop_item!(self, l_brace, LBrace, context);
35118 let description_group_group_0_built =
35119 DescriptionGroupGroupLBraceDescriptionGroupGroupListRBrace {
35120 l_brace: Box::new(l_brace),
35121 description_group_group_list,
35122 r_brace: Box::new(r_brace),
35123 };
35124 let description_group_group_0_built =
35125 DescriptionGroupGroup::LBraceDescriptionGroupGroupListRBrace(
35126 description_group_group_0_built,
35127 );
35128 self.push(
35129 ASTType::DescriptionGroupGroup(description_group_group_0_built),
35130 context,
35131 );
35132 Ok(())
35133 }
35134
35135 #[parol_runtime::function_name::named]
35140 fn description_group_group_list_0(
35141 &mut self,
35142 _description_group: &ParseTreeType<'t>,
35143 _description_group_group_list: &ParseTreeType<'t>,
35144 ) -> Result<()> {
35145 let context = function_name!();
35146 trace!("{}", self.trace_item_stack(context));
35147 let mut description_group_group_list = pop_item!(
35148 self,
35149 description_group_group_list,
35150 DescriptionGroupGroupList,
35151 context
35152 );
35153 let description_group = pop_item!(self, description_group, DescriptionGroup, context);
35154 let description_group_group_list_0_built = DescriptionGroupGroupList {
35155 description_group: Box::new(description_group),
35156 };
35157 description_group_group_list.push(description_group_group_list_0_built);
35159 self.push(
35160 ASTType::DescriptionGroupGroupList(description_group_group_list),
35161 context,
35162 );
35163 Ok(())
35164 }
35165
35166 #[parol_runtime::function_name::named]
35171 fn description_group_group_list_1(&mut self) -> Result<()> {
35172 let context = function_name!();
35173 trace!("{}", self.trace_item_stack(context));
35174 let description_group_group_list_1_built = Vec::new();
35175 self.push(
35176 ASTType::DescriptionGroupGroupList(description_group_group_list_1_built),
35177 context,
35178 );
35179 Ok(())
35180 }
35181
35182 #[parol_runtime::function_name::named]
35187 fn description_group_group_1(&mut self, _description_item: &ParseTreeType<'t>) -> Result<()> {
35188 let context = function_name!();
35189 trace!("{}", self.trace_item_stack(context));
35190 let description_item = pop_item!(self, description_item, DescriptionItem, context);
35191 let description_group_group_1_built = DescriptionGroupGroupDescriptionItem {
35192 description_item: Box::new(description_item),
35193 };
35194 let description_group_group_1_built =
35195 DescriptionGroupGroup::DescriptionItem(description_group_group_1_built);
35196 self.push(
35197 ASTType::DescriptionGroupGroup(description_group_group_1_built),
35198 context,
35199 );
35200 Ok(())
35201 }
35202
35203 #[parol_runtime::function_name::named]
35208 fn description_group_list_0(
35209 &mut self,
35210 _attribute: &ParseTreeType<'t>,
35211 _description_group_list: &ParseTreeType<'t>,
35212 ) -> Result<()> {
35213 let context = function_name!();
35214 trace!("{}", self.trace_item_stack(context));
35215 let mut description_group_list =
35216 pop_item!(self, description_group_list, DescriptionGroupList, context);
35217 let attribute = pop_item!(self, attribute, Attribute, context);
35218 let description_group_list_0_built = DescriptionGroupList {
35219 attribute: Box::new(attribute),
35220 };
35221 description_group_list.push(description_group_list_0_built);
35223 self.push(
35224 ASTType::DescriptionGroupList(description_group_list),
35225 context,
35226 );
35227 Ok(())
35228 }
35229
35230 #[parol_runtime::function_name::named]
35235 fn description_group_list_1(&mut self) -> Result<()> {
35236 let context = function_name!();
35237 trace!("{}", self.trace_item_stack(context));
35238 let description_group_list_1_built = Vec::new();
35239 self.push(
35240 ASTType::DescriptionGroupList(description_group_list_1_built),
35241 context,
35242 );
35243 Ok(())
35244 }
35245
35246 #[parol_runtime::function_name::named]
35251 fn description_item_0(
35252 &mut self,
35253 _description_item_opt: &ParseTreeType<'t>,
35254 _public_description_item: &ParseTreeType<'t>,
35255 ) -> Result<()> {
35256 let context = function_name!();
35257 trace!("{}", self.trace_item_stack(context));
35258 let public_description_item = pop_item!(
35259 self,
35260 public_description_item,
35261 PublicDescriptionItem,
35262 context
35263 );
35264 let description_item_opt =
35265 pop_item!(self, description_item_opt, DescriptionItemOpt, context);
35266 let description_item_0_built = DescriptionItemDescriptionItemOptPublicDescriptionItem {
35267 description_item_opt,
35268 public_description_item: Box::new(public_description_item),
35269 };
35270 let description_item_0_built =
35271 DescriptionItem::DescriptionItemOptPublicDescriptionItem(description_item_0_built);
35272 self.user_grammar
35274 .description_item(&description_item_0_built)?;
35275 self.push(ASTType::DescriptionItem(description_item_0_built), context);
35276 Ok(())
35277 }
35278
35279 #[parol_runtime::function_name::named]
35284 fn description_item_1(&mut self, _import_declaration: &ParseTreeType<'t>) -> Result<()> {
35285 let context = function_name!();
35286 trace!("{}", self.trace_item_stack(context));
35287 let import_declaration = pop_item!(self, import_declaration, ImportDeclaration, context);
35288 let description_item_1_built = DescriptionItemImportDeclaration {
35289 import_declaration: Box::new(import_declaration),
35290 };
35291 let description_item_1_built = DescriptionItem::ImportDeclaration(description_item_1_built);
35292 self.user_grammar
35294 .description_item(&description_item_1_built)?;
35295 self.push(ASTType::DescriptionItem(description_item_1_built), context);
35296 Ok(())
35297 }
35298
35299 #[parol_runtime::function_name::named]
35304 fn description_item_2(&mut self, _embed_declaration: &ParseTreeType<'t>) -> Result<()> {
35305 let context = function_name!();
35306 trace!("{}", self.trace_item_stack(context));
35307 let embed_declaration = pop_item!(self, embed_declaration, EmbedDeclaration, context);
35308 let description_item_2_built = DescriptionItemEmbedDeclaration {
35309 embed_declaration: Box::new(embed_declaration),
35310 };
35311 let description_item_2_built = DescriptionItem::EmbedDeclaration(description_item_2_built);
35312 self.user_grammar
35314 .description_item(&description_item_2_built)?;
35315 self.push(ASTType::DescriptionItem(description_item_2_built), context);
35316 Ok(())
35317 }
35318
35319 #[parol_runtime::function_name::named]
35324 fn description_item_3(&mut self, _include_declaration: &ParseTreeType<'t>) -> Result<()> {
35325 let context = function_name!();
35326 trace!("{}", self.trace_item_stack(context));
35327 let include_declaration = pop_item!(self, include_declaration, IncludeDeclaration, context);
35328 let description_item_3_built = DescriptionItemIncludeDeclaration {
35329 include_declaration: Box::new(include_declaration),
35330 };
35331 let description_item_3_built =
35332 DescriptionItem::IncludeDeclaration(description_item_3_built);
35333 self.user_grammar
35335 .description_item(&description_item_3_built)?;
35336 self.push(ASTType::DescriptionItem(description_item_3_built), context);
35337 Ok(())
35338 }
35339
35340 #[parol_runtime::function_name::named]
35345 fn description_item_opt_0(&mut self, _pub: &ParseTreeType<'t>) -> Result<()> {
35346 let context = function_name!();
35347 trace!("{}", self.trace_item_stack(context));
35348 let r#pub = pop_item!(self, r#pub, Pub, context);
35349 let description_item_opt_0_built = DescriptionItemOpt {
35350 r#pub: Box::new(r#pub),
35351 };
35352 self.push(
35353 ASTType::DescriptionItemOpt(Some(description_item_opt_0_built)),
35354 context,
35355 );
35356 Ok(())
35357 }
35358
35359 #[parol_runtime::function_name::named]
35364 fn description_item_opt_1(&mut self) -> Result<()> {
35365 let context = function_name!();
35366 trace!("{}", self.trace_item_stack(context));
35367 self.push(ASTType::DescriptionItemOpt(None), context);
35368 Ok(())
35369 }
35370
35371 #[parol_runtime::function_name::named]
35376 fn public_description_item_0(&mut self, _module_declaration: &ParseTreeType<'t>) -> Result<()> {
35377 let context = function_name!();
35378 trace!("{}", self.trace_item_stack(context));
35379 let module_declaration = pop_item!(self, module_declaration, ModuleDeclaration, context);
35380 let public_description_item_0_built = PublicDescriptionItemModuleDeclaration {
35381 module_declaration: Box::new(module_declaration),
35382 };
35383 let public_description_item_0_built =
35384 PublicDescriptionItem::ModuleDeclaration(public_description_item_0_built);
35385 self.user_grammar
35387 .public_description_item(&public_description_item_0_built)?;
35388 self.push(
35389 ASTType::PublicDescriptionItem(public_description_item_0_built),
35390 context,
35391 );
35392 Ok(())
35393 }
35394
35395 #[parol_runtime::function_name::named]
35400 fn public_description_item_1(
35401 &mut self,
35402 _interface_declaration: &ParseTreeType<'t>,
35403 ) -> Result<()> {
35404 let context = function_name!();
35405 trace!("{}", self.trace_item_stack(context));
35406 let interface_declaration =
35407 pop_item!(self, interface_declaration, InterfaceDeclaration, context);
35408 let public_description_item_1_built = PublicDescriptionItemInterfaceDeclaration {
35409 interface_declaration: Box::new(interface_declaration),
35410 };
35411 let public_description_item_1_built =
35412 PublicDescriptionItem::InterfaceDeclaration(public_description_item_1_built);
35413 self.user_grammar
35415 .public_description_item(&public_description_item_1_built)?;
35416 self.push(
35417 ASTType::PublicDescriptionItem(public_description_item_1_built),
35418 context,
35419 );
35420 Ok(())
35421 }
35422
35423 #[parol_runtime::function_name::named]
35428 fn public_description_item_2(
35429 &mut self,
35430 _package_declaration: &ParseTreeType<'t>,
35431 ) -> Result<()> {
35432 let context = function_name!();
35433 trace!("{}", self.trace_item_stack(context));
35434 let package_declaration = pop_item!(self, package_declaration, PackageDeclaration, context);
35435 let public_description_item_2_built = PublicDescriptionItemPackageDeclaration {
35436 package_declaration: Box::new(package_declaration),
35437 };
35438 let public_description_item_2_built =
35439 PublicDescriptionItem::PackageDeclaration(public_description_item_2_built);
35440 self.user_grammar
35442 .public_description_item(&public_description_item_2_built)?;
35443 self.push(
35444 ASTType::PublicDescriptionItem(public_description_item_2_built),
35445 context,
35446 );
35447 Ok(())
35448 }
35449
35450 #[parol_runtime::function_name::named]
35455 fn public_description_item_3(
35456 &mut self,
35457 _proto_module_declaration: &ParseTreeType<'t>,
35458 ) -> Result<()> {
35459 let context = function_name!();
35460 trace!("{}", self.trace_item_stack(context));
35461 let proto_module_declaration = pop_item!(
35462 self,
35463 proto_module_declaration,
35464 ProtoModuleDeclaration,
35465 context
35466 );
35467 let public_description_item_3_built = PublicDescriptionItemProtoModuleDeclaration {
35468 proto_module_declaration: Box::new(proto_module_declaration),
35469 };
35470 let public_description_item_3_built =
35471 PublicDescriptionItem::ProtoModuleDeclaration(public_description_item_3_built);
35472 self.user_grammar
35474 .public_description_item(&public_description_item_3_built)?;
35475 self.push(
35476 ASTType::PublicDescriptionItem(public_description_item_3_built),
35477 context,
35478 );
35479 Ok(())
35480 }
35481
35482 #[parol_runtime::function_name::named]
35487 fn veryl(&mut self, _start: &ParseTreeType<'t>, _veryl_list: &ParseTreeType<'t>) -> Result<()> {
35488 let context = function_name!();
35489 trace!("{}", self.trace_item_stack(context));
35490 let veryl_list = pop_and_reverse_item!(self, veryl_list, VerylList, context);
35491 let start = pop_item!(self, start, Start, context);
35492 let veryl_built = Veryl {
35493 start: Box::new(start),
35494 veryl_list,
35495 };
35496 self.user_grammar.veryl(&veryl_built)?;
35498 self.push(ASTType::Veryl(veryl_built), context);
35499 Ok(())
35500 }
35501
35502 #[parol_runtime::function_name::named]
35507 fn veryl_list_0(
35508 &mut self,
35509 _description_group: &ParseTreeType<'t>,
35510 _veryl_list: &ParseTreeType<'t>,
35511 ) -> Result<()> {
35512 let context = function_name!();
35513 trace!("{}", self.trace_item_stack(context));
35514 let mut veryl_list = pop_item!(self, veryl_list, VerylList, context);
35515 let description_group = pop_item!(self, description_group, DescriptionGroup, context);
35516 let veryl_list_0_built = VerylList {
35517 description_group: Box::new(description_group),
35518 };
35519 veryl_list.push(veryl_list_0_built);
35521 self.push(ASTType::VerylList(veryl_list), context);
35522 Ok(())
35523 }
35524
35525 #[parol_runtime::function_name::named]
35530 fn veryl_list_1(&mut self) -> Result<()> {
35531 let context = function_name!();
35532 trace!("{}", self.trace_item_stack(context));
35533 let veryl_list_1_built = Vec::new();
35534 self.push(ASTType::VerylList(veryl_list_1_built), context);
35535 Ok(())
35536 }
35537}
35538
35539impl<'t> UserActionsTrait<'t> for VerylGrammarAuto<'t, '_> {
35540 fn call_semantic_action_for_production_number(
35544 &mut self,
35545 prod_num: usize,
35546 children: &[ParseTreeType<'t>],
35547 ) -> Result<()> {
35548 match prod_num {
35549 0 => self.comments_term(&children[0]),
35550 1 => self.string_literal_term(&children[0]),
35551 2 => self.exponent_term(&children[0]),
35552 3 => self.fixed_point_term(&children[0]),
35553 4 => self.based_term(&children[0]),
35554 5 => self.all_bit_term(&children[0]),
35555 6 => self.base_less_term(&children[0]),
35556 7 => self.minus_colon_term(&children[0]),
35557 8 => self.minus_g_t_term(&children[0]),
35558 9 => self.plus_colon_term(&children[0]),
35559 10 => self.assignment_operator_term(&children[0]),
35560 11 => self.operator11_term(&children[0]),
35561 12 => self.operator10_term(&children[0]),
35562 13 => self.operator09_term(&children[0]),
35563 14 => self.operator08_term(&children[0]),
35564 15 => self.operator07_term(&children[0]),
35565 16 => self.operator06_term(&children[0]),
35566 17 => self.operator02_term(&children[0]),
35567 18 => self.operator01_term(&children[0]),
35568 19 => self.operator05_term(&children[0]),
35569 20 => self.operator04_term(&children[0]),
35570 21 => self.operator03_term(&children[0]),
35571 22 => self.unary_operator_term(&children[0]),
35572 23 => self.back_quote_term(&children[0]),
35573 24 => self.colon_colon_l_angle_term(&children[0]),
35574 25 => self.colon_colon_term(&children[0]),
35575 26 => self.colon_term(&children[0]),
35576 27 => self.comma_term(&children[0]),
35577 28 => self.dot_dot_equ_term(&children[0]),
35578 29 => self.dot_dot_term(&children[0]),
35579 30 => self.dot_term(&children[0]),
35580 31 => self.equ_term(&children[0]),
35581 32 => self.hash_term(&children[0]),
35582 33 => self.l_angle_term(&children[0]),
35583 34 => self.quote_l_brace_term(&children[0]),
35584 35 => self.l_brace_term(&children[0]),
35585 36 => self.l_bracket_term(&children[0]),
35586 37 => self.l_paren_term(&children[0]),
35587 38 => self.r_angle_term(&children[0]),
35588 39 => self.r_brace_term(&children[0]),
35589 40 => self.r_bracket_term(&children[0]),
35590 41 => self.r_paren_term(&children[0]),
35591 42 => self.semicolon_term(&children[0]),
35592 43 => self.star_term(&children[0]),
35593 44 => self.always_comb_term(&children[0]),
35594 45 => self.always_ff_term(&children[0]),
35595 46 => self.assign_term(&children[0]),
35596 47 => self.as_term(&children[0]),
35597 48 => self.bit_term(&children[0]),
35598 49 => self.case_term(&children[0]),
35599 50 => self.clock_term(&children[0]),
35600 51 => self.clock_posedge_term(&children[0]),
35601 52 => self.clock_negedge_term(&children[0]),
35602 53 => self.const_term(&children[0]),
35603 54 => self.converse_term(&children[0]),
35604 55 => self.default_term(&children[0]),
35605 56 => self.else_term(&children[0]),
35606 57 => self.embed_term(&children[0]),
35607 58 => self.enum_term(&children[0]),
35608 59 => self.export_term(&children[0]),
35609 60 => self.f32_term(&children[0]),
35610 61 => self.f64_term(&children[0]),
35611 62 => self.final_term(&children[0]),
35612 63 => self.for_term(&children[0]),
35613 64 => self.function_term(&children[0]),
35614 65 => self.i32_term(&children[0]),
35615 66 => self.i64_term(&children[0]),
35616 67 => self.if_reset_term(&children[0]),
35617 68 => self.if_term(&children[0]),
35618 69 => self.import_term(&children[0]),
35619 70 => self.include_term(&children[0]),
35620 71 => self.initial_term(&children[0]),
35621 72 => self.inout_term(&children[0]),
35622 73 => self.input_term(&children[0]),
35623 74 => self.inside_term(&children[0]),
35624 75 => self.inst_term(&children[0]),
35625 76 => self.interface_term(&children[0]),
35626 77 => self.in_term(&children[0]),
35627 78 => self.let_term(&children[0]),
35628 79 => self.logic_term(&children[0]),
35629 80 => self.lsb_term(&children[0]),
35630 81 => self.modport_term(&children[0]),
35631 82 => self.module_term(&children[0]),
35632 83 => self.msb_term(&children[0]),
35633 84 => self.output_term(&children[0]),
35634 85 => self.outside_term(&children[0]),
35635 86 => self.package_term(&children[0]),
35636 87 => self.param_term(&children[0]),
35637 88 => self.proto_term(&children[0]),
35638 89 => self.pub_term(&children[0]),
35639 90 => self.ref_term(&children[0]),
35640 91 => self.repeat_term(&children[0]),
35641 92 => self.reset_term(&children[0]),
35642 93 => self.reset_async_high_term(&children[0]),
35643 94 => self.reset_async_low_term(&children[0]),
35644 95 => self.reset_sync_high_term(&children[0]),
35645 96 => self.reset_sync_low_term(&children[0]),
35646 97 => self.return_term(&children[0]),
35647 98 => self.break_term(&children[0]),
35648 99 => self.signed_term(&children[0]),
35649 100 => self.step_term(&children[0]),
35650 101 => self.string_term(&children[0]),
35651 102 => self.struct_term(&children[0]),
35652 103 => self.switch_term(&children[0]),
35653 104 => self.tri_term(&children[0]),
35654 105 => self.type_term(&children[0]),
35655 106 => self.u32_term(&children[0]),
35656 107 => self.u64_term(&children[0]),
35657 108 => self.union_term(&children[0]),
35658 109 => self.unsafe_term(&children[0]),
35659 110 => self.var_term(&children[0]),
35660 111 => self.dollar_identifier_term(&children[0]),
35661 112 => self.identifier_term(&children[0]),
35662 113 => self.any_term(&children[0]),
35663 114 => self.comments(&children[0]),
35664 115 => self.comments_opt_0(&children[0]),
35665 116 => self.comments_opt_1(),
35666 117 => self.start_token(&children[0]),
35667 118 => self.string_literal_token(&children[0], &children[1]),
35668 119 => self.exponent_token(&children[0], &children[1]),
35669 120 => self.fixed_point_token(&children[0], &children[1]),
35670 121 => self.based_token(&children[0], &children[1]),
35671 122 => self.base_less_token(&children[0], &children[1]),
35672 123 => self.all_bit_token(&children[0], &children[1]),
35673 124 => self.assignment_operator_token(&children[0], &children[1]),
35674 125 => self.operator01_token(&children[0], &children[1]),
35675 126 => self.operator02_token(&children[0], &children[1]),
35676 127 => self.operator03_token(&children[0], &children[1]),
35677 128 => self.operator04_token(&children[0], &children[1]),
35678 129 => self.operator05_token(&children[0], &children[1]),
35679 130 => self.operator06_token(&children[0], &children[1]),
35680 131 => self.operator07_token(&children[0], &children[1]),
35681 132 => self.operator08_token(&children[0], &children[1]),
35682 133 => self.operator09_token(&children[0], &children[1]),
35683 134 => self.operator10_token(&children[0], &children[1]),
35684 135 => self.operator11_token(&children[0], &children[1]),
35685 136 => self.unary_operator_token(&children[0], &children[1]),
35686 137 => self.back_quote_token(&children[0], &children[1]),
35687 138 => self.colon_token(&children[0], &children[1]),
35688 139 => self.colon_colon_l_angle_token(&children[0], &children[1]),
35689 140 => self.colon_colon_token(&children[0], &children[1]),
35690 141 => self.comma_token(&children[0], &children[1]),
35691 142 => self.dot_dot_token(&children[0], &children[1]),
35692 143 => self.dot_dot_equ_token(&children[0], &children[1]),
35693 144 => self.dot_token(&children[0], &children[1]),
35694 145 => self.equ_token(&children[0], &children[1]),
35695 146 => self.hash_token(&children[0], &children[1]),
35696 147 => self.quote_l_brace_token(&children[0], &children[1]),
35697 148 => self.l_angle_token(&children[0], &children[1]),
35698 149 => self.l_brace_token(&children[0], &children[1]),
35699 150 => self.l_bracket_token(&children[0], &children[1]),
35700 151 => self.l_paren_token(&children[0], &children[1]),
35701 152 => self.minus_colon_token(&children[0], &children[1]),
35702 153 => self.minus_g_t_token(&children[0], &children[1]),
35703 154 => self.plus_colon_token(&children[0], &children[1]),
35704 155 => self.r_angle_token(&children[0], &children[1]),
35705 156 => self.r_brace_token(&children[0], &children[1]),
35706 157 => self.r_bracket_token(&children[0], &children[1]),
35707 158 => self.r_paren_token(&children[0], &children[1]),
35708 159 => self.semicolon_token(&children[0], &children[1]),
35709 160 => self.star_token(&children[0], &children[1]),
35710 161 => self.always_comb_token(&children[0], &children[1]),
35711 162 => self.always_ff_token(&children[0], &children[1]),
35712 163 => self.as_token(&children[0], &children[1]),
35713 164 => self.assign_token(&children[0], &children[1]),
35714 165 => self.bit_token(&children[0], &children[1]),
35715 166 => self.case_token(&children[0], &children[1]),
35716 167 => self.clock_token(&children[0], &children[1]),
35717 168 => self.clock_posedge_token(&children[0], &children[1]),
35718 169 => self.clock_negedge_token(&children[0], &children[1]),
35719 170 => self.const_token(&children[0], &children[1]),
35720 171 => self.converse_token(&children[0], &children[1]),
35721 172 => self.default_token(&children[0], &children[1]),
35722 173 => self.else_token(&children[0], &children[1]),
35723 174 => self.embed_token(&children[0], &children[1]),
35724 175 => self.enum_token(&children[0], &children[1]),
35725 176 => self.export_token(&children[0], &children[1]),
35726 177 => self.f32_token(&children[0], &children[1]),
35727 178 => self.f64_token(&children[0], &children[1]),
35728 179 => self.final_token(&children[0], &children[1]),
35729 180 => self.for_token(&children[0], &children[1]),
35730 181 => self.function_token(&children[0], &children[1]),
35731 182 => self.i32_token(&children[0], &children[1]),
35732 183 => self.i64_token(&children[0], &children[1]),
35733 184 => self.if_reset_token(&children[0], &children[1]),
35734 185 => self.if_token(&children[0], &children[1]),
35735 186 => self.import_token(&children[0], &children[1]),
35736 187 => self.include_token(&children[0], &children[1]),
35737 188 => self.initial_token(&children[0], &children[1]),
35738 189 => self.inout_token(&children[0], &children[1]),
35739 190 => self.input_token(&children[0], &children[1]),
35740 191 => self.inside_token(&children[0], &children[1]),
35741 192 => self.inst_token(&children[0], &children[1]),
35742 193 => self.interface_token(&children[0], &children[1]),
35743 194 => self.in_token(&children[0], &children[1]),
35744 195 => self.let_token(&children[0], &children[1]),
35745 196 => self.logic_token(&children[0], &children[1]),
35746 197 => self.lsb_token(&children[0], &children[1]),
35747 198 => self.modport_token(&children[0], &children[1]),
35748 199 => self.module_token(&children[0], &children[1]),
35749 200 => self.msb_token(&children[0], &children[1]),
35750 201 => self.output_token(&children[0], &children[1]),
35751 202 => self.outside_token(&children[0], &children[1]),
35752 203 => self.package_token(&children[0], &children[1]),
35753 204 => self.param_token(&children[0], &children[1]),
35754 205 => self.proto_token(&children[0], &children[1]),
35755 206 => self.pub_token(&children[0], &children[1]),
35756 207 => self.ref_token(&children[0], &children[1]),
35757 208 => self.repeat_token(&children[0], &children[1]),
35758 209 => self.reset_token(&children[0], &children[1]),
35759 210 => self.reset_async_high_token(&children[0], &children[1]),
35760 211 => self.reset_async_low_token(&children[0], &children[1]),
35761 212 => self.reset_sync_high_token(&children[0], &children[1]),
35762 213 => self.reset_sync_low_token(&children[0], &children[1]),
35763 214 => self.return_token(&children[0], &children[1]),
35764 215 => self.break_token(&children[0], &children[1]),
35765 216 => self.signed_token(&children[0], &children[1]),
35766 217 => self.step_token(&children[0], &children[1]),
35767 218 => self.string_token(&children[0], &children[1]),
35768 219 => self.struct_token(&children[0], &children[1]),
35769 220 => self.switch_token(&children[0], &children[1]),
35770 221 => self.tri_token(&children[0], &children[1]),
35771 222 => self.type_token(&children[0], &children[1]),
35772 223 => self.u32_token(&children[0], &children[1]),
35773 224 => self.u64_token(&children[0], &children[1]),
35774 225 => self.union_token(&children[0], &children[1]),
35775 226 => self.unsafe_token(&children[0], &children[1]),
35776 227 => self.var_token(&children[0], &children[1]),
35777 228 => self.dollar_identifier_token(&children[0], &children[1]),
35778 229 => self.identifier_token(&children[0], &children[1]),
35779 230 => self.start(&children[0]),
35780 231 => self.string_literal(&children[0]),
35781 232 => self.exponent(&children[0]),
35782 233 => self.fixed_point(&children[0]),
35783 234 => self.based(&children[0]),
35784 235 => self.base_less(&children[0]),
35785 236 => self.all_bit(&children[0]),
35786 237 => self.assignment_operator(&children[0]),
35787 238 => self.operator01(&children[0]),
35788 239 => self.operator02(&children[0]),
35789 240 => self.operator03(&children[0]),
35790 241 => self.operator04(&children[0]),
35791 242 => self.operator05(&children[0]),
35792 243 => self.operator06(&children[0]),
35793 244 => self.operator07(&children[0]),
35794 245 => self.operator08(&children[0]),
35795 246 => self.operator09(&children[0]),
35796 247 => self.operator10(&children[0]),
35797 248 => self.operator11(&children[0]),
35798 249 => self.unary_operator(&children[0]),
35799 250 => self.back_quote(&children[0]),
35800 251 => self.colon(&children[0]),
35801 252 => self.colon_colon_l_angle(&children[0]),
35802 253 => self.colon_colon(&children[0]),
35803 254 => self.comma(&children[0]),
35804 255 => self.dot_dot(&children[0]),
35805 256 => self.dot_dot_equ(&children[0]),
35806 257 => self.dot(&children[0]),
35807 258 => self.equ(&children[0]),
35808 259 => self.hash(&children[0]),
35809 260 => self.quote_l_brace(&children[0]),
35810 261 => self.l_angle(&children[0]),
35811 262 => self.l_brace(&children[0]),
35812 263 => self.l_bracket(&children[0]),
35813 264 => self.l_paren(&children[0]),
35814 265 => self.minus_colon(&children[0]),
35815 266 => self.minus_g_t(&children[0]),
35816 267 => self.plus_colon(&children[0]),
35817 268 => self.r_angle(&children[0]),
35818 269 => self.r_brace(&children[0]),
35819 270 => self.r_bracket(&children[0]),
35820 271 => self.r_paren(&children[0]),
35821 272 => self.semicolon(&children[0]),
35822 273 => self.star(&children[0]),
35823 274 => self.always_comb(&children[0]),
35824 275 => self.always_ff(&children[0]),
35825 276 => self.r#as(&children[0]),
35826 277 => self.assign(&children[0]),
35827 278 => self.bit(&children[0]),
35828 279 => self.r#break(&children[0]),
35829 280 => self.case(&children[0]),
35830 281 => self.clock(&children[0]),
35831 282 => self.clock_posedge(&children[0]),
35832 283 => self.clock_negedge(&children[0]),
35833 284 => self.r#const(&children[0]),
35834 285 => self.converse(&children[0]),
35835 286 => self.defaul(&children[0]),
35836 287 => self.r#else(&children[0]),
35837 288 => self.embed(&children[0]),
35838 289 => self.r#enum(&children[0]),
35839 290 => self.export(&children[0]),
35840 291 => self.f32(&children[0]),
35841 292 => self.f64(&children[0]),
35842 293 => self.r#final(&children[0]),
35843 294 => self.r#for(&children[0]),
35844 295 => self.function(&children[0]),
35845 296 => self.i32(&children[0]),
35846 297 => self.i64(&children[0]),
35847 298 => self.r#if(&children[0]),
35848 299 => self.if_reset(&children[0]),
35849 300 => self.import(&children[0]),
35850 301 => self.r#in(&children[0]),
35851 302 => self.include(&children[0]),
35852 303 => self.initial(&children[0]),
35853 304 => self.inout(&children[0]),
35854 305 => self.input(&children[0]),
35855 306 => self.inside(&children[0]),
35856 307 => self.inst(&children[0]),
35857 308 => self.interface(&children[0]),
35858 309 => self.r#let(&children[0]),
35859 310 => self.logic(&children[0]),
35860 311 => self.lsb(&children[0]),
35861 312 => self.modport(&children[0]),
35862 313 => self.module(&children[0]),
35863 314 => self.msb(&children[0]),
35864 315 => self.output(&children[0]),
35865 316 => self.outside(&children[0]),
35866 317 => self.package(&children[0]),
35867 318 => self.param(&children[0]),
35868 319 => self.proto(&children[0]),
35869 320 => self.r#pub(&children[0]),
35870 321 => self.r#ref(&children[0]),
35871 322 => self.repeat(&children[0]),
35872 323 => self.reset(&children[0]),
35873 324 => self.reset_async_high(&children[0]),
35874 325 => self.reset_async_low(&children[0]),
35875 326 => self.reset_sync_high(&children[0]),
35876 327 => self.reset_sync_low(&children[0]),
35877 328 => self.r#return(&children[0]),
35878 329 => self.signed(&children[0]),
35879 330 => self.step(&children[0]),
35880 331 => self.strin(&children[0]),
35881 332 => self.r#struct(&children[0]),
35882 333 => self.switch(&children[0]),
35883 334 => self.tri(&children[0]),
35884 335 => self.r#type(&children[0]),
35885 336 => self.u32(&children[0]),
35886 337 => self.u64(&children[0]),
35887 338 => self.r#union(&children[0]),
35888 339 => self.r#unsafe(&children[0]),
35889 340 => self.var(&children[0]),
35890 341 => self.dollar_identifier(&children[0]),
35891 342 => self.identifier(&children[0]),
35892 343 => self.number_0(&children[0]),
35893 344 => self.number_1(&children[0]),
35894 345 => self.integral_number_0(&children[0]),
35895 346 => self.integral_number_1(&children[0]),
35896 347 => self.integral_number_2(&children[0]),
35897 348 => self.real_number_0(&children[0]),
35898 349 => self.real_number_1(&children[0]),
35899 350 => self.hierarchical_identifier(&children[0], &children[1], &children[2]),
35900 351 => self.hierarchical_identifier_list0_0(
35901 &children[0],
35902 &children[1],
35903 &children[2],
35904 &children[3],
35905 ),
35906 352 => self.hierarchical_identifier_list0_list_0(&children[0], &children[1]),
35907 353 => self.hierarchical_identifier_list0_list_1(),
35908 354 => self.hierarchical_identifier_list0_1(),
35909 355 => self.hierarchical_identifier_list_0(&children[0], &children[1]),
35910 356 => self.hierarchical_identifier_list_1(),
35911 357 => self.scoped_identifier(&children[0], &children[1]),
35912 358 => self.scoped_identifier_group_0(&children[0]),
35913 359 => self.scoped_identifier_group_1(&children[0], &children[1]),
35914 360 => self.scoped_identifier_list_0(
35915 &children[0],
35916 &children[1],
35917 &children[2],
35918 &children[3],
35919 ),
35920 361 => self.scoped_identifier_list_1(),
35921 362 => self.scoped_identifier_opt0_0(&children[0]),
35922 363 => self.scoped_identifier_opt0_1(),
35923 364 => self.scoped_identifier_opt_0(&children[0]),
35924 365 => self.scoped_identifier_opt_1(),
35925 366 => {
35926 self.expression_identifier(&children[0], &children[1], &children[2], &children[3])
35927 }
35928 367 => self.expression_identifier_list0_0(
35929 &children[0],
35930 &children[1],
35931 &children[2],
35932 &children[3],
35933 ),
35934 368 => self.expression_identifier_list0_list_0(&children[0], &children[1]),
35935 369 => self.expression_identifier_list0_list_1(),
35936 370 => self.expression_identifier_list0_1(),
35937 371 => self.expression_identifier_list_0(&children[0], &children[1]),
35938 372 => self.expression_identifier_list_1(),
35939 373 => self.expression_identifier_opt_0(&children[0]),
35940 374 => self.expression_identifier_opt_1(),
35941 375 => self.expression(&children[0], &children[1]),
35942 376 => self.expression_list_0(&children[0], &children[1], &children[2]),
35943 377 => self.expression_list_1(),
35944 378 => self.expression01(&children[0], &children[1]),
35945 379 => self.expression01_list_0(&children[0], &children[1], &children[2]),
35946 380 => self.expression01_list_1(),
35947 381 => self.expression02(&children[0], &children[1]),
35948 382 => self.expression02_list_0(&children[0], &children[1], &children[2]),
35949 383 => self.expression02_list_1(),
35950 384 => self.expression03(&children[0], &children[1]),
35951 385 => self.expression03_list_0(&children[0], &children[1], &children[2]),
35952 386 => self.expression03_list_1(),
35953 387 => self.expression04(&children[0], &children[1]),
35954 388 => self.expression04_list_0(&children[0], &children[1], &children[2]),
35955 389 => self.expression04_list_1(),
35956 390 => self.expression05(&children[0], &children[1]),
35957 391 => self.expression05_list_0(&children[0], &children[1], &children[2]),
35958 392 => self.expression05_list_1(),
35959 393 => self.expression06(&children[0], &children[1]),
35960 394 => self.expression06_list_0(&children[0], &children[1], &children[2]),
35961 395 => self.expression06_list_1(),
35962 396 => self.expression07(&children[0], &children[1]),
35963 397 => self.expression07_list_0(&children[0], &children[1], &children[2]),
35964 398 => self.expression07_list_1(),
35965 399 => self.expression08(&children[0], &children[1]),
35966 400 => self.expression08_list_0(&children[0], &children[1], &children[2]),
35967 401 => self.expression08_list_1(),
35968 402 => self.expression09(&children[0], &children[1]),
35969 403 => self.expression09_list_0(&children[0], &children[1], &children[2]),
35970 404 => self.expression09_list_group_0(&children[0]),
35971 405 => self.expression09_list_group_1(&children[0]),
35972 406 => self.expression09_list_1(),
35973 407 => self.expression10(&children[0], &children[1]),
35974 408 => self.expression10_list_0(&children[0], &children[1], &children[2]),
35975 409 => self.expression10_list_1(),
35976 410 => self.expression11(&children[0], &children[1]),
35977 411 => self.expression11_opt_0(&children[0], &children[1]),
35978 412 => self.expression11_opt_1(),
35979 413 => self.expression12(&children[0], &children[1]),
35980 414 => self.expression12_list_0(&children[0], &children[1]),
35981 415 => self.expression12_list_group_0(&children[0]),
35982 416 => self.expression12_list_group_1(&children[0]),
35983 417 => self.expression12_list_group_2(&children[0]),
35984 418 => self.expression12_list_group_3(&children[0]),
35985 419 => self.expression12_list_group_4(&children[0]),
35986 420 => self.expression12_list_1(),
35987 421 => self.factor_0(&children[0]),
35988 422 => self.factor_1(&children[0]),
35989 423 => self.factor_2(&children[0], &children[1], &children[2]),
35990 424 => self.factor_3(&children[0], &children[1], &children[2]),
35991 425 => self.factor_4(&children[0], &children[1], &children[2]),
35992 426 => self.factor_5(&children[0]),
35993 427 => self.factor_6(&children[0]),
35994 428 => self.factor_7(&children[0]),
35995 429 => self.factor_8(&children[0]),
35996 430 => self.factor_9(&children[0]),
35997 431 => self.factor_group_0(&children[0]),
35998 432 => self.factor_group_1(&children[0]),
35999 433 => self.factor_10(&children[0]),
36000 434 => self.factor_11(&children[0]),
36001 435 => self.factor_12(&children[0]),
36002 436 => self.factor_13(&children[0]),
36003 437 => self.identifier_factor(&children[0], &children[1]),
36004 438 => self.identifier_factor_opt_0(&children[0]),
36005 439 => self.identifier_factor_opt_1(),
36006 440 => self.factor_type_factor(&children[0], &children[1]),
36007 441 => self.factor_type_factor_list_0(&children[0], &children[1]),
36008 442 => self.factor_type_factor_list_1(),
36009 443 => self.function_call(&children[0], &children[1], &children[2]),
36010 444 => self.function_call_opt_0(&children[0]),
36011 445 => self.function_call_opt_1(),
36012 446 => self.argument_list(&children[0], &children[1], &children[2]),
36013 447 => self.argument_list_list_0(&children[0], &children[1], &children[2]),
36014 448 => self.argument_list_list_1(),
36015 449 => self.argument_list_opt_0(&children[0]),
36016 450 => self.argument_list_opt_1(),
36017 451 => self.argument_item(&children[0]),
36018 452 => self.concatenation_list(&children[0], &children[1], &children[2]),
36019 453 => self.concatenation_list_list_0(&children[0], &children[1], &children[2]),
36020 454 => self.concatenation_list_list_1(),
36021 455 => self.concatenation_list_opt_0(&children[0]),
36022 456 => self.concatenation_list_opt_1(),
36023 457 => self.concatenation_item(&children[0], &children[1]),
36024 458 => self.concatenation_item_opt_0(&children[0], &children[1]),
36025 459 => self.concatenation_item_opt_1(),
36026 460 => self.array_literal_list(&children[0], &children[1], &children[2]),
36027 461 => self.array_literal_list_list_0(&children[0], &children[1], &children[2]),
36028 462 => self.array_literal_list_list_1(),
36029 463 => self.array_literal_list_opt_0(&children[0]),
36030 464 => self.array_literal_list_opt_1(),
36031 465 => self.array_literal_item(&children[0]),
36032 466 => self.array_literal_item_group_0(&children[0], &children[1]),
36033 467 => self.array_literal_item_group_1(&children[0], &children[1], &children[2]),
36034 468 => self.array_literal_item_opt_0(&children[0], &children[1]),
36035 469 => self.array_literal_item_opt_1(),
36036 470 => self.if_expression(
36037 &children[0],
36038 &children[1],
36039 &children[2],
36040 &children[3],
36041 &children[4],
36042 &children[5],
36043 &children[6],
36044 &children[7],
36045 &children[8],
36046 &children[9],
36047 ),
36048 471 => self.if_expression_list_0(
36049 &children[0],
36050 &children[1],
36051 &children[2],
36052 &children[3],
36053 &children[4],
36054 &children[5],
36055 &children[6],
36056 ),
36057 472 => self.if_expression_list_1(),
36058 473 => self.case_expression(
36059 &children[0],
36060 &children[1],
36061 &children[2],
36062 &children[3],
36063 &children[4],
36064 &children[5],
36065 &children[6],
36066 &children[7],
36067 &children[8],
36068 &children[9],
36069 &children[10],
36070 &children[11],
36071 &children[12],
36072 ),
36073 474 => self.case_expression_list_0(
36074 &children[0],
36075 &children[1],
36076 &children[2],
36077 &children[3],
36078 &children[4],
36079 ),
36080 475 => self.case_expression_list_1(),
36081 476 => self.case_expression_opt_0(&children[0]),
36082 477 => self.case_expression_opt_1(),
36083 478 => self.switch_expression(
36084 &children[0],
36085 &children[1],
36086 &children[2],
36087 &children[3],
36088 &children[4],
36089 &children[5],
36090 &children[6],
36091 &children[7],
36092 &children[8],
36093 &children[9],
36094 &children[10],
36095 &children[11],
36096 ),
36097 479 => self.switch_expression_list_0(
36098 &children[0],
36099 &children[1],
36100 &children[2],
36101 &children[3],
36102 &children[4],
36103 ),
36104 480 => self.switch_expression_list_1(),
36105 481 => self.switch_expression_opt_0(&children[0]),
36106 482 => self.switch_expression_opt_1(),
36107 483 => self.type_expression(&children[0], &children[1], &children[2], &children[3]),
36108 484 => self.inside_expression(
36109 &children[0],
36110 &children[1],
36111 &children[2],
36112 &children[3],
36113 &children[4],
36114 ),
36115 485 => self.outside_expression(
36116 &children[0],
36117 &children[1],
36118 &children[2],
36119 &children[3],
36120 &children[4],
36121 ),
36122 486 => self.range_list(&children[0], &children[1], &children[2]),
36123 487 => self.range_list_list_0(&children[0], &children[1], &children[2]),
36124 488 => self.range_list_list_1(),
36125 489 => self.range_list_opt_0(&children[0]),
36126 490 => self.range_list_opt_1(),
36127 491 => self.range_item(&children[0]),
36128 492 => self.select(&children[0], &children[1], &children[2], &children[3]),
36129 493 => self.select_opt_0(&children[0], &children[1]),
36130 494 => self.select_opt_1(),
36131 495 => self.select_operator_0(&children[0]),
36132 496 => self.select_operator_1(&children[0]),
36133 497 => self.select_operator_2(&children[0]),
36134 498 => self.select_operator_3(&children[0]),
36135 499 => self.width(&children[0], &children[1], &children[2], &children[3]),
36136 500 => self.width_list_0(&children[0], &children[1], &children[2]),
36137 501 => self.width_list_1(),
36138 502 => self.array(&children[0], &children[1], &children[2], &children[3]),
36139 503 => self.array_list_0(&children[0], &children[1], &children[2]),
36140 504 => self.array_list_1(),
36141 505 => self.range(&children[0], &children[1]),
36142 506 => self.range_opt_0(&children[0], &children[1]),
36143 507 => self.range_opt_1(),
36144 508 => self.range_operator_0(&children[0]),
36145 509 => self.range_operator_1(&children[0]),
36146 510 => self.fixed_type_0(&children[0]),
36147 511 => self.fixed_type_1(&children[0]),
36148 512 => self.fixed_type_2(&children[0]),
36149 513 => self.fixed_type_3(&children[0]),
36150 514 => self.fixed_type_4(&children[0]),
36151 515 => self.fixed_type_5(&children[0]),
36152 516 => self.fixed_type_6(&children[0]),
36153 517 => self.variable_type_0(&children[0]),
36154 518 => self.variable_type_1(&children[0]),
36155 519 => self.variable_type_2(&children[0]),
36156 520 => self.variable_type_3(&children[0]),
36157 521 => self.variable_type_4(&children[0]),
36158 522 => self.variable_type_5(&children[0]),
36159 523 => self.variable_type_6(&children[0]),
36160 524 => self.variable_type_7(&children[0]),
36161 525 => self.variable_type_8(&children[0]),
36162 526 => self.variable_type_9(&children[0]),
36163 527 => self.user_defined_type(&children[0]),
36164 528 => self.type_modifier_0(&children[0]),
36165 529 => self.type_modifier_1(&children[0]),
36166 530 => self.factor_type(&children[0]),
36167 531 => self.factor_type_group_0(&children[0], &children[1]),
36168 532 => self.factor_type_group_1(&children[0]),
36169 533 => self.factor_type_opt_0(&children[0]),
36170 534 => self.factor_type_opt_1(),
36171 535 => self.scalar_type(&children[0], &children[1]),
36172 536 => self.scalar_type_group_0(&children[0], &children[1]),
36173 537 => self.scalar_type_group_1(&children[0]),
36174 538 => self.scalar_type_list_0(&children[0], &children[1]),
36175 539 => self.scalar_type_list_1(),
36176 540 => self.scalar_type_opt_0(&children[0]),
36177 541 => self.scalar_type_opt_1(),
36178 542 => self.array_type(&children[0], &children[1]),
36179 543 => self.array_type_opt_0(&children[0]),
36180 544 => self.array_type_opt_1(),
36181 545 => self.casting_type_0(&children[0]),
36182 546 => self.casting_type_1(&children[0]),
36183 547 => self.casting_type_2(&children[0]),
36184 548 => self.casting_type_3(&children[0]),
36185 549 => self.casting_type_4(&children[0]),
36186 550 => self.casting_type_5(&children[0]),
36187 551 => self.casting_type_6(&children[0]),
36188 552 => self.casting_type_7(&children[0]),
36189 553 => self.casting_type_8(&children[0]),
36190 554 => self.casting_type_9(&children[0]),
36191 555 => self.casting_type_10(&children[0]),
36192 556 => self.casting_type_11(&children[0]),
36193 557 => self.casting_type_12(&children[0]),
36194 558 => self.casting_type_13(&children[0]),
36195 559 => self.casting_type_14(&children[0]),
36196 560 => self.casting_type_15(&children[0]),
36197 561 => self.casting_type_16(&children[0]),
36198 562 => self.clock_domain(&children[0], &children[1]),
36199 563 => self.statement_block(&children[0], &children[1], &children[2]),
36200 564 => self.statement_block_list_0(&children[0], &children[1]),
36201 565 => self.statement_block_list_1(),
36202 566 => self.statement_block_group(&children[0], &children[1]),
36203 567 => self.statement_block_group_group_0(&children[0], &children[1], &children[2]),
36204 568 => self.statement_block_group_group_list_0(&children[0], &children[1]),
36205 569 => self.statement_block_group_group_list_1(),
36206 570 => self.statement_block_group_group_1(&children[0]),
36207 571 => self.statement_block_group_list_0(&children[0], &children[1]),
36208 572 => self.statement_block_group_list_1(),
36209 573 => self.statement_block_item_0(&children[0]),
36210 574 => self.statement_block_item_1(&children[0]),
36211 575 => self.statement_block_item_2(&children[0]),
36212 576 => self.statement_0(&children[0]),
36213 577 => self.statement_1(&children[0]),
36214 578 => self.statement_2(&children[0]),
36215 579 => self.statement_3(&children[0]),
36216 580 => self.statement_4(&children[0]),
36217 581 => self.statement_5(&children[0]),
36218 582 => self.statement_6(&children[0]),
36219 583 => self.statement_7(&children[0]),
36220 584 => self.let_statement(
36221 &children[0],
36222 &children[1],
36223 &children[2],
36224 &children[3],
36225 &children[4],
36226 &children[5],
36227 &children[6],
36228 &children[7],
36229 ),
36230 585 => self.let_statement_opt_0(&children[0]),
36231 586 => self.let_statement_opt_1(),
36232 587 => self.identifier_statement(&children[0], &children[1], &children[2]),
36233 588 => self.identifier_statement_group_0(&children[0]),
36234 589 => self.identifier_statement_group_1(&children[0]),
36235 590 => self.assignment(&children[0], &children[1]),
36236 591 => self.assignment_group_0(&children[0]),
36237 592 => self.assignment_group_1(&children[0]),
36238 593 => self.if_statement(
36239 &children[0],
36240 &children[1],
36241 &children[2],
36242 &children[3],
36243 &children[4],
36244 ),
36245 594 => self.if_statement_list_0(
36246 &children[0],
36247 &children[1],
36248 &children[2],
36249 &children[3],
36250 &children[4],
36251 ),
36252 595 => self.if_statement_list_1(),
36253 596 => self.if_statement_opt_0(&children[0], &children[1]),
36254 597 => self.if_statement_opt_1(),
36255 598 => self.if_reset_statement(&children[0], &children[1], &children[2], &children[3]),
36256 599 => self.if_reset_statement_list_0(
36257 &children[0],
36258 &children[1],
36259 &children[2],
36260 &children[3],
36261 &children[4],
36262 ),
36263 600 => self.if_reset_statement_list_1(),
36264 601 => self.if_reset_statement_opt_0(&children[0], &children[1]),
36265 602 => self.if_reset_statement_opt_1(),
36266 603 => self.return_statement(&children[0], &children[1], &children[2]),
36267 604 => self.break_statement(&children[0], &children[1]),
36268 605 => self.for_statement(
36269 &children[0],
36270 &children[1],
36271 &children[2],
36272 &children[3],
36273 &children[4],
36274 &children[5],
36275 &children[6],
36276 &children[7],
36277 ),
36278 606 => self.for_statement_opt_0(&children[0], &children[1], &children[2]),
36279 607 => self.for_statement_opt_1(),
36280 608 => self.case_statement(
36281 &children[0],
36282 &children[1],
36283 &children[2],
36284 &children[3],
36285 &children[4],
36286 ),
36287 609 => self.case_statement_list_0(&children[0], &children[1]),
36288 610 => self.case_statement_list_1(),
36289 611 => self.case_item(&children[0], &children[1], &children[2]),
36290 612 => self.case_item_group0_0(&children[0]),
36291 613 => self.case_item_group0_1(&children[0]),
36292 614 => self.case_item_group_0(&children[0]),
36293 615 => self.case_item_group_1(&children[0]),
36294 616 => self.case_condition(&children[0], &children[1]),
36295 617 => self.case_condition_list_0(&children[0], &children[1], &children[2]),
36296 618 => self.case_condition_list_1(),
36297 619 => self.switch_statement(&children[0], &children[1], &children[2], &children[3]),
36298 620 => self.switch_statement_list_0(&children[0], &children[1]),
36299 621 => self.switch_statement_list_1(),
36300 622 => self.switch_item(&children[0], &children[1], &children[2]),
36301 623 => self.switch_item_group0_0(&children[0]),
36302 624 => self.switch_item_group0_1(&children[0]),
36303 625 => self.switch_item_group_0(&children[0]),
36304 626 => self.switch_item_group_1(&children[0]),
36305 627 => self.switch_condition(&children[0], &children[1]),
36306 628 => self.switch_condition_list_0(&children[0], &children[1], &children[2]),
36307 629 => self.switch_condition_list_1(),
36308 630 => self.attribute(
36309 &children[0],
36310 &children[1],
36311 &children[2],
36312 &children[3],
36313 &children[4],
36314 ),
36315 631 => self.attribute_opt_0(&children[0], &children[1], &children[2]),
36316 632 => self.attribute_opt_1(),
36317 633 => self.attribute_list(&children[0], &children[1], &children[2]),
36318 634 => self.attribute_list_list_0(&children[0], &children[1], &children[2]),
36319 635 => self.attribute_list_list_1(),
36320 636 => self.attribute_list_opt_0(&children[0]),
36321 637 => self.attribute_list_opt_1(),
36322 638 => self.attribute_item_0(&children[0]),
36323 639 => self.attribute_item_1(&children[0]),
36324 640 => self.let_declaration(
36325 &children[0],
36326 &children[1],
36327 &children[2],
36328 &children[3],
36329 &children[4],
36330 &children[5],
36331 &children[6],
36332 &children[7],
36333 ),
36334 641 => self.let_declaration_opt_0(&children[0]),
36335 642 => self.let_declaration_opt_1(),
36336 643 => self.var_declaration(
36337 &children[0],
36338 &children[1],
36339 &children[2],
36340 &children[3],
36341 &children[4],
36342 &children[5],
36343 ),
36344 644 => self.var_declaration_opt_0(&children[0]),
36345 645 => self.var_declaration_opt_1(),
36346 646 => self.const_declaration(
36347 &children[0],
36348 &children[1],
36349 &children[2],
36350 &children[3],
36351 &children[4],
36352 &children[5],
36353 &children[6],
36354 ),
36355 647 => self.const_declaration_group_0(&children[0]),
36356 648 => self.const_declaration_group_1(&children[0]),
36357 649 => self.type_def_declaration(
36358 &children[0],
36359 &children[1],
36360 &children[2],
36361 &children[3],
36362 &children[4],
36363 ),
36364 650 => self.always_ff_declaration(&children[0], &children[1], &children[2]),
36365 651 => self.always_ff_declaration_opt_0(&children[0]),
36366 652 => self.always_ff_declaration_opt_1(),
36367 653 => {
36368 self.always_ff_event_list(&children[0], &children[1], &children[2], &children[3])
36369 }
36370 654 => self.always_ff_event_list_opt_0(&children[0], &children[1]),
36371 655 => self.always_ff_event_list_opt_1(),
36372 656 => self.always_ff_clock(&children[0]),
36373 657 => self.always_ff_reset(&children[0]),
36374 658 => self.always_comb_declaration(&children[0], &children[1]),
36375 659 => self.assign_declaration(
36376 &children[0],
36377 &children[1],
36378 &children[2],
36379 &children[3],
36380 &children[4],
36381 ),
36382 660 => self.assign_destination_0(&children[0]),
36383 661 => self.assign_destination_1(&children[0], &children[1], &children[2]),
36384 662 => self.assign_concatenation_list(&children[0], &children[1], &children[2]),
36385 663 => self.assign_concatenation_list_list_0(&children[0], &children[1], &children[2]),
36386 664 => self.assign_concatenation_list_list_1(),
36387 665 => self.assign_concatenation_list_opt_0(&children[0]),
36388 666 => self.assign_concatenation_list_opt_1(),
36389 667 => self.assign_concatenation_item(&children[0]),
36390 668 => self.modport_declaration(
36391 &children[0],
36392 &children[1],
36393 &children[2],
36394 &children[3],
36395 &children[4],
36396 &children[5],
36397 ),
36398 669 => self.modport_declaration_opt0_0(&children[0], &children[1]),
36399 670 => self.modport_declaration_opt0_1(),
36400 671 => self.modport_declaration_opt_0(&children[0]),
36401 672 => self.modport_declaration_opt_1(),
36402 673 => self.modport_list(&children[0], &children[1], &children[2]),
36403 674 => self.modport_list_list_0(&children[0], &children[1], &children[2]),
36404 675 => self.modport_list_list_1(),
36405 676 => self.modport_list_opt_0(&children[0]),
36406 677 => self.modport_list_opt_1(),
36407 678 => self.modport_group(&children[0], &children[1]),
36408 679 => self.modport_group_group_0(&children[0], &children[1], &children[2]),
36409 680 => self.modport_group_group_1(&children[0]),
36410 681 => self.modport_group_list_0(&children[0], &children[1]),
36411 682 => self.modport_group_list_1(),
36412 683 => self.modport_item(&children[0], &children[1], &children[2]),
36413 684 => self.modport_default_0(&children[0]),
36414 685 => self.modport_default_1(&children[0]),
36415 686 => self.modport_default_2(&children[0], &children[1], &children[2], &children[3]),
36416 687 => self.enum_declaration(
36417 &children[0],
36418 &children[1],
36419 &children[2],
36420 &children[3],
36421 &children[4],
36422 &children[5],
36423 ),
36424 688 => self.enum_declaration_opt_0(&children[0], &children[1]),
36425 689 => self.enum_declaration_opt_1(),
36426 690 => self.enum_list(&children[0], &children[1], &children[2]),
36427 691 => self.enum_list_list_0(&children[0], &children[1], &children[2]),
36428 692 => self.enum_list_list_1(),
36429 693 => self.enum_list_opt_0(&children[0]),
36430 694 => self.enum_list_opt_1(),
36431 695 => self.enum_group(&children[0], &children[1]),
36432 696 => self.enum_group_group_0(&children[0], &children[1], &children[2]),
36433 697 => self.enum_group_group_1(&children[0]),
36434 698 => self.enum_group_list_0(&children[0], &children[1]),
36435 699 => self.enum_group_list_1(),
36436 700 => self.enum_item(&children[0], &children[1]),
36437 701 => self.enum_item_opt_0(&children[0], &children[1]),
36438 702 => self.enum_item_opt_1(),
36439 703 => self.struct_union_0(&children[0]),
36440 704 => self.struct_union_1(&children[0]),
36441 705 => self.struct_union_declaration(
36442 &children[0],
36443 &children[1],
36444 &children[2],
36445 &children[3],
36446 &children[4],
36447 &children[5],
36448 ),
36449 706 => self.struct_union_declaration_opt_0(&children[0]),
36450 707 => self.struct_union_declaration_opt_1(),
36451 708 => self.struct_union_list(&children[0], &children[1], &children[2]),
36452 709 => self.struct_union_list_list_0(&children[0], &children[1], &children[2]),
36453 710 => self.struct_union_list_list_1(),
36454 711 => self.struct_union_list_opt_0(&children[0]),
36455 712 => self.struct_union_list_opt_1(),
36456 713 => self.struct_union_group(&children[0], &children[1]),
36457 714 => self.struct_union_group_group_0(&children[0], &children[1], &children[2]),
36458 715 => self.struct_union_group_group_1(&children[0]),
36459 716 => self.struct_union_group_list_0(&children[0], &children[1]),
36460 717 => self.struct_union_group_list_1(),
36461 718 => self.struct_union_item(&children[0], &children[1], &children[2]),
36462 719 => self.initial_declaration(&children[0], &children[1]),
36463 720 => self.final_declaration(&children[0], &children[1]),
36464 721 => self.inst_declaration(
36465 &children[0],
36466 &children[1],
36467 &children[2],
36468 &children[3],
36469 &children[4],
36470 &children[5],
36471 &children[6],
36472 &children[7],
36473 &children[8],
36474 ),
36475 722 => self.inst_declaration_opt2_0(&children[0], &children[1], &children[2]),
36476 723 => self.inst_declaration_opt3_0(&children[0]),
36477 724 => self.inst_declaration_opt3_1(),
36478 725 => self.inst_declaration_opt2_1(),
36479 726 => self.inst_declaration_opt1_0(&children[0]),
36480 727 => self.inst_declaration_opt1_1(),
36481 728 => self.inst_declaration_opt0_0(&children[0]),
36482 729 => self.inst_declaration_opt0_1(),
36483 730 => self.inst_declaration_opt_0(&children[0]),
36484 731 => self.inst_declaration_opt_1(),
36485 732 => self.inst_parameter(&children[0], &children[1], &children[2], &children[3]),
36486 733 => self.inst_parameter_opt_0(&children[0]),
36487 734 => self.inst_parameter_opt_1(),
36488 735 => self.inst_parameter_list(&children[0], &children[1], &children[2]),
36489 736 => self.inst_parameter_list_list_0(&children[0], &children[1], &children[2]),
36490 737 => self.inst_parameter_list_list_1(),
36491 738 => self.inst_parameter_list_opt_0(&children[0]),
36492 739 => self.inst_parameter_list_opt_1(),
36493 740 => self.inst_parameter_group(&children[0], &children[1]),
36494 741 => self.inst_parameter_group_group_0(&children[0], &children[1], &children[2]),
36495 742 => self.inst_parameter_group_group_1(&children[0]),
36496 743 => self.inst_parameter_group_list_0(&children[0], &children[1]),
36497 744 => self.inst_parameter_group_list_1(),
36498 745 => self.inst_parameter_item(&children[0], &children[1]),
36499 746 => self.inst_parameter_item_opt_0(&children[0], &children[1]),
36500 747 => self.inst_parameter_item_opt_1(),
36501 748 => self.inst_port_list(&children[0], &children[1], &children[2]),
36502 749 => self.inst_port_list_list_0(&children[0], &children[1], &children[2]),
36503 750 => self.inst_port_list_list_1(),
36504 751 => self.inst_port_list_opt_0(&children[0]),
36505 752 => self.inst_port_list_opt_1(),
36506 753 => self.inst_port_group(&children[0], &children[1]),
36507 754 => self.inst_port_group_group_0(&children[0], &children[1], &children[2]),
36508 755 => self.inst_port_group_group_1(&children[0]),
36509 756 => self.inst_port_group_list_0(&children[0], &children[1]),
36510 757 => self.inst_port_group_list_1(),
36511 758 => self.inst_port_item(&children[0], &children[1]),
36512 759 => self.inst_port_item_opt_0(&children[0], &children[1]),
36513 760 => self.inst_port_item_opt_1(),
36514 761 => self.with_parameter(&children[0], &children[1], &children[2], &children[3]),
36515 762 => self.with_parameter_opt_0(&children[0]),
36516 763 => self.with_parameter_opt_1(),
36517 764 => self.with_parameter_list(&children[0], &children[1], &children[2]),
36518 765 => self.with_parameter_list_list_0(&children[0], &children[1], &children[2]),
36519 766 => self.with_parameter_list_list_1(),
36520 767 => self.with_parameter_list_opt_0(&children[0]),
36521 768 => self.with_parameter_list_opt_1(),
36522 769 => self.with_parameter_group(&children[0], &children[1]),
36523 770 => self.with_parameter_group_group_0(&children[0], &children[1], &children[2]),
36524 771 => self.with_parameter_group_group_1(&children[0]),
36525 772 => self.with_parameter_group_list_0(&children[0], &children[1]),
36526 773 => self.with_parameter_group_list_1(),
36527 774 => self.with_parameter_item(
36528 &children[0],
36529 &children[1],
36530 &children[2],
36531 &children[3],
36532 &children[4],
36533 &children[5],
36534 ),
36535 775 => self.with_parameter_item_group0_0(&children[0]),
36536 776 => self.with_parameter_item_group0_1(&children[0]),
36537 777 => self.with_parameter_item_group_0(&children[0]),
36538 778 => self.with_parameter_item_group_1(&children[0]),
36539 779 => self.generic_bound_0(&children[0]),
36540 780 => self.generic_bound_1(&children[0]),
36541 781 => self.generic_bound_2(&children[0], &children[1]),
36542 782 => self.generic_bound_3(&children[0]),
36543 783 => self.with_generic_parameter(&children[0], &children[1], &children[2]),
36544 784 => self.with_generic_parameter_list(&children[0], &children[1], &children[2]),
36545 785 => {
36546 self.with_generic_parameter_list_list_0(&children[0], &children[1], &children[2])
36547 }
36548 786 => self.with_generic_parameter_list_list_1(),
36549 787 => self.with_generic_parameter_list_opt_0(&children[0]),
36550 788 => self.with_generic_parameter_list_opt_1(),
36551 789 => self.with_generic_parameter_item(
36552 &children[0],
36553 &children[1],
36554 &children[2],
36555 &children[3],
36556 ),
36557 790 => self.with_generic_parameter_item_opt_0(&children[0], &children[1]),
36558 791 => self.with_generic_parameter_item_opt_1(),
36559 792 => self.with_generic_argument(&children[0], &children[1], &children[2]),
36560 793 => self.with_generic_argument_opt_0(&children[0]),
36561 794 => self.with_generic_argument_opt_1(),
36562 795 => self.with_generic_argument_list(&children[0], &children[1], &children[2]),
36563 796 => self.with_generic_argument_list_list_0(&children[0], &children[1], &children[2]),
36564 797 => self.with_generic_argument_list_list_1(),
36565 798 => self.with_generic_argument_list_opt_0(&children[0]),
36566 799 => self.with_generic_argument_list_opt_1(),
36567 800 => self.with_generic_argument_item_0(&children[0]),
36568 801 => self.with_generic_argument_item_1(&children[0]),
36569 802 => self.port_declaration(&children[0], &children[1], &children[2]),
36570 803 => self.port_declaration_opt_0(&children[0]),
36571 804 => self.port_declaration_opt_1(),
36572 805 => self.port_declaration_list(&children[0], &children[1], &children[2]),
36573 806 => self.port_declaration_list_list_0(&children[0], &children[1], &children[2]),
36574 807 => self.port_declaration_list_list_1(),
36575 808 => self.port_declaration_list_opt_0(&children[0]),
36576 809 => self.port_declaration_list_opt_1(),
36577 810 => self.port_declaration_group(&children[0], &children[1]),
36578 811 => self.port_declaration_group_group_0(&children[0], &children[1], &children[2]),
36579 812 => self.port_declaration_group_group_1(&children[0]),
36580 813 => self.port_declaration_group_list_0(&children[0], &children[1]),
36581 814 => self.port_declaration_group_list_1(),
36582 815 => self.port_declaration_item(&children[0], &children[1], &children[2]),
36583 816 => self.port_declaration_item_group_0(&children[0]),
36584 817 => self.port_declaration_item_group_1(&children[0]),
36585 818 => self.port_type_concrete(&children[0], &children[1], &children[2], &children[3]),
36586 819 => self.port_type_concrete_opt0_0(&children[0], &children[1]),
36587 820 => self.port_type_concrete_opt0_1(),
36588 821 => self.port_type_concrete_opt_0(&children[0]),
36589 822 => self.port_type_concrete_opt_1(),
36590 823 => self.port_default_value(&children[0]),
36591 824 => self.port_type_abstract(&children[0], &children[1], &children[2], &children[3]),
36592 825 => self.port_type_abstract_opt1_0(&children[0]),
36593 826 => self.port_type_abstract_opt1_1(),
36594 827 => self.port_type_abstract_opt0_0(&children[0], &children[1]),
36595 828 => self.port_type_abstract_opt0_1(),
36596 829 => self.port_type_abstract_opt_0(&children[0]),
36597 830 => self.port_type_abstract_opt_1(),
36598 831 => self.direction_0(&children[0]),
36599 832 => self.direction_1(&children[0]),
36600 833 => self.direction_2(&children[0]),
36601 834 => self.direction_3(&children[0]),
36602 835 => self.direction_4(&children[0]),
36603 836 => self.direction_5(&children[0]),
36604 837 => self.function_declaration(
36605 &children[0],
36606 &children[1],
36607 &children[2],
36608 &children[3],
36609 &children[4],
36610 &children[5],
36611 ),
36612 838 => self.function_declaration_opt1_0(&children[0], &children[1]),
36613 839 => self.function_declaration_opt1_1(),
36614 840 => self.function_declaration_opt0_0(&children[0]),
36615 841 => self.function_declaration_opt0_1(),
36616 842 => self.function_declaration_opt_0(&children[0]),
36617 843 => self.function_declaration_opt_1(),
36618 844 => self.import_declaration(&children[0], &children[1], &children[2], &children[3]),
36619 845 => self.import_declaration_opt_0(&children[0], &children[1]),
36620 846 => self.import_declaration_opt_1(),
36621 847 => self.export_declaration(&children[0], &children[1], &children[2]),
36622 848 => self.export_declaration_group_0(&children[0]),
36623 849 => self.export_declaration_group_1(&children[0], &children[1]),
36624 850 => self.export_declaration_opt_0(&children[0], &children[1]),
36625 851 => self.export_declaration_opt_1(),
36626 852 => self.unsafe_block(
36627 &children[0],
36628 &children[1],
36629 &children[2],
36630 &children[3],
36631 &children[4],
36632 &children[5],
36633 &children[6],
36634 ),
36635 853 => self.unsafe_block_list_0(&children[0], &children[1]),
36636 854 => self.unsafe_block_list_1(),
36637 855 => self.module_declaration(
36638 &children[0],
36639 &children[1],
36640 &children[2],
36641 &children[3],
36642 &children[4],
36643 &children[5],
36644 &children[6],
36645 &children[7],
36646 &children[8],
36647 ),
36648 856 => self.module_declaration_list_0(&children[0], &children[1]),
36649 857 => self.module_declaration_list_1(),
36650 858 => self.module_declaration_opt2_0(&children[0]),
36651 859 => self.module_declaration_opt2_1(),
36652 860 => self.module_declaration_opt1_0(&children[0]),
36653 861 => self.module_declaration_opt1_1(),
36654 862 => self.module_declaration_opt0_0(&children[0], &children[1]),
36655 863 => self.module_declaration_opt0_1(),
36656 864 => self.module_declaration_opt_0(&children[0]),
36657 865 => self.module_declaration_opt_1(),
36658 866 => self.module_group(&children[0], &children[1]),
36659 867 => self.module_group_group_0(&children[0], &children[1], &children[2]),
36660 868 => self.module_group_group_list_0(&children[0], &children[1]),
36661 869 => self.module_group_group_list_1(),
36662 870 => self.module_group_group_1(&children[0]),
36663 871 => self.module_group_list_0(&children[0], &children[1]),
36664 872 => self.module_group_list_1(),
36665 873 => self.module_item(&children[0]),
36666 874 => self.interface_declaration(
36667 &children[0],
36668 &children[1],
36669 &children[2],
36670 &children[3],
36671 &children[4],
36672 &children[5],
36673 &children[6],
36674 ),
36675 875 => self.interface_declaration_list_0(&children[0], &children[1]),
36676 876 => self.interface_declaration_list_1(),
36677 877 => self.interface_declaration_opt0_0(&children[0]),
36678 878 => self.interface_declaration_opt0_1(),
36679 879 => self.interface_declaration_opt_0(&children[0]),
36680 880 => self.interface_declaration_opt_1(),
36681 881 => self.interface_group(&children[0], &children[1]),
36682 882 => self.interface_group_group_0(&children[0], &children[1], &children[2]),
36683 883 => self.interface_group_group_list_0(&children[0], &children[1]),
36684 884 => self.interface_group_group_list_1(),
36685 885 => self.interface_group_group_1(&children[0]),
36686 886 => self.interface_group_list_0(&children[0], &children[1]),
36687 887 => self.interface_group_list_1(),
36688 888 => self.interface_item_0(&children[0]),
36689 889 => self.interface_item_1(&children[0]),
36690 890 => self.generate_if_declaration(
36691 &children[0],
36692 &children[1],
36693 &children[2],
36694 &children[3],
36695 &children[4],
36696 ),
36697 891 => self.generate_if_declaration_list_0(
36698 &children[0],
36699 &children[1],
36700 &children[2],
36701 &children[3],
36702 &children[4],
36703 ),
36704 892 => self.generate_if_declaration_list_1(),
36705 893 => self.generate_if_declaration_opt_0(&children[0], &children[1]),
36706 894 => self.generate_if_declaration_opt_1(),
36707 895 => self.generate_for_declaration(
36708 &children[0],
36709 &children[1],
36710 &children[2],
36711 &children[3],
36712 &children[4],
36713 &children[5],
36714 ),
36715 896 => self.generate_for_declaration_opt_0(&children[0], &children[1], &children[2]),
36716 897 => self.generate_for_declaration_opt_1(),
36717 898 => self.generate_block_declaration(&children[0]),
36718 899 => self.generate_named_block(
36719 &children[0],
36720 &children[1],
36721 &children[2],
36722 &children[3],
36723 &children[4],
36724 ),
36725 900 => self.generate_named_block_list_0(&children[0], &children[1]),
36726 901 => self.generate_named_block_list_1(),
36727 902 => self.generate_optional_named_block(
36728 &children[0],
36729 &children[1],
36730 &children[2],
36731 &children[3],
36732 ),
36733 903 => self.generate_optional_named_block_list_0(&children[0], &children[1]),
36734 904 => self.generate_optional_named_block_list_1(),
36735 905 => self.generate_optional_named_block_opt_0(&children[0], &children[1]),
36736 906 => self.generate_optional_named_block_opt_1(),
36737 907 => self.generate_group(&children[0], &children[1]),
36738 908 => self.generate_group_group_0(&children[0], &children[1], &children[2]),
36739 909 => self.generate_group_group_list_0(&children[0], &children[1]),
36740 910 => self.generate_group_group_list_1(),
36741 911 => self.generate_group_group_1(&children[0]),
36742 912 => self.generate_group_list_0(&children[0], &children[1]),
36743 913 => self.generate_group_list_1(),
36744 914 => self.generate_item_0(&children[0]),
36745 915 => self.generate_item_1(&children[0]),
36746 916 => self.generate_item_2(&children[0]),
36747 917 => self.generate_item_3(&children[0]),
36748 918 => self.generate_item_4(&children[0]),
36749 919 => self.generate_item_5(&children[0]),
36750 920 => self.generate_item_6(&children[0]),
36751 921 => self.generate_item_7(&children[0]),
36752 922 => self.generate_item_8(&children[0]),
36753 923 => self.generate_item_9(&children[0]),
36754 924 => self.generate_item_10(&children[0]),
36755 925 => self.generate_item_11(&children[0]),
36756 926 => self.generate_item_12(&children[0]),
36757 927 => self.generate_item_13(&children[0]),
36758 928 => self.generate_item_14(&children[0]),
36759 929 => self.generate_item_15(&children[0]),
36760 930 => self.generate_item_16(&children[0]),
36761 931 => self.generate_item_17(&children[0]),
36762 932 => self.package_declaration(
36763 &children[0],
36764 &children[1],
36765 &children[2],
36766 &children[3],
36767 &children[4],
36768 &children[5],
36769 ),
36770 933 => self.package_declaration_list_0(&children[0], &children[1]),
36771 934 => self.package_declaration_list_1(),
36772 935 => self.package_declaration_opt_0(&children[0]),
36773 936 => self.package_declaration_opt_1(),
36774 937 => self.package_group(&children[0], &children[1]),
36775 938 => self.package_group_group_0(&children[0], &children[1], &children[2]),
36776 939 => self.package_group_group_list_0(&children[0], &children[1]),
36777 940 => self.package_group_group_list_1(),
36778 941 => self.package_group_group_1(&children[0]),
36779 942 => self.package_group_list_0(&children[0], &children[1]),
36780 943 => self.package_group_list_1(),
36781 944 => self.package_item_0(&children[0]),
36782 945 => self.package_item_1(&children[0]),
36783 946 => self.package_item_2(&children[0]),
36784 947 => self.package_item_3(&children[0]),
36785 948 => self.package_item_4(&children[0]),
36786 949 => self.package_item_5(&children[0]),
36787 950 => self.package_item_6(&children[0]),
36788 951 => self.proto_module_declaration(
36789 &children[0],
36790 &children[1],
36791 &children[2],
36792 &children[3],
36793 &children[4],
36794 &children[5],
36795 ),
36796 952 => self.proto_module_declaration_opt0_0(&children[0]),
36797 953 => self.proto_module_declaration_opt0_1(),
36798 954 => self.proto_module_declaration_opt_0(&children[0]),
36799 955 => self.proto_module_declaration_opt_1(),
36800 956 => self.embed_declaration(
36801 &children[0],
36802 &children[1],
36803 &children[2],
36804 &children[3],
36805 &children[4],
36806 &children[5],
36807 ),
36808 957 => self.embed_content(&children[0]),
36809 958 => self.embed_content_token(
36810 &children[0],
36811 &children[1],
36812 &children[2],
36813 &children[3],
36814 &children[4],
36815 &children[5],
36816 &children[6],
36817 &children[7],
36818 ),
36819 959 => self.embed_content_token_list_0(&children[0], &children[1]),
36820 960 => self.embed_content_token_list_1(),
36821 961 => self.embed_item_0(&children[0], &children[1], &children[2]),
36822 962 => self.embed_item_list_0(&children[0], &children[1]),
36823 963 => self.embed_item_list_1(),
36824 964 => self.embed_item_1(&children[0]),
36825 965 => self.include_declaration(
36826 &children[0],
36827 &children[1],
36828 &children[2],
36829 &children[3],
36830 &children[4],
36831 &children[5],
36832 &children[6],
36833 ),
36834 966 => self.description_group(&children[0], &children[1]),
36835 967 => self.description_group_group_0(&children[0], &children[1], &children[2]),
36836 968 => self.description_group_group_list_0(&children[0], &children[1]),
36837 969 => self.description_group_group_list_1(),
36838 970 => self.description_group_group_1(&children[0]),
36839 971 => self.description_group_list_0(&children[0], &children[1]),
36840 972 => self.description_group_list_1(),
36841 973 => self.description_item_0(&children[0], &children[1]),
36842 974 => self.description_item_1(&children[0]),
36843 975 => self.description_item_2(&children[0]),
36844 976 => self.description_item_3(&children[0]),
36845 977 => self.description_item_opt_0(&children[0]),
36846 978 => self.description_item_opt_1(),
36847 979 => self.public_description_item_0(&children[0]),
36848 980 => self.public_description_item_1(&children[0]),
36849 981 => self.public_description_item_2(&children[0]),
36850 982 => self.public_description_item_3(&children[0]),
36851 983 => self.veryl(&children[0], &children[1]),
36852 984 => self.veryl_list_0(&children[0], &children[1]),
36853 985 => self.veryl_list_1(),
36854 _ => Err(ParserError::InternalError(format!(
36855 "Unhandled production number: {}",
36856 prod_num
36857 ))
36858 .into()),
36859 }
36860 }
36861
36862 fn on_comment(&mut self, token: Token<'t>) {
36863 self.user_grammar.on_comment(token)
36864 }
36865}