1use crate::builder::{BuilderNodeId, CstBuilder};
4use crate::node_kind::{NonTerminalKind, TerminalKind};
5#[derive(Debug, Clone)]
7pub struct HashToken {
8 pub(super) node_id: BuilderNodeId,
9 pub(super) builder: CstBuilder,
10}
11impl HashToken {
12 pub fn into_builder(self) -> CstBuilder {
14 self.builder
15 }
16}
17impl From<HashToken> for BuilderNodeId {
18 fn from(token: HashToken) -> Self {
19 token.node_id
20 }
21}
22#[derive(Debug, Clone)]
24pub struct MapBindToken {
25 pub(super) node_id: BuilderNodeId,
26 pub(super) builder: CstBuilder,
27}
28impl MapBindToken {
29 pub fn into_builder(self) -> CstBuilder {
31 self.builder
32 }
33}
34impl From<MapBindToken> for BuilderNodeId {
35 fn from(token: MapBindToken) -> Self {
36 token.node_id
37 }
38}
39#[derive(Debug, Clone)]
41pub struct IntegerToken {
42 pub(super) node_id: BuilderNodeId,
43 pub(super) builder: CstBuilder,
44}
45impl IntegerToken {
46 pub fn into_builder(self) -> CstBuilder {
48 self.builder
49 }
50}
51impl From<IntegerToken> for BuilderNodeId {
52 fn from(token: IntegerToken) -> Self {
53 token.node_id
54 }
55}
56#[derive(Debug, Clone)]
58pub struct FloatToken {
59 pub(super) node_id: BuilderNodeId,
60 pub(super) builder: CstBuilder,
61}
62impl FloatToken {
63 pub fn into_builder(self) -> CstBuilder {
65 self.builder
66 }
67}
68impl From<FloatToken> for BuilderNodeId {
69 fn from(token: FloatToken) -> Self {
70 token.node_id
71 }
72}
73#[derive(Debug, Clone)]
75pub struct InfToken {
76 pub(super) node_id: BuilderNodeId,
77 pub(super) builder: CstBuilder,
78}
79impl InfToken {
80 pub fn into_builder(self) -> CstBuilder {
82 self.builder
83 }
84}
85impl From<InfToken> for BuilderNodeId {
86 fn from(token: InfToken) -> Self {
87 token.node_id
88 }
89}
90#[derive(Debug, Clone)]
92pub struct NaNToken {
93 pub(super) node_id: BuilderNodeId,
94 pub(super) builder: CstBuilder,
95}
96impl NaNToken {
97 pub fn into_builder(self) -> CstBuilder {
99 self.builder
100 }
101}
102impl From<NaNToken> for BuilderNodeId {
103 fn from(token: NaNToken) -> Self {
104 token.node_id
105 }
106}
107#[derive(Debug, Clone)]
109pub struct TrueToken {
110 pub(super) node_id: BuilderNodeId,
111 pub(super) builder: CstBuilder,
112}
113impl TrueToken {
114 pub fn into_builder(self) -> CstBuilder {
116 self.builder
117 }
118}
119impl From<TrueToken> for BuilderNodeId {
120 fn from(token: TrueToken) -> Self {
121 token.node_id
122 }
123}
124#[derive(Debug, Clone)]
126pub struct FalseToken {
127 pub(super) node_id: BuilderNodeId,
128 pub(super) builder: CstBuilder,
129}
130impl FalseToken {
131 pub fn into_builder(self) -> CstBuilder {
133 self.builder
134 }
135}
136impl From<FalseToken> for BuilderNodeId {
137 fn from(token: FalseToken) -> Self {
138 token.node_id
139 }
140}
141#[derive(Debug, Clone)]
143pub struct NullToken {
144 pub(super) node_id: BuilderNodeId,
145 pub(super) builder: CstBuilder,
146}
147impl NullToken {
148 pub fn into_builder(self) -> CstBuilder {
150 self.builder
151 }
152}
153impl From<NullToken> for BuilderNodeId {
154 fn from(token: NullToken) -> Self {
155 token.node_id
156 }
157}
158#[derive(Debug, Clone)]
160pub struct HoleToken {
161 pub(super) node_id: BuilderNodeId,
162 pub(super) builder: CstBuilder,
163}
164impl HoleToken {
165 pub fn into_builder(self) -> CstBuilder {
167 self.builder
168 }
169}
170impl From<HoleToken> for BuilderNodeId {
171 fn from(token: HoleToken) -> Self {
172 token.node_id
173 }
174}
175#[derive(Debug, Clone)]
177pub struct StrToken {
178 pub(super) node_id: BuilderNodeId,
179 pub(super) builder: CstBuilder,
180}
181impl StrToken {
182 pub fn into_builder(self) -> CstBuilder {
184 self.builder
185 }
186}
187impl From<StrToken> for BuilderNodeId {
188 fn from(token: StrToken) -> Self {
189 token.node_id
190 }
191}
192#[derive(Debug, Clone)]
194pub struct TextToken {
195 pub(super) node_id: BuilderNodeId,
196 pub(super) builder: CstBuilder,
197}
198impl TextToken {
199 pub fn into_builder(self) -> CstBuilder {
201 self.builder
202 }
203}
204impl From<TextToken> for BuilderNodeId {
205 fn from(token: TextToken) -> Self {
206 token.node_id
207 }
208}
209#[derive(Debug, Clone)]
211pub struct InlineCode1Token {
212 pub(super) node_id: BuilderNodeId,
213 pub(super) builder: CstBuilder,
214}
215impl InlineCode1Token {
216 pub fn into_builder(self) -> CstBuilder {
218 self.builder
219 }
220}
221impl From<InlineCode1Token> for BuilderNodeId {
222 fn from(token: InlineCode1Token) -> Self {
223 token.node_id
224 }
225}
226#[derive(Debug, Clone)]
228pub struct InlineCodeStart2Token {
229 pub(super) node_id: BuilderNodeId,
230 pub(super) builder: CstBuilder,
231}
232impl InlineCodeStart2Token {
233 pub fn into_builder(self) -> CstBuilder {
235 self.builder
236 }
237}
238impl From<InlineCodeStart2Token> for BuilderNodeId {
239 fn from(token: InlineCodeStart2Token) -> Self {
240 token.node_id
241 }
242}
243#[derive(Debug, Clone)]
245pub struct CodeBlockStart3Token {
246 pub(super) node_id: BuilderNodeId,
247 pub(super) builder: CstBuilder,
248}
249impl CodeBlockStart3Token {
250 pub fn into_builder(self) -> CstBuilder {
252 self.builder
253 }
254}
255impl From<CodeBlockStart3Token> for BuilderNodeId {
256 fn from(token: CodeBlockStart3Token) -> Self {
257 token.node_id
258 }
259}
260#[derive(Debug, Clone)]
262pub struct CodeBlockStart4Token {
263 pub(super) node_id: BuilderNodeId,
264 pub(super) builder: CstBuilder,
265}
266impl CodeBlockStart4Token {
267 pub fn into_builder(self) -> CstBuilder {
269 self.builder
270 }
271}
272impl From<CodeBlockStart4Token> for BuilderNodeId {
273 fn from(token: CodeBlockStart4Token) -> Self {
274 token.node_id
275 }
276}
277#[derive(Debug, Clone)]
279pub struct CodeBlockStart5Token {
280 pub(super) node_id: BuilderNodeId,
281 pub(super) builder: CstBuilder,
282}
283impl CodeBlockStart5Token {
284 pub fn into_builder(self) -> CstBuilder {
286 self.builder
287 }
288}
289impl From<CodeBlockStart5Token> for BuilderNodeId {
290 fn from(token: CodeBlockStart5Token) -> Self {
291 token.node_id
292 }
293}
294#[derive(Debug, Clone)]
296pub struct CodeBlockStart6Token {
297 pub(super) node_id: BuilderNodeId,
298 pub(super) builder: CstBuilder,
299}
300impl CodeBlockStart6Token {
301 pub fn into_builder(self) -> CstBuilder {
303 self.builder
304 }
305}
306impl From<CodeBlockStart6Token> for BuilderNodeId {
307 fn from(token: CodeBlockStart6Token) -> Self {
308 token.node_id
309 }
310}
311#[derive(Debug, Clone)]
313pub struct CodeBlockEnd3Token {
314 pub(super) node_id: BuilderNodeId,
315 pub(super) builder: CstBuilder,
316}
317impl CodeBlockEnd3Token {
318 pub fn into_builder(self) -> CstBuilder {
320 self.builder
321 }
322}
323impl From<CodeBlockEnd3Token> for BuilderNodeId {
324 fn from(token: CodeBlockEnd3Token) -> Self {
325 token.node_id
326 }
327}
328#[derive(Debug, Clone)]
330pub struct Backtick2Token {
331 pub(super) node_id: BuilderNodeId,
332 pub(super) builder: CstBuilder,
333}
334impl Backtick2Token {
335 pub fn into_builder(self) -> CstBuilder {
337 self.builder
338 }
339}
340impl From<Backtick2Token> for BuilderNodeId {
341 fn from(token: Backtick2Token) -> Self {
342 token.node_id
343 }
344}
345#[derive(Debug, Clone)]
347pub struct CodeBlockEnd4Token {
348 pub(super) node_id: BuilderNodeId,
349 pub(super) builder: CstBuilder,
350}
351impl CodeBlockEnd4Token {
352 pub fn into_builder(self) -> CstBuilder {
354 self.builder
355 }
356}
357impl From<CodeBlockEnd4Token> for BuilderNodeId {
358 fn from(token: CodeBlockEnd4Token) -> Self {
359 token.node_id
360 }
361}
362#[derive(Debug, Clone)]
364pub struct Backtick3Token {
365 pub(super) node_id: BuilderNodeId,
366 pub(super) builder: CstBuilder,
367}
368impl Backtick3Token {
369 pub fn into_builder(self) -> CstBuilder {
371 self.builder
372 }
373}
374impl From<Backtick3Token> for BuilderNodeId {
375 fn from(token: Backtick3Token) -> Self {
376 token.node_id
377 }
378}
379#[derive(Debug, Clone)]
381pub struct CodeBlockEnd5Token {
382 pub(super) node_id: BuilderNodeId,
383 pub(super) builder: CstBuilder,
384}
385impl CodeBlockEnd5Token {
386 pub fn into_builder(self) -> CstBuilder {
388 self.builder
389 }
390}
391impl From<CodeBlockEnd5Token> for BuilderNodeId {
392 fn from(token: CodeBlockEnd5Token) -> Self {
393 token.node_id
394 }
395}
396#[derive(Debug, Clone)]
398pub struct Backtick4Token {
399 pub(super) node_id: BuilderNodeId,
400 pub(super) builder: CstBuilder,
401}
402impl Backtick4Token {
403 pub fn into_builder(self) -> CstBuilder {
405 self.builder
406 }
407}
408impl From<Backtick4Token> for BuilderNodeId {
409 fn from(token: Backtick4Token) -> Self {
410 token.node_id
411 }
412}
413#[derive(Debug, Clone)]
415pub struct CodeBlockEnd6Token {
416 pub(super) node_id: BuilderNodeId,
417 pub(super) builder: CstBuilder,
418}
419impl CodeBlockEnd6Token {
420 pub fn into_builder(self) -> CstBuilder {
422 self.builder
423 }
424}
425impl From<CodeBlockEnd6Token> for BuilderNodeId {
426 fn from(token: CodeBlockEnd6Token) -> Self {
427 token.node_id
428 }
429}
430#[derive(Debug, Clone)]
432pub struct Backtick5Token {
433 pub(super) node_id: BuilderNodeId,
434 pub(super) builder: CstBuilder,
435}
436impl Backtick5Token {
437 pub fn into_builder(self) -> CstBuilder {
439 self.builder
440 }
441}
442impl From<Backtick5Token> for BuilderNodeId {
443 fn from(token: Backtick5Token) -> Self {
444 token.node_id
445 }
446}
447#[derive(Debug, Clone)]
449pub struct InlineCodeEnd2Token {
450 pub(super) node_id: BuilderNodeId,
451 pub(super) builder: CstBuilder,
452}
453impl InlineCodeEnd2Token {
454 pub fn into_builder(self) -> CstBuilder {
456 self.builder
457 }
458}
459impl From<InlineCodeEnd2Token> for BuilderNodeId {
460 fn from(token: InlineCodeEnd2Token) -> Self {
461 token.node_id
462 }
463}
464#[derive(Debug, Clone)]
466pub struct Backtick1Token {
467 pub(super) node_id: BuilderNodeId,
468 pub(super) builder: CstBuilder,
469}
470impl Backtick1Token {
471 pub fn into_builder(self) -> CstBuilder {
473 self.builder
474 }
475}
476impl From<Backtick1Token> for BuilderNodeId {
477 fn from(token: Backtick1Token) -> Self {
478 token.node_id
479 }
480}
481#[derive(Debug, Clone)]
483pub struct NoBacktickToken {
484 pub(super) node_id: BuilderNodeId,
485 pub(super) builder: CstBuilder,
486}
487impl NoBacktickToken {
488 pub fn into_builder(self) -> CstBuilder {
490 self.builder
491 }
492}
493impl From<NoBacktickToken> for BuilderNodeId {
494 fn from(token: NoBacktickToken) -> Self {
495 token.node_id
496 }
497}
498#[derive(Debug, Clone)]
500pub struct NoBacktickInlineToken {
501 pub(super) node_id: BuilderNodeId,
502 pub(super) builder: CstBuilder,
503}
504impl NoBacktickInlineToken {
505 pub fn into_builder(self) -> CstBuilder {
507 self.builder
508 }
509}
510impl From<NoBacktickInlineToken> for BuilderNodeId {
511 fn from(token: NoBacktickInlineToken) -> Self {
512 token.node_id
513 }
514}
515#[derive(Debug, Clone)]
517pub struct GrammarNewlineToken {
518 pub(super) node_id: BuilderNodeId,
519 pub(super) builder: CstBuilder,
520}
521impl GrammarNewlineToken {
522 pub fn into_builder(self) -> CstBuilder {
524 self.builder
525 }
526}
527impl From<GrammarNewlineToken> for BuilderNodeId {
528 fn from(token: GrammarNewlineToken) -> Self {
529 token.node_id
530 }
531}
532#[derive(Debug, Clone)]
534pub struct WsToken {
535 pub(super) node_id: BuilderNodeId,
536 pub(super) builder: CstBuilder,
537}
538impl WsToken {
539 pub fn into_builder(self) -> CstBuilder {
541 self.builder
542 }
543}
544impl From<WsToken> for BuilderNodeId {
545 fn from(token: WsToken) -> Self {
546 token.node_id
547 }
548}
549#[derive(Debug, Clone)]
551pub struct AtToken {
552 pub(super) node_id: BuilderNodeId,
553 pub(super) builder: CstBuilder,
554}
555impl AtToken {
556 pub fn into_builder(self) -> CstBuilder {
558 self.builder
559 }
560}
561impl From<AtToken> for BuilderNodeId {
562 fn from(token: AtToken) -> Self {
563 token.node_id
564 }
565}
566#[derive(Debug, Clone)]
568pub struct DollarToken {
569 pub(super) node_id: BuilderNodeId,
570 pub(super) builder: CstBuilder,
571}
572impl DollarToken {
573 pub fn into_builder(self) -> CstBuilder {
575 self.builder
576 }
577}
578impl From<DollarToken> for BuilderNodeId {
579 fn from(token: DollarToken) -> Self {
580 token.node_id
581 }
582}
583#[derive(Debug, Clone)]
585pub struct DotToken {
586 pub(super) node_id: BuilderNodeId,
587 pub(super) builder: CstBuilder,
588}
589impl DotToken {
590 pub fn into_builder(self) -> CstBuilder {
592 self.builder
593 }
594}
595impl From<DotToken> for BuilderNodeId {
596 fn from(token: DotToken) -> Self {
597 token.node_id
598 }
599}
600#[derive(Debug, Clone)]
602pub struct LBraceToken {
603 pub(super) node_id: BuilderNodeId,
604 pub(super) builder: CstBuilder,
605}
606impl LBraceToken {
607 pub fn into_builder(self) -> CstBuilder {
609 self.builder
610 }
611}
612impl From<LBraceToken> for BuilderNodeId {
613 fn from(token: LBraceToken) -> Self {
614 token.node_id
615 }
616}
617#[derive(Debug, Clone)]
619pub struct RBraceToken {
620 pub(super) node_id: BuilderNodeId,
621 pub(super) builder: CstBuilder,
622}
623impl RBraceToken {
624 pub fn into_builder(self) -> CstBuilder {
626 self.builder
627 }
628}
629impl From<RBraceToken> for BuilderNodeId {
630 fn from(token: RBraceToken) -> Self {
631 token.node_id
632 }
633}
634#[derive(Debug, Clone)]
636pub struct LBracketToken {
637 pub(super) node_id: BuilderNodeId,
638 pub(super) builder: CstBuilder,
639}
640impl LBracketToken {
641 pub fn into_builder(self) -> CstBuilder {
643 self.builder
644 }
645}
646impl From<LBracketToken> for BuilderNodeId {
647 fn from(token: LBracketToken) -> Self {
648 token.node_id
649 }
650}
651#[derive(Debug, Clone)]
653pub struct RBracketToken {
654 pub(super) node_id: BuilderNodeId,
655 pub(super) builder: CstBuilder,
656}
657impl RBracketToken {
658 pub fn into_builder(self) -> CstBuilder {
660 self.builder
661 }
662}
663impl From<RBracketToken> for BuilderNodeId {
664 fn from(token: RBracketToken) -> Self {
665 token.node_id
666 }
667}
668#[derive(Debug, Clone)]
670pub struct LParenToken {
671 pub(super) node_id: BuilderNodeId,
672 pub(super) builder: CstBuilder,
673}
674impl LParenToken {
675 pub fn into_builder(self) -> CstBuilder {
677 self.builder
678 }
679}
680impl From<LParenToken> for BuilderNodeId {
681 fn from(token: LParenToken) -> Self {
682 token.node_id
683 }
684}
685#[derive(Debug, Clone)]
687pub struct RParenToken {
688 pub(super) node_id: BuilderNodeId,
689 pub(super) builder: CstBuilder,
690}
691impl RParenToken {
692 pub fn into_builder(self) -> CstBuilder {
694 self.builder
695 }
696}
697impl From<RParenToken> for BuilderNodeId {
698 fn from(token: RParenToken) -> Self {
699 token.node_id
700 }
701}
702#[derive(Debug, Clone)]
704pub struct BindToken {
705 pub(super) node_id: BuilderNodeId,
706 pub(super) builder: CstBuilder,
707}
708impl BindToken {
709 pub fn into_builder(self) -> CstBuilder {
711 self.builder
712 }
713}
714impl From<BindToken> for BuilderNodeId {
715 fn from(token: BindToken) -> Self {
716 token.node_id
717 }
718}
719#[derive(Debug, Clone)]
721pub struct CommaToken {
722 pub(super) node_id: BuilderNodeId,
723 pub(super) builder: CstBuilder,
724}
725impl CommaToken {
726 pub fn into_builder(self) -> CstBuilder {
728 self.builder
729 }
730}
731impl From<CommaToken> for BuilderNodeId {
732 fn from(token: CommaToken) -> Self {
733 token.node_id
734 }
735}
736#[derive(Debug, Clone)]
738pub struct EscToken {
739 pub(super) node_id: BuilderNodeId,
740 pub(super) builder: CstBuilder,
741}
742impl EscToken {
743 pub fn into_builder(self) -> CstBuilder {
745 self.builder
746 }
747}
748impl From<EscToken> for BuilderNodeId {
749 fn from(token: EscToken) -> Self {
750 token.node_id
751 }
752}
753#[derive(Debug, Clone)]
755pub struct TextStartToken {
756 pub(super) node_id: BuilderNodeId,
757 pub(super) builder: CstBuilder,
758}
759impl TextStartToken {
760 pub fn into_builder(self) -> CstBuilder {
762 self.builder
763 }
764}
765impl From<TextStartToken> for BuilderNodeId {
766 fn from(token: TextStartToken) -> Self {
767 token.node_id
768 }
769}
770#[derive(Debug, Clone)]
772pub struct IdentToken {
773 pub(super) node_id: BuilderNodeId,
774 pub(super) builder: CstBuilder,
775}
776impl IdentToken {
777 pub fn into_builder(self) -> CstBuilder {
779 self.builder
780 }
781}
782impl From<IdentToken> for BuilderNodeId {
783 fn from(token: IdentToken) -> Self {
784 token.node_id
785 }
786}
787#[derive(Debug, Clone)]
789pub struct ArrayNode {
790 pub(super) node_id: BuilderNodeId,
791 pub(super) builder: CstBuilder,
792}
793impl ArrayNode {
794 pub fn into_builder(self) -> CstBuilder {
796 self.builder
797 }
798}
799impl From<ArrayNode> for BuilderNodeId {
800 fn from(node: ArrayNode) -> Self {
801 node.node_id
802 }
803}
804#[derive(Debug, Clone)]
806pub struct ArrayBeginNode {
807 pub(super) node_id: BuilderNodeId,
808 pub(super) builder: CstBuilder,
809}
810impl ArrayBeginNode {
811 pub fn into_builder(self) -> CstBuilder {
813 self.builder
814 }
815}
816impl From<ArrayBeginNode> for BuilderNodeId {
817 fn from(node: ArrayBeginNode) -> Self {
818 node.node_id
819 }
820}
821#[derive(Debug, Clone)]
823pub struct ArrayElementsNode {
824 pub(super) node_id: BuilderNodeId,
825 pub(super) builder: CstBuilder,
826}
827impl ArrayElementsNode {
828 pub fn into_builder(self) -> CstBuilder {
830 self.builder
831 }
832}
833impl From<ArrayElementsNode> for BuilderNodeId {
834 fn from(node: ArrayElementsNode) -> Self {
835 node.node_id
836 }
837}
838#[derive(Debug, Clone)]
840pub struct ArrayElementsOptNode {
841 pub(super) node_id: BuilderNodeId,
842 pub(super) builder: CstBuilder,
843}
844impl ArrayElementsOptNode {
845 pub fn into_builder(self) -> CstBuilder {
847 self.builder
848 }
849}
850impl From<ArrayElementsOptNode> for BuilderNodeId {
851 fn from(node: ArrayElementsOptNode) -> Self {
852 node.node_id
853 }
854}
855#[derive(Debug, Clone)]
857pub struct ArrayElementsTailNode {
858 pub(super) node_id: BuilderNodeId,
859 pub(super) builder: CstBuilder,
860}
861impl ArrayElementsTailNode {
862 pub fn into_builder(self) -> CstBuilder {
864 self.builder
865 }
866}
867impl From<ArrayElementsTailNode> for BuilderNodeId {
868 fn from(node: ArrayElementsTailNode) -> Self {
869 node.node_id
870 }
871}
872#[derive(Debug, Clone)]
874pub struct ArrayElementsTailOptNode {
875 pub(super) node_id: BuilderNodeId,
876 pub(super) builder: CstBuilder,
877}
878impl ArrayElementsTailOptNode {
879 pub fn into_builder(self) -> CstBuilder {
881 self.builder
882 }
883}
884impl From<ArrayElementsTailOptNode> for BuilderNodeId {
885 fn from(node: ArrayElementsTailOptNode) -> Self {
886 node.node_id
887 }
888}
889#[derive(Debug, Clone)]
891pub struct ArrayEndNode {
892 pub(super) node_id: BuilderNodeId,
893 pub(super) builder: CstBuilder,
894}
895impl ArrayEndNode {
896 pub fn into_builder(self) -> CstBuilder {
898 self.builder
899 }
900}
901impl From<ArrayEndNode> for BuilderNodeId {
902 fn from(node: ArrayEndNode) -> Self {
903 node.node_id
904 }
905}
906#[derive(Debug, Clone)]
908pub struct ArrayMarkerNode {
909 pub(super) node_id: BuilderNodeId,
910 pub(super) builder: CstBuilder,
911}
912impl ArrayMarkerNode {
913 pub fn into_builder(self) -> CstBuilder {
915 self.builder
916 }
917}
918impl From<ArrayMarkerNode> for BuilderNodeId {
919 fn from(node: ArrayMarkerNode) -> Self {
920 node.node_id
921 }
922}
923#[derive(Debug, Clone)]
925pub struct ArrayMarkerOptNode {
926 pub(super) node_id: BuilderNodeId,
927 pub(super) builder: CstBuilder,
928}
929impl ArrayMarkerOptNode {
930 pub fn into_builder(self) -> CstBuilder {
932 self.builder
933 }
934}
935impl From<ArrayMarkerOptNode> for BuilderNodeId {
936 fn from(node: ArrayMarkerOptNode) -> Self {
937 node.node_id
938 }
939}
940#[derive(Debug, Clone)]
942pub struct ArrayOptNode {
943 pub(super) node_id: BuilderNodeId,
944 pub(super) builder: CstBuilder,
945}
946impl ArrayOptNode {
947 pub fn into_builder(self) -> CstBuilder {
949 self.builder
950 }
951}
952impl From<ArrayOptNode> for BuilderNodeId {
953 fn from(node: ArrayOptNode) -> Self {
954 node.node_id
955 }
956}
957#[derive(Debug, Clone)]
959pub struct AtNode {
960 pub(super) node_id: BuilderNodeId,
961 pub(super) builder: CstBuilder,
962}
963impl AtNode {
964 pub fn into_builder(self) -> CstBuilder {
966 self.builder
967 }
968}
969impl From<AtNode> for BuilderNodeId {
970 fn from(node: AtNode) -> Self {
971 node.node_id
972 }
973}
974#[derive(Debug, Clone)]
976pub struct Backtick1Node {
977 pub(super) node_id: BuilderNodeId,
978 pub(super) builder: CstBuilder,
979}
980impl Backtick1Node {
981 pub fn into_builder(self) -> CstBuilder {
983 self.builder
984 }
985}
986impl From<Backtick1Node> for BuilderNodeId {
987 fn from(node: Backtick1Node) -> Self {
988 node.node_id
989 }
990}
991#[derive(Debug, Clone)]
993pub struct Backtick2Node {
994 pub(super) node_id: BuilderNodeId,
995 pub(super) builder: CstBuilder,
996}
997impl Backtick2Node {
998 pub fn into_builder(self) -> CstBuilder {
1000 self.builder
1001 }
1002}
1003impl From<Backtick2Node> for BuilderNodeId {
1004 fn from(node: Backtick2Node) -> Self {
1005 node.node_id
1006 }
1007}
1008#[derive(Debug, Clone)]
1010pub struct Backtick3Node {
1011 pub(super) node_id: BuilderNodeId,
1012 pub(super) builder: CstBuilder,
1013}
1014impl Backtick3Node {
1015 pub fn into_builder(self) -> CstBuilder {
1017 self.builder
1018 }
1019}
1020impl From<Backtick3Node> for BuilderNodeId {
1021 fn from(node: Backtick3Node) -> Self {
1022 node.node_id
1023 }
1024}
1025#[derive(Debug, Clone)]
1027pub struct Backtick4Node {
1028 pub(super) node_id: BuilderNodeId,
1029 pub(super) builder: CstBuilder,
1030}
1031impl Backtick4Node {
1032 pub fn into_builder(self) -> CstBuilder {
1034 self.builder
1035 }
1036}
1037impl From<Backtick4Node> for BuilderNodeId {
1038 fn from(node: Backtick4Node) -> Self {
1039 node.node_id
1040 }
1041}
1042#[derive(Debug, Clone)]
1044pub struct Backtick5Node {
1045 pub(super) node_id: BuilderNodeId,
1046 pub(super) builder: CstBuilder,
1047}
1048impl Backtick5Node {
1049 pub fn into_builder(self) -> CstBuilder {
1051 self.builder
1052 }
1053}
1054impl From<Backtick5Node> for BuilderNodeId {
1055 fn from(node: Backtick5Node) -> Self {
1056 node.node_id
1057 }
1058}
1059#[derive(Debug, Clone)]
1061pub struct BeginNode {
1062 pub(super) node_id: BuilderNodeId,
1063 pub(super) builder: CstBuilder,
1064}
1065impl BeginNode {
1066 pub fn into_builder(self) -> CstBuilder {
1068 self.builder
1069 }
1070}
1071impl From<BeginNode> for BuilderNodeId {
1072 fn from(node: BeginNode) -> Self {
1073 node.node_id
1074 }
1075}
1076#[derive(Debug, Clone)]
1078pub struct BindNode {
1079 pub(super) node_id: BuilderNodeId,
1080 pub(super) builder: CstBuilder,
1081}
1082impl BindNode {
1083 pub fn into_builder(self) -> CstBuilder {
1085 self.builder
1086 }
1087}
1088impl From<BindNode> for BuilderNodeId {
1089 fn from(node: BindNode) -> Self {
1090 node.node_id
1091 }
1092}
1093#[derive(Debug, Clone)]
1095pub struct BindingNode {
1096 pub(super) node_id: BuilderNodeId,
1097 pub(super) builder: CstBuilder,
1098}
1099impl BindingNode {
1100 pub fn into_builder(self) -> CstBuilder {
1102 self.builder
1103 }
1104}
1105impl From<BindingNode> for BuilderNodeId {
1106 fn from(node: BindingNode) -> Self {
1107 node.node_id
1108 }
1109}
1110#[derive(Debug, Clone)]
1112pub struct BindingRhsNode {
1113 pub(super) node_id: BuilderNodeId,
1114 pub(super) builder: CstBuilder,
1115}
1116impl BindingRhsNode {
1117 pub fn into_builder(self) -> CstBuilder {
1119 self.builder
1120 }
1121}
1122impl From<BindingRhsNode> for BuilderNodeId {
1123 fn from(node: BindingRhsNode) -> Self {
1124 node.node_id
1125 }
1126}
1127#[derive(Debug, Clone)]
1129pub struct BooleanNode {
1130 pub(super) node_id: BuilderNodeId,
1131 pub(super) builder: CstBuilder,
1132}
1133impl BooleanNode {
1134 pub fn into_builder(self) -> CstBuilder {
1136 self.builder
1137 }
1138}
1139impl From<BooleanNode> for BuilderNodeId {
1140 fn from(node: BooleanNode) -> Self {
1141 node.node_id
1142 }
1143}
1144#[derive(Debug, Clone)]
1146pub struct CodeBlockNode {
1147 pub(super) node_id: BuilderNodeId,
1148 pub(super) builder: CstBuilder,
1149}
1150impl CodeBlockNode {
1151 pub fn into_builder(self) -> CstBuilder {
1153 self.builder
1154 }
1155}
1156impl From<CodeBlockNode> for BuilderNodeId {
1157 fn from(node: CodeBlockNode) -> Self {
1158 node.node_id
1159 }
1160}
1161#[derive(Debug, Clone)]
1163pub struct CodeBlock3Node {
1164 pub(super) node_id: BuilderNodeId,
1165 pub(super) builder: CstBuilder,
1166}
1167impl CodeBlock3Node {
1168 pub fn into_builder(self) -> CstBuilder {
1170 self.builder
1171 }
1172}
1173impl From<CodeBlock3Node> for BuilderNodeId {
1174 fn from(node: CodeBlock3Node) -> Self {
1175 node.node_id
1176 }
1177}
1178#[derive(Debug, Clone)]
1180pub struct CodeBlock3ListNode {
1181 pub(super) node_id: BuilderNodeId,
1182 pub(super) builder: CstBuilder,
1183}
1184impl CodeBlock3ListNode {
1185 pub fn into_builder(self) -> CstBuilder {
1187 self.builder
1188 }
1189}
1190impl From<CodeBlock3ListNode> for BuilderNodeId {
1191 fn from(node: CodeBlock3ListNode) -> Self {
1192 node.node_id
1193 }
1194}
1195#[derive(Debug, Clone)]
1197pub struct CodeBlock3ListGroupNode {
1198 pub(super) node_id: BuilderNodeId,
1199 pub(super) builder: CstBuilder,
1200}
1201impl CodeBlock3ListGroupNode {
1202 pub fn into_builder(self) -> CstBuilder {
1204 self.builder
1205 }
1206}
1207impl From<CodeBlock3ListGroupNode> for BuilderNodeId {
1208 fn from(node: CodeBlock3ListGroupNode) -> Self {
1209 node.node_id
1210 }
1211}
1212#[derive(Debug, Clone)]
1214pub struct CodeBlock4Node {
1215 pub(super) node_id: BuilderNodeId,
1216 pub(super) builder: CstBuilder,
1217}
1218impl CodeBlock4Node {
1219 pub fn into_builder(self) -> CstBuilder {
1221 self.builder
1222 }
1223}
1224impl From<CodeBlock4Node> for BuilderNodeId {
1225 fn from(node: CodeBlock4Node) -> Self {
1226 node.node_id
1227 }
1228}
1229#[derive(Debug, Clone)]
1231pub struct CodeBlock4ListNode {
1232 pub(super) node_id: BuilderNodeId,
1233 pub(super) builder: CstBuilder,
1234}
1235impl CodeBlock4ListNode {
1236 pub fn into_builder(self) -> CstBuilder {
1238 self.builder
1239 }
1240}
1241impl From<CodeBlock4ListNode> for BuilderNodeId {
1242 fn from(node: CodeBlock4ListNode) -> Self {
1243 node.node_id
1244 }
1245}
1246#[derive(Debug, Clone)]
1248pub struct CodeBlock4ListGroupNode {
1249 pub(super) node_id: BuilderNodeId,
1250 pub(super) builder: CstBuilder,
1251}
1252impl CodeBlock4ListGroupNode {
1253 pub fn into_builder(self) -> CstBuilder {
1255 self.builder
1256 }
1257}
1258impl From<CodeBlock4ListGroupNode> for BuilderNodeId {
1259 fn from(node: CodeBlock4ListGroupNode) -> Self {
1260 node.node_id
1261 }
1262}
1263#[derive(Debug, Clone)]
1265pub struct CodeBlock5Node {
1266 pub(super) node_id: BuilderNodeId,
1267 pub(super) builder: CstBuilder,
1268}
1269impl CodeBlock5Node {
1270 pub fn into_builder(self) -> CstBuilder {
1272 self.builder
1273 }
1274}
1275impl From<CodeBlock5Node> for BuilderNodeId {
1276 fn from(node: CodeBlock5Node) -> Self {
1277 node.node_id
1278 }
1279}
1280#[derive(Debug, Clone)]
1282pub struct CodeBlock5ListNode {
1283 pub(super) node_id: BuilderNodeId,
1284 pub(super) builder: CstBuilder,
1285}
1286impl CodeBlock5ListNode {
1287 pub fn into_builder(self) -> CstBuilder {
1289 self.builder
1290 }
1291}
1292impl From<CodeBlock5ListNode> for BuilderNodeId {
1293 fn from(node: CodeBlock5ListNode) -> Self {
1294 node.node_id
1295 }
1296}
1297#[derive(Debug, Clone)]
1299pub struct CodeBlock5ListGroupNode {
1300 pub(super) node_id: BuilderNodeId,
1301 pub(super) builder: CstBuilder,
1302}
1303impl CodeBlock5ListGroupNode {
1304 pub fn into_builder(self) -> CstBuilder {
1306 self.builder
1307 }
1308}
1309impl From<CodeBlock5ListGroupNode> for BuilderNodeId {
1310 fn from(node: CodeBlock5ListGroupNode) -> Self {
1311 node.node_id
1312 }
1313}
1314#[derive(Debug, Clone)]
1316pub struct CodeBlock6Node {
1317 pub(super) node_id: BuilderNodeId,
1318 pub(super) builder: CstBuilder,
1319}
1320impl CodeBlock6Node {
1321 pub fn into_builder(self) -> CstBuilder {
1323 self.builder
1324 }
1325}
1326impl From<CodeBlock6Node> for BuilderNodeId {
1327 fn from(node: CodeBlock6Node) -> Self {
1328 node.node_id
1329 }
1330}
1331#[derive(Debug, Clone)]
1333pub struct CodeBlock6ListNode {
1334 pub(super) node_id: BuilderNodeId,
1335 pub(super) builder: CstBuilder,
1336}
1337impl CodeBlock6ListNode {
1338 pub fn into_builder(self) -> CstBuilder {
1340 self.builder
1341 }
1342}
1343impl From<CodeBlock6ListNode> for BuilderNodeId {
1344 fn from(node: CodeBlock6ListNode) -> Self {
1345 node.node_id
1346 }
1347}
1348#[derive(Debug, Clone)]
1350pub struct CodeBlock6ListGroupNode {
1351 pub(super) node_id: BuilderNodeId,
1352 pub(super) builder: CstBuilder,
1353}
1354impl CodeBlock6ListGroupNode {
1355 pub fn into_builder(self) -> CstBuilder {
1357 self.builder
1358 }
1359}
1360impl From<CodeBlock6ListGroupNode> for BuilderNodeId {
1361 fn from(node: CodeBlock6ListGroupNode) -> Self {
1362 node.node_id
1363 }
1364}
1365#[derive(Debug, Clone)]
1367pub struct CodeBlockEnd3Node {
1368 pub(super) node_id: BuilderNodeId,
1369 pub(super) builder: CstBuilder,
1370}
1371impl CodeBlockEnd3Node {
1372 pub fn into_builder(self) -> CstBuilder {
1374 self.builder
1375 }
1376}
1377impl From<CodeBlockEnd3Node> for BuilderNodeId {
1378 fn from(node: CodeBlockEnd3Node) -> Self {
1379 node.node_id
1380 }
1381}
1382#[derive(Debug, Clone)]
1384pub struct CodeBlockEnd4Node {
1385 pub(super) node_id: BuilderNodeId,
1386 pub(super) builder: CstBuilder,
1387}
1388impl CodeBlockEnd4Node {
1389 pub fn into_builder(self) -> CstBuilder {
1391 self.builder
1392 }
1393}
1394impl From<CodeBlockEnd4Node> for BuilderNodeId {
1395 fn from(node: CodeBlockEnd4Node) -> Self {
1396 node.node_id
1397 }
1398}
1399#[derive(Debug, Clone)]
1401pub struct CodeBlockEnd5Node {
1402 pub(super) node_id: BuilderNodeId,
1403 pub(super) builder: CstBuilder,
1404}
1405impl CodeBlockEnd5Node {
1406 pub fn into_builder(self) -> CstBuilder {
1408 self.builder
1409 }
1410}
1411impl From<CodeBlockEnd5Node> for BuilderNodeId {
1412 fn from(node: CodeBlockEnd5Node) -> Self {
1413 node.node_id
1414 }
1415}
1416#[derive(Debug, Clone)]
1418pub struct CodeBlockEnd6Node {
1419 pub(super) node_id: BuilderNodeId,
1420 pub(super) builder: CstBuilder,
1421}
1422impl CodeBlockEnd6Node {
1423 pub fn into_builder(self) -> CstBuilder {
1425 self.builder
1426 }
1427}
1428impl From<CodeBlockEnd6Node> for BuilderNodeId {
1429 fn from(node: CodeBlockEnd6Node) -> Self {
1430 node.node_id
1431 }
1432}
1433#[derive(Debug, Clone)]
1435pub struct CodeBlockStart3Node {
1436 pub(super) node_id: BuilderNodeId,
1437 pub(super) builder: CstBuilder,
1438}
1439impl CodeBlockStart3Node {
1440 pub fn into_builder(self) -> CstBuilder {
1442 self.builder
1443 }
1444}
1445impl From<CodeBlockStart3Node> for BuilderNodeId {
1446 fn from(node: CodeBlockStart3Node) -> Self {
1447 node.node_id
1448 }
1449}
1450#[derive(Debug, Clone)]
1452pub struct CodeBlockStart4Node {
1453 pub(super) node_id: BuilderNodeId,
1454 pub(super) builder: CstBuilder,
1455}
1456impl CodeBlockStart4Node {
1457 pub fn into_builder(self) -> CstBuilder {
1459 self.builder
1460 }
1461}
1462impl From<CodeBlockStart4Node> for BuilderNodeId {
1463 fn from(node: CodeBlockStart4Node) -> Self {
1464 node.node_id
1465 }
1466}
1467#[derive(Debug, Clone)]
1469pub struct CodeBlockStart5Node {
1470 pub(super) node_id: BuilderNodeId,
1471 pub(super) builder: CstBuilder,
1472}
1473impl CodeBlockStart5Node {
1474 pub fn into_builder(self) -> CstBuilder {
1476 self.builder
1477 }
1478}
1479impl From<CodeBlockStart5Node> for BuilderNodeId {
1480 fn from(node: CodeBlockStart5Node) -> Self {
1481 node.node_id
1482 }
1483}
1484#[derive(Debug, Clone)]
1486pub struct CodeBlockStart6Node {
1487 pub(super) node_id: BuilderNodeId,
1488 pub(super) builder: CstBuilder,
1489}
1490impl CodeBlockStart6Node {
1491 pub fn into_builder(self) -> CstBuilder {
1493 self.builder
1494 }
1495}
1496impl From<CodeBlockStart6Node> for BuilderNodeId {
1497 fn from(node: CodeBlockStart6Node) -> Self {
1498 node.node_id
1499 }
1500}
1501#[derive(Debug, Clone)]
1503pub struct CommaNode {
1504 pub(super) node_id: BuilderNodeId,
1505 pub(super) builder: CstBuilder,
1506}
1507impl CommaNode {
1508 pub fn into_builder(self) -> CstBuilder {
1510 self.builder
1511 }
1512}
1513impl From<CommaNode> for BuilderNodeId {
1514 fn from(node: CommaNode) -> Self {
1515 node.node_id
1516 }
1517}
1518#[derive(Debug, Clone)]
1520pub struct ContinueNode {
1521 pub(super) node_id: BuilderNodeId,
1522 pub(super) builder: CstBuilder,
1523}
1524impl ContinueNode {
1525 pub fn into_builder(self) -> CstBuilder {
1527 self.builder
1528 }
1529}
1530impl From<ContinueNode> for BuilderNodeId {
1531 fn from(node: ContinueNode) -> Self {
1532 node.node_id
1533 }
1534}
1535#[derive(Debug, Clone)]
1537pub struct DotNode {
1538 pub(super) node_id: BuilderNodeId,
1539 pub(super) builder: CstBuilder,
1540}
1541impl DotNode {
1542 pub fn into_builder(self) -> CstBuilder {
1544 self.builder
1545 }
1546}
1547impl From<DotNode> for BuilderNodeId {
1548 fn from(node: DotNode) -> Self {
1549 node.node_id
1550 }
1551}
1552#[derive(Debug, Clone)]
1554pub struct EndNode {
1555 pub(super) node_id: BuilderNodeId,
1556 pub(super) builder: CstBuilder,
1557}
1558impl EndNode {
1559 pub fn into_builder(self) -> CstBuilder {
1561 self.builder
1562 }
1563}
1564impl From<EndNode> for BuilderNodeId {
1565 fn from(node: EndNode) -> Self {
1566 node.node_id
1567 }
1568}
1569#[derive(Debug, Clone)]
1571pub struct EureNode {
1572 pub(super) node_id: BuilderNodeId,
1573 pub(super) builder: CstBuilder,
1574}
1575impl EureNode {
1576 pub fn into_builder(self) -> CstBuilder {
1578 self.builder
1579 }
1580}
1581impl From<EureNode> for BuilderNodeId {
1582 fn from(node: EureNode) -> Self {
1583 node.node_id
1584 }
1585}
1586#[derive(Debug, Clone)]
1588pub struct EureBindingsNode {
1589 pub(super) node_id: BuilderNodeId,
1590 pub(super) builder: CstBuilder,
1591}
1592impl EureBindingsNode {
1593 pub fn into_builder(self) -> CstBuilder {
1595 self.builder
1596 }
1597}
1598impl From<EureBindingsNode> for BuilderNodeId {
1599 fn from(node: EureBindingsNode) -> Self {
1600 node.node_id
1601 }
1602}
1603#[derive(Debug, Clone)]
1605pub struct EureSectionsNode {
1606 pub(super) node_id: BuilderNodeId,
1607 pub(super) builder: CstBuilder,
1608}
1609impl EureSectionsNode {
1610 pub fn into_builder(self) -> CstBuilder {
1612 self.builder
1613 }
1614}
1615impl From<EureSectionsNode> for BuilderNodeId {
1616 fn from(node: EureSectionsNode) -> Self {
1617 node.node_id
1618 }
1619}
1620#[derive(Debug, Clone)]
1622pub struct EureOptNode {
1623 pub(super) node_id: BuilderNodeId,
1624 pub(super) builder: CstBuilder,
1625}
1626impl EureOptNode {
1627 pub fn into_builder(self) -> CstBuilder {
1629 self.builder
1630 }
1631}
1632impl From<EureOptNode> for BuilderNodeId {
1633 fn from(node: EureOptNode) -> Self {
1634 node.node_id
1635 }
1636}
1637#[derive(Debug, Clone)]
1639pub struct ExtNode {
1640 pub(super) node_id: BuilderNodeId,
1641 pub(super) builder: CstBuilder,
1642}
1643impl ExtNode {
1644 pub fn into_builder(self) -> CstBuilder {
1646 self.builder
1647 }
1648}
1649impl From<ExtNode> for BuilderNodeId {
1650 fn from(node: ExtNode) -> Self {
1651 node.node_id
1652 }
1653}
1654#[derive(Debug, Clone)]
1656pub struct ExtensionNameSpaceNode {
1657 pub(super) node_id: BuilderNodeId,
1658 pub(super) builder: CstBuilder,
1659}
1660impl ExtensionNameSpaceNode {
1661 pub fn into_builder(self) -> CstBuilder {
1663 self.builder
1664 }
1665}
1666impl From<ExtensionNameSpaceNode> for BuilderNodeId {
1667 fn from(node: ExtensionNameSpaceNode) -> Self {
1668 node.node_id
1669 }
1670}
1671#[derive(Debug, Clone)]
1673pub struct FalseNode {
1674 pub(super) node_id: BuilderNodeId,
1675 pub(super) builder: CstBuilder,
1676}
1677impl FalseNode {
1678 pub fn into_builder(self) -> CstBuilder {
1680 self.builder
1681 }
1682}
1683impl From<FalseNode> for BuilderNodeId {
1684 fn from(node: FalseNode) -> Self {
1685 node.node_id
1686 }
1687}
1688#[derive(Debug, Clone)]
1690pub struct FloatNode {
1691 pub(super) node_id: BuilderNodeId,
1692 pub(super) builder: CstBuilder,
1693}
1694impl FloatNode {
1695 pub fn into_builder(self) -> CstBuilder {
1697 self.builder
1698 }
1699}
1700impl From<FloatNode> for BuilderNodeId {
1701 fn from(node: FloatNode) -> Self {
1702 node.node_id
1703 }
1704}
1705#[derive(Debug, Clone)]
1707pub struct GrammarNewlineNode {
1708 pub(super) node_id: BuilderNodeId,
1709 pub(super) builder: CstBuilder,
1710}
1711impl GrammarNewlineNode {
1712 pub fn into_builder(self) -> CstBuilder {
1714 self.builder
1715 }
1716}
1717impl From<GrammarNewlineNode> for BuilderNodeId {
1718 fn from(node: GrammarNewlineNode) -> Self {
1719 node.node_id
1720 }
1721}
1722#[derive(Debug, Clone)]
1724pub struct HoleNode {
1725 pub(super) node_id: BuilderNodeId,
1726 pub(super) builder: CstBuilder,
1727}
1728impl HoleNode {
1729 pub fn into_builder(self) -> CstBuilder {
1731 self.builder
1732 }
1733}
1734impl From<HoleNode> for BuilderNodeId {
1735 fn from(node: HoleNode) -> Self {
1736 node.node_id
1737 }
1738}
1739#[derive(Debug, Clone)]
1741pub struct IdentNode {
1742 pub(super) node_id: BuilderNodeId,
1743 pub(super) builder: CstBuilder,
1744}
1745impl IdentNode {
1746 pub fn into_builder(self) -> CstBuilder {
1748 self.builder
1749 }
1750}
1751impl From<IdentNode> for BuilderNodeId {
1752 fn from(node: IdentNode) -> Self {
1753 node.node_id
1754 }
1755}
1756#[derive(Debug, Clone)]
1758pub struct InfNode {
1759 pub(super) node_id: BuilderNodeId,
1760 pub(super) builder: CstBuilder,
1761}
1762impl InfNode {
1763 pub fn into_builder(self) -> CstBuilder {
1765 self.builder
1766 }
1767}
1768impl From<InfNode> for BuilderNodeId {
1769 fn from(node: InfNode) -> Self {
1770 node.node_id
1771 }
1772}
1773#[derive(Debug, Clone)]
1775pub struct InlineCodeNode {
1776 pub(super) node_id: BuilderNodeId,
1777 pub(super) builder: CstBuilder,
1778}
1779impl InlineCodeNode {
1780 pub fn into_builder(self) -> CstBuilder {
1782 self.builder
1783 }
1784}
1785impl From<InlineCodeNode> for BuilderNodeId {
1786 fn from(node: InlineCodeNode) -> Self {
1787 node.node_id
1788 }
1789}
1790#[derive(Debug, Clone)]
1792pub struct InlineCode1Node {
1793 pub(super) node_id: BuilderNodeId,
1794 pub(super) builder: CstBuilder,
1795}
1796impl InlineCode1Node {
1797 pub fn into_builder(self) -> CstBuilder {
1799 self.builder
1800 }
1801}
1802impl From<InlineCode1Node> for BuilderNodeId {
1803 fn from(node: InlineCode1Node) -> Self {
1804 node.node_id
1805 }
1806}
1807#[derive(Debug, Clone)]
1809pub struct InlineCode2Node {
1810 pub(super) node_id: BuilderNodeId,
1811 pub(super) builder: CstBuilder,
1812}
1813impl InlineCode2Node {
1814 pub fn into_builder(self) -> CstBuilder {
1816 self.builder
1817 }
1818}
1819impl From<InlineCode2Node> for BuilderNodeId {
1820 fn from(node: InlineCode2Node) -> Self {
1821 node.node_id
1822 }
1823}
1824#[derive(Debug, Clone)]
1826pub struct InlineCode2ListNode {
1827 pub(super) node_id: BuilderNodeId,
1828 pub(super) builder: CstBuilder,
1829}
1830impl InlineCode2ListNode {
1831 pub fn into_builder(self) -> CstBuilder {
1833 self.builder
1834 }
1835}
1836impl From<InlineCode2ListNode> for BuilderNodeId {
1837 fn from(node: InlineCode2ListNode) -> Self {
1838 node.node_id
1839 }
1840}
1841#[derive(Debug, Clone)]
1843pub struct InlineCode2ListGroupNode {
1844 pub(super) node_id: BuilderNodeId,
1845 pub(super) builder: CstBuilder,
1846}
1847impl InlineCode2ListGroupNode {
1848 pub fn into_builder(self) -> CstBuilder {
1850 self.builder
1851 }
1852}
1853impl From<InlineCode2ListGroupNode> for BuilderNodeId {
1854 fn from(node: InlineCode2ListGroupNode) -> Self {
1855 node.node_id
1856 }
1857}
1858#[derive(Debug, Clone)]
1860pub struct InlineCodeEnd2Node {
1861 pub(super) node_id: BuilderNodeId,
1862 pub(super) builder: CstBuilder,
1863}
1864impl InlineCodeEnd2Node {
1865 pub fn into_builder(self) -> CstBuilder {
1867 self.builder
1868 }
1869}
1870impl From<InlineCodeEnd2Node> for BuilderNodeId {
1871 fn from(node: InlineCodeEnd2Node) -> Self {
1872 node.node_id
1873 }
1874}
1875#[derive(Debug, Clone)]
1877pub struct InlineCodeStart2Node {
1878 pub(super) node_id: BuilderNodeId,
1879 pub(super) builder: CstBuilder,
1880}
1881impl InlineCodeStart2Node {
1882 pub fn into_builder(self) -> CstBuilder {
1884 self.builder
1885 }
1886}
1887impl From<InlineCodeStart2Node> for BuilderNodeId {
1888 fn from(node: InlineCodeStart2Node) -> Self {
1889 node.node_id
1890 }
1891}
1892#[derive(Debug, Clone)]
1894pub struct IntegerNode {
1895 pub(super) node_id: BuilderNodeId,
1896 pub(super) builder: CstBuilder,
1897}
1898impl IntegerNode {
1899 pub fn into_builder(self) -> CstBuilder {
1901 self.builder
1902 }
1903}
1904impl From<IntegerNode> for BuilderNodeId {
1905 fn from(node: IntegerNode) -> Self {
1906 node.node_id
1907 }
1908}
1909#[derive(Debug, Clone)]
1911pub struct KeyNode {
1912 pub(super) node_id: BuilderNodeId,
1913 pub(super) builder: CstBuilder,
1914}
1915impl KeyNode {
1916 pub fn into_builder(self) -> CstBuilder {
1918 self.builder
1919 }
1920}
1921impl From<KeyNode> for BuilderNodeId {
1922 fn from(node: KeyNode) -> Self {
1923 node.node_id
1924 }
1925}
1926#[derive(Debug, Clone)]
1928pub struct KeyBaseNode {
1929 pub(super) node_id: BuilderNodeId,
1930 pub(super) builder: CstBuilder,
1931}
1932impl KeyBaseNode {
1933 pub fn into_builder(self) -> CstBuilder {
1935 self.builder
1936 }
1937}
1938impl From<KeyBaseNode> for BuilderNodeId {
1939 fn from(node: KeyBaseNode) -> Self {
1940 node.node_id
1941 }
1942}
1943#[derive(Debug, Clone)]
1945pub struct KeyIdentNode {
1946 pub(super) node_id: BuilderNodeId,
1947 pub(super) builder: CstBuilder,
1948}
1949impl KeyIdentNode {
1950 pub fn into_builder(self) -> CstBuilder {
1952 self.builder
1953 }
1954}
1955impl From<KeyIdentNode> for BuilderNodeId {
1956 fn from(node: KeyIdentNode) -> Self {
1957 node.node_id
1958 }
1959}
1960#[derive(Debug, Clone)]
1962pub struct KeyOptNode {
1963 pub(super) node_id: BuilderNodeId,
1964 pub(super) builder: CstBuilder,
1965}
1966impl KeyOptNode {
1967 pub fn into_builder(self) -> CstBuilder {
1969 self.builder
1970 }
1971}
1972impl From<KeyOptNode> for BuilderNodeId {
1973 fn from(node: KeyOptNode) -> Self {
1974 node.node_id
1975 }
1976}
1977#[derive(Debug, Clone)]
1979pub struct KeyTupleNode {
1980 pub(super) node_id: BuilderNodeId,
1981 pub(super) builder: CstBuilder,
1982}
1983impl KeyTupleNode {
1984 pub fn into_builder(self) -> CstBuilder {
1986 self.builder
1987 }
1988}
1989impl From<KeyTupleNode> for BuilderNodeId {
1990 fn from(node: KeyTupleNode) -> Self {
1991 node.node_id
1992 }
1993}
1994#[derive(Debug, Clone)]
1996pub struct KeyTupleElementsNode {
1997 pub(super) node_id: BuilderNodeId,
1998 pub(super) builder: CstBuilder,
1999}
2000impl KeyTupleElementsNode {
2001 pub fn into_builder(self) -> CstBuilder {
2003 self.builder
2004 }
2005}
2006impl From<KeyTupleElementsNode> for BuilderNodeId {
2007 fn from(node: KeyTupleElementsNode) -> Self {
2008 node.node_id
2009 }
2010}
2011#[derive(Debug, Clone)]
2013pub struct KeyTupleElementsOptNode {
2014 pub(super) node_id: BuilderNodeId,
2015 pub(super) builder: CstBuilder,
2016}
2017impl KeyTupleElementsOptNode {
2018 pub fn into_builder(self) -> CstBuilder {
2020 self.builder
2021 }
2022}
2023impl From<KeyTupleElementsOptNode> for BuilderNodeId {
2024 fn from(node: KeyTupleElementsOptNode) -> Self {
2025 node.node_id
2026 }
2027}
2028#[derive(Debug, Clone)]
2030pub struct KeyTupleElementsTailNode {
2031 pub(super) node_id: BuilderNodeId,
2032 pub(super) builder: CstBuilder,
2033}
2034impl KeyTupleElementsTailNode {
2035 pub fn into_builder(self) -> CstBuilder {
2037 self.builder
2038 }
2039}
2040impl From<KeyTupleElementsTailNode> for BuilderNodeId {
2041 fn from(node: KeyTupleElementsTailNode) -> Self {
2042 node.node_id
2043 }
2044}
2045#[derive(Debug, Clone)]
2047pub struct KeyTupleElementsTailOptNode {
2048 pub(super) node_id: BuilderNodeId,
2049 pub(super) builder: CstBuilder,
2050}
2051impl KeyTupleElementsTailOptNode {
2052 pub fn into_builder(self) -> CstBuilder {
2054 self.builder
2055 }
2056}
2057impl From<KeyTupleElementsTailOptNode> for BuilderNodeId {
2058 fn from(node: KeyTupleElementsTailOptNode) -> Self {
2059 node.node_id
2060 }
2061}
2062#[derive(Debug, Clone)]
2064pub struct KeyTupleOptNode {
2065 pub(super) node_id: BuilderNodeId,
2066 pub(super) builder: CstBuilder,
2067}
2068impl KeyTupleOptNode {
2069 pub fn into_builder(self) -> CstBuilder {
2071 self.builder
2072 }
2073}
2074impl From<KeyTupleOptNode> for BuilderNodeId {
2075 fn from(node: KeyTupleOptNode) -> Self {
2076 node.node_id
2077 }
2078}
2079#[derive(Debug, Clone)]
2081pub struct KeyValueNode {
2082 pub(super) node_id: BuilderNodeId,
2083 pub(super) builder: CstBuilder,
2084}
2085impl KeyValueNode {
2086 pub fn into_builder(self) -> CstBuilder {
2088 self.builder
2089 }
2090}
2091impl From<KeyValueNode> for BuilderNodeId {
2092 fn from(node: KeyValueNode) -> Self {
2093 node.node_id
2094 }
2095}
2096#[derive(Debug, Clone)]
2098pub struct KeysNode {
2099 pub(super) node_id: BuilderNodeId,
2100 pub(super) builder: CstBuilder,
2101}
2102impl KeysNode {
2103 pub fn into_builder(self) -> CstBuilder {
2105 self.builder
2106 }
2107}
2108impl From<KeysNode> for BuilderNodeId {
2109 fn from(node: KeysNode) -> Self {
2110 node.node_id
2111 }
2112}
2113#[derive(Debug, Clone)]
2115pub struct KeysListNode {
2116 pub(super) node_id: BuilderNodeId,
2117 pub(super) builder: CstBuilder,
2118}
2119impl KeysListNode {
2120 pub fn into_builder(self) -> CstBuilder {
2122 self.builder
2123 }
2124}
2125impl From<KeysListNode> for BuilderNodeId {
2126 fn from(node: KeysListNode) -> Self {
2127 node.node_id
2128 }
2129}
2130#[derive(Debug, Clone)]
2132pub struct LParenNode {
2133 pub(super) node_id: BuilderNodeId,
2134 pub(super) builder: CstBuilder,
2135}
2136impl LParenNode {
2137 pub fn into_builder(self) -> CstBuilder {
2139 self.builder
2140 }
2141}
2142impl From<LParenNode> for BuilderNodeId {
2143 fn from(node: LParenNode) -> Self {
2144 node.node_id
2145 }
2146}
2147#[derive(Debug, Clone)]
2149pub struct MapBindNode {
2150 pub(super) node_id: BuilderNodeId,
2151 pub(super) builder: CstBuilder,
2152}
2153impl MapBindNode {
2154 pub fn into_builder(self) -> CstBuilder {
2156 self.builder
2157 }
2158}
2159impl From<MapBindNode> for BuilderNodeId {
2160 fn from(node: MapBindNode) -> Self {
2161 node.node_id
2162 }
2163}
2164#[derive(Debug, Clone)]
2166pub struct NaNNode {
2167 pub(super) node_id: BuilderNodeId,
2168 pub(super) builder: CstBuilder,
2169}
2170impl NaNNode {
2171 pub fn into_builder(self) -> CstBuilder {
2173 self.builder
2174 }
2175}
2176impl From<NaNNode> for BuilderNodeId {
2177 fn from(node: NaNNode) -> Self {
2178 node.node_id
2179 }
2180}
2181#[derive(Debug, Clone)]
2183pub struct NoBacktickNode {
2184 pub(super) node_id: BuilderNodeId,
2185 pub(super) builder: CstBuilder,
2186}
2187impl NoBacktickNode {
2188 pub fn into_builder(self) -> CstBuilder {
2190 self.builder
2191 }
2192}
2193impl From<NoBacktickNode> for BuilderNodeId {
2194 fn from(node: NoBacktickNode) -> Self {
2195 node.node_id
2196 }
2197}
2198#[derive(Debug, Clone)]
2200pub struct NoBacktickInlineNode {
2201 pub(super) node_id: BuilderNodeId,
2202 pub(super) builder: CstBuilder,
2203}
2204impl NoBacktickInlineNode {
2205 pub fn into_builder(self) -> CstBuilder {
2207 self.builder
2208 }
2209}
2210impl From<NoBacktickInlineNode> for BuilderNodeId {
2211 fn from(node: NoBacktickInlineNode) -> Self {
2212 node.node_id
2213 }
2214}
2215#[derive(Debug, Clone)]
2217pub struct NullNode {
2218 pub(super) node_id: BuilderNodeId,
2219 pub(super) builder: CstBuilder,
2220}
2221impl NullNode {
2222 pub fn into_builder(self) -> CstBuilder {
2224 self.builder
2225 }
2226}
2227impl From<NullNode> for BuilderNodeId {
2228 fn from(node: NullNode) -> Self {
2229 node.node_id
2230 }
2231}
2232#[derive(Debug, Clone)]
2234pub struct NumberNode {
2235 pub(super) node_id: BuilderNodeId,
2236 pub(super) builder: CstBuilder,
2237}
2238impl NumberNode {
2239 pub fn into_builder(self) -> CstBuilder {
2241 self.builder
2242 }
2243}
2244impl From<NumberNode> for BuilderNodeId {
2245 fn from(node: NumberNode) -> Self {
2246 node.node_id
2247 }
2248}
2249#[derive(Debug, Clone)]
2251pub struct ObjectNode {
2252 pub(super) node_id: BuilderNodeId,
2253 pub(super) builder: CstBuilder,
2254}
2255impl ObjectNode {
2256 pub fn into_builder(self) -> CstBuilder {
2258 self.builder
2259 }
2260}
2261impl From<ObjectNode> for BuilderNodeId {
2262 fn from(node: ObjectNode) -> Self {
2263 node.node_id
2264 }
2265}
2266#[derive(Debug, Clone)]
2268pub struct ObjectListNode {
2269 pub(super) node_id: BuilderNodeId,
2270 pub(super) builder: CstBuilder,
2271}
2272impl ObjectListNode {
2273 pub fn into_builder(self) -> CstBuilder {
2275 self.builder
2276 }
2277}
2278impl From<ObjectListNode> for BuilderNodeId {
2279 fn from(node: ObjectListNode) -> Self {
2280 node.node_id
2281 }
2282}
2283#[derive(Debug, Clone)]
2285pub struct ObjectOptNode {
2286 pub(super) node_id: BuilderNodeId,
2287 pub(super) builder: CstBuilder,
2288}
2289impl ObjectOptNode {
2290 pub fn into_builder(self) -> CstBuilder {
2292 self.builder
2293 }
2294}
2295impl From<ObjectOptNode> for BuilderNodeId {
2296 fn from(node: ObjectOptNode) -> Self {
2297 node.node_id
2298 }
2299}
2300#[derive(Debug, Clone)]
2302pub struct ObjectOpt0Node {
2303 pub(super) node_id: BuilderNodeId,
2304 pub(super) builder: CstBuilder,
2305}
2306impl ObjectOpt0Node {
2307 pub fn into_builder(self) -> CstBuilder {
2309 self.builder
2310 }
2311}
2312impl From<ObjectOpt0Node> for BuilderNodeId {
2313 fn from(node: ObjectOpt0Node) -> Self {
2314 node.node_id
2315 }
2316}
2317#[derive(Debug, Clone)]
2319pub struct ObjectOpt1Node {
2320 pub(super) node_id: BuilderNodeId,
2321 pub(super) builder: CstBuilder,
2322}
2323impl ObjectOpt1Node {
2324 pub fn into_builder(self) -> CstBuilder {
2326 self.builder
2327 }
2328}
2329impl From<ObjectOpt1Node> for BuilderNodeId {
2330 fn from(node: ObjectOpt1Node) -> Self {
2331 node.node_id
2332 }
2333}
2334#[derive(Debug, Clone)]
2336pub struct RParenNode {
2337 pub(super) node_id: BuilderNodeId,
2338 pub(super) builder: CstBuilder,
2339}
2340impl RParenNode {
2341 pub fn into_builder(self) -> CstBuilder {
2343 self.builder
2344 }
2345}
2346impl From<RParenNode> for BuilderNodeId {
2347 fn from(node: RParenNode) -> Self {
2348 node.node_id
2349 }
2350}
2351#[derive(Debug, Clone)]
2353pub struct SectionNode {
2354 pub(super) node_id: BuilderNodeId,
2355 pub(super) builder: CstBuilder,
2356}
2357impl SectionNode {
2358 pub fn into_builder(self) -> CstBuilder {
2360 self.builder
2361 }
2362}
2363impl From<SectionNode> for BuilderNodeId {
2364 fn from(node: SectionNode) -> Self {
2365 node.node_id
2366 }
2367}
2368#[derive(Debug, Clone)]
2370pub struct SectionBindingNode {
2371 pub(super) node_id: BuilderNodeId,
2372 pub(super) builder: CstBuilder,
2373}
2374impl SectionBindingNode {
2375 pub fn into_builder(self) -> CstBuilder {
2377 self.builder
2378 }
2379}
2380impl From<SectionBindingNode> for BuilderNodeId {
2381 fn from(node: SectionBindingNode) -> Self {
2382 node.node_id
2383 }
2384}
2385#[derive(Debug, Clone)]
2387pub struct SectionBodyNode {
2388 pub(super) node_id: BuilderNodeId,
2389 pub(super) builder: CstBuilder,
2390}
2391impl SectionBodyNode {
2392 pub fn into_builder(self) -> CstBuilder {
2394 self.builder
2395 }
2396}
2397impl From<SectionBodyNode> for BuilderNodeId {
2398 fn from(node: SectionBodyNode) -> Self {
2399 node.node_id
2400 }
2401}
2402#[derive(Debug, Clone)]
2404pub struct SectionBodyListNode {
2405 pub(super) node_id: BuilderNodeId,
2406 pub(super) builder: CstBuilder,
2407}
2408impl SectionBodyListNode {
2409 pub fn into_builder(self) -> CstBuilder {
2411 self.builder
2412 }
2413}
2414impl From<SectionBodyListNode> for BuilderNodeId {
2415 fn from(node: SectionBodyListNode) -> Self {
2416 node.node_id
2417 }
2418}
2419#[derive(Debug, Clone)]
2421pub struct SectionBodyOptNode {
2422 pub(super) node_id: BuilderNodeId,
2423 pub(super) builder: CstBuilder,
2424}
2425impl SectionBodyOptNode {
2426 pub fn into_builder(self) -> CstBuilder {
2428 self.builder
2429 }
2430}
2431impl From<SectionBodyOptNode> for BuilderNodeId {
2432 fn from(node: SectionBodyOptNode) -> Self {
2433 node.node_id
2434 }
2435}
2436#[derive(Debug, Clone)]
2438pub struct StrNode {
2439 pub(super) node_id: BuilderNodeId,
2440 pub(super) builder: CstBuilder,
2441}
2442impl StrNode {
2443 pub fn into_builder(self) -> CstBuilder {
2445 self.builder
2446 }
2447}
2448impl From<StrNode> for BuilderNodeId {
2449 fn from(node: StrNode) -> Self {
2450 node.node_id
2451 }
2452}
2453#[derive(Debug, Clone)]
2455pub struct StringsNode {
2456 pub(super) node_id: BuilderNodeId,
2457 pub(super) builder: CstBuilder,
2458}
2459impl StringsNode {
2460 pub fn into_builder(self) -> CstBuilder {
2462 self.builder
2463 }
2464}
2465impl From<StringsNode> for BuilderNodeId {
2466 fn from(node: StringsNode) -> Self {
2467 node.node_id
2468 }
2469}
2470#[derive(Debug, Clone)]
2472pub struct StringsListNode {
2473 pub(super) node_id: BuilderNodeId,
2474 pub(super) builder: CstBuilder,
2475}
2476impl StringsListNode {
2477 pub fn into_builder(self) -> CstBuilder {
2479 self.builder
2480 }
2481}
2482impl From<StringsListNode> for BuilderNodeId {
2483 fn from(node: StringsListNode) -> Self {
2484 node.node_id
2485 }
2486}
2487#[derive(Debug, Clone)]
2489pub struct TextNode {
2490 pub(super) node_id: BuilderNodeId,
2491 pub(super) builder: CstBuilder,
2492}
2493impl TextNode {
2494 pub fn into_builder(self) -> CstBuilder {
2496 self.builder
2497 }
2498}
2499impl From<TextNode> for BuilderNodeId {
2500 fn from(node: TextNode) -> Self {
2501 node.node_id
2502 }
2503}
2504#[derive(Debug, Clone)]
2506pub struct TextBindingNode {
2507 pub(super) node_id: BuilderNodeId,
2508 pub(super) builder: CstBuilder,
2509}
2510impl TextBindingNode {
2511 pub fn into_builder(self) -> CstBuilder {
2513 self.builder
2514 }
2515}
2516impl From<TextBindingNode> for BuilderNodeId {
2517 fn from(node: TextBindingNode) -> Self {
2518 node.node_id
2519 }
2520}
2521#[derive(Debug, Clone)]
2523pub struct TextBindingOptNode {
2524 pub(super) node_id: BuilderNodeId,
2525 pub(super) builder: CstBuilder,
2526}
2527impl TextBindingOptNode {
2528 pub fn into_builder(self) -> CstBuilder {
2530 self.builder
2531 }
2532}
2533impl From<TextBindingOptNode> for BuilderNodeId {
2534 fn from(node: TextBindingOptNode) -> Self {
2535 node.node_id
2536 }
2537}
2538#[derive(Debug, Clone)]
2540pub struct TextBindingOpt0Node {
2541 pub(super) node_id: BuilderNodeId,
2542 pub(super) builder: CstBuilder,
2543}
2544impl TextBindingOpt0Node {
2545 pub fn into_builder(self) -> CstBuilder {
2547 self.builder
2548 }
2549}
2550impl From<TextBindingOpt0Node> for BuilderNodeId {
2551 fn from(node: TextBindingOpt0Node) -> Self {
2552 node.node_id
2553 }
2554}
2555#[derive(Debug, Clone)]
2557pub struct TextStartNode {
2558 pub(super) node_id: BuilderNodeId,
2559 pub(super) builder: CstBuilder,
2560}
2561impl TextStartNode {
2562 pub fn into_builder(self) -> CstBuilder {
2564 self.builder
2565 }
2566}
2567impl From<TextStartNode> for BuilderNodeId {
2568 fn from(node: TextStartNode) -> Self {
2569 node.node_id
2570 }
2571}
2572#[derive(Debug, Clone)]
2574pub struct TrueNode {
2575 pub(super) node_id: BuilderNodeId,
2576 pub(super) builder: CstBuilder,
2577}
2578impl TrueNode {
2579 pub fn into_builder(self) -> CstBuilder {
2581 self.builder
2582 }
2583}
2584impl From<TrueNode> for BuilderNodeId {
2585 fn from(node: TrueNode) -> Self {
2586 node.node_id
2587 }
2588}
2589#[derive(Debug, Clone)]
2591pub struct TupleNode {
2592 pub(super) node_id: BuilderNodeId,
2593 pub(super) builder: CstBuilder,
2594}
2595impl TupleNode {
2596 pub fn into_builder(self) -> CstBuilder {
2598 self.builder
2599 }
2600}
2601impl From<TupleNode> for BuilderNodeId {
2602 fn from(node: TupleNode) -> Self {
2603 node.node_id
2604 }
2605}
2606#[derive(Debug, Clone)]
2608pub struct TupleElementsNode {
2609 pub(super) node_id: BuilderNodeId,
2610 pub(super) builder: CstBuilder,
2611}
2612impl TupleElementsNode {
2613 pub fn into_builder(self) -> CstBuilder {
2615 self.builder
2616 }
2617}
2618impl From<TupleElementsNode> for BuilderNodeId {
2619 fn from(node: TupleElementsNode) -> Self {
2620 node.node_id
2621 }
2622}
2623#[derive(Debug, Clone)]
2625pub struct TupleElementsOptNode {
2626 pub(super) node_id: BuilderNodeId,
2627 pub(super) builder: CstBuilder,
2628}
2629impl TupleElementsOptNode {
2630 pub fn into_builder(self) -> CstBuilder {
2632 self.builder
2633 }
2634}
2635impl From<TupleElementsOptNode> for BuilderNodeId {
2636 fn from(node: TupleElementsOptNode) -> Self {
2637 node.node_id
2638 }
2639}
2640#[derive(Debug, Clone)]
2642pub struct TupleElementsTailNode {
2643 pub(super) node_id: BuilderNodeId,
2644 pub(super) builder: CstBuilder,
2645}
2646impl TupleElementsTailNode {
2647 pub fn into_builder(self) -> CstBuilder {
2649 self.builder
2650 }
2651}
2652impl From<TupleElementsTailNode> for BuilderNodeId {
2653 fn from(node: TupleElementsTailNode) -> Self {
2654 node.node_id
2655 }
2656}
2657#[derive(Debug, Clone)]
2659pub struct TupleElementsTailOptNode {
2660 pub(super) node_id: BuilderNodeId,
2661 pub(super) builder: CstBuilder,
2662}
2663impl TupleElementsTailOptNode {
2664 pub fn into_builder(self) -> CstBuilder {
2666 self.builder
2667 }
2668}
2669impl From<TupleElementsTailOptNode> for BuilderNodeId {
2670 fn from(node: TupleElementsTailOptNode) -> Self {
2671 node.node_id
2672 }
2673}
2674#[derive(Debug, Clone)]
2676pub struct TupleIndexNode {
2677 pub(super) node_id: BuilderNodeId,
2678 pub(super) builder: CstBuilder,
2679}
2680impl TupleIndexNode {
2681 pub fn into_builder(self) -> CstBuilder {
2683 self.builder
2684 }
2685}
2686impl From<TupleIndexNode> for BuilderNodeId {
2687 fn from(node: TupleIndexNode) -> Self {
2688 node.node_id
2689 }
2690}
2691#[derive(Debug, Clone)]
2693pub struct TupleOptNode {
2694 pub(super) node_id: BuilderNodeId,
2695 pub(super) builder: CstBuilder,
2696}
2697impl TupleOptNode {
2698 pub fn into_builder(self) -> CstBuilder {
2700 self.builder
2701 }
2702}
2703impl From<TupleOptNode> for BuilderNodeId {
2704 fn from(node: TupleOptNode) -> Self {
2705 node.node_id
2706 }
2707}
2708#[derive(Debug, Clone)]
2710pub struct ValueNode {
2711 pub(super) node_id: BuilderNodeId,
2712 pub(super) builder: CstBuilder,
2713}
2714impl ValueNode {
2715 pub fn into_builder(self) -> CstBuilder {
2717 self.builder
2718 }
2719}
2720impl From<ValueNode> for BuilderNodeId {
2721 fn from(node: ValueNode) -> Self {
2722 node.node_id
2723 }
2724}
2725#[derive(Debug, Clone)]
2727pub struct ValueBindingNode {
2728 pub(super) node_id: BuilderNodeId,
2729 pub(super) builder: CstBuilder,
2730}
2731impl ValueBindingNode {
2732 pub fn into_builder(self) -> CstBuilder {
2734 self.builder
2735 }
2736}
2737impl From<ValueBindingNode> for BuilderNodeId {
2738 fn from(node: ValueBindingNode) -> Self {
2739 node.node_id
2740 }
2741}
2742#[derive(Debug, Clone)]
2744pub struct WsNode {
2745 pub(super) node_id: BuilderNodeId,
2746 pub(super) builder: CstBuilder,
2747}
2748impl WsNode {
2749 pub fn into_builder(self) -> CstBuilder {
2751 self.builder
2752 }
2753}
2754impl From<WsNode> for BuilderNodeId {
2755 fn from(node: WsNode) -> Self {
2756 node.node_id
2757 }
2758}
2759#[derive(Debug, Clone)]
2761pub struct RootNode {
2762 pub(super) node_id: BuilderNodeId,
2763 pub(super) builder: CstBuilder,
2764}
2765impl RootNode {
2766 pub fn into_builder(self) -> CstBuilder {
2768 self.builder
2769 }
2770}
2771impl From<RootNode> for BuilderNodeId {
2772 fn from(node: RootNode) -> Self {
2773 node.node_id
2774 }
2775}
2776#[derive(bon::Builder)]
2777pub struct ArrayConstructor {
2778 array_begin: ArrayBeginNode,
2779 array_opt: ArrayOptNode,
2780 array_end: ArrayEndNode,
2781}
2782impl ArrayConstructor {
2783 pub fn build(self) -> ArrayNode {
2784 let mut builder = CstBuilder::new();
2785 let array_begin = builder.embed(self.array_begin.builder);
2786 let array_opt = builder.embed(self.array_opt.builder);
2787 let array_end = builder.embed(self.array_end.builder);
2788 let node_id = builder.non_terminal(
2789 NonTerminalKind::Array,
2790 vec![array_begin, array_opt, array_end],
2791 );
2792 ArrayNode { node_id, builder }
2793 }
2794}
2795#[derive(bon::Builder)]
2796pub struct ArrayBeginConstructor {
2797 l_bracket: LBracketToken,
2798}
2799impl ArrayBeginConstructor {
2800 pub fn build(self) -> ArrayBeginNode {
2801 let mut builder = CstBuilder::new();
2802 let l_bracket = builder.embed(self.l_bracket.builder);
2803 let node_id = builder.non_terminal(NonTerminalKind::ArrayBegin, vec![l_bracket]);
2804 ArrayBeginNode { node_id, builder }
2805 }
2806}
2807#[derive(bon::Builder)]
2808pub struct ArrayElementsConstructor {
2809 value: ValueNode,
2810 array_elements_opt: ArrayElementsOptNode,
2811}
2812impl ArrayElementsConstructor {
2813 pub fn build(self) -> ArrayElementsNode {
2814 let mut builder = CstBuilder::new();
2815 let value = builder.embed(self.value.builder);
2816 let array_elements_opt = builder.embed(self.array_elements_opt.builder);
2817 let node_id = builder.non_terminal(
2818 NonTerminalKind::ArrayElements,
2819 vec![value, array_elements_opt],
2820 );
2821 ArrayElementsNode { node_id, builder }
2822 }
2823}
2824#[derive(bon::Builder)]
2825pub struct ArrayElementsOptConstructor {
2826 array_elements_tail: Option<ArrayElementsTailNode>,
2827}
2828impl ArrayElementsOptConstructor {
2829 pub fn build(self) -> ArrayElementsOptNode {
2830 let mut builder = CstBuilder::new();
2831 let children = if let Some(child) = self.array_elements_tail {
2832 vec![builder.embed(child.builder)]
2833 } else {
2834 Vec::<BuilderNodeId>::new()
2835 };
2836 let node_id = builder.non_terminal(NonTerminalKind::ArrayElementsOpt, children);
2837 ArrayElementsOptNode { node_id, builder }
2838 }
2839}
2840#[derive(bon::Builder)]
2841pub struct ArrayElementsTailConstructor {
2842 comma: CommaNode,
2843 array_elements_tail_opt: ArrayElementsTailOptNode,
2844}
2845impl ArrayElementsTailConstructor {
2846 pub fn build(self) -> ArrayElementsTailNode {
2847 let mut builder = CstBuilder::new();
2848 let comma = builder.embed(self.comma.builder);
2849 let array_elements_tail_opt = builder.embed(self.array_elements_tail_opt.builder);
2850 let node_id = builder.non_terminal(
2851 NonTerminalKind::ArrayElementsTail,
2852 vec![comma, array_elements_tail_opt],
2853 );
2854 ArrayElementsTailNode { node_id, builder }
2855 }
2856}
2857#[derive(bon::Builder)]
2858pub struct ArrayElementsTailOptConstructor {
2859 array_elements: Option<ArrayElementsNode>,
2860}
2861impl ArrayElementsTailOptConstructor {
2862 pub fn build(self) -> ArrayElementsTailOptNode {
2863 let mut builder = CstBuilder::new();
2864 let children = if let Some(child) = self.array_elements {
2865 vec![builder.embed(child.builder)]
2866 } else {
2867 Vec::<BuilderNodeId>::new()
2868 };
2869 let node_id = builder.non_terminal(NonTerminalKind::ArrayElementsTailOpt, children);
2870 ArrayElementsTailOptNode { node_id, builder }
2871 }
2872}
2873#[derive(bon::Builder)]
2874pub struct ArrayEndConstructor {
2875 r_bracket: RBracketToken,
2876}
2877impl ArrayEndConstructor {
2878 pub fn build(self) -> ArrayEndNode {
2879 let mut builder = CstBuilder::new();
2880 let r_bracket = builder.embed(self.r_bracket.builder);
2881 let node_id = builder.non_terminal(NonTerminalKind::ArrayEnd, vec![r_bracket]);
2882 ArrayEndNode { node_id, builder }
2883 }
2884}
2885#[derive(bon::Builder)]
2886pub struct ArrayMarkerConstructor {
2887 array_begin: ArrayBeginNode,
2888 array_marker_opt: ArrayMarkerOptNode,
2889 array_end: ArrayEndNode,
2890}
2891impl ArrayMarkerConstructor {
2892 pub fn build(self) -> ArrayMarkerNode {
2893 let mut builder = CstBuilder::new();
2894 let array_begin = builder.embed(self.array_begin.builder);
2895 let array_marker_opt = builder.embed(self.array_marker_opt.builder);
2896 let array_end = builder.embed(self.array_end.builder);
2897 let node_id = builder.non_terminal(
2898 NonTerminalKind::ArrayMarker,
2899 vec![array_begin, array_marker_opt, array_end],
2900 );
2901 ArrayMarkerNode { node_id, builder }
2902 }
2903}
2904#[derive(bon::Builder)]
2905pub struct ArrayMarkerOptConstructor {
2906 integer: Option<IntegerNode>,
2907}
2908impl ArrayMarkerOptConstructor {
2909 pub fn build(self) -> ArrayMarkerOptNode {
2910 let mut builder = CstBuilder::new();
2911 let children = if let Some(child) = self.integer {
2912 vec![builder.embed(child.builder)]
2913 } else {
2914 Vec::<BuilderNodeId>::new()
2915 };
2916 let node_id = builder.non_terminal(NonTerminalKind::ArrayMarkerOpt, children);
2917 ArrayMarkerOptNode { node_id, builder }
2918 }
2919}
2920#[derive(bon::Builder)]
2921pub struct ArrayOptConstructor {
2922 array_elements: Option<ArrayElementsNode>,
2923}
2924impl ArrayOptConstructor {
2925 pub fn build(self) -> ArrayOptNode {
2926 let mut builder = CstBuilder::new();
2927 let children = if let Some(child) = self.array_elements {
2928 vec![builder.embed(child.builder)]
2929 } else {
2930 Vec::<BuilderNodeId>::new()
2931 };
2932 let node_id = builder.non_terminal(NonTerminalKind::ArrayOpt, children);
2933 ArrayOptNode { node_id, builder }
2934 }
2935}
2936#[derive(bon::Builder)]
2937pub struct AtConstructor {
2938 at: AtToken,
2939}
2940impl AtConstructor {
2941 pub fn build(self) -> AtNode {
2942 let mut builder = CstBuilder::new();
2943 let at = builder.embed(self.at.builder);
2944 let node_id = builder.non_terminal(NonTerminalKind::At, vec![at]);
2945 AtNode { node_id, builder }
2946 }
2947}
2948#[derive(bon::Builder)]
2949pub struct Backtick1Constructor {
2950 backtick_1: Backtick1Token,
2951}
2952impl Backtick1Constructor {
2953 pub fn build(self) -> Backtick1Node {
2954 let mut builder = CstBuilder::new();
2955 let backtick_1 = builder.embed(self.backtick_1.builder);
2956 let node_id = builder.non_terminal(NonTerminalKind::Backtick1, vec![backtick_1]);
2957 Backtick1Node { node_id, builder }
2958 }
2959}
2960#[derive(bon::Builder)]
2961pub struct Backtick2Constructor {
2962 backtick_2: Backtick2Token,
2963}
2964impl Backtick2Constructor {
2965 pub fn build(self) -> Backtick2Node {
2966 let mut builder = CstBuilder::new();
2967 let backtick_2 = builder.embed(self.backtick_2.builder);
2968 let node_id = builder.non_terminal(NonTerminalKind::Backtick2, vec![backtick_2]);
2969 Backtick2Node { node_id, builder }
2970 }
2971}
2972#[derive(bon::Builder)]
2973pub struct Backtick3Constructor {
2974 backtick_3: Backtick3Token,
2975}
2976impl Backtick3Constructor {
2977 pub fn build(self) -> Backtick3Node {
2978 let mut builder = CstBuilder::new();
2979 let backtick_3 = builder.embed(self.backtick_3.builder);
2980 let node_id = builder.non_terminal(NonTerminalKind::Backtick3, vec![backtick_3]);
2981 Backtick3Node { node_id, builder }
2982 }
2983}
2984#[derive(bon::Builder)]
2985pub struct Backtick4Constructor {
2986 backtick_4: Backtick4Token,
2987}
2988impl Backtick4Constructor {
2989 pub fn build(self) -> Backtick4Node {
2990 let mut builder = CstBuilder::new();
2991 let backtick_4 = builder.embed(self.backtick_4.builder);
2992 let node_id = builder.non_terminal(NonTerminalKind::Backtick4, vec![backtick_4]);
2993 Backtick4Node { node_id, builder }
2994 }
2995}
2996#[derive(bon::Builder)]
2997pub struct Backtick5Constructor {
2998 backtick_5: Backtick5Token,
2999}
3000impl Backtick5Constructor {
3001 pub fn build(self) -> Backtick5Node {
3002 let mut builder = CstBuilder::new();
3003 let backtick_5 = builder.embed(self.backtick_5.builder);
3004 let node_id = builder.non_terminal(NonTerminalKind::Backtick5, vec![backtick_5]);
3005 Backtick5Node { node_id, builder }
3006 }
3007}
3008#[derive(bon::Builder)]
3009pub struct BeginConstructor {
3010 l_brace: LBraceToken,
3011}
3012impl BeginConstructor {
3013 pub fn build(self) -> BeginNode {
3014 let mut builder = CstBuilder::new();
3015 let l_brace = builder.embed(self.l_brace.builder);
3016 let node_id = builder.non_terminal(NonTerminalKind::Begin, vec![l_brace]);
3017 BeginNode { node_id, builder }
3018 }
3019}
3020#[derive(bon::Builder)]
3021pub struct BindConstructor {
3022 bind: BindToken,
3023}
3024impl BindConstructor {
3025 pub fn build(self) -> BindNode {
3026 let mut builder = CstBuilder::new();
3027 let bind = builder.embed(self.bind.builder);
3028 let node_id = builder.non_terminal(NonTerminalKind::Bind, vec![bind]);
3029 BindNode { node_id, builder }
3030 }
3031}
3032#[derive(bon::Builder)]
3033pub struct BindingConstructor {
3034 keys: KeysNode,
3035 binding_rhs: BindingRhsNode,
3036}
3037impl BindingConstructor {
3038 pub fn build(self) -> BindingNode {
3039 let mut builder = CstBuilder::new();
3040 let keys = builder.embed(self.keys.builder);
3041 let binding_rhs = builder.embed(self.binding_rhs.builder);
3042 let node_id = builder.non_terminal(NonTerminalKind::Binding, vec![keys, binding_rhs]);
3043 BindingNode { node_id, builder }
3044 }
3045}
3046pub enum BindingRhsConstructor {
3047 ValueBinding(ValueBindingNode),
3048 SectionBinding(SectionBindingNode),
3049 TextBinding(TextBindingNode),
3050}
3051impl BindingRhsConstructor {
3052 pub fn build(self) -> BindingRhsNode {
3053 let mut builder = CstBuilder::new();
3054 let child_id = match self {
3055 Self::ValueBinding(node) => builder.embed(node.builder),
3056 Self::SectionBinding(node) => builder.embed(node.builder),
3057 Self::TextBinding(node) => builder.embed(node.builder),
3058 };
3059 let node_id = builder.non_terminal(NonTerminalKind::BindingRhs, vec![child_id]);
3060 BindingRhsNode { node_id, builder }
3061 }
3062}
3063pub enum BooleanConstructor {
3064 True(TrueNode),
3065 False(FalseNode),
3066}
3067impl BooleanConstructor {
3068 pub fn build(self) -> BooleanNode {
3069 let mut builder = CstBuilder::new();
3070 let child_id = match self {
3071 Self::True(node) => builder.embed(node.builder),
3072 Self::False(node) => builder.embed(node.builder),
3073 };
3074 let node_id = builder.non_terminal(NonTerminalKind::Boolean, vec![child_id]);
3075 BooleanNode { node_id, builder }
3076 }
3077}
3078pub enum CodeBlockConstructor {
3079 CodeBlock3(CodeBlock3Node),
3080 CodeBlock4(CodeBlock4Node),
3081 CodeBlock5(CodeBlock5Node),
3082 CodeBlock6(CodeBlock6Node),
3083}
3084impl CodeBlockConstructor {
3085 pub fn build(self) -> CodeBlockNode {
3086 let mut builder = CstBuilder::new();
3087 let child_id = match self {
3088 Self::CodeBlock3(node) => builder.embed(node.builder),
3089 Self::CodeBlock4(node) => builder.embed(node.builder),
3090 Self::CodeBlock5(node) => builder.embed(node.builder),
3091 Self::CodeBlock6(node) => builder.embed(node.builder),
3092 };
3093 let node_id = builder.non_terminal(NonTerminalKind::CodeBlock, vec![child_id]);
3094 CodeBlockNode { node_id, builder }
3095 }
3096}
3097#[derive(bon::Builder)]
3098pub struct CodeBlock3Constructor {
3099 code_block_start_3: CodeBlockStart3Node,
3100 code_block_3_list: CodeBlock3ListNode,
3101 code_block_end_3: CodeBlockEnd3Node,
3102}
3103impl CodeBlock3Constructor {
3104 pub fn build(self) -> CodeBlock3Node {
3105 let mut builder = CstBuilder::new();
3106 let code_block_start_3 = builder.embed(self.code_block_start_3.builder);
3107 let code_block_3_list = builder.embed(self.code_block_3_list.builder);
3108 let code_block_end_3 = builder.embed(self.code_block_end_3.builder);
3109 let node_id = builder.non_terminal(
3110 NonTerminalKind::CodeBlock3,
3111 vec![code_block_start_3, code_block_3_list, code_block_end_3],
3112 );
3113 CodeBlock3Node { node_id, builder }
3114 }
3115}
3116#[derive(bon::Builder)]
3117pub struct CodeBlock3ListConstructor {
3118 code_block_3_list_group: CodeBlock3ListGroupNode,
3119 code_block_3_list: CodeBlock3ListNode,
3120}
3121impl CodeBlock3ListConstructor {
3122 pub fn empty() -> CodeBlock3ListNode {
3124 let mut builder = CstBuilder::new();
3125 let node_id =
3126 builder.non_terminal(NonTerminalKind::CodeBlock3List, Vec::<BuilderNodeId>::new());
3127 CodeBlock3ListNode { node_id, builder }
3128 }
3129 pub fn build(self) -> CodeBlock3ListNode {
3131 let mut builder = CstBuilder::new();
3132 let code_block_3_list_group = builder.embed(self.code_block_3_list_group.builder);
3133 let code_block_3_list = builder.embed(self.code_block_3_list.builder);
3134 let node_id = builder.non_terminal(
3135 NonTerminalKind::CodeBlock3List,
3136 vec![code_block_3_list_group, code_block_3_list],
3137 );
3138 CodeBlock3ListNode { node_id, builder }
3139 }
3140}
3141pub enum CodeBlock3ListGroupConstructor {
3142 NoBacktick(NoBacktickNode),
3143 Backtick2(Backtick2Node),
3144}
3145impl CodeBlock3ListGroupConstructor {
3146 pub fn build(self) -> CodeBlock3ListGroupNode {
3147 let mut builder = CstBuilder::new();
3148 let child_id = match self {
3149 Self::NoBacktick(node) => builder.embed(node.builder),
3150 Self::Backtick2(node) => builder.embed(node.builder),
3151 };
3152 let node_id = builder.non_terminal(NonTerminalKind::CodeBlock3ListGroup, vec![child_id]);
3153 CodeBlock3ListGroupNode { node_id, builder }
3154 }
3155}
3156#[derive(bon::Builder)]
3157pub struct CodeBlock4Constructor {
3158 code_block_start_4: CodeBlockStart4Node,
3159 code_block_4_list: CodeBlock4ListNode,
3160 code_block_end_4: CodeBlockEnd4Node,
3161}
3162impl CodeBlock4Constructor {
3163 pub fn build(self) -> CodeBlock4Node {
3164 let mut builder = CstBuilder::new();
3165 let code_block_start_4 = builder.embed(self.code_block_start_4.builder);
3166 let code_block_4_list = builder.embed(self.code_block_4_list.builder);
3167 let code_block_end_4 = builder.embed(self.code_block_end_4.builder);
3168 let node_id = builder.non_terminal(
3169 NonTerminalKind::CodeBlock4,
3170 vec![code_block_start_4, code_block_4_list, code_block_end_4],
3171 );
3172 CodeBlock4Node { node_id, builder }
3173 }
3174}
3175#[derive(bon::Builder)]
3176pub struct CodeBlock4ListConstructor {
3177 code_block_4_list_group: CodeBlock4ListGroupNode,
3178 code_block_4_list: CodeBlock4ListNode,
3179}
3180impl CodeBlock4ListConstructor {
3181 pub fn empty() -> CodeBlock4ListNode {
3183 let mut builder = CstBuilder::new();
3184 let node_id =
3185 builder.non_terminal(NonTerminalKind::CodeBlock4List, Vec::<BuilderNodeId>::new());
3186 CodeBlock4ListNode { node_id, builder }
3187 }
3188 pub fn build(self) -> CodeBlock4ListNode {
3190 let mut builder = CstBuilder::new();
3191 let code_block_4_list_group = builder.embed(self.code_block_4_list_group.builder);
3192 let code_block_4_list = builder.embed(self.code_block_4_list.builder);
3193 let node_id = builder.non_terminal(
3194 NonTerminalKind::CodeBlock4List,
3195 vec![code_block_4_list_group, code_block_4_list],
3196 );
3197 CodeBlock4ListNode { node_id, builder }
3198 }
3199}
3200pub enum CodeBlock4ListGroupConstructor {
3201 NoBacktick(NoBacktickNode),
3202 Backtick3(Backtick3Node),
3203}
3204impl CodeBlock4ListGroupConstructor {
3205 pub fn build(self) -> CodeBlock4ListGroupNode {
3206 let mut builder = CstBuilder::new();
3207 let child_id = match self {
3208 Self::NoBacktick(node) => builder.embed(node.builder),
3209 Self::Backtick3(node) => builder.embed(node.builder),
3210 };
3211 let node_id = builder.non_terminal(NonTerminalKind::CodeBlock4ListGroup, vec![child_id]);
3212 CodeBlock4ListGroupNode { node_id, builder }
3213 }
3214}
3215#[derive(bon::Builder)]
3216pub struct CodeBlock5Constructor {
3217 code_block_start_5: CodeBlockStart5Node,
3218 code_block_5_list: CodeBlock5ListNode,
3219 code_block_end_5: CodeBlockEnd5Node,
3220}
3221impl CodeBlock5Constructor {
3222 pub fn build(self) -> CodeBlock5Node {
3223 let mut builder = CstBuilder::new();
3224 let code_block_start_5 = builder.embed(self.code_block_start_5.builder);
3225 let code_block_5_list = builder.embed(self.code_block_5_list.builder);
3226 let code_block_end_5 = builder.embed(self.code_block_end_5.builder);
3227 let node_id = builder.non_terminal(
3228 NonTerminalKind::CodeBlock5,
3229 vec![code_block_start_5, code_block_5_list, code_block_end_5],
3230 );
3231 CodeBlock5Node { node_id, builder }
3232 }
3233}
3234#[derive(bon::Builder)]
3235pub struct CodeBlock5ListConstructor {
3236 code_block_5_list_group: CodeBlock5ListGroupNode,
3237 code_block_5_list: CodeBlock5ListNode,
3238}
3239impl CodeBlock5ListConstructor {
3240 pub fn empty() -> CodeBlock5ListNode {
3242 let mut builder = CstBuilder::new();
3243 let node_id =
3244 builder.non_terminal(NonTerminalKind::CodeBlock5List, Vec::<BuilderNodeId>::new());
3245 CodeBlock5ListNode { node_id, builder }
3246 }
3247 pub fn build(self) -> CodeBlock5ListNode {
3249 let mut builder = CstBuilder::new();
3250 let code_block_5_list_group = builder.embed(self.code_block_5_list_group.builder);
3251 let code_block_5_list = builder.embed(self.code_block_5_list.builder);
3252 let node_id = builder.non_terminal(
3253 NonTerminalKind::CodeBlock5List,
3254 vec![code_block_5_list_group, code_block_5_list],
3255 );
3256 CodeBlock5ListNode { node_id, builder }
3257 }
3258}
3259pub enum CodeBlock5ListGroupConstructor {
3260 NoBacktick(NoBacktickNode),
3261 Backtick4(Backtick4Node),
3262}
3263impl CodeBlock5ListGroupConstructor {
3264 pub fn build(self) -> CodeBlock5ListGroupNode {
3265 let mut builder = CstBuilder::new();
3266 let child_id = match self {
3267 Self::NoBacktick(node) => builder.embed(node.builder),
3268 Self::Backtick4(node) => builder.embed(node.builder),
3269 };
3270 let node_id = builder.non_terminal(NonTerminalKind::CodeBlock5ListGroup, vec![child_id]);
3271 CodeBlock5ListGroupNode { node_id, builder }
3272 }
3273}
3274#[derive(bon::Builder)]
3275pub struct CodeBlock6Constructor {
3276 code_block_start_6: CodeBlockStart6Node,
3277 code_block_6_list: CodeBlock6ListNode,
3278 code_block_end_6: CodeBlockEnd6Node,
3279}
3280impl CodeBlock6Constructor {
3281 pub fn build(self) -> CodeBlock6Node {
3282 let mut builder = CstBuilder::new();
3283 let code_block_start_6 = builder.embed(self.code_block_start_6.builder);
3284 let code_block_6_list = builder.embed(self.code_block_6_list.builder);
3285 let code_block_end_6 = builder.embed(self.code_block_end_6.builder);
3286 let node_id = builder.non_terminal(
3287 NonTerminalKind::CodeBlock6,
3288 vec![code_block_start_6, code_block_6_list, code_block_end_6],
3289 );
3290 CodeBlock6Node { node_id, builder }
3291 }
3292}
3293#[derive(bon::Builder)]
3294pub struct CodeBlock6ListConstructor {
3295 code_block_6_list_group: CodeBlock6ListGroupNode,
3296 code_block_6_list: CodeBlock6ListNode,
3297}
3298impl CodeBlock6ListConstructor {
3299 pub fn empty() -> CodeBlock6ListNode {
3301 let mut builder = CstBuilder::new();
3302 let node_id =
3303 builder.non_terminal(NonTerminalKind::CodeBlock6List, Vec::<BuilderNodeId>::new());
3304 CodeBlock6ListNode { node_id, builder }
3305 }
3306 pub fn build(self) -> CodeBlock6ListNode {
3308 let mut builder = CstBuilder::new();
3309 let code_block_6_list_group = builder.embed(self.code_block_6_list_group.builder);
3310 let code_block_6_list = builder.embed(self.code_block_6_list.builder);
3311 let node_id = builder.non_terminal(
3312 NonTerminalKind::CodeBlock6List,
3313 vec![code_block_6_list_group, code_block_6_list],
3314 );
3315 CodeBlock6ListNode { node_id, builder }
3316 }
3317}
3318pub enum CodeBlock6ListGroupConstructor {
3319 NoBacktick(NoBacktickNode),
3320 Backtick5(Backtick5Node),
3321}
3322impl CodeBlock6ListGroupConstructor {
3323 pub fn build(self) -> CodeBlock6ListGroupNode {
3324 let mut builder = CstBuilder::new();
3325 let child_id = match self {
3326 Self::NoBacktick(node) => builder.embed(node.builder),
3327 Self::Backtick5(node) => builder.embed(node.builder),
3328 };
3329 let node_id = builder.non_terminal(NonTerminalKind::CodeBlock6ListGroup, vec![child_id]);
3330 CodeBlock6ListGroupNode { node_id, builder }
3331 }
3332}
3333#[derive(bon::Builder)]
3334pub struct CodeBlockEnd3Constructor {
3335 code_block_end_3: CodeBlockEnd3Token,
3336}
3337impl CodeBlockEnd3Constructor {
3338 pub fn build(self) -> CodeBlockEnd3Node {
3339 let mut builder = CstBuilder::new();
3340 let code_block_end_3 = builder.embed(self.code_block_end_3.builder);
3341 let node_id = builder.non_terminal(NonTerminalKind::CodeBlockEnd3, vec![code_block_end_3]);
3342 CodeBlockEnd3Node { node_id, builder }
3343 }
3344}
3345#[derive(bon::Builder)]
3346pub struct CodeBlockEnd4Constructor {
3347 code_block_end_4: CodeBlockEnd4Token,
3348}
3349impl CodeBlockEnd4Constructor {
3350 pub fn build(self) -> CodeBlockEnd4Node {
3351 let mut builder = CstBuilder::new();
3352 let code_block_end_4 = builder.embed(self.code_block_end_4.builder);
3353 let node_id = builder.non_terminal(NonTerminalKind::CodeBlockEnd4, vec![code_block_end_4]);
3354 CodeBlockEnd4Node { node_id, builder }
3355 }
3356}
3357#[derive(bon::Builder)]
3358pub struct CodeBlockEnd5Constructor {
3359 code_block_end_5: CodeBlockEnd5Token,
3360}
3361impl CodeBlockEnd5Constructor {
3362 pub fn build(self) -> CodeBlockEnd5Node {
3363 let mut builder = CstBuilder::new();
3364 let code_block_end_5 = builder.embed(self.code_block_end_5.builder);
3365 let node_id = builder.non_terminal(NonTerminalKind::CodeBlockEnd5, vec![code_block_end_5]);
3366 CodeBlockEnd5Node { node_id, builder }
3367 }
3368}
3369#[derive(bon::Builder)]
3370pub struct CodeBlockEnd6Constructor {
3371 code_block_end_6: CodeBlockEnd6Token,
3372}
3373impl CodeBlockEnd6Constructor {
3374 pub fn build(self) -> CodeBlockEnd6Node {
3375 let mut builder = CstBuilder::new();
3376 let code_block_end_6 = builder.embed(self.code_block_end_6.builder);
3377 let node_id = builder.non_terminal(NonTerminalKind::CodeBlockEnd6, vec![code_block_end_6]);
3378 CodeBlockEnd6Node { node_id, builder }
3379 }
3380}
3381#[derive(bon::Builder)]
3382pub struct CodeBlockStart3Constructor {
3383 code_block_start_3: CodeBlockStart3Token,
3384}
3385impl CodeBlockStart3Constructor {
3386 pub fn build(self) -> CodeBlockStart3Node {
3387 let mut builder = CstBuilder::new();
3388 let code_block_start_3 = builder.embed(self.code_block_start_3.builder);
3389 let node_id =
3390 builder.non_terminal(NonTerminalKind::CodeBlockStart3, vec![code_block_start_3]);
3391 CodeBlockStart3Node { node_id, builder }
3392 }
3393}
3394#[derive(bon::Builder)]
3395pub struct CodeBlockStart4Constructor {
3396 code_block_start_4: CodeBlockStart4Token,
3397}
3398impl CodeBlockStart4Constructor {
3399 pub fn build(self) -> CodeBlockStart4Node {
3400 let mut builder = CstBuilder::new();
3401 let code_block_start_4 = builder.embed(self.code_block_start_4.builder);
3402 let node_id =
3403 builder.non_terminal(NonTerminalKind::CodeBlockStart4, vec![code_block_start_4]);
3404 CodeBlockStart4Node { node_id, builder }
3405 }
3406}
3407#[derive(bon::Builder)]
3408pub struct CodeBlockStart5Constructor {
3409 code_block_start_5: CodeBlockStart5Token,
3410}
3411impl CodeBlockStart5Constructor {
3412 pub fn build(self) -> CodeBlockStart5Node {
3413 let mut builder = CstBuilder::new();
3414 let code_block_start_5 = builder.embed(self.code_block_start_5.builder);
3415 let node_id =
3416 builder.non_terminal(NonTerminalKind::CodeBlockStart5, vec![code_block_start_5]);
3417 CodeBlockStart5Node { node_id, builder }
3418 }
3419}
3420#[derive(bon::Builder)]
3421pub struct CodeBlockStart6Constructor {
3422 code_block_start_6: CodeBlockStart6Token,
3423}
3424impl CodeBlockStart6Constructor {
3425 pub fn build(self) -> CodeBlockStart6Node {
3426 let mut builder = CstBuilder::new();
3427 let code_block_start_6 = builder.embed(self.code_block_start_6.builder);
3428 let node_id =
3429 builder.non_terminal(NonTerminalKind::CodeBlockStart6, vec![code_block_start_6]);
3430 CodeBlockStart6Node { node_id, builder }
3431 }
3432}
3433#[derive(bon::Builder)]
3434pub struct CommaConstructor {
3435 comma: CommaToken,
3436}
3437impl CommaConstructor {
3438 pub fn build(self) -> CommaNode {
3439 let mut builder = CstBuilder::new();
3440 let comma = builder.embed(self.comma.builder);
3441 let node_id = builder.non_terminal(NonTerminalKind::Comma, vec![comma]);
3442 CommaNode { node_id, builder }
3443 }
3444}
3445#[derive(bon::Builder)]
3446pub struct ContinueConstructor {
3447 esc: EscToken,
3448}
3449impl ContinueConstructor {
3450 pub fn build(self) -> ContinueNode {
3451 let mut builder = CstBuilder::new();
3452 let esc = builder.embed(self.esc.builder);
3453 let node_id = builder.non_terminal(NonTerminalKind::Continue, vec![esc]);
3454 ContinueNode { node_id, builder }
3455 }
3456}
3457#[derive(bon::Builder)]
3458pub struct DotConstructor {
3459 dot: DotToken,
3460}
3461impl DotConstructor {
3462 pub fn build(self) -> DotNode {
3463 let mut builder = CstBuilder::new();
3464 let dot = builder.embed(self.dot.builder);
3465 let node_id = builder.non_terminal(NonTerminalKind::Dot, vec![dot]);
3466 DotNode { node_id, builder }
3467 }
3468}
3469#[derive(bon::Builder)]
3470pub struct EndConstructor {
3471 r_brace: RBraceToken,
3472}
3473impl EndConstructor {
3474 pub fn build(self) -> EndNode {
3475 let mut builder = CstBuilder::new();
3476 let r_brace = builder.embed(self.r_brace.builder);
3477 let node_id = builder.non_terminal(NonTerminalKind::End, vec![r_brace]);
3478 EndNode { node_id, builder }
3479 }
3480}
3481#[derive(bon::Builder)]
3482pub struct EureConstructor {
3483 eure_opt: EureOptNode,
3484 eure_bindings: EureBindingsNode,
3485 eure_sections: EureSectionsNode,
3486}
3487impl EureConstructor {
3488 pub fn build(self) -> EureNode {
3489 let mut builder = CstBuilder::new();
3490 let eure_opt = builder.embed(self.eure_opt.builder);
3491 let eure_bindings = builder.embed(self.eure_bindings.builder);
3492 let eure_sections = builder.embed(self.eure_sections.builder);
3493 let node_id = builder.non_terminal(
3494 NonTerminalKind::Eure,
3495 vec![eure_opt, eure_bindings, eure_sections],
3496 );
3497 EureNode { node_id, builder }
3498 }
3499}
3500#[derive(bon::Builder)]
3501pub struct EureBindingsConstructor {
3502 binding: BindingNode,
3503 eure_bindings: EureBindingsNode,
3504}
3505impl EureBindingsConstructor {
3506 pub fn empty() -> EureBindingsNode {
3508 let mut builder = CstBuilder::new();
3509 let node_id = builder.non_terminal(NonTerminalKind::EureList, Vec::<BuilderNodeId>::new());
3510 EureBindingsNode { node_id, builder }
3511 }
3512 pub fn build(self) -> EureBindingsNode {
3514 let mut builder = CstBuilder::new();
3515 let binding = builder.embed(self.binding.builder);
3516 let eure_bindings = builder.embed(self.eure_bindings.builder);
3517 let node_id = builder.non_terminal(NonTerminalKind::EureList, vec![binding, eure_bindings]);
3518 EureBindingsNode { node_id, builder }
3519 }
3520}
3521#[derive(bon::Builder)]
3522pub struct EureSectionsConstructor {
3523 section: SectionNode,
3524 eure_sections: EureSectionsNode,
3525}
3526impl EureSectionsConstructor {
3527 pub fn empty() -> EureSectionsNode {
3529 let mut builder = CstBuilder::new();
3530 let node_id = builder.non_terminal(NonTerminalKind::EureList0, Vec::<BuilderNodeId>::new());
3531 EureSectionsNode { node_id, builder }
3532 }
3533 pub fn build(self) -> EureSectionsNode {
3535 let mut builder = CstBuilder::new();
3536 let section = builder.embed(self.section.builder);
3537 let eure_sections = builder.embed(self.eure_sections.builder);
3538 let node_id =
3539 builder.non_terminal(NonTerminalKind::EureList0, vec![section, eure_sections]);
3540 EureSectionsNode { node_id, builder }
3541 }
3542}
3543#[derive(bon::Builder)]
3544pub struct EureOptConstructor {
3545 value_binding: Option<ValueBindingNode>,
3546}
3547impl EureOptConstructor {
3548 pub fn build(self) -> EureOptNode {
3549 let mut builder = CstBuilder::new();
3550 let children = if let Some(child) = self.value_binding {
3551 vec![builder.embed(child.builder)]
3552 } else {
3553 Vec::<BuilderNodeId>::new()
3554 };
3555 let node_id = builder.non_terminal(NonTerminalKind::EureOpt, children);
3556 EureOptNode { node_id, builder }
3557 }
3558}
3559#[derive(bon::Builder)]
3560pub struct ExtConstructor {
3561 dollar: DollarToken,
3562}
3563impl ExtConstructor {
3564 pub fn build(self) -> ExtNode {
3565 let mut builder = CstBuilder::new();
3566 let dollar = builder.embed(self.dollar.builder);
3567 let node_id = builder.non_terminal(NonTerminalKind::Ext, vec![dollar]);
3568 ExtNode { node_id, builder }
3569 }
3570}
3571#[derive(bon::Builder)]
3572pub struct ExtensionNameSpaceConstructor {
3573 ext: ExtNode,
3574 key_ident: KeyIdentNode,
3575}
3576impl ExtensionNameSpaceConstructor {
3577 pub fn build(self) -> ExtensionNameSpaceNode {
3578 let mut builder = CstBuilder::new();
3579 let ext = builder.embed(self.ext.builder);
3580 let key_ident = builder.embed(self.key_ident.builder);
3581 let node_id =
3582 builder.non_terminal(NonTerminalKind::ExtensionNameSpace, vec![ext, key_ident]);
3583 ExtensionNameSpaceNode { node_id, builder }
3584 }
3585}
3586#[derive(bon::Builder)]
3587pub struct FalseConstructor {
3588 r#false: FalseToken,
3589}
3590impl FalseConstructor {
3591 pub fn build(self) -> FalseNode {
3592 let mut builder = CstBuilder::new();
3593 let r#false = builder.embed(self.r#false.builder);
3594 let node_id = builder.non_terminal(NonTerminalKind::False, vec![r#false]);
3595 FalseNode { node_id, builder }
3596 }
3597}
3598#[derive(bon::Builder)]
3599pub struct FloatConstructor {
3600 float: FloatToken,
3601}
3602impl FloatConstructor {
3603 pub fn build(self) -> FloatNode {
3604 let mut builder = CstBuilder::new();
3605 let float = builder.embed(self.float.builder);
3606 let node_id = builder.non_terminal(NonTerminalKind::Float, vec![float]);
3607 FloatNode { node_id, builder }
3608 }
3609}
3610#[derive(bon::Builder)]
3611pub struct GrammarNewlineConstructor {
3612 grammar_newline: GrammarNewlineToken,
3613}
3614impl GrammarNewlineConstructor {
3615 pub fn build(self) -> GrammarNewlineNode {
3616 let mut builder = CstBuilder::new();
3617 let grammar_newline = builder.embed(self.grammar_newline.builder);
3618 let node_id = builder.non_terminal(NonTerminalKind::GrammarNewline, vec![grammar_newline]);
3619 GrammarNewlineNode { node_id, builder }
3620 }
3621}
3622#[derive(bon::Builder)]
3623pub struct HoleConstructor {
3624 hole: HoleToken,
3625}
3626impl HoleConstructor {
3627 pub fn build(self) -> HoleNode {
3628 let mut builder = CstBuilder::new();
3629 let hole = builder.embed(self.hole.builder);
3630 let node_id = builder.non_terminal(NonTerminalKind::Hole, vec![hole]);
3631 HoleNode { node_id, builder }
3632 }
3633}
3634#[derive(bon::Builder)]
3635pub struct IdentConstructor {
3636 ident: IdentToken,
3637}
3638impl IdentConstructor {
3639 pub fn build(self) -> IdentNode {
3640 let mut builder = CstBuilder::new();
3641 let ident = builder.embed(self.ident.builder);
3642 let node_id = builder.non_terminal(NonTerminalKind::Ident, vec![ident]);
3643 IdentNode { node_id, builder }
3644 }
3645}
3646#[derive(bon::Builder)]
3647pub struct InfConstructor {
3648 inf: InfToken,
3649}
3650impl InfConstructor {
3651 pub fn build(self) -> InfNode {
3652 let mut builder = CstBuilder::new();
3653 let inf = builder.embed(self.inf.builder);
3654 let node_id = builder.non_terminal(NonTerminalKind::Inf, vec![inf]);
3655 InfNode { node_id, builder }
3656 }
3657}
3658pub enum InlineCodeConstructor {
3659 InlineCode2(InlineCode2Node),
3660 InlineCode1(InlineCode1Node),
3661}
3662impl InlineCodeConstructor {
3663 pub fn build(self) -> InlineCodeNode {
3664 let mut builder = CstBuilder::new();
3665 let child_id = match self {
3666 Self::InlineCode2(node) => builder.embed(node.builder),
3667 Self::InlineCode1(node) => builder.embed(node.builder),
3668 };
3669 let node_id = builder.non_terminal(NonTerminalKind::InlineCode, vec![child_id]);
3670 InlineCodeNode { node_id, builder }
3671 }
3672}
3673#[derive(bon::Builder)]
3674pub struct InlineCode1Constructor {
3675 inline_code_1: InlineCode1Token,
3676}
3677impl InlineCode1Constructor {
3678 pub fn build(self) -> InlineCode1Node {
3679 let mut builder = CstBuilder::new();
3680 let inline_code_1 = builder.embed(self.inline_code_1.builder);
3681 let node_id = builder.non_terminal(NonTerminalKind::InlineCode1, vec![inline_code_1]);
3682 InlineCode1Node { node_id, builder }
3683 }
3684}
3685#[derive(bon::Builder)]
3686pub struct InlineCode2Constructor {
3687 inline_code_start_2: InlineCodeStart2Node,
3688 inline_code_2_list: InlineCode2ListNode,
3689 inline_code_end_2: InlineCodeEnd2Node,
3690}
3691impl InlineCode2Constructor {
3692 pub fn build(self) -> InlineCode2Node {
3693 let mut builder = CstBuilder::new();
3694 let inline_code_start_2 = builder.embed(self.inline_code_start_2.builder);
3695 let inline_code_2_list = builder.embed(self.inline_code_2_list.builder);
3696 let inline_code_end_2 = builder.embed(self.inline_code_end_2.builder);
3697 let node_id = builder.non_terminal(
3698 NonTerminalKind::InlineCode2,
3699 vec![inline_code_start_2, inline_code_2_list, inline_code_end_2],
3700 );
3701 InlineCode2Node { node_id, builder }
3702 }
3703}
3704#[derive(bon::Builder)]
3705pub struct InlineCode2ListConstructor {
3706 inline_code_2_list_group: InlineCode2ListGroupNode,
3707 inline_code_2_list: InlineCode2ListNode,
3708}
3709impl InlineCode2ListConstructor {
3710 pub fn empty() -> InlineCode2ListNode {
3712 let mut builder = CstBuilder::new();
3713 let node_id = builder.non_terminal(
3714 NonTerminalKind::InlineCode2List,
3715 Vec::<BuilderNodeId>::new(),
3716 );
3717 InlineCode2ListNode { node_id, builder }
3718 }
3719 pub fn build(self) -> InlineCode2ListNode {
3721 let mut builder = CstBuilder::new();
3722 let inline_code_2_list_group = builder.embed(self.inline_code_2_list_group.builder);
3723 let inline_code_2_list = builder.embed(self.inline_code_2_list.builder);
3724 let node_id = builder.non_terminal(
3725 NonTerminalKind::InlineCode2List,
3726 vec![inline_code_2_list_group, inline_code_2_list],
3727 );
3728 InlineCode2ListNode { node_id, builder }
3729 }
3730}
3731pub enum InlineCode2ListGroupConstructor {
3732 NoBacktickInline(NoBacktickInlineNode),
3733 Backtick1(Backtick1Node),
3734}
3735impl InlineCode2ListGroupConstructor {
3736 pub fn build(self) -> InlineCode2ListGroupNode {
3737 let mut builder = CstBuilder::new();
3738 let child_id = match self {
3739 Self::NoBacktickInline(node) => builder.embed(node.builder),
3740 Self::Backtick1(node) => builder.embed(node.builder),
3741 };
3742 let node_id = builder.non_terminal(NonTerminalKind::InlineCode2ListGroup, vec![child_id]);
3743 InlineCode2ListGroupNode { node_id, builder }
3744 }
3745}
3746#[derive(bon::Builder)]
3747pub struct InlineCodeEnd2Constructor {
3748 inline_code_end_2: InlineCodeEnd2Token,
3749}
3750impl InlineCodeEnd2Constructor {
3751 pub fn build(self) -> InlineCodeEnd2Node {
3752 let mut builder = CstBuilder::new();
3753 let inline_code_end_2 = builder.embed(self.inline_code_end_2.builder);
3754 let node_id =
3755 builder.non_terminal(NonTerminalKind::InlineCodeEnd2, vec![inline_code_end_2]);
3756 InlineCodeEnd2Node { node_id, builder }
3757 }
3758}
3759#[derive(bon::Builder)]
3760pub struct InlineCodeStart2Constructor {
3761 inline_code_start_2: InlineCodeStart2Token,
3762}
3763impl InlineCodeStart2Constructor {
3764 pub fn build(self) -> InlineCodeStart2Node {
3765 let mut builder = CstBuilder::new();
3766 let inline_code_start_2 = builder.embed(self.inline_code_start_2.builder);
3767 let node_id =
3768 builder.non_terminal(NonTerminalKind::InlineCodeStart2, vec![inline_code_start_2]);
3769 InlineCodeStart2Node { node_id, builder }
3770 }
3771}
3772#[derive(bon::Builder)]
3773pub struct IntegerConstructor {
3774 integer: IntegerToken,
3775}
3776impl IntegerConstructor {
3777 pub fn build(self) -> IntegerNode {
3778 let mut builder = CstBuilder::new();
3779 let integer = builder.embed(self.integer.builder);
3780 let node_id = builder.non_terminal(NonTerminalKind::Integer, vec![integer]);
3781 IntegerNode { node_id, builder }
3782 }
3783}
3784#[derive(bon::Builder)]
3785pub struct KeyConstructor {
3786 key_base: KeyBaseNode,
3787 key_opt: KeyOptNode,
3788}
3789impl KeyConstructor {
3790 pub fn build(self) -> KeyNode {
3791 let mut builder = CstBuilder::new();
3792 let key_base = builder.embed(self.key_base.builder);
3793 let key_opt = builder.embed(self.key_opt.builder);
3794 let node_id = builder.non_terminal(NonTerminalKind::Key, vec![key_base, key_opt]);
3795 KeyNode { node_id, builder }
3796 }
3797}
3798pub enum KeyBaseConstructor {
3799 KeyIdent(KeyIdentNode),
3800 ExtensionNameSpace(ExtensionNameSpaceNode),
3801 Str(StrNode),
3802 Integer(IntegerNode),
3803 KeyTuple(KeyTupleNode),
3804 TupleIndex(TupleIndexNode),
3805}
3806impl KeyBaseConstructor {
3807 pub fn build(self) -> KeyBaseNode {
3808 let mut builder = CstBuilder::new();
3809 let child_id = match self {
3810 Self::KeyIdent(node) => builder.embed(node.builder),
3811 Self::ExtensionNameSpace(node) => builder.embed(node.builder),
3812 Self::Str(node) => builder.embed(node.builder),
3813 Self::Integer(node) => builder.embed(node.builder),
3814 Self::KeyTuple(node) => builder.embed(node.builder),
3815 Self::TupleIndex(node) => builder.embed(node.builder),
3816 };
3817 let node_id = builder.non_terminal(NonTerminalKind::KeyBase, vec![child_id]);
3818 KeyBaseNode { node_id, builder }
3819 }
3820}
3821pub enum KeyIdentConstructor {
3822 Ident(IdentNode),
3823 True(TrueNode),
3824 False(FalseNode),
3825 Null(NullNode),
3826}
3827impl KeyIdentConstructor {
3828 pub fn build(self) -> KeyIdentNode {
3829 let mut builder = CstBuilder::new();
3830 let child_id = match self {
3831 Self::Ident(node) => builder.embed(node.builder),
3832 Self::True(node) => builder.embed(node.builder),
3833 Self::False(node) => builder.embed(node.builder),
3834 Self::Null(node) => builder.embed(node.builder),
3835 };
3836 let node_id = builder.non_terminal(NonTerminalKind::KeyIdent, vec![child_id]);
3837 KeyIdentNode { node_id, builder }
3838 }
3839}
3840#[derive(bon::Builder)]
3841pub struct KeyOptConstructor {
3842 array_marker: Option<ArrayMarkerNode>,
3843}
3844impl KeyOptConstructor {
3845 pub fn build(self) -> KeyOptNode {
3846 let mut builder = CstBuilder::new();
3847 let children = if let Some(child) = self.array_marker {
3848 vec![builder.embed(child.builder)]
3849 } else {
3850 Vec::<BuilderNodeId>::new()
3851 };
3852 let node_id = builder.non_terminal(NonTerminalKind::KeyOpt, children);
3853 KeyOptNode { node_id, builder }
3854 }
3855}
3856#[derive(bon::Builder)]
3857pub struct KeyTupleConstructor {
3858 l_paren: LParenNode,
3859 key_tuple_opt: KeyTupleOptNode,
3860 r_paren: RParenNode,
3861}
3862impl KeyTupleConstructor {
3863 pub fn build(self) -> KeyTupleNode {
3864 let mut builder = CstBuilder::new();
3865 let l_paren = builder.embed(self.l_paren.builder);
3866 let key_tuple_opt = builder.embed(self.key_tuple_opt.builder);
3867 let r_paren = builder.embed(self.r_paren.builder);
3868 let node_id = builder.non_terminal(
3869 NonTerminalKind::KeyTuple,
3870 vec![l_paren, key_tuple_opt, r_paren],
3871 );
3872 KeyTupleNode { node_id, builder }
3873 }
3874}
3875#[derive(bon::Builder)]
3876pub struct KeyTupleElementsConstructor {
3877 key_value: KeyValueNode,
3878 key_tuple_elements_opt: KeyTupleElementsOptNode,
3879}
3880impl KeyTupleElementsConstructor {
3881 pub fn build(self) -> KeyTupleElementsNode {
3882 let mut builder = CstBuilder::new();
3883 let key_value = builder.embed(self.key_value.builder);
3884 let key_tuple_elements_opt = builder.embed(self.key_tuple_elements_opt.builder);
3885 let node_id = builder.non_terminal(
3886 NonTerminalKind::KeyTupleElements,
3887 vec![key_value, key_tuple_elements_opt],
3888 );
3889 KeyTupleElementsNode { node_id, builder }
3890 }
3891}
3892#[derive(bon::Builder)]
3893pub struct KeyTupleElementsOptConstructor {
3894 key_tuple_elements_tail: Option<KeyTupleElementsTailNode>,
3895}
3896impl KeyTupleElementsOptConstructor {
3897 pub fn build(self) -> KeyTupleElementsOptNode {
3898 let mut builder = CstBuilder::new();
3899 let children = if let Some(child) = self.key_tuple_elements_tail {
3900 vec![builder.embed(child.builder)]
3901 } else {
3902 Vec::<BuilderNodeId>::new()
3903 };
3904 let node_id = builder.non_terminal(NonTerminalKind::KeyTupleElementsOpt, children);
3905 KeyTupleElementsOptNode { node_id, builder }
3906 }
3907}
3908#[derive(bon::Builder)]
3909pub struct KeyTupleElementsTailConstructor {
3910 comma: CommaNode,
3911 key_tuple_elements_tail_opt: KeyTupleElementsTailOptNode,
3912}
3913impl KeyTupleElementsTailConstructor {
3914 pub fn build(self) -> KeyTupleElementsTailNode {
3915 let mut builder = CstBuilder::new();
3916 let comma = builder.embed(self.comma.builder);
3917 let key_tuple_elements_tail_opt = builder.embed(self.key_tuple_elements_tail_opt.builder);
3918 let node_id = builder.non_terminal(
3919 NonTerminalKind::KeyTupleElementsTail,
3920 vec![comma, key_tuple_elements_tail_opt],
3921 );
3922 KeyTupleElementsTailNode { node_id, builder }
3923 }
3924}
3925#[derive(bon::Builder)]
3926pub struct KeyTupleElementsTailOptConstructor {
3927 key_tuple_elements: Option<KeyTupleElementsNode>,
3928}
3929impl KeyTupleElementsTailOptConstructor {
3930 pub fn build(self) -> KeyTupleElementsTailOptNode {
3931 let mut builder = CstBuilder::new();
3932 let children = if let Some(child) = self.key_tuple_elements {
3933 vec![builder.embed(child.builder)]
3934 } else {
3935 Vec::<BuilderNodeId>::new()
3936 };
3937 let node_id = builder.non_terminal(NonTerminalKind::KeyTupleElementsTailOpt, children);
3938 KeyTupleElementsTailOptNode { node_id, builder }
3939 }
3940}
3941#[derive(bon::Builder)]
3942pub struct KeyTupleOptConstructor {
3943 key_tuple_elements: Option<KeyTupleElementsNode>,
3944}
3945impl KeyTupleOptConstructor {
3946 pub fn build(self) -> KeyTupleOptNode {
3947 let mut builder = CstBuilder::new();
3948 let children = if let Some(child) = self.key_tuple_elements {
3949 vec![builder.embed(child.builder)]
3950 } else {
3951 Vec::<BuilderNodeId>::new()
3952 };
3953 let node_id = builder.non_terminal(NonTerminalKind::KeyTupleOpt, children);
3954 KeyTupleOptNode { node_id, builder }
3955 }
3956}
3957pub enum KeyValueConstructor {
3958 Integer(IntegerNode),
3959 Boolean(BooleanNode),
3960 Str(StrNode),
3961 KeyTuple(KeyTupleNode),
3962}
3963impl KeyValueConstructor {
3964 pub fn build(self) -> KeyValueNode {
3965 let mut builder = CstBuilder::new();
3966 let child_id = match self {
3967 Self::Integer(node) => builder.embed(node.builder),
3968 Self::Boolean(node) => builder.embed(node.builder),
3969 Self::Str(node) => builder.embed(node.builder),
3970 Self::KeyTuple(node) => builder.embed(node.builder),
3971 };
3972 let node_id = builder.non_terminal(NonTerminalKind::KeyValue, vec![child_id]);
3973 KeyValueNode { node_id, builder }
3974 }
3975}
3976#[derive(bon::Builder)]
3977pub struct KeysConstructor {
3978 key: KeyNode,
3979 keys_list: KeysListNode,
3980}
3981impl KeysConstructor {
3982 pub fn build(self) -> KeysNode {
3983 let mut builder = CstBuilder::new();
3984 let key = builder.embed(self.key.builder);
3985 let keys_list = builder.embed(self.keys_list.builder);
3986 let node_id = builder.non_terminal(NonTerminalKind::Keys, vec![key, keys_list]);
3987 KeysNode { node_id, builder }
3988 }
3989}
3990#[derive(bon::Builder)]
3991pub struct KeysListConstructor {
3992 dot: DotNode,
3993 key: KeyNode,
3994 keys_list: KeysListNode,
3995}
3996impl KeysListConstructor {
3997 pub fn empty() -> KeysListNode {
3999 let mut builder = CstBuilder::new();
4000 let node_id = builder.non_terminal(NonTerminalKind::KeysList, Vec::<BuilderNodeId>::new());
4001 KeysListNode { node_id, builder }
4002 }
4003 pub fn build(self) -> KeysListNode {
4005 let mut builder = CstBuilder::new();
4006 let dot = builder.embed(self.dot.builder);
4007 let key = builder.embed(self.key.builder);
4008 let keys_list = builder.embed(self.keys_list.builder);
4009 let node_id = builder.non_terminal(NonTerminalKind::KeysList, vec![dot, key, keys_list]);
4010 KeysListNode { node_id, builder }
4011 }
4012}
4013#[derive(bon::Builder)]
4014pub struct LParenConstructor {
4015 l_paren: LParenToken,
4016}
4017impl LParenConstructor {
4018 pub fn build(self) -> LParenNode {
4019 let mut builder = CstBuilder::new();
4020 let l_paren = builder.embed(self.l_paren.builder);
4021 let node_id = builder.non_terminal(NonTerminalKind::LParen, vec![l_paren]);
4022 LParenNode { node_id, builder }
4023 }
4024}
4025#[derive(bon::Builder)]
4026pub struct MapBindConstructor {
4027 map_bind: MapBindToken,
4028}
4029impl MapBindConstructor {
4030 pub fn build(self) -> MapBindNode {
4031 let mut builder = CstBuilder::new();
4032 let map_bind = builder.embed(self.map_bind.builder);
4033 let node_id = builder.non_terminal(NonTerminalKind::MapBind, vec![map_bind]);
4034 MapBindNode { node_id, builder }
4035 }
4036}
4037#[derive(bon::Builder)]
4038pub struct NaNConstructor {
4039 na_n: NaNToken,
4040}
4041impl NaNConstructor {
4042 pub fn build(self) -> NaNNode {
4043 let mut builder = CstBuilder::new();
4044 let na_n = builder.embed(self.na_n.builder);
4045 let node_id = builder.non_terminal(NonTerminalKind::NaN, vec![na_n]);
4046 NaNNode { node_id, builder }
4047 }
4048}
4049#[derive(bon::Builder)]
4050pub struct NoBacktickConstructor {
4051 no_backtick: NoBacktickToken,
4052}
4053impl NoBacktickConstructor {
4054 pub fn build(self) -> NoBacktickNode {
4055 let mut builder = CstBuilder::new();
4056 let no_backtick = builder.embed(self.no_backtick.builder);
4057 let node_id = builder.non_terminal(NonTerminalKind::NoBacktick, vec![no_backtick]);
4058 NoBacktickNode { node_id, builder }
4059 }
4060}
4061#[derive(bon::Builder)]
4062pub struct NoBacktickInlineConstructor {
4063 no_backtick_inline: NoBacktickInlineToken,
4064}
4065impl NoBacktickInlineConstructor {
4066 pub fn build(self) -> NoBacktickInlineNode {
4067 let mut builder = CstBuilder::new();
4068 let no_backtick_inline = builder.embed(self.no_backtick_inline.builder);
4069 let node_id =
4070 builder.non_terminal(NonTerminalKind::NoBacktickInline, vec![no_backtick_inline]);
4071 NoBacktickInlineNode { node_id, builder }
4072 }
4073}
4074#[derive(bon::Builder)]
4075pub struct NullConstructor {
4076 null: NullToken,
4077}
4078impl NullConstructor {
4079 pub fn build(self) -> NullNode {
4080 let mut builder = CstBuilder::new();
4081 let null = builder.embed(self.null.builder);
4082 let node_id = builder.non_terminal(NonTerminalKind::Null, vec![null]);
4083 NullNode { node_id, builder }
4084 }
4085}
4086pub enum NumberConstructor {
4087 Float(FloatNode),
4088 Integer(IntegerNode),
4089 Inf(InfNode),
4090 NaN(NaNNode),
4091}
4092impl NumberConstructor {
4093 pub fn build(self) -> NumberNode {
4094 let mut builder = CstBuilder::new();
4095 let child_id = match self {
4096 Self::Float(node) => builder.embed(node.builder),
4097 Self::Integer(node) => builder.embed(node.builder),
4098 Self::Inf(node) => builder.embed(node.builder),
4099 Self::NaN(node) => builder.embed(node.builder),
4100 };
4101 let node_id = builder.non_terminal(NonTerminalKind::Number, vec![child_id]);
4102 NumberNode { node_id, builder }
4103 }
4104}
4105#[derive(bon::Builder)]
4106pub struct ObjectConstructor {
4107 begin: BeginNode,
4108 object_opt: ObjectOptNode,
4109 object_list: ObjectListNode,
4110 end: EndNode,
4111}
4112impl ObjectConstructor {
4113 pub fn build(self) -> ObjectNode {
4114 let mut builder = CstBuilder::new();
4115 let begin = builder.embed(self.begin.builder);
4116 let object_opt = builder.embed(self.object_opt.builder);
4117 let object_list = builder.embed(self.object_list.builder);
4118 let end = builder.embed(self.end.builder);
4119 let node_id = builder.non_terminal(
4120 NonTerminalKind::Object,
4121 vec![begin, object_opt, object_list, end],
4122 );
4123 ObjectNode { node_id, builder }
4124 }
4125}
4126#[derive(bon::Builder)]
4127pub struct ObjectListConstructor {
4128 keys: KeysNode,
4129 map_bind: MapBindNode,
4130 value: ValueNode,
4131 object_opt_0: ObjectOpt0Node,
4132 object_list: ObjectListNode,
4133}
4134impl ObjectListConstructor {
4135 pub fn empty() -> ObjectListNode {
4137 let mut builder = CstBuilder::new();
4138 let node_id =
4139 builder.non_terminal(NonTerminalKind::ObjectList, Vec::<BuilderNodeId>::new());
4140 ObjectListNode { node_id, builder }
4141 }
4142 pub fn build(self) -> ObjectListNode {
4144 let mut builder = CstBuilder::new();
4145 let keys = builder.embed(self.keys.builder);
4146 let map_bind = builder.embed(self.map_bind.builder);
4147 let value = builder.embed(self.value.builder);
4148 let object_opt_0 = builder.embed(self.object_opt_0.builder);
4149 let object_list = builder.embed(self.object_list.builder);
4150 let node_id = builder.non_terminal(
4151 NonTerminalKind::ObjectList,
4152 vec![keys, map_bind, value, object_opt_0, object_list],
4153 );
4154 ObjectListNode { node_id, builder }
4155 }
4156}
4157#[derive(bon::Builder)]
4158pub struct ObjectOptConstructor {
4159 value_binding: ValueBindingNode,
4160 object_opt_1: ObjectOpt1Node,
4161}
4162impl ObjectOptConstructor {
4163 pub fn build(self) -> ObjectOptNode {
4164 let mut builder = CstBuilder::new();
4165 let value_binding = builder.embed(self.value_binding.builder);
4166 let object_opt_1 = builder.embed(self.object_opt_1.builder);
4167 let node_id = builder.non_terminal(
4168 NonTerminalKind::ObjectOpt,
4169 vec![value_binding, object_opt_1],
4170 );
4171 ObjectOptNode { node_id, builder }
4172 }
4173}
4174#[derive(bon::Builder)]
4175pub struct ObjectOpt0Constructor {
4176 comma: Option<CommaNode>,
4177}
4178impl ObjectOpt0Constructor {
4179 pub fn build(self) -> ObjectOpt0Node {
4180 let mut builder = CstBuilder::new();
4181 let children = if let Some(child) = self.comma {
4182 vec![builder.embed(child.builder)]
4183 } else {
4184 Vec::<BuilderNodeId>::new()
4185 };
4186 let node_id = builder.non_terminal(NonTerminalKind::ObjectOpt0, children);
4187 ObjectOpt0Node { node_id, builder }
4188 }
4189}
4190#[derive(bon::Builder)]
4191pub struct ObjectOpt1Constructor {
4192 comma: Option<CommaNode>,
4193}
4194impl ObjectOpt1Constructor {
4195 pub fn build(self) -> ObjectOpt1Node {
4196 let mut builder = CstBuilder::new();
4197 let children = if let Some(child) = self.comma {
4198 vec![builder.embed(child.builder)]
4199 } else {
4200 Vec::<BuilderNodeId>::new()
4201 };
4202 let node_id = builder.non_terminal(NonTerminalKind::ObjectOpt1, children);
4203 ObjectOpt1Node { node_id, builder }
4204 }
4205}
4206#[derive(bon::Builder)]
4207pub struct RParenConstructor {
4208 r_paren: RParenToken,
4209}
4210impl RParenConstructor {
4211 pub fn build(self) -> RParenNode {
4212 let mut builder = CstBuilder::new();
4213 let r_paren = builder.embed(self.r_paren.builder);
4214 let node_id = builder.non_terminal(NonTerminalKind::RParen, vec![r_paren]);
4215 RParenNode { node_id, builder }
4216 }
4217}
4218#[derive(bon::Builder)]
4219pub struct SectionConstructor {
4220 at: AtNode,
4221 keys: KeysNode,
4222 section_body: SectionBodyNode,
4223}
4224impl SectionConstructor {
4225 pub fn build(self) -> SectionNode {
4226 let mut builder = CstBuilder::new();
4227 let at = builder.embed(self.at.builder);
4228 let keys = builder.embed(self.keys.builder);
4229 let section_body = builder.embed(self.section_body.builder);
4230 let node_id = builder.non_terminal(NonTerminalKind::Section, vec![at, keys, section_body]);
4231 SectionNode { node_id, builder }
4232 }
4233}
4234#[derive(bon::Builder)]
4235pub struct SectionBindingConstructor {
4236 begin: BeginNode,
4237 eure: EureNode,
4238 end: EndNode,
4239}
4240impl SectionBindingConstructor {
4241 pub fn build(self) -> SectionBindingNode {
4242 let mut builder = CstBuilder::new();
4243 let begin = builder.embed(self.begin.builder);
4244 let eure = builder.embed(self.eure.builder);
4245 let end = builder.embed(self.end.builder);
4246 let node_id = builder.non_terminal(NonTerminalKind::SectionBinding, vec![begin, eure, end]);
4247 SectionBindingNode { node_id, builder }
4248 }
4249}
4250pub enum SectionBodyConstructor {
4251 SectionBodyOpt(SectionBodyOptNode),
4252 Begin(BeginNode),
4253}
4254impl SectionBodyConstructor {
4255 pub fn build(self) -> SectionBodyNode {
4256 let mut builder = CstBuilder::new();
4257 let child_id = match self {
4258 Self::SectionBodyOpt(node) => builder.embed(node.builder),
4259 Self::Begin(node) => builder.embed(node.builder),
4260 };
4261 let node_id = builder.non_terminal(NonTerminalKind::SectionBody, vec![child_id]);
4262 SectionBodyNode { node_id, builder }
4263 }
4264}
4265#[derive(bon::Builder)]
4266pub struct SectionBodyListConstructor {
4267 binding: BindingNode,
4268 section_body_list: SectionBodyListNode,
4269}
4270impl SectionBodyListConstructor {
4271 pub fn empty() -> SectionBodyListNode {
4273 let mut builder = CstBuilder::new();
4274 let node_id = builder.non_terminal(
4275 NonTerminalKind::SectionBodyList,
4276 Vec::<BuilderNodeId>::new(),
4277 );
4278 SectionBodyListNode { node_id, builder }
4279 }
4280 pub fn build(self) -> SectionBodyListNode {
4282 let mut builder = CstBuilder::new();
4283 let binding = builder.embed(self.binding.builder);
4284 let section_body_list = builder.embed(self.section_body_list.builder);
4285 let node_id = builder.non_terminal(
4286 NonTerminalKind::SectionBodyList,
4287 vec![binding, section_body_list],
4288 );
4289 SectionBodyListNode { node_id, builder }
4290 }
4291}
4292#[derive(bon::Builder)]
4293pub struct SectionBodyOptConstructor {
4294 value_binding: Option<ValueBindingNode>,
4295}
4296impl SectionBodyOptConstructor {
4297 pub fn build(self) -> SectionBodyOptNode {
4298 let mut builder = CstBuilder::new();
4299 let children = if let Some(child) = self.value_binding {
4300 vec![builder.embed(child.builder)]
4301 } else {
4302 Vec::<BuilderNodeId>::new()
4303 };
4304 let node_id = builder.non_terminal(NonTerminalKind::SectionBodyOpt, children);
4305 SectionBodyOptNode { node_id, builder }
4306 }
4307}
4308#[derive(bon::Builder)]
4309pub struct StrConstructor {
4310 str: StrToken,
4311}
4312impl StrConstructor {
4313 pub fn build(self) -> StrNode {
4314 let mut builder = CstBuilder::new();
4315 let str = builder.embed(self.str.builder);
4316 let node_id = builder.non_terminal(NonTerminalKind::Str, vec![str]);
4317 StrNode { node_id, builder }
4318 }
4319}
4320#[derive(bon::Builder)]
4321pub struct StringsConstructor {
4322 str: StrNode,
4323 strings_list: StringsListNode,
4324}
4325impl StringsConstructor {
4326 pub fn build(self) -> StringsNode {
4327 let mut builder = CstBuilder::new();
4328 let str = builder.embed(self.str.builder);
4329 let strings_list = builder.embed(self.strings_list.builder);
4330 let node_id = builder.non_terminal(NonTerminalKind::Strings, vec![str, strings_list]);
4331 StringsNode { node_id, builder }
4332 }
4333}
4334#[derive(bon::Builder)]
4335pub struct StringsListConstructor {
4336 r#continue: ContinueNode,
4337 str: StrNode,
4338 strings_list: StringsListNode,
4339}
4340impl StringsListConstructor {
4341 pub fn empty() -> StringsListNode {
4343 let mut builder = CstBuilder::new();
4344 let node_id =
4345 builder.non_terminal(NonTerminalKind::StringsList, Vec::<BuilderNodeId>::new());
4346 StringsListNode { node_id, builder }
4347 }
4348 pub fn build(self) -> StringsListNode {
4350 let mut builder = CstBuilder::new();
4351 let r#continue = builder.embed(self.r#continue.builder);
4352 let str = builder.embed(self.str.builder);
4353 let strings_list = builder.embed(self.strings_list.builder);
4354 let node_id = builder.non_terminal(
4355 NonTerminalKind::StringsList,
4356 vec![r#continue, str, strings_list],
4357 );
4358 StringsListNode { node_id, builder }
4359 }
4360}
4361#[derive(bon::Builder)]
4362pub struct TextConstructor {
4363 text: TextToken,
4364}
4365impl TextConstructor {
4366 pub fn build(self) -> TextNode {
4367 let mut builder = CstBuilder::new();
4368 let text = builder.embed(self.text.builder);
4369 let node_id = builder.non_terminal(NonTerminalKind::Text, vec![text]);
4370 TextNode { node_id, builder }
4371 }
4372}
4373#[derive(bon::Builder)]
4374pub struct TextBindingConstructor {
4375 text_start: TextStartNode,
4376 text_binding_opt: TextBindingOptNode,
4377 text: TextNode,
4378 text_binding_opt_0: TextBindingOpt0Node,
4379}
4380impl TextBindingConstructor {
4381 pub fn build(self) -> TextBindingNode {
4382 let mut builder = CstBuilder::new();
4383 let text_start = builder.embed(self.text_start.builder);
4384 let text_binding_opt = builder.embed(self.text_binding_opt.builder);
4385 let text = builder.embed(self.text.builder);
4386 let text_binding_opt_0 = builder.embed(self.text_binding_opt_0.builder);
4387 let node_id = builder.non_terminal(
4388 NonTerminalKind::TextBinding,
4389 vec![text_start, text_binding_opt, text, text_binding_opt_0],
4390 );
4391 TextBindingNode { node_id, builder }
4392 }
4393}
4394#[derive(bon::Builder)]
4395pub struct TextBindingOptConstructor {
4396 ws: Option<WsNode>,
4397}
4398impl TextBindingOptConstructor {
4399 pub fn build(self) -> TextBindingOptNode {
4400 let mut builder = CstBuilder::new();
4401 let children = if let Some(child) = self.ws {
4402 vec![builder.embed(child.builder)]
4403 } else {
4404 Vec::<BuilderNodeId>::new()
4405 };
4406 let node_id = builder.non_terminal(NonTerminalKind::TextBindingOpt, children);
4407 TextBindingOptNode { node_id, builder }
4408 }
4409}
4410#[derive(bon::Builder)]
4411pub struct TextBindingOpt0Constructor {
4412 grammar_newline: Option<GrammarNewlineNode>,
4413}
4414impl TextBindingOpt0Constructor {
4415 pub fn build(self) -> TextBindingOpt0Node {
4416 let mut builder = CstBuilder::new();
4417 let children = if let Some(child) = self.grammar_newline {
4418 vec![builder.embed(child.builder)]
4419 } else {
4420 Vec::<BuilderNodeId>::new()
4421 };
4422 let node_id = builder.non_terminal(NonTerminalKind::TextBindingOpt0, children);
4423 TextBindingOpt0Node { node_id, builder }
4424 }
4425}
4426#[derive(bon::Builder)]
4427pub struct TextStartConstructor {
4428 text_start: TextStartToken,
4429}
4430impl TextStartConstructor {
4431 pub fn build(self) -> TextStartNode {
4432 let mut builder = CstBuilder::new();
4433 let text_start = builder.embed(self.text_start.builder);
4434 let node_id = builder.non_terminal(NonTerminalKind::TextStart, vec![text_start]);
4435 TextStartNode { node_id, builder }
4436 }
4437}
4438#[derive(bon::Builder)]
4439pub struct TrueConstructor {
4440 r#true: TrueToken,
4441}
4442impl TrueConstructor {
4443 pub fn build(self) -> TrueNode {
4444 let mut builder = CstBuilder::new();
4445 let r#true = builder.embed(self.r#true.builder);
4446 let node_id = builder.non_terminal(NonTerminalKind::True, vec![r#true]);
4447 TrueNode { node_id, builder }
4448 }
4449}
4450#[derive(bon::Builder)]
4451pub struct TupleConstructor {
4452 l_paren: LParenNode,
4453 tuple_opt: TupleOptNode,
4454 r_paren: RParenNode,
4455}
4456impl TupleConstructor {
4457 pub fn build(self) -> TupleNode {
4458 let mut builder = CstBuilder::new();
4459 let l_paren = builder.embed(self.l_paren.builder);
4460 let tuple_opt = builder.embed(self.tuple_opt.builder);
4461 let r_paren = builder.embed(self.r_paren.builder);
4462 let node_id =
4463 builder.non_terminal(NonTerminalKind::Tuple, vec![l_paren, tuple_opt, r_paren]);
4464 TupleNode { node_id, builder }
4465 }
4466}
4467#[derive(bon::Builder)]
4468pub struct TupleElementsConstructor {
4469 value: ValueNode,
4470 tuple_elements_opt: TupleElementsOptNode,
4471}
4472impl TupleElementsConstructor {
4473 pub fn build(self) -> TupleElementsNode {
4474 let mut builder = CstBuilder::new();
4475 let value = builder.embed(self.value.builder);
4476 let tuple_elements_opt = builder.embed(self.tuple_elements_opt.builder);
4477 let node_id = builder.non_terminal(
4478 NonTerminalKind::TupleElements,
4479 vec![value, tuple_elements_opt],
4480 );
4481 TupleElementsNode { node_id, builder }
4482 }
4483}
4484#[derive(bon::Builder)]
4485pub struct TupleElementsOptConstructor {
4486 tuple_elements_tail: Option<TupleElementsTailNode>,
4487}
4488impl TupleElementsOptConstructor {
4489 pub fn build(self) -> TupleElementsOptNode {
4490 let mut builder = CstBuilder::new();
4491 let children = if let Some(child) = self.tuple_elements_tail {
4492 vec![builder.embed(child.builder)]
4493 } else {
4494 Vec::<BuilderNodeId>::new()
4495 };
4496 let node_id = builder.non_terminal(NonTerminalKind::TupleElementsOpt, children);
4497 TupleElementsOptNode { node_id, builder }
4498 }
4499}
4500#[derive(bon::Builder)]
4501pub struct TupleElementsTailConstructor {
4502 comma: CommaNode,
4503 tuple_elements_tail_opt: TupleElementsTailOptNode,
4504}
4505impl TupleElementsTailConstructor {
4506 pub fn build(self) -> TupleElementsTailNode {
4507 let mut builder = CstBuilder::new();
4508 let comma = builder.embed(self.comma.builder);
4509 let tuple_elements_tail_opt = builder.embed(self.tuple_elements_tail_opt.builder);
4510 let node_id = builder.non_terminal(
4511 NonTerminalKind::TupleElementsTail,
4512 vec![comma, tuple_elements_tail_opt],
4513 );
4514 TupleElementsTailNode { node_id, builder }
4515 }
4516}
4517#[derive(bon::Builder)]
4518pub struct TupleElementsTailOptConstructor {
4519 tuple_elements: Option<TupleElementsNode>,
4520}
4521impl TupleElementsTailOptConstructor {
4522 pub fn build(self) -> TupleElementsTailOptNode {
4523 let mut builder = CstBuilder::new();
4524 let children = if let Some(child) = self.tuple_elements {
4525 vec![builder.embed(child.builder)]
4526 } else {
4527 Vec::<BuilderNodeId>::new()
4528 };
4529 let node_id = builder.non_terminal(NonTerminalKind::TupleElementsTailOpt, children);
4530 TupleElementsTailOptNode { node_id, builder }
4531 }
4532}
4533#[derive(bon::Builder)]
4534pub struct TupleIndexConstructor {
4535 hash: HashToken,
4536 integer: IntegerNode,
4537}
4538impl TupleIndexConstructor {
4539 pub fn build(self) -> TupleIndexNode {
4540 let mut builder = CstBuilder::new();
4541 let hash = builder.embed(self.hash.builder);
4542 let integer = builder.embed(self.integer.builder);
4543 let node_id = builder.non_terminal(NonTerminalKind::TupleIndex, vec![hash, integer]);
4544 TupleIndexNode { node_id, builder }
4545 }
4546}
4547#[derive(bon::Builder)]
4548pub struct TupleOptConstructor {
4549 tuple_elements: Option<TupleElementsNode>,
4550}
4551impl TupleOptConstructor {
4552 pub fn build(self) -> TupleOptNode {
4553 let mut builder = CstBuilder::new();
4554 let children = if let Some(child) = self.tuple_elements {
4555 vec![builder.embed(child.builder)]
4556 } else {
4557 Vec::<BuilderNodeId>::new()
4558 };
4559 let node_id = builder.non_terminal(NonTerminalKind::TupleOpt, children);
4560 TupleOptNode { node_id, builder }
4561 }
4562}
4563pub enum ValueConstructor {
4564 Object(ObjectNode),
4565 Array(ArrayNode),
4566 Tuple(TupleNode),
4567 Number(NumberNode),
4568 Boolean(BooleanNode),
4569 Null(NullNode),
4570 Strings(StringsNode),
4571 Hole(HoleNode),
4572 CodeBlock(CodeBlockNode),
4573 InlineCode(InlineCodeNode),
4574}
4575impl ValueConstructor {
4576 pub fn build(self) -> ValueNode {
4577 let mut builder = CstBuilder::new();
4578 let child_id = match self {
4579 Self::Object(node) => builder.embed(node.builder),
4580 Self::Array(node) => builder.embed(node.builder),
4581 Self::Tuple(node) => builder.embed(node.builder),
4582 Self::Number(node) => builder.embed(node.builder),
4583 Self::Boolean(node) => builder.embed(node.builder),
4584 Self::Null(node) => builder.embed(node.builder),
4585 Self::Strings(node) => builder.embed(node.builder),
4586 Self::Hole(node) => builder.embed(node.builder),
4587 Self::CodeBlock(node) => builder.embed(node.builder),
4588 Self::InlineCode(node) => builder.embed(node.builder),
4589 };
4590 let node_id = builder.non_terminal(NonTerminalKind::Value, vec![child_id]);
4591 ValueNode { node_id, builder }
4592 }
4593}
4594#[derive(bon::Builder)]
4595pub struct ValueBindingConstructor {
4596 bind: BindNode,
4597 value: ValueNode,
4598}
4599impl ValueBindingConstructor {
4600 pub fn build(self) -> ValueBindingNode {
4601 let mut builder = CstBuilder::new();
4602 let bind = builder.embed(self.bind.builder);
4603 let value = builder.embed(self.value.builder);
4604 let node_id = builder.non_terminal(NonTerminalKind::ValueBinding, vec![bind, value]);
4605 ValueBindingNode { node_id, builder }
4606 }
4607}
4608#[derive(bon::Builder)]
4609pub struct WsConstructor {
4610 ws: WsToken,
4611}
4612impl WsConstructor {
4613 pub fn build(self) -> WsNode {
4614 let mut builder = CstBuilder::new();
4615 let ws = builder.embed(self.ws.builder);
4616 let node_id = builder.non_terminal(NonTerminalKind::Ws, vec![ws]);
4617 WsNode { node_id, builder }
4618 }
4619}
4620#[derive(bon::Builder)]
4621pub struct RootConstructor {
4622 eure: EureNode,
4623}
4624impl RootConstructor {
4625 pub fn build(self) -> RootNode {
4626 let mut builder = CstBuilder::new();
4627 let eure = builder.embed(self.eure.builder);
4628 let node_id = builder.non_terminal(NonTerminalKind::Root, vec![eure]);
4629 RootNode { node_id, builder }
4630 }
4631}
4632pub mod terminals {
4633 use super::*;
4634 pub fn hash() -> HashToken {
4635 let mut builder = CstBuilder::new();
4636 let node_id = builder.terminal(TerminalKind::Hash, "");
4637 HashToken { node_id, builder }
4638 }
4639 pub fn map_bind() -> MapBindToken {
4640 let mut builder = CstBuilder::new();
4641 let node_id = builder.terminal(TerminalKind::MapBind, "");
4642 MapBindToken { node_id, builder }
4643 }
4644 pub fn integer(value: &str) -> IntegerToken {
4645 let mut builder = CstBuilder::new();
4646 let node_id = builder.terminal(TerminalKind::Integer, value);
4647 IntegerToken { node_id, builder }
4648 }
4649 pub fn float() -> FloatToken {
4650 let mut builder = CstBuilder::new();
4651 let node_id = builder.terminal(TerminalKind::Float, "");
4652 FloatToken { node_id, builder }
4653 }
4654 pub fn inf() -> InfToken {
4655 let mut builder = CstBuilder::new();
4656 let node_id = builder.terminal(TerminalKind::Inf, "");
4657 InfToken { node_id, builder }
4658 }
4659 pub fn na_n() -> NaNToken {
4660 let mut builder = CstBuilder::new();
4661 let node_id = builder.terminal(TerminalKind::NaN, "");
4662 NaNToken { node_id, builder }
4663 }
4664 pub fn r#true() -> TrueToken {
4665 let mut builder = CstBuilder::new();
4666 let node_id = builder.terminal(TerminalKind::True, "true");
4667 TrueToken { node_id, builder }
4668 }
4669 pub fn r#false() -> FalseToken {
4670 let mut builder = CstBuilder::new();
4671 let node_id = builder.terminal(TerminalKind::False, "false");
4672 FalseToken { node_id, builder }
4673 }
4674 pub fn null() -> NullToken {
4675 let mut builder = CstBuilder::new();
4676 let node_id = builder.terminal(TerminalKind::Null, "null");
4677 NullToken { node_id, builder }
4678 }
4679 pub fn hole() -> HoleToken {
4680 let mut builder = CstBuilder::new();
4681 let node_id = builder.terminal(TerminalKind::Hole, "!");
4682 HoleToken { node_id, builder }
4683 }
4684 pub fn str(value: &str) -> StrToken {
4685 let mut builder = CstBuilder::new();
4686 let node_id = builder.terminal(TerminalKind::Str, value);
4687 StrToken { node_id, builder }
4688 }
4689 pub fn text(value: &str) -> TextToken {
4690 let mut builder = CstBuilder::new();
4691 let node_id = builder.terminal(TerminalKind::Text, value);
4692 TextToken { node_id, builder }
4693 }
4694 pub fn inline_code_1() -> InlineCode1Token {
4695 let mut builder = CstBuilder::new();
4696 let node_id = builder.terminal(TerminalKind::InlineCode1, "");
4697 InlineCode1Token { node_id, builder }
4698 }
4699 pub fn inline_code_start_2() -> InlineCodeStart2Token {
4700 let mut builder = CstBuilder::new();
4701 let node_id = builder.terminal(TerminalKind::InlineCodeStart2, "");
4702 InlineCodeStart2Token { node_id, builder }
4703 }
4704 pub fn code_block_start_3() -> CodeBlockStart3Token {
4705 let mut builder = CstBuilder::new();
4706 let node_id = builder.terminal(TerminalKind::CodeBlockStart3, "");
4707 CodeBlockStart3Token { node_id, builder }
4708 }
4709 pub fn code_block_start_4() -> CodeBlockStart4Token {
4710 let mut builder = CstBuilder::new();
4711 let node_id = builder.terminal(TerminalKind::CodeBlockStart4, "");
4712 CodeBlockStart4Token { node_id, builder }
4713 }
4714 pub fn code_block_start_5() -> CodeBlockStart5Token {
4715 let mut builder = CstBuilder::new();
4716 let node_id = builder.terminal(TerminalKind::CodeBlockStart5, "");
4717 CodeBlockStart5Token { node_id, builder }
4718 }
4719 pub fn code_block_start_6() -> CodeBlockStart6Token {
4720 let mut builder = CstBuilder::new();
4721 let node_id = builder.terminal(TerminalKind::CodeBlockStart6, "");
4722 CodeBlockStart6Token { node_id, builder }
4723 }
4724 pub fn code_block_end_3() -> CodeBlockEnd3Token {
4725 let mut builder = CstBuilder::new();
4726 let node_id = builder.terminal(TerminalKind::CodeBlockEnd3, "");
4727 CodeBlockEnd3Token { node_id, builder }
4728 }
4729 pub fn backtick_2() -> Backtick2Token {
4730 let mut builder = CstBuilder::new();
4731 let node_id = builder.terminal(TerminalKind::Backtick2, "");
4732 Backtick2Token { node_id, builder }
4733 }
4734 pub fn code_block_end_4() -> CodeBlockEnd4Token {
4735 let mut builder = CstBuilder::new();
4736 let node_id = builder.terminal(TerminalKind::CodeBlockEnd4, "");
4737 CodeBlockEnd4Token { node_id, builder }
4738 }
4739 pub fn backtick_3() -> Backtick3Token {
4740 let mut builder = CstBuilder::new();
4741 let node_id = builder.terminal(TerminalKind::Backtick3, "");
4742 Backtick3Token { node_id, builder }
4743 }
4744 pub fn code_block_end_5() -> CodeBlockEnd5Token {
4745 let mut builder = CstBuilder::new();
4746 let node_id = builder.terminal(TerminalKind::CodeBlockEnd5, "");
4747 CodeBlockEnd5Token { node_id, builder }
4748 }
4749 pub fn backtick_4() -> Backtick4Token {
4750 let mut builder = CstBuilder::new();
4751 let node_id = builder.terminal(TerminalKind::Backtick4, "");
4752 Backtick4Token { node_id, builder }
4753 }
4754 pub fn code_block_end_6() -> CodeBlockEnd6Token {
4755 let mut builder = CstBuilder::new();
4756 let node_id = builder.terminal(TerminalKind::CodeBlockEnd6, "");
4757 CodeBlockEnd6Token { node_id, builder }
4758 }
4759 pub fn backtick_5() -> Backtick5Token {
4760 let mut builder = CstBuilder::new();
4761 let node_id = builder.terminal(TerminalKind::Backtick5, "");
4762 Backtick5Token { node_id, builder }
4763 }
4764 pub fn inline_code_end_2() -> InlineCodeEnd2Token {
4765 let mut builder = CstBuilder::new();
4766 let node_id = builder.terminal(TerminalKind::InlineCodeEnd2, "");
4767 InlineCodeEnd2Token { node_id, builder }
4768 }
4769 pub fn backtick_1() -> Backtick1Token {
4770 let mut builder = CstBuilder::new();
4771 let node_id = builder.terminal(TerminalKind::Backtick1, "");
4772 Backtick1Token { node_id, builder }
4773 }
4774 pub fn no_backtick() -> NoBacktickToken {
4775 let mut builder = CstBuilder::new();
4776 let node_id = builder.terminal(TerminalKind::NoBacktick, "");
4777 NoBacktickToken { node_id, builder }
4778 }
4779 pub fn no_backtick_inline() -> NoBacktickInlineToken {
4780 let mut builder = CstBuilder::new();
4781 let node_id = builder.terminal(TerminalKind::NoBacktickInline, "");
4782 NoBacktickInlineToken { node_id, builder }
4783 }
4784 pub fn grammar_newline() -> GrammarNewlineToken {
4785 let mut builder = CstBuilder::new();
4786 let node_id = builder.terminal(TerminalKind::GrammarNewline, "\n");
4787 GrammarNewlineToken { node_id, builder }
4788 }
4789 pub fn ws() -> WsToken {
4790 let mut builder = CstBuilder::new();
4791 let node_id = builder.terminal(TerminalKind::Ws, " ");
4792 WsToken { node_id, builder }
4793 }
4794 pub fn at() -> AtToken {
4795 let mut builder = CstBuilder::new();
4796 let node_id = builder.terminal(TerminalKind::At, "@");
4797 AtToken { node_id, builder }
4798 }
4799 pub fn dollar() -> DollarToken {
4800 let mut builder = CstBuilder::new();
4801 let node_id = builder.terminal(TerminalKind::Dollar, "$");
4802 DollarToken { node_id, builder }
4803 }
4804 pub fn dot() -> DotToken {
4805 let mut builder = CstBuilder::new();
4806 let node_id = builder.terminal(TerminalKind::Dot, ".");
4807 DotToken { node_id, builder }
4808 }
4809 pub fn l_brace() -> LBraceToken {
4810 let mut builder = CstBuilder::new();
4811 let node_id = builder.terminal(TerminalKind::LBrace, "{");
4812 LBraceToken { node_id, builder }
4813 }
4814 pub fn r_brace() -> RBraceToken {
4815 let mut builder = CstBuilder::new();
4816 let node_id = builder.terminal(TerminalKind::RBrace, "}");
4817 RBraceToken { node_id, builder }
4818 }
4819 pub fn l_bracket() -> LBracketToken {
4820 let mut builder = CstBuilder::new();
4821 let node_id = builder.terminal(TerminalKind::LBracket, "[");
4822 LBracketToken { node_id, builder }
4823 }
4824 pub fn r_bracket() -> RBracketToken {
4825 let mut builder = CstBuilder::new();
4826 let node_id = builder.terminal(TerminalKind::RBracket, "]");
4827 RBracketToken { node_id, builder }
4828 }
4829 pub fn l_paren() -> LParenToken {
4830 let mut builder = CstBuilder::new();
4831 let node_id = builder.terminal(TerminalKind::LParen, "");
4832 LParenToken { node_id, builder }
4833 }
4834 pub fn r_paren() -> RParenToken {
4835 let mut builder = CstBuilder::new();
4836 let node_id = builder.terminal(TerminalKind::RParen, "");
4837 RParenToken { node_id, builder }
4838 }
4839 pub fn bind() -> BindToken {
4840 let mut builder = CstBuilder::new();
4841 let node_id = builder.terminal(TerminalKind::Bind, "=");
4842 BindToken { node_id, builder }
4843 }
4844 pub fn comma() -> CommaToken {
4845 let mut builder = CstBuilder::new();
4846 let node_id = builder.terminal(TerminalKind::Comma, ",");
4847 CommaToken { node_id, builder }
4848 }
4849 pub fn esc() -> EscToken {
4850 let mut builder = CstBuilder::new();
4851 let node_id = builder.terminal(TerminalKind::Esc, "\\\\");
4852 EscToken { node_id, builder }
4853 }
4854 pub fn text_start() -> TextStartToken {
4855 let mut builder = CstBuilder::new();
4856 let node_id = builder.terminal(TerminalKind::TextStart, "");
4857 TextStartToken { node_id, builder }
4858 }
4859 pub fn ident(name: &str) -> IdentToken {
4860 let mut builder = CstBuilder::new();
4861 let node_id = builder.terminal(TerminalKind::Ident, name);
4862 IdentToken { node_id, builder }
4863 }
4864}