aboutsummaryrefslogtreecommitdiff
path: root/vendor/tree-sitter-zig/src/grammar.json
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 11:42:13 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 11:42:13 +0100
commita218a52d3627974aa106463670f2ce4bed7555fd (patch)
treeba3d3692d42ded90250990aaaa14e6b72f910680 /vendor/tree-sitter-zig/src/grammar.json
parent19dadd080226d2e7c6dc44a53eb0ee3ee2afcbae (diff)
downloadcrep-a218a52d3627974aa106463670f2ce4bed7555fd.tar.gz
Add Zig grammar
Diffstat (limited to 'vendor/tree-sitter-zig/src/grammar.json')
-rw-r--r--vendor/tree-sitter-zig/src/grammar.json6570
1 files changed, 6570 insertions, 0 deletions
diff --git a/vendor/tree-sitter-zig/src/grammar.json b/vendor/tree-sitter-zig/src/grammar.json
new file mode 100644
index 0000000..6cabde9
--- /dev/null
+++ b/vendor/tree-sitter-zig/src/grammar.json
@@ -0,0 +1,6570 @@
1{
2 "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
3 "name": "zig",
4 "word": "_identifier",
5 "rules": {
6 "source_file": {
7 "type": "CHOICE",
8 "members": [
9 {
10 "type": "SYMBOL",
11 "name": "_container_members"
12 },
13 {
14 "type": "BLANK"
15 }
16 ]
17 },
18 "_container_members": {
19 "type": "CHOICE",
20 "members": [
21 {
22 "type": "SEQ",
23 "members": [
24 {
25 "type": "REPEAT1",
26 "content": {
27 "type": "CHOICE",
28 "members": [
29 {
30 "type": "SYMBOL",
31 "name": "test_declaration"
32 },
33 {
34 "type": "SYMBOL",
35 "name": "comptime_declaration"
36 },
37 {
38 "type": "SYMBOL",
39 "name": "variable_declaration"
40 },
41 {
42 "type": "SYMBOL",
43 "name": "function_declaration"
44 },
45 {
46 "type": "SYMBOL",
47 "name": "using_namespace_declaration"
48 },
49 {
50 "type": "SEQ",
51 "members": [
52 {
53 "type": "SYMBOL",
54 "name": "container_field"
55 },
56 {
57 "type": "STRING",
58 "value": ","
59 }
60 ]
61 }
62 ]
63 }
64 },
65 {
66 "type": "CHOICE",
67 "members": [
68 {
69 "type": "SYMBOL",
70 "name": "container_field"
71 },
72 {
73 "type": "BLANK"
74 }
75 ]
76 }
77 ]
78 },
79 {
80 "type": "SYMBOL",
81 "name": "container_field"
82 }
83 ]
84 },
85 "test_declaration": {
86 "type": "SEQ",
87 "members": [
88 {
89 "type": "CHOICE",
90 "members": [
91 {
92 "type": "STRING",
93 "value": "pub"
94 },
95 {
96 "type": "BLANK"
97 }
98 ]
99 },
100 {
101 "type": "STRING",
102 "value": "test"
103 },
104 {
105 "type": "CHOICE",
106 "members": [
107 {
108 "type": "CHOICE",
109 "members": [
110 {
111 "type": "SYMBOL",
112 "name": "string"
113 },
114 {
115 "type": "SYMBOL",
116 "name": "identifier"
117 }
118 ]
119 },
120 {
121 "type": "BLANK"
122 }
123 ]
124 },
125 {
126 "type": "SYMBOL",
127 "name": "block"
128 }
129 ]
130 },
131 "comptime_declaration": {
132 "type": "PREC",
133 "value": 1,
134 "content": {
135 "type": "SEQ",
136 "members": [
137 {
138 "type": "CHOICE",
139 "members": [
140 {
141 "type": "STRING",
142 "value": "pub"
143 },
144 {
145 "type": "BLANK"
146 }
147 ]
148 },
149 {
150 "type": "STRING",
151 "value": "comptime"
152 },
153 {
154 "type": "SYMBOL",
155 "name": "block"
156 }
157 ]
158 }
159 },
160 "container_field": {
161 "type": "PREC_RIGHT",
162 "value": 0,
163 "content": {
164 "type": "PREC_DYNAMIC",
165 "value": 1,
166 "content": {
167 "type": "SEQ",
168 "members": [
169 {
170 "type": "CHOICE",
171 "members": [
172 {
173 "type": "STRING",
174 "value": "comptime"
175 },
176 {
177 "type": "BLANK"
178 }
179 ]
180 },
181 {
182 "type": "CHOICE",
183 "members": [
184 {
185 "type": "SEQ",
186 "members": [
187 {
188 "type": "FIELD",
189 "name": "name",
190 "content": {
191 "type": "CHOICE",
192 "members": [
193 {
194 "type": "SYMBOL",
195 "name": "identifier"
196 },
197 {
198 "type": "SYMBOL",
199 "name": "_reserved_identifier"
200 },
201 {
202 "type": "ALIAS",
203 "content": {
204 "type": "SYMBOL",
205 "name": "builtin_type"
206 },
207 "named": true,
208 "value": "identifier"
209 }
210 ]
211 }
212 },
213 {
214 "type": "STRING",
215 "value": ":"
216 },
217 {
218 "type": "FIELD",
219 "name": "type",
220 "content": {
221 "type": "CHOICE",
222 "members": [
223 {
224 "type": "SYMBOL",
225 "name": "primary_type_expression"
226 },
227 {
228 "type": "SYMBOL",
229 "name": "if_type_expression"
230 },
231 {
232 "type": "SYMBOL",
233 "name": "comptime_type_expression"
234 }
235 ]
236 }
237 }
238 ]
239 },
240 {
241 "type": "FIELD",
242 "name": "name",
243 "content": {
244 "type": "CHOICE",
245 "members": [
246 {
247 "type": "SYMBOL",
248 "name": "primary_type_expression"
249 },
250 {
251 "type": "SYMBOL",
252 "name": "if_type_expression"
253 },
254 {
255 "type": "SYMBOL",
256 "name": "comptime_type_expression"
257 }
258 ]
259 }
260 }
261 ]
262 },
263 {
264 "type": "CHOICE",
265 "members": [
266 {
267 "type": "SYMBOL",
268 "name": "byte_alignment"
269 },
270 {
271 "type": "BLANK"
272 }
273 ]
274 },
275 {
276 "type": "CHOICE",
277 "members": [
278 {
279 "type": "SEQ",
280 "members": [
281 {
282 "type": "STRING",
283 "value": "="
284 },
285 {
286 "type": "SYMBOL",
287 "name": "expression"
288 }
289 ]
290 },
291 {
292 "type": "BLANK"
293 }
294 ]
295 }
296 ]
297 }
298 }
299 },
300 "variable_declaration": {
301 "type": "SEQ",
302 "members": [
303 {
304 "type": "CHOICE",
305 "members": [
306 {
307 "type": "STRING",
308 "value": "pub"
309 },
310 {
311 "type": "BLANK"
312 }
313 ]
314 },
315 {
316 "type": "CHOICE",
317 "members": [
318 {
319 "type": "CHOICE",
320 "members": [
321 {
322 "type": "STRING",
323 "value": "export"
324 },
325 {
326 "type": "SEQ",
327 "members": [
328 {
329 "type": "STRING",
330 "value": "extern"
331 },
332 {
333 "type": "CHOICE",
334 "members": [
335 {
336 "type": "SYMBOL",
337 "name": "string"
338 },
339 {
340 "type": "BLANK"
341 }
342 ]
343 }
344 ]
345 }
346 ]
347 },
348 {
349 "type": "BLANK"
350 }
351 ]
352 },
353 {
354 "type": "CHOICE",
355 "members": [
356 {
357 "type": "STRING",
358 "value": "threadlocal"
359 },
360 {
361 "type": "BLANK"
362 }
363 ]
364 },
365 {
366 "type": "SYMBOL",
367 "name": "_variable_declaration_header"
368 },
369 {
370 "type": "CHOICE",
371 "members": [
372 {
373 "type": "SEQ",
374 "members": [
375 {
376 "type": "STRING",
377 "value": "="
378 },
379 {
380 "type": "SYMBOL",
381 "name": "expression"
382 }
383 ]
384 },
385 {
386 "type": "BLANK"
387 }
388 ]
389 },
390 {
391 "type": "STRING",
392 "value": ";"
393 }
394 ]
395 },
396 "_variable_declaration_expression_statement": {
397 "type": "CHOICE",
398 "members": [
399 {
400 "type": "SEQ",
401 "members": [
402 {
403 "type": "SYMBOL",
404 "name": "_variable_declaration_header"
405 },
406 {
407 "type": "REPEAT",
408 "content": {
409 "type": "PREC",
410 "value": 1,
411 "content": {
412 "type": "SEQ",
413 "members": [
414 {
415 "type": "STRING",
416 "value": ","
417 },
418 {
419 "type": "CHOICE",
420 "members": [
421 {
422 "type": "SYMBOL",
423 "name": "_variable_declaration_header"
424 },
425 {
426 "type": "SYMBOL",
427 "name": "expression"
428 }
429 ]
430 }
431 ]
432 }
433 }
434 },
435 {
436 "type": "STRING",
437 "value": "="
438 },
439 {
440 "type": "SYMBOL",
441 "name": "expression"
442 },
443 {
444 "type": "STRING",
445 "value": ";"
446 }
447 ]
448 },
449 {
450 "type": "SEQ",
451 "members": [
452 {
453 "type": "SYMBOL",
454 "name": "expression"
455 },
456 {
457 "type": "CHOICE",
458 "members": [
459 {
460 "type": "SEQ",
461 "members": [
462 {
463 "type": "CHOICE",
464 "members": [
465 {
466 "type": "STRING",
467 "value": "="
468 },
469 {
470 "type": "STRING",
471 "value": "*="
472 },
473 {
474 "type": "STRING",
475 "value": "*%="
476 },
477 {
478 "type": "STRING",
479 "value": "*|="
480 },
481 {
482 "type": "STRING",
483 "value": "/="
484 },
485 {
486 "type": "STRING",
487 "value": "%="
488 },
489 {
490 "type": "STRING",
491 "value": "+="
492 },
493 {
494 "type": "STRING",
495 "value": "+%="
496 },
497 {
498 "type": "STRING",
499 "value": "+|="
500 },
501 {
502 "type": "STRING",
503 "value": "-="
504 },
505 {
506 "type": "STRING",
507 "value": "-%="
508 },
509 {
510 "type": "STRING",
511 "value": "-|="
512 },
513 {
514 "type": "STRING",
515 "value": "<<="
516 },
517 {
518 "type": "STRING",
519 "value": "<<|="
520 },
521 {
522 "type": "STRING",
523 "value": ">>="
524 },
525 {
526 "type": "STRING",
527 "value": "&="
528 },
529 {
530 "type": "STRING",
531 "value": "^="
532 },
533 {
534 "type": "STRING",
535 "value": "|="
536 }
537 ]
538 },
539 {
540 "type": "SYMBOL",
541 "name": "expression"
542 }
543 ]
544 },
545 {
546 "type": "SEQ",
547 "members": [
548 {
549 "type": "REPEAT1",
550 "content": {
551 "type": "PREC",
552 "value": 1,
553 "content": {
554 "type": "SEQ",
555 "members": [
556 {
557 "type": "STRING",
558 "value": ","
559 },
560 {
561 "type": "CHOICE",
562 "members": [
563 {
564 "type": "SYMBOL",
565 "name": "_variable_declaration_header"
566 },
567 {
568 "type": "SYMBOL",
569 "name": "expression"
570 }
571 ]
572 }
573 ]
574 }
575 }
576 },
577 {
578 "type": "STRING",
579 "value": "="
580 },
581 {
582 "type": "SYMBOL",
583 "name": "expression"
584 }
585 ]
586 }
587 ]
588 },
589 {
590 "type": "STRING",
591 "value": ";"
592 }
593 ]
594 }
595 ]
596 },
597 "_variable_declaration_header": {
598 "type": "PREC",
599 "value": 1,
600 "content": {
601 "type": "SEQ",
602 "members": [
603 {
604 "type": "CHOICE",
605 "members": [
606 {
607 "type": "STRING",
608 "value": "const"
609 },
610 {
611 "type": "STRING",
612 "value": "var"
613 }
614 ]
615 },
616 {
617 "type": "SYMBOL",
618 "name": "identifier"
619 },
620 {
621 "type": "CHOICE",
622 "members": [
623 {
624 "type": "SEQ",
625 "members": [
626 {
627 "type": "STRING",
628 "value": ":"
629 },
630 {
631 "type": "FIELD",
632 "name": "type",
633 "content": {
634 "type": "CHOICE",
635 "members": [
636 {
637 "type": "SYMBOL",
638 "name": "type_expression"
639 },
640 {
641 "type": "SYMBOL",
642 "name": "if_type_expression"
643 },
644 {
645 "type": "SYMBOL",
646 "name": "comptime_type_expression"
647 }
648 ]
649 }
650 }
651 ]
652 },
653 {
654 "type": "BLANK"
655 }
656 ]
657 },
658 {
659 "type": "CHOICE",
660 "members": [
661 {
662 "type": "SYMBOL",
663 "name": "byte_alignment"
664 },
665 {
666 "type": "BLANK"
667 }
668 ]
669 },
670 {
671 "type": "CHOICE",
672 "members": [
673 {
674 "type": "SYMBOL",
675 "name": "address_space"
676 },
677 {
678 "type": "BLANK"
679 }
680 ]
681 },
682 {
683 "type": "CHOICE",
684 "members": [
685 {
686 "type": "SYMBOL",
687 "name": "link_section"
688 },
689 {
690 "type": "BLANK"
691 }
692 ]
693 }
694 ]
695 }
696 },
697 "function_declaration": {
698 "type": "SEQ",
699 "members": [
700 {
701 "type": "CHOICE",
702 "members": [
703 {
704 "type": "STRING",
705 "value": "pub"
706 },
707 {
708 "type": "BLANK"
709 }
710 ]
711 },
712 {
713 "type": "CHOICE",
714 "members": [
715 {
716 "type": "CHOICE",
717 "members": [
718 {
719 "type": "STRING",
720 "value": "export"
721 },
722 {
723 "type": "SEQ",
724 "members": [
725 {
726 "type": "STRING",
727 "value": "extern"
728 },
729 {
730 "type": "CHOICE",
731 "members": [
732 {
733 "type": "SYMBOL",
734 "name": "string"
735 },
736 {
737 "type": "BLANK"
738 }
739 ]
740 }
741 ]
742 },
743 {
744 "type": "STRING",
745 "value": "inline"
746 },
747 {
748 "type": "STRING",
749 "value": "noinline"
750 }
751 ]
752 },
753 {
754 "type": "BLANK"
755 }
756 ]
757 },
758 {
759 "type": "SYMBOL",
760 "name": "_function_prototype"
761 },
762 {
763 "type": "CHOICE",
764 "members": [
765 {
766 "type": "STRING",
767 "value": ";"
768 },
769 {
770 "type": "FIELD",
771 "name": "body",
772 "content": {
773 "type": "SYMBOL",
774 "name": "block"
775 }
776 }
777 ]
778 }
779 ]
780 },
781 "_function_prototype": {
782 "type": "SEQ",
783 "members": [
784 {
785 "type": "STRING",
786 "value": "fn"
787 },
788 {
789 "type": "CHOICE",
790 "members": [
791 {
792 "type": "FIELD",
793 "name": "name",
794 "content": {
795 "type": "SYMBOL",
796 "name": "identifier"
797 }
798 },
799 {
800 "type": "BLANK"
801 }
802 ]
803 },
804 {
805 "type": "SYMBOL",
806 "name": "parameters"
807 },
808 {
809 "type": "CHOICE",
810 "members": [
811 {
812 "type": "SYMBOL",
813 "name": "byte_alignment"
814 },
815 {
816 "type": "BLANK"
817 }
818 ]
819 },
820 {
821 "type": "CHOICE",
822 "members": [
823 {
824 "type": "SYMBOL",
825 "name": "address_space"
826 },
827 {
828 "type": "BLANK"
829 }
830 ]
831 },
832 {
833 "type": "CHOICE",
834 "members": [
835 {
836 "type": "SYMBOL",
837 "name": "link_section"
838 },
839 {
840 "type": "BLANK"
841 }
842 ]
843 },
844 {
845 "type": "CHOICE",
846 "members": [
847 {
848 "type": "SYMBOL",
849 "name": "calling_convention"
850 },
851 {
852 "type": "BLANK"
853 }
854 ]
855 },
856 {
857 "type": "FIELD",
858 "name": "type",
859 "content": {
860 "type": "CHOICE",
861 "members": [
862 {
863 "type": "SYMBOL",
864 "name": "type_expression"
865 },
866 {
867 "type": "SYMBOL",
868 "name": "if_type_expression"
869 },
870 {
871 "type": "SYMBOL",
872 "name": "comptime_type_expression"
873 }
874 ]
875 }
876 }
877 ]
878 },
879 "parameters": {
880 "type": "SEQ",
881 "members": [
882 {
883 "type": "STRING",
884 "value": "("
885 },
886 {
887 "type": "CHOICE",
888 "members": [
889 {
890 "type": "SEQ",
891 "members": [
892 {
893 "type": "SEQ",
894 "members": [
895 {
896 "type": "SYMBOL",
897 "name": "parameter"
898 },
899 {
900 "type": "REPEAT",
901 "content": {
902 "type": "SEQ",
903 "members": [
904 {
905 "type": "STRING",
906 "value": ","
907 },
908 {
909 "type": "SYMBOL",
910 "name": "parameter"
911 }
912 ]
913 }
914 }
915 ]
916 },
917 {
918 "type": "CHOICE",
919 "members": [
920 {
921 "type": "STRING",
922 "value": ","
923 },
924 {
925 "type": "BLANK"
926 }
927 ]
928 }
929 ]
930 },
931 {
932 "type": "BLANK"
933 }
934 ]
935 },
936 {
937 "type": "STRING",
938 "value": ")"
939 }
940 ]
941 },
942 "parameter": {
943 "type": "CHOICE",
944 "members": [
945 {
946 "type": "SEQ",
947 "members": [
948 {
949 "type": "CHOICE",
950 "members": [
951 {
952 "type": "CHOICE",
953 "members": [
954 {
955 "type": "STRING",
956 "value": "noalias"
957 },
958 {
959 "type": "STRING",
960 "value": "comptime"
961 }
962 ]
963 },
964 {
965 "type": "BLANK"
966 }
967 ]
968 },
969 {
970 "type": "CHOICE",
971 "members": [
972 {
973 "type": "SEQ",
974 "members": [
975 {
976 "type": "FIELD",
977 "name": "name",
978 "content": {
979 "type": "CHOICE",
980 "members": [
981 {
982 "type": "SYMBOL",
983 "name": "identifier"
984 },
985 {
986 "type": "ALIAS",
987 "content": {
988 "type": "SYMBOL",
989 "name": "builtin_type"
990 },
991 "named": true,
992 "value": "identifier"
993 }
994 ]
995 }
996 },
997 {
998 "type": "STRING",
999 "value": ":"
1000 }
1001 ]
1002 },
1003 {
1004 "type": "BLANK"
1005 }
1006 ]
1007 },
1008 {
1009 "type": "FIELD",
1010 "name": "type",
1011 "content": {
1012 "type": "CHOICE",
1013 "members": [
1014 {
1015 "type": "SYMBOL",
1016 "name": "type_expression"
1017 },
1018 {
1019 "type": "SYMBOL",
1020 "name": "if_type_expression"
1021 },
1022 {
1023 "type": "SYMBOL",
1024 "name": "comptime_type_expression"
1025 }
1026 ]
1027 }
1028 }
1029 ]
1030 },
1031 {
1032 "type": "STRING",
1033 "value": "..."
1034 }
1035 ]
1036 },
1037 "using_namespace_declaration": {
1038 "type": "SEQ",
1039 "members": [
1040 {
1041 "type": "CHOICE",
1042 "members": [
1043 {
1044 "type": "STRING",
1045 "value": "pub"
1046 },
1047 {
1048 "type": "BLANK"
1049 }
1050 ]
1051 },
1052 {
1053 "type": "STRING",
1054 "value": "usingnamespace"
1055 },
1056 {
1057 "type": "SYMBOL",
1058 "name": "expression"
1059 },
1060 {
1061 "type": "STRING",
1062 "value": ";"
1063 }
1064 ]
1065 },
1066 "block": {
1067 "type": "SEQ",
1068 "members": [
1069 {
1070 "type": "STRING",
1071 "value": "{"
1072 },
1073 {
1074 "type": "REPEAT",
1075 "content": {
1076 "type": "SYMBOL",
1077 "name": "statement"
1078 }
1079 },
1080 {
1081 "type": "STRING",
1082 "value": "}"
1083 }
1084 ]
1085 },
1086 "struct_declaration": {
1087 "type": "SEQ",
1088 "members": [
1089 {
1090 "type": "CHOICE",
1091 "members": [
1092 {
1093 "type": "CHOICE",
1094 "members": [
1095 {
1096 "type": "STRING",
1097 "value": "extern"
1098 },
1099 {
1100 "type": "STRING",
1101 "value": "packed"
1102 }
1103 ]
1104 },
1105 {
1106 "type": "BLANK"
1107 }
1108 ]
1109 },
1110 {
1111 "type": "STRING",
1112 "value": "struct"
1113 },
1114 {
1115 "type": "CHOICE",
1116 "members": [
1117 {
1118 "type": "SEQ",
1119 "members": [
1120 {
1121 "type": "STRING",
1122 "value": "("
1123 },
1124 {
1125 "type": "SYMBOL",
1126 "name": "expression"
1127 },
1128 {
1129 "type": "STRING",
1130 "value": ")"
1131 }
1132 ]
1133 },
1134 {
1135 "type": "BLANK"
1136 }
1137 ]
1138 },
1139 {
1140 "type": "STRING",
1141 "value": "{"
1142 },
1143 {
1144 "type": "SYMBOL",
1145 "name": "_container_members"
1146 },
1147 {
1148 "type": "STRING",
1149 "value": "}"
1150 }
1151 ]
1152 },
1153 "opaque_declaration": {
1154 "type": "SEQ",
1155 "members": [
1156 {
1157 "type": "CHOICE",
1158 "members": [
1159 {
1160 "type": "CHOICE",
1161 "members": [
1162 {
1163 "type": "STRING",
1164 "value": "extern"
1165 },
1166 {
1167 "type": "STRING",
1168 "value": "packed"
1169 }
1170 ]
1171 },
1172 {
1173 "type": "BLANK"
1174 }
1175 ]
1176 },
1177 {
1178 "type": "STRING",
1179 "value": "opaque"
1180 },
1181 {
1182 "type": "STRING",
1183 "value": "{"
1184 },
1185 {
1186 "type": "SYMBOL",
1187 "name": "_container_members"
1188 },
1189 {
1190 "type": "STRING",
1191 "value": "}"
1192 }
1193 ]
1194 },
1195 "enum_declaration": {
1196 "type": "SEQ",
1197 "members": [
1198 {
1199 "type": "CHOICE",
1200 "members": [
1201 {
1202 "type": "CHOICE",
1203 "members": [
1204 {
1205 "type": "STRING",
1206 "value": "extern"
1207 },
1208 {
1209 "type": "STRING",
1210 "value": "packed"
1211 }
1212 ]
1213 },
1214 {
1215 "type": "BLANK"
1216 }
1217 ]
1218 },
1219 {
1220 "type": "STRING",
1221 "value": "enum"
1222 },
1223 {
1224 "type": "CHOICE",
1225 "members": [
1226 {
1227 "type": "SEQ",
1228 "members": [
1229 {
1230 "type": "STRING",
1231 "value": "("
1232 },
1233 {
1234 "type": "SYMBOL",
1235 "name": "expression"
1236 },
1237 {
1238 "type": "STRING",
1239 "value": ")"
1240 }
1241 ]
1242 },
1243 {
1244 "type": "BLANK"
1245 }
1246 ]
1247 },
1248 {
1249 "type": "STRING",
1250 "value": "{"
1251 },
1252 {
1253 "type": "SYMBOL",
1254 "name": "_container_members"
1255 },
1256 {
1257 "type": "STRING",
1258 "value": "}"
1259 }
1260 ]
1261 },
1262 "union_declaration": {
1263 "type": "SEQ",
1264 "members": [
1265 {
1266 "type": "CHOICE",
1267 "members": [
1268 {
1269 "type": "CHOICE",
1270 "members": [
1271 {
1272 "type": "STRING",
1273 "value": "extern"
1274 },
1275 {
1276 "type": "STRING",
1277 "value": "packed"
1278 }
1279 ]
1280 },
1281 {
1282 "type": "BLANK"
1283 }
1284 ]
1285 },
1286 {
1287 "type": "STRING",
1288 "value": "union"
1289 },
1290 {
1291 "type": "CHOICE",
1292 "members": [
1293 {
1294 "type": "SEQ",
1295 "members": [
1296 {
1297 "type": "STRING",
1298 "value": "("
1299 },
1300 {
1301 "type": "CHOICE",
1302 "members": [
1303 {
1304 "type": "SEQ",
1305 "members": [
1306 {
1307 "type": "STRING",
1308 "value": "enum"
1309 },
1310 {
1311 "type": "CHOICE",
1312 "members": [
1313 {
1314 "type": "SEQ",
1315 "members": [
1316 {
1317 "type": "STRING",
1318 "value": "("
1319 },
1320 {
1321 "type": "SYMBOL",
1322 "name": "expression"
1323 },
1324 {
1325 "type": "STRING",
1326 "value": ")"
1327 }
1328 ]
1329 },
1330 {
1331 "type": "BLANK"
1332 }
1333 ]
1334 }
1335 ]
1336 },
1337 {
1338 "type": "SYMBOL",
1339 "name": "expression"
1340 }
1341 ]
1342 },
1343 {
1344 "type": "STRING",
1345 "value": ")"
1346 }
1347 ]
1348 },
1349 {
1350 "type": "BLANK"
1351 }
1352 ]
1353 },
1354 {
1355 "type": "STRING",
1356 "value": "{"
1357 },
1358 {
1359 "type": "SYMBOL",
1360 "name": "_container_members"
1361 },
1362 {
1363 "type": "STRING",
1364 "value": "}"
1365 }
1366 ]
1367 },
1368 "error_set_declaration": {
1369 "type": "SEQ",
1370 "members": [
1371 {
1372 "type": "STRING",
1373 "value": "error"
1374 },
1375 {
1376 "type": "STRING",
1377 "value": "{"
1378 },
1379 {
1380 "type": "CHOICE",
1381 "members": [
1382 {
1383 "type": "SEQ",
1384 "members": [
1385 {
1386 "type": "SEQ",
1387 "members": [
1388 {
1389 "type": "SYMBOL",
1390 "name": "identifier"
1391 },
1392 {
1393 "type": "REPEAT",
1394 "content": {
1395 "type": "SEQ",
1396 "members": [
1397 {
1398 "type": "STRING",
1399 "value": ","
1400 },
1401 {
1402 "type": "SYMBOL",
1403 "name": "identifier"
1404 }
1405 ]
1406 }
1407 }
1408 ]
1409 },
1410 {
1411 "type": "CHOICE",
1412 "members": [
1413 {
1414 "type": "STRING",
1415 "value": ","
1416 },
1417 {
1418 "type": "BLANK"
1419 }
1420 ]
1421 }
1422 ]
1423 },
1424 {
1425 "type": "BLANK"
1426 }
1427 ]
1428 },
1429 {
1430 "type": "STRING",
1431 "value": "}"
1432 }
1433 ]
1434 },
1435 "statement": {
1436 "type": "CHOICE",
1437 "members": [
1438 {
1439 "type": "SYMBOL",
1440 "name": "comptime_statement"
1441 },
1442 {
1443 "type": "SYMBOL",
1444 "name": "nosuspend_statement"
1445 },
1446 {
1447 "type": "SYMBOL",
1448 "name": "suspend_statement"
1449 },
1450 {
1451 "type": "SYMBOL",
1452 "name": "defer_statement"
1453 },
1454 {
1455 "type": "SYMBOL",
1456 "name": "errdefer_statement"
1457 },
1458 {
1459 "type": "SYMBOL",
1460 "name": "expression_statement"
1461 },
1462 {
1463 "type": "ALIAS",
1464 "content": {
1465 "type": "SYMBOL",
1466 "name": "_variable_declaration_expression_statement"
1467 },
1468 "named": true,
1469 "value": "variable_declaration"
1470 },
1471 {
1472 "type": "SYMBOL",
1473 "name": "if_statement"
1474 },
1475 {
1476 "type": "SYMBOL",
1477 "name": "for_statement"
1478 },
1479 {
1480 "type": "SYMBOL",
1481 "name": "while_statement"
1482 },
1483 {
1484 "type": "SYMBOL",
1485 "name": "labeled_statement"
1486 },
1487 {
1488 "type": "PREC",
1489 "value": 1,
1490 "content": {
1491 "type": "SYMBOL",
1492 "name": "switch_expression"
1493 }
1494 }
1495 ]
1496 },
1497 "comptime_statement": {
1498 "type": "SEQ",
1499 "members": [
1500 {
1501 "type": "STRING",
1502 "value": "comptime"
1503 },
1504 {
1505 "type": "CHOICE",
1506 "members": [
1507 {
1508 "type": "SYMBOL",
1509 "name": "_block_expr_statement"
1510 },
1511 {
1512 "type": "ALIAS",
1513 "content": {
1514 "type": "SYMBOL",
1515 "name": "_variable_declaration_expression_statement"
1516 },
1517 "named": true,
1518 "value": "variable_declaration"
1519 }
1520 ]
1521 }
1522 ]
1523 },
1524 "nosuspend_statement": {
1525 "type": "SEQ",
1526 "members": [
1527 {
1528 "type": "STRING",
1529 "value": "nosuspend"
1530 },
1531 {
1532 "type": "SYMBOL",
1533 "name": "_block_expr_statement"
1534 }
1535 ]
1536 },
1537 "suspend_statement": {
1538 "type": "SEQ",
1539 "members": [
1540 {
1541 "type": "STRING",
1542 "value": "suspend"
1543 },
1544 {
1545 "type": "SYMBOL",
1546 "name": "_block_expr_statement"
1547 }
1548 ]
1549 },
1550 "defer_statement": {
1551 "type": "SEQ",
1552 "members": [
1553 {
1554 "type": "STRING",
1555 "value": "defer"
1556 },
1557 {
1558 "type": "SYMBOL",
1559 "name": "_block_expr_statement"
1560 }
1561 ]
1562 },
1563 "errdefer_statement": {
1564 "type": "SEQ",
1565 "members": [
1566 {
1567 "type": "STRING",
1568 "value": "errdefer"
1569 },
1570 {
1571 "type": "CHOICE",
1572 "members": [
1573 {
1574 "type": "SYMBOL",
1575 "name": "payload"
1576 },
1577 {
1578 "type": "BLANK"
1579 }
1580 ]
1581 },
1582 {
1583 "type": "SYMBOL",
1584 "name": "_block_expr_statement"
1585 }
1586 ]
1587 },
1588 "_block_expr_statement": {
1589 "type": "PREC",
1590 "value": 1,
1591 "content": {
1592 "type": "CHOICE",
1593 "members": [
1594 {
1595 "type": "SEQ",
1596 "members": [
1597 {
1598 "type": "CHOICE",
1599 "members": [
1600 {
1601 "type": "SYMBOL",
1602 "name": "block_label"
1603 },
1604 {
1605 "type": "BLANK"
1606 }
1607 ]
1608 },
1609 {
1610 "type": "SYMBOL",
1611 "name": "block"
1612 }
1613 ]
1614 },
1615 {
1616 "type": "SYMBOL",
1617 "name": "expression_statement"
1618 }
1619 ]
1620 }
1621 },
1622 "block_expression": {
1623 "type": "PREC",
1624 "value": 1,
1625 "content": {
1626 "type": "SEQ",
1627 "members": [
1628 {
1629 "type": "CHOICE",
1630 "members": [
1631 {
1632 "type": "SYMBOL",
1633 "name": "block_label"
1634 },
1635 {
1636 "type": "BLANK"
1637 }
1638 ]
1639 },
1640 {
1641 "type": "SYMBOL",
1642 "name": "block"
1643 }
1644 ]
1645 }
1646 },
1647 "labeled_statement": {
1648 "type": "PREC",
1649 "value": 1,
1650 "content": {
1651 "type": "SEQ",
1652 "members": [
1653 {
1654 "type": "CHOICE",
1655 "members": [
1656 {
1657 "type": "SYMBOL",
1658 "name": "block_label"
1659 },
1660 {
1661 "type": "BLANK"
1662 }
1663 ]
1664 },
1665 {
1666 "type": "CHOICE",
1667 "members": [
1668 {
1669 "type": "SYMBOL",
1670 "name": "block"
1671 },
1672 {
1673 "type": "SYMBOL",
1674 "name": "for_statement"
1675 },
1676 {
1677 "type": "SYMBOL",
1678 "name": "while_statement"
1679 }
1680 ]
1681 }
1682 ]
1683 }
1684 },
1685 "expression_statement": {
1686 "type": "SEQ",
1687 "members": [
1688 {
1689 "type": "SYMBOL",
1690 "name": "expression"
1691 },
1692 {
1693 "type": "STRING",
1694 "value": ";"
1695 }
1696 ]
1697 },
1698 "if_statement": {
1699 "type": "SEQ",
1700 "members": [
1701 {
1702 "type": "SYMBOL",
1703 "name": "_if_prefix"
1704 },
1705 {
1706 "type": "SYMBOL",
1707 "name": "_conditional_body"
1708 }
1709 ]
1710 },
1711 "_if_prefix": {
1712 "type": "SEQ",
1713 "members": [
1714 {
1715 "type": "STRING",
1716 "value": "if"
1717 },
1718 {
1719 "type": "STRING",
1720 "value": "("
1721 },
1722 {
1723 "type": "FIELD",
1724 "name": "condition",
1725 "content": {
1726 "type": "SYMBOL",
1727 "name": "expression"
1728 }
1729 },
1730 {
1731 "type": "STRING",
1732 "value": ")"
1733 },
1734 {
1735 "type": "CHOICE",
1736 "members": [
1737 {
1738 "type": "SYMBOL",
1739 "name": "payload"
1740 },
1741 {
1742 "type": "BLANK"
1743 }
1744 ]
1745 }
1746 ]
1747 },
1748 "else_clause": {
1749 "type": "SEQ",
1750 "members": [
1751 {
1752 "type": "STRING",
1753 "value": "else"
1754 },
1755 {
1756 "type": "CHOICE",
1757 "members": [
1758 {
1759 "type": "SYMBOL",
1760 "name": "payload"
1761 },
1762 {
1763 "type": "BLANK"
1764 }
1765 ]
1766 },
1767 {
1768 "type": "FIELD",
1769 "name": "alternative",
1770 "content": {
1771 "type": "SYMBOL",
1772 "name": "statement"
1773 }
1774 }
1775 ]
1776 },
1777 "for_statement": {
1778 "type": "SEQ",
1779 "members": [
1780 {
1781 "type": "CHOICE",
1782 "members": [
1783 {
1784 "type": "STRING",
1785 "value": "inline"
1786 },
1787 {
1788 "type": "BLANK"
1789 }
1790 ]
1791 },
1792 {
1793 "type": "SYMBOL",
1794 "name": "_for_prefix"
1795 },
1796 {
1797 "type": "SYMBOL",
1798 "name": "_conditional_body"
1799 }
1800 ]
1801 },
1802 "_for_prefix": {
1803 "type": "SEQ",
1804 "members": [
1805 {
1806 "type": "STRING",
1807 "value": "for"
1808 },
1809 {
1810 "type": "STRING",
1811 "value": "("
1812 },
1813 {
1814 "type": "CHOICE",
1815 "members": [
1816 {
1817 "type": "SEQ",
1818 "members": [
1819 {
1820 "type": "SEQ",
1821 "members": [
1822 {
1823 "type": "SEQ",
1824 "members": [
1825 {
1826 "type": "SYMBOL",
1827 "name": "expression"
1828 },
1829 {
1830 "type": "CHOICE",
1831 "members": [
1832 {
1833 "type": "SEQ",
1834 "members": [
1835 {
1836 "type": "STRING",
1837 "value": ".."
1838 },
1839 {
1840 "type": "SYMBOL",
1841 "name": "expression"
1842 }
1843 ]
1844 },
1845 {
1846 "type": "BLANK"
1847 }
1848 ]
1849 }
1850 ]
1851 },
1852 {
1853 "type": "REPEAT",
1854 "content": {
1855 "type": "SEQ",
1856 "members": [
1857 {
1858 "type": "STRING",
1859 "value": ","
1860 },
1861 {
1862 "type": "SEQ",
1863 "members": [
1864 {
1865 "type": "SYMBOL",
1866 "name": "expression"
1867 },
1868 {
1869 "type": "CHOICE",
1870 "members": [
1871 {
1872 "type": "SEQ",
1873 "members": [
1874 {
1875 "type": "STRING",
1876 "value": ".."
1877 },
1878 {
1879 "type": "SYMBOL",
1880 "name": "expression"
1881 }
1882 ]
1883 },
1884 {
1885 "type": "BLANK"
1886 }
1887 ]
1888 }
1889 ]
1890 }
1891 ]
1892 }
1893 }
1894 ]
1895 },
1896 {
1897 "type": "CHOICE",
1898 "members": [
1899 {
1900 "type": "STRING",
1901 "value": ","
1902 },
1903 {
1904 "type": "BLANK"
1905 }
1906 ]
1907 }
1908 ]
1909 },
1910 {
1911 "type": "BLANK"
1912 }
1913 ]
1914 },
1915 {
1916 "type": "STRING",
1917 "value": ")"
1918 },
1919 {
1920 "type": "SYMBOL",
1921 "name": "payload"
1922 }
1923 ]
1924 },
1925 "while_statement": {
1926 "type": "SEQ",
1927 "members": [
1928 {
1929 "type": "CHOICE",
1930 "members": [
1931 {
1932 "type": "STRING",
1933 "value": "inline"
1934 },
1935 {
1936 "type": "BLANK"
1937 }
1938 ]
1939 },
1940 {
1941 "type": "SYMBOL",
1942 "name": "_while_prefix"
1943 },
1944 {
1945 "type": "SYMBOL",
1946 "name": "_conditional_body"
1947 }
1948 ]
1949 },
1950 "_while_prefix": {
1951 "type": "SEQ",
1952 "members": [
1953 {
1954 "type": "STRING",
1955 "value": "while"
1956 },
1957 {
1958 "type": "STRING",
1959 "value": "("
1960 },
1961 {
1962 "type": "FIELD",
1963 "name": "condition",
1964 "content": {
1965 "type": "SYMBOL",
1966 "name": "expression"
1967 }
1968 },
1969 {
1970 "type": "STRING",
1971 "value": ")"
1972 },
1973 {
1974 "type": "CHOICE",
1975 "members": [
1976 {
1977 "type": "SYMBOL",
1978 "name": "payload"
1979 },
1980 {
1981 "type": "BLANK"
1982 }
1983 ]
1984 },
1985 {
1986 "type": "CHOICE",
1987 "members": [
1988 {
1989 "type": "SEQ",
1990 "members": [
1991 {
1992 "type": "STRING",
1993 "value": ":"
1994 },
1995 {
1996 "type": "STRING",
1997 "value": "("
1998 },
1999 {
2000 "type": "SYMBOL",
2001 "name": "expression"
2002 },
2003 {
2004 "type": "STRING",
2005 "value": ")"
2006 }
2007 ]
2008 },
2009 {
2010 "type": "BLANK"
2011 }
2012 ]
2013 }
2014 ]
2015 },
2016 "_conditional_body": {
2017 "type": "CHOICE",
2018 "members": [
2019 {
2020 "type": "SEQ",
2021 "members": [
2022 {
2023 "type": "FIELD",
2024 "name": "body",
2025 "content": {
2026 "type": "SYMBOL",
2027 "name": "block_expression"
2028 }
2029 },
2030 {
2031 "type": "CHOICE",
2032 "members": [
2033 {
2034 "type": "SYMBOL",
2035 "name": "else_clause"
2036 },
2037 {
2038 "type": "BLANK"
2039 }
2040 ]
2041 }
2042 ]
2043 },
2044 {
2045 "type": "SEQ",
2046 "members": [
2047 {
2048 "type": "FIELD",
2049 "name": "body",
2050 "content": {
2051 "type": "SYMBOL",
2052 "name": "expression"
2053 }
2054 },
2055 {
2056 "type": "CHOICE",
2057 "members": [
2058 {
2059 "type": "STRING",
2060 "value": ";"
2061 },
2062 {
2063 "type": "SYMBOL",
2064 "name": "else_clause"
2065 }
2066 ]
2067 }
2068 ]
2069 }
2070 ]
2071 },
2072 "payload": {
2073 "type": "SEQ",
2074 "members": [
2075 {
2076 "type": "STRING",
2077 "value": "|"
2078 },
2079 {
2080 "type": "SEQ",
2081 "members": [
2082 {
2083 "type": "SEQ",
2084 "members": [
2085 {
2086 "type": "SEQ",
2087 "members": [
2088 {
2089 "type": "CHOICE",
2090 "members": [
2091 {
2092 "type": "STRING",
2093 "value": "*"
2094 },
2095 {
2096 "type": "BLANK"
2097 }
2098 ]
2099 },
2100 {
2101 "type": "SYMBOL",
2102 "name": "identifier"
2103 }
2104 ]
2105 },
2106 {
2107 "type": "REPEAT",
2108 "content": {
2109 "type": "SEQ",
2110 "members": [
2111 {
2112 "type": "STRING",
2113 "value": ","
2114 },
2115 {
2116 "type": "SEQ",
2117 "members": [
2118 {
2119 "type": "CHOICE",
2120 "members": [
2121 {
2122 "type": "STRING",
2123 "value": "*"
2124 },
2125 {
2126 "type": "BLANK"
2127 }
2128 ]
2129 },
2130 {
2131 "type": "SYMBOL",
2132 "name": "identifier"
2133 }
2134 ]
2135 }
2136 ]
2137 }
2138 }
2139 ]
2140 },
2141 {
2142 "type": "CHOICE",
2143 "members": [
2144 {
2145 "type": "STRING",
2146 "value": ","
2147 },
2148 {
2149 "type": "BLANK"
2150 }
2151 ]
2152 }
2153 ]
2154 },
2155 {
2156 "type": "STRING",
2157 "value": "|"
2158 }
2159 ]
2160 },
2161 "byte_alignment": {
2162 "type": "SEQ",
2163 "members": [
2164 {
2165 "type": "STRING",
2166 "value": "align"
2167 },
2168 {
2169 "type": "STRING",
2170 "value": "("
2171 },
2172 {
2173 "type": "SYMBOL",
2174 "name": "expression"
2175 },
2176 {
2177 "type": "STRING",
2178 "value": ")"
2179 }
2180 ]
2181 },
2182 "address_space": {
2183 "type": "SEQ",
2184 "members": [
2185 {
2186 "type": "STRING",
2187 "value": "addrspace"
2188 },
2189 {
2190 "type": "STRING",
2191 "value": "("
2192 },
2193 {
2194 "type": "SYMBOL",
2195 "name": "expression"
2196 },
2197 {
2198 "type": "STRING",
2199 "value": ")"
2200 }
2201 ]
2202 },
2203 "link_section": {
2204 "type": "SEQ",
2205 "members": [
2206 {
2207 "type": "STRING",
2208 "value": "linksection"
2209 },
2210 {
2211 "type": "STRING",
2212 "value": "("
2213 },
2214 {
2215 "type": "SYMBOL",
2216 "name": "expression"
2217 },
2218 {
2219 "type": "STRING",
2220 "value": ")"
2221 }
2222 ]
2223 },
2224 "calling_convention": {
2225 "type": "SEQ",
2226 "members": [
2227 {
2228 "type": "STRING",
2229 "value": "callconv"
2230 },
2231 {
2232 "type": "STRING",
2233 "value": "("
2234 },
2235 {
2236 "type": "SYMBOL",
2237 "name": "expression"
2238 },
2239 {
2240 "type": "STRING",
2241 "value": ")"
2242 }
2243 ]
2244 },
2245 "expression": {
2246 "type": "PREC_RIGHT",
2247 "value": 0,
2248 "content": {
2249 "type": "CHOICE",
2250 "members": [
2251 {
2252 "type": "SYMBOL",
2253 "name": "asm_expression"
2254 },
2255 {
2256 "type": "SYMBOL",
2257 "name": "if_expression"
2258 },
2259 {
2260 "type": "SYMBOL",
2261 "name": "for_expression"
2262 },
2263 {
2264 "type": "SYMBOL",
2265 "name": "while_expression"
2266 },
2267 {
2268 "type": "SYMBOL",
2269 "name": "assignment_expression"
2270 },
2271 {
2272 "type": "SYMBOL",
2273 "name": "unary_expression"
2274 },
2275 {
2276 "type": "SYMBOL",
2277 "name": "binary_expression"
2278 },
2279 {
2280 "type": "SYMBOL",
2281 "name": "comptime_expression"
2282 },
2283 {
2284 "type": "SYMBOL",
2285 "name": "async_expression"
2286 },
2287 {
2288 "type": "SYMBOL",
2289 "name": "await_expression"
2290 },
2291 {
2292 "type": "SYMBOL",
2293 "name": "nosuspend_expression"
2294 },
2295 {
2296 "type": "SYMBOL",
2297 "name": "continue_expression"
2298 },
2299 {
2300 "type": "SYMBOL",
2301 "name": "resume_expression"
2302 },
2303 {
2304 "type": "SYMBOL",
2305 "name": "return_expression"
2306 },
2307 {
2308 "type": "SYMBOL",
2309 "name": "break_expression"
2310 },
2311 {
2312 "type": "SYMBOL",
2313 "name": "try_expression"
2314 },
2315 {
2316 "type": "SYMBOL",
2317 "name": "catch_expression"
2318 },
2319 {
2320 "type": "SYMBOL",
2321 "name": "type_expression"
2322 },
2323 {
2324 "type": "SYMBOL",
2325 "name": "block"
2326 }
2327 ]
2328 }
2329 },
2330 "asm_expression": {
2331 "type": "SEQ",
2332 "members": [
2333 {
2334 "type": "STRING",
2335 "value": "asm"
2336 },
2337 {
2338 "type": "CHOICE",
2339 "members": [
2340 {
2341 "type": "STRING",
2342 "value": "volatile"
2343 },
2344 {
2345 "type": "BLANK"
2346 }
2347 ]
2348 },
2349 {
2350 "type": "STRING",
2351 "value": "("
2352 },
2353 {
2354 "type": "SYMBOL",
2355 "name": "expression"
2356 },
2357 {
2358 "type": "CHOICE",
2359 "members": [
2360 {
2361 "type": "SYMBOL",
2362 "name": "asm_output"
2363 },
2364 {
2365 "type": "BLANK"
2366 }
2367 ]
2368 },
2369 {
2370 "type": "STRING",
2371 "value": ")"
2372 }
2373 ]
2374 },
2375 "asm_output": {
2376 "type": "SEQ",
2377 "members": [
2378 {
2379 "type": "STRING",
2380 "value": ":"
2381 },
2382 {
2383 "type": "CHOICE",
2384 "members": [
2385 {
2386 "type": "SEQ",
2387 "members": [
2388 {
2389 "type": "SEQ",
2390 "members": [
2391 {
2392 "type": "SYMBOL",
2393 "name": "asm_output_item"
2394 },
2395 {
2396 "type": "REPEAT",
2397 "content": {
2398 "type": "SEQ",
2399 "members": [
2400 {
2401 "type": "STRING",
2402 "value": ","
2403 },
2404 {
2405 "type": "SYMBOL",
2406 "name": "asm_output_item"
2407 }
2408 ]
2409 }
2410 }
2411 ]
2412 },
2413 {
2414 "type": "CHOICE",
2415 "members": [
2416 {
2417 "type": "STRING",
2418 "value": ","
2419 },
2420 {
2421 "type": "BLANK"
2422 }
2423 ]
2424 }
2425 ]
2426 },
2427 {
2428 "type": "BLANK"
2429 }
2430 ]
2431 },
2432 {
2433 "type": "CHOICE",
2434 "members": [
2435 {
2436 "type": "SYMBOL",
2437 "name": "asm_input"
2438 },
2439 {
2440 "type": "BLANK"
2441 }
2442 ]
2443 }
2444 ]
2445 },
2446 "asm_output_item": {
2447 "type": "SEQ",
2448 "members": [
2449 {
2450 "type": "STRING",
2451 "value": "["
2452 },
2453 {
2454 "type": "SYMBOL",
2455 "name": "identifier"
2456 },
2457 {
2458 "type": "STRING",
2459 "value": "]"
2460 },
2461 {
2462 "type": "CHOICE",
2463 "members": [
2464 {
2465 "type": "SYMBOL",
2466 "name": "string"
2467 },
2468 {
2469 "type": "SYMBOL",
2470 "name": "multiline_string"
2471 }
2472 ]
2473 },
2474 {
2475 "type": "STRING",
2476 "value": "("
2477 },
2478 {
2479 "type": "CHOICE",
2480 "members": [
2481 {
2482 "type": "SEQ",
2483 "members": [
2484 {
2485 "type": "STRING",
2486 "value": "->"
2487 },
2488 {
2489 "type": "SYMBOL",
2490 "name": "type_expression"
2491 }
2492 ]
2493 },
2494 {
2495 "type": "SYMBOL",
2496 "name": "identifier"
2497 }
2498 ]
2499 },
2500 {
2501 "type": "STRING",
2502 "value": ")"
2503 }
2504 ]
2505 },
2506 "asm_input": {
2507 "type": "SEQ",
2508 "members": [
2509 {
2510 "type": "STRING",
2511 "value": ":"
2512 },
2513 {
2514 "type": "CHOICE",
2515 "members": [
2516 {
2517 "type": "SEQ",
2518 "members": [
2519 {
2520 "type": "SEQ",
2521 "members": [
2522 {
2523 "type": "SYMBOL",
2524 "name": "asm_input_item"
2525 },
2526 {
2527 "type": "REPEAT",
2528 "content": {
2529 "type": "SEQ",
2530 "members": [
2531 {
2532 "type": "STRING",
2533 "value": ","
2534 },
2535 {
2536 "type": "SYMBOL",
2537 "name": "asm_input_item"
2538 }
2539 ]
2540 }
2541 }
2542 ]
2543 },
2544 {
2545 "type": "CHOICE",
2546 "members": [
2547 {
2548 "type": "STRING",
2549 "value": ","
2550 },
2551 {
2552 "type": "BLANK"
2553 }
2554 ]
2555 }
2556 ]
2557 },
2558 {
2559 "type": "BLANK"
2560 }
2561 ]
2562 },
2563 {
2564 "type": "CHOICE",
2565 "members": [
2566 {
2567 "type": "SYMBOL",
2568 "name": "asm_clobbers"
2569 },
2570 {
2571 "type": "BLANK"
2572 }
2573 ]
2574 }
2575 ]
2576 },
2577 "asm_input_item": {
2578 "type": "SEQ",
2579 "members": [
2580 {
2581 "type": "STRING",
2582 "value": "["
2583 },
2584 {
2585 "type": "SYMBOL",
2586 "name": "identifier"
2587 },
2588 {
2589 "type": "STRING",
2590 "value": "]"
2591 },
2592 {
2593 "type": "CHOICE",
2594 "members": [
2595 {
2596 "type": "SYMBOL",
2597 "name": "string"
2598 },
2599 {
2600 "type": "SYMBOL",
2601 "name": "multiline_string"
2602 }
2603 ]
2604 },
2605 {
2606 "type": "STRING",
2607 "value": "("
2608 },
2609 {
2610 "type": "SYMBOL",
2611 "name": "expression"
2612 },
2613 {
2614 "type": "STRING",
2615 "value": ")"
2616 }
2617 ]
2618 },
2619 "asm_clobbers": {
2620 "type": "SEQ",
2621 "members": [
2622 {
2623 "type": "STRING",
2624 "value": ":"
2625 },
2626 {
2627 "type": "CHOICE",
2628 "members": [
2629 {
2630 "type": "SEQ",
2631 "members": [
2632 {
2633 "type": "SEQ",
2634 "members": [
2635 {
2636 "type": "CHOICE",
2637 "members": [
2638 {
2639 "type": "SYMBOL",
2640 "name": "string"
2641 },
2642 {
2643 "type": "SYMBOL",
2644 "name": "multiline_string"
2645 }
2646 ]
2647 },
2648 {
2649 "type": "REPEAT",
2650 "content": {
2651 "type": "SEQ",
2652 "members": [
2653 {
2654 "type": "STRING",
2655 "value": ","
2656 },
2657 {
2658 "type": "CHOICE",
2659 "members": [
2660 {
2661 "type": "SYMBOL",
2662 "name": "string"
2663 },
2664 {
2665 "type": "SYMBOL",
2666 "name": "multiline_string"
2667 }
2668 ]
2669 }
2670 ]
2671 }
2672 }
2673 ]
2674 },
2675 {
2676 "type": "CHOICE",
2677 "members": [
2678 {
2679 "type": "STRING",
2680 "value": ","
2681 },
2682 {
2683 "type": "BLANK"
2684 }
2685 ]
2686 }
2687 ]
2688 },
2689 {
2690 "type": "BLANK"
2691 }
2692 ]
2693 }
2694 ]
2695 },
2696 "if_expression": {
2697 "type": "PREC_RIGHT",
2698 "value": 0,
2699 "content": {
2700 "type": "SEQ",
2701 "members": [
2702 {
2703 "type": "SYMBOL",
2704 "name": "_if_prefix"
2705 },
2706 {
2707 "type": "SYMBOL",
2708 "name": "expression"
2709 },
2710 {
2711 "type": "CHOICE",
2712 "members": [
2713 {
2714 "type": "SEQ",
2715 "members": [
2716 {
2717 "type": "STRING",
2718 "value": "else"
2719 },
2720 {
2721 "type": "CHOICE",
2722 "members": [
2723 {
2724 "type": "SYMBOL",
2725 "name": "payload"
2726 },
2727 {
2728 "type": "BLANK"
2729 }
2730 ]
2731 },
2732 {
2733 "type": "SYMBOL",
2734 "name": "expression"
2735 }
2736 ]
2737 },
2738 {
2739 "type": "BLANK"
2740 }
2741 ]
2742 }
2743 ]
2744 }
2745 },
2746 "for_expression": {
2747 "type": "PREC_RIGHT",
2748 "value": 0,
2749 "content": {
2750 "type": "SEQ",
2751 "members": [
2752 {
2753 "type": "CHOICE",
2754 "members": [
2755 {
2756 "type": "SYMBOL",
2757 "name": "block_label"
2758 },
2759 {
2760 "type": "BLANK"
2761 }
2762 ]
2763 },
2764 {
2765 "type": "CHOICE",
2766 "members": [
2767 {
2768 "type": "STRING",
2769 "value": "inline"
2770 },
2771 {
2772 "type": "BLANK"
2773 }
2774 ]
2775 },
2776 {
2777 "type": "SYMBOL",
2778 "name": "_for_prefix"
2779 },
2780 {
2781 "type": "SYMBOL",
2782 "name": "expression"
2783 },
2784 {
2785 "type": "CHOICE",
2786 "members": [
2787 {
2788 "type": "SEQ",
2789 "members": [
2790 {
2791 "type": "STRING",
2792 "value": "else"
2793 },
2794 {
2795 "type": "SYMBOL",
2796 "name": "expression"
2797 }
2798 ]
2799 },
2800 {
2801 "type": "BLANK"
2802 }
2803 ]
2804 }
2805 ]
2806 }
2807 },
2808 "while_expression": {
2809 "type": "PREC_RIGHT",
2810 "value": 0,
2811 "content": {
2812 "type": "SEQ",
2813 "members": [
2814 {
2815 "type": "CHOICE",
2816 "members": [
2817 {
2818 "type": "SYMBOL",
2819 "name": "block_label"
2820 },
2821 {
2822 "type": "BLANK"
2823 }
2824 ]
2825 },
2826 {
2827 "type": "CHOICE",
2828 "members": [
2829 {
2830 "type": "STRING",
2831 "value": "inline"
2832 },
2833 {
2834 "type": "BLANK"
2835 }
2836 ]
2837 },
2838 {
2839 "type": "SYMBOL",
2840 "name": "_while_prefix"
2841 },
2842 {
2843 "type": "SYMBOL",
2844 "name": "expression"
2845 },
2846 {
2847 "type": "CHOICE",
2848 "members": [
2849 {
2850 "type": "SEQ",
2851 "members": [
2852 {
2853 "type": "STRING",
2854 "value": "else"
2855 },
2856 {
2857 "type": "CHOICE",
2858 "members": [
2859 {
2860 "type": "SYMBOL",
2861 "name": "payload"
2862 },
2863 {
2864 "type": "BLANK"
2865 }
2866 ]
2867 },
2868 {
2869 "type": "SYMBOL",
2870 "name": "expression"
2871 }
2872 ]
2873 },
2874 {
2875 "type": "BLANK"
2876 }
2877 ]
2878 }
2879 ]
2880 }
2881 },
2882 "assignment_expression": {
2883 "type": "PREC_RIGHT",
2884 "value": 0,
2885 "content": {
2886 "type": "SEQ",
2887 "members": [
2888 {
2889 "type": "FIELD",
2890 "name": "left",
2891 "content": {
2892 "type": "SYMBOL",
2893 "name": "expression"
2894 }
2895 },
2896 {
2897 "type": "FIELD",
2898 "name": "operator",
2899 "content": {
2900 "type": "CHOICE",
2901 "members": [
2902 {
2903 "type": "STRING",
2904 "value": "="
2905 },
2906 {
2907 "type": "STRING",
2908 "value": "*="
2909 },
2910 {
2911 "type": "STRING",
2912 "value": "*%="
2913 },
2914 {
2915 "type": "STRING",
2916 "value": "*|="
2917 },
2918 {
2919 "type": "STRING",
2920 "value": "/="
2921 },
2922 {
2923 "type": "STRING",
2924 "value": "%="
2925 },
2926 {
2927 "type": "STRING",
2928 "value": "+="
2929 },
2930 {
2931 "type": "STRING",
2932 "value": "+%="
2933 },
2934 {
2935 "type": "STRING",
2936 "value": "+|="
2937 },
2938 {
2939 "type": "STRING",
2940 "value": "-="
2941 },
2942 {
2943 "type": "STRING",
2944 "value": "-%="
2945 },
2946 {
2947 "type": "STRING",
2948 "value": "-|="
2949 },
2950 {
2951 "type": "STRING",
2952 "value": "<<="
2953 },
2954 {
2955 "type": "STRING",
2956 "value": "<<|="
2957 },
2958 {
2959 "type": "STRING",
2960 "value": ">>="
2961 },
2962 {
2963 "type": "STRING",
2964 "value": "&="
2965 },
2966 {
2967 "type": "STRING",
2968 "value": "^="
2969 },
2970 {
2971 "type": "STRING",
2972 "value": "|="
2973 }
2974 ]
2975 }
2976 },
2977 {
2978 "type": "FIELD",
2979 "name": "right",
2980 "content": {
2981 "type": "SYMBOL",
2982 "name": "expression"
2983 }
2984 }
2985 ]
2986 }
2987 },
2988 "unary_expression": {
2989 "type": "PREC_LEFT",
2990 "value": 8,
2991 "content": {
2992 "type": "SEQ",
2993 "members": [
2994 {
2995 "type": "FIELD",
2996 "name": "operator",
2997 "content": {
2998 "type": "CHOICE",
2999 "members": [
3000 {
3001 "type": "STRING",
3002 "value": "!"
3003 },
3004 {
3005 "type": "STRING",
3006 "value": "~"
3007 },
3008 {
3009 "type": "STRING",
3010 "value": "-"
3011 },
3012 {
3013 "type": "STRING",
3014 "value": "-%"
3015 },
3016 {
3017 "type": "STRING",
3018 "value": "&"
3019 }
3020 ]
3021 }
3022 },
3023 {
3024 "type": "FIELD",
3025 "name": "argument",
3026 "content": {
3027 "type": "SYMBOL",
3028 "name": "expression"
3029 }
3030 }
3031 ]
3032 }
3033 },
3034 "binary_expression": {
3035 "type": "CHOICE",
3036 "members": [
3037 {
3038 "type": "PREC_LEFT",
3039 "value": 1,
3040 "content": {
3041 "type": "SEQ",
3042 "members": [
3043 {
3044 "type": "FIELD",
3045 "name": "left",
3046 "content": {
3047 "type": "SYMBOL",
3048 "name": "expression"
3049 }
3050 },
3051 {
3052 "type": "FIELD",
3053 "name": "operator",
3054 "content": {
3055 "type": "STRING",
3056 "value": "or"
3057 }
3058 },
3059 {
3060 "type": "FIELD",
3061 "name": "right",
3062 "content": {
3063 "type": "SYMBOL",
3064 "name": "expression"
3065 }
3066 }
3067 ]
3068 }
3069 },
3070 {
3071 "type": "PREC_LEFT",
3072 "value": 2,
3073 "content": {
3074 "type": "SEQ",
3075 "members": [
3076 {
3077 "type": "FIELD",
3078 "name": "left",
3079 "content": {
3080 "type": "SYMBOL",
3081 "name": "expression"
3082 }
3083 },
3084 {
3085 "type": "FIELD",
3086 "name": "operator",
3087 "content": {
3088 "type": "STRING",
3089 "value": "and"
3090 }
3091 },
3092 {
3093 "type": "FIELD",
3094 "name": "right",
3095 "content": {
3096 "type": "SYMBOL",
3097 "name": "expression"
3098 }
3099 }
3100 ]
3101 }
3102 },
3103 {
3104 "type": "PREC_LEFT",
3105 "value": 3,
3106 "content": {
3107 "type": "SEQ",
3108 "members": [
3109 {
3110 "type": "FIELD",
3111 "name": "left",
3112 "content": {
3113 "type": "SYMBOL",
3114 "name": "expression"
3115 }
3116 },
3117 {
3118 "type": "FIELD",
3119 "name": "operator",
3120 "content": {
3121 "type": "STRING",
3122 "value": "=="
3123 }
3124 },
3125 {
3126 "type": "FIELD",
3127 "name": "right",
3128 "content": {
3129 "type": "SYMBOL",
3130 "name": "expression"
3131 }
3132 }
3133 ]
3134 }
3135 },
3136 {
3137 "type": "PREC_LEFT",
3138 "value": 3,
3139 "content": {
3140 "type": "SEQ",
3141 "members": [
3142 {
3143 "type": "FIELD",
3144 "name": "left",
3145 "content": {
3146 "type": "SYMBOL",
3147 "name": "expression"
3148 }
3149 },
3150 {
3151 "type": "FIELD",
3152 "name": "operator",
3153 "content": {
3154 "type": "STRING",
3155 "value": "!="
3156 }
3157 },
3158 {
3159 "type": "FIELD",
3160 "name": "right",
3161 "content": {
3162 "type": "SYMBOL",
3163 "name": "expression"
3164 }
3165 }
3166 ]
3167 }
3168 },
3169 {
3170 "type": "PREC_LEFT",
3171 "value": 3,
3172 "content": {
3173 "type": "SEQ",
3174 "members": [
3175 {
3176 "type": "FIELD",
3177 "name": "left",
3178 "content": {
3179 "type": "SYMBOL",
3180 "name": "expression"
3181 }
3182 },
3183 {
3184 "type": "FIELD",
3185 "name": "operator",
3186 "content": {
3187 "type": "STRING",
3188 "value": ">"
3189 }
3190 },
3191 {
3192 "type": "FIELD",
3193 "name": "right",
3194 "content": {
3195 "type": "SYMBOL",
3196 "name": "expression"
3197 }
3198 }
3199 ]
3200 }
3201 },
3202 {
3203 "type": "PREC_LEFT",
3204 "value": 3,
3205 "content": {
3206 "type": "SEQ",
3207 "members": [
3208 {
3209 "type": "FIELD",
3210 "name": "left",
3211 "content": {
3212 "type": "SYMBOL",
3213 "name": "expression"
3214 }
3215 },
3216 {
3217 "type": "FIELD",
3218 "name": "operator",
3219 "content": {
3220 "type": "STRING",
3221 "value": ">="
3222 }
3223 },
3224 {
3225 "type": "FIELD",
3226 "name": "right",
3227 "content": {
3228 "type": "SYMBOL",
3229 "name": "expression"
3230 }
3231 }
3232 ]
3233 }
3234 },
3235 {
3236 "type": "PREC_LEFT",
3237 "value": 3,
3238 "content": {
3239 "type": "SEQ",
3240 "members": [
3241 {
3242 "type": "FIELD",
3243 "name": "left",
3244 "content": {
3245 "type": "SYMBOL",
3246 "name": "expression"
3247 }
3248 },
3249 {
3250 "type": "FIELD",
3251 "name": "operator",
3252 "content": {
3253 "type": "STRING",
3254 "value": "<="
3255 }
3256 },
3257 {
3258 "type": "FIELD",
3259 "name": "right",
3260 "content": {
3261 "type": "SYMBOL",
3262 "name": "expression"
3263 }
3264 }
3265 ]
3266 }
3267 },
3268 {
3269 "type": "PREC_LEFT",
3270 "value": 3,
3271 "content": {
3272 "type": "SEQ",
3273 "members": [
3274 {
3275 "type": "FIELD",
3276 "name": "left",
3277 "content": {
3278 "type": "SYMBOL",
3279 "name": "expression"
3280 }
3281 },
3282 {
3283 "type": "FIELD",
3284 "name": "operator",
3285 "content": {
3286 "type": "STRING",
3287 "value": "<"
3288 }
3289 },
3290 {
3291 "type": "FIELD",
3292 "name": "right",
3293 "content": {
3294 "type": "SYMBOL",
3295 "name": "expression"
3296 }
3297 }
3298 ]
3299 }
3300 },
3301 {
3302 "type": "PREC_LEFT",
3303 "value": 4,
3304 "content": {
3305 "type": "SEQ",
3306 "members": [
3307 {
3308 "type": "FIELD",
3309 "name": "left",
3310 "content": {
3311 "type": "SYMBOL",
3312 "name": "expression"
3313 }
3314 },
3315 {
3316 "type": "FIELD",
3317 "name": "operator",
3318 "content": {
3319 "type": "STRING",
3320 "value": "&"
3321 }
3322 },
3323 {
3324 "type": "FIELD",
3325 "name": "right",
3326 "content": {
3327 "type": "SYMBOL",
3328 "name": "expression"
3329 }
3330 }
3331 ]
3332 }
3333 },
3334 {
3335 "type": "PREC_LEFT",
3336 "value": 4,
3337 "content": {
3338 "type": "SEQ",
3339 "members": [
3340 {
3341 "type": "FIELD",
3342 "name": "left",
3343 "content": {
3344 "type": "SYMBOL",
3345 "name": "expression"
3346 }
3347 },
3348 {
3349 "type": "FIELD",
3350 "name": "operator",
3351 "content": {
3352 "type": "STRING",
3353 "value": "^"
3354 }
3355 },
3356 {
3357 "type": "FIELD",
3358 "name": "right",
3359 "content": {
3360 "type": "SYMBOL",
3361 "name": "expression"
3362 }
3363 }
3364 ]
3365 }
3366 },
3367 {
3368 "type": "PREC_LEFT",
3369 "value": 4,
3370 "content": {
3371 "type": "SEQ",
3372 "members": [
3373 {
3374 "type": "FIELD",
3375 "name": "left",
3376 "content": {
3377 "type": "SYMBOL",
3378 "name": "expression"
3379 }
3380 },
3381 {
3382 "type": "FIELD",
3383 "name": "operator",
3384 "content": {
3385 "type": "STRING",
3386 "value": "|"
3387 }
3388 },
3389 {
3390 "type": "FIELD",
3391 "name": "right",
3392 "content": {
3393 "type": "SYMBOL",
3394 "name": "expression"
3395 }
3396 }
3397 ]
3398 }
3399 },
3400 {
3401 "type": "PREC_LEFT",
3402 "value": 4,
3403 "content": {
3404 "type": "SEQ",
3405 "members": [
3406 {
3407 "type": "FIELD",
3408 "name": "left",
3409 "content": {
3410 "type": "SYMBOL",
3411 "name": "expression"
3412 }
3413 },
3414 {
3415 "type": "FIELD",
3416 "name": "operator",
3417 "content": {
3418 "type": "STRING",
3419 "value": "orelse"
3420 }
3421 },
3422 {
3423 "type": "FIELD",
3424 "name": "right",
3425 "content": {
3426 "type": "SYMBOL",
3427 "name": "expression"
3428 }
3429 }
3430 ]
3431 }
3432 },
3433 {
3434 "type": "PREC_LEFT",
3435 "value": 5,
3436 "content": {
3437 "type": "SEQ",
3438 "members": [
3439 {
3440 "type": "FIELD",
3441 "name": "left",
3442 "content": {
3443 "type": "SYMBOL",
3444 "name": "expression"
3445 }
3446 },
3447 {
3448 "type": "FIELD",
3449 "name": "operator",
3450 "content": {
3451 "type": "STRING",
3452 "value": "<<"
3453 }
3454 },
3455 {
3456 "type": "FIELD",
3457 "name": "right",
3458 "content": {
3459 "type": "SYMBOL",
3460 "name": "expression"
3461 }
3462 }
3463 ]
3464 }
3465 },
3466 {
3467 "type": "PREC_LEFT",
3468 "value": 5,
3469 "content": {
3470 "type": "SEQ",
3471 "members": [
3472 {
3473 "type": "FIELD",
3474 "name": "left",
3475 "content": {
3476 "type": "SYMBOL",
3477 "name": "expression"
3478 }
3479 },
3480 {
3481 "type": "FIELD",
3482 "name": "operator",
3483 "content": {
3484 "type": "STRING",
3485 "value": ">>"
3486 }
3487 },
3488 {
3489 "type": "FIELD",
3490 "name": "right",
3491 "content": {
3492 "type": "SYMBOL",
3493 "name": "expression"
3494 }
3495 }
3496 ]
3497 }
3498 },
3499 {
3500 "type": "PREC_LEFT",
3501 "value": 5,
3502 "content": {
3503 "type": "SEQ",
3504 "members": [
3505 {
3506 "type": "FIELD",
3507 "name": "left",
3508 "content": {
3509 "type": "SYMBOL",
3510 "name": "expression"
3511 }
3512 },
3513 {
3514 "type": "FIELD",
3515 "name": "operator",
3516 "content": {
3517 "type": "STRING",
3518 "value": "<<|"
3519 }
3520 },
3521 {
3522 "type": "FIELD",
3523 "name": "right",
3524 "content": {
3525 "type": "SYMBOL",
3526 "name": "expression"
3527 }
3528 }
3529 ]
3530 }
3531 },
3532 {
3533 "type": "PREC_LEFT",
3534 "value": 6,
3535 "content": {
3536 "type": "SEQ",
3537 "members": [
3538 {
3539 "type": "FIELD",
3540 "name": "left",
3541 "content": {
3542 "type": "SYMBOL",
3543 "name": "expression"
3544 }
3545 },
3546 {
3547 "type": "FIELD",
3548 "name": "operator",
3549 "content": {
3550 "type": "STRING",
3551 "value": "+"
3552 }
3553 },
3554 {
3555 "type": "FIELD",
3556 "name": "right",
3557 "content": {
3558 "type": "SYMBOL",
3559 "name": "expression"
3560 }
3561 }
3562 ]
3563 }
3564 },
3565 {
3566 "type": "PREC_LEFT",
3567 "value": 6,
3568 "content": {
3569 "type": "SEQ",
3570 "members": [
3571 {
3572 "type": "FIELD",
3573 "name": "left",
3574 "content": {
3575 "type": "SYMBOL",
3576 "name": "expression"
3577 }
3578 },
3579 {
3580 "type": "FIELD",
3581 "name": "operator",
3582 "content": {
3583 "type": "STRING",
3584 "value": "-"
3585 }
3586 },
3587 {
3588 "type": "FIELD",
3589 "name": "right",
3590 "content": {
3591 "type": "SYMBOL",
3592 "name": "expression"
3593 }
3594 }
3595 ]
3596 }
3597 },
3598 {
3599 "type": "PREC_LEFT",
3600 "value": 6,
3601 "content": {
3602 "type": "SEQ",
3603 "members": [
3604 {
3605 "type": "FIELD",
3606 "name": "left",
3607 "content": {
3608 "type": "SYMBOL",
3609 "name": "expression"
3610 }
3611 },
3612 {
3613 "type": "FIELD",
3614 "name": "operator",
3615 "content": {
3616 "type": "STRING",
3617 "value": "++"
3618 }
3619 },
3620 {
3621 "type": "FIELD",
3622 "name": "right",
3623 "content": {
3624 "type": "SYMBOL",
3625 "name": "expression"
3626 }
3627 }
3628 ]
3629 }
3630 },
3631 {
3632 "type": "PREC_LEFT",
3633 "value": 6,
3634 "content": {
3635 "type": "SEQ",
3636 "members": [
3637 {
3638 "type": "FIELD",
3639 "name": "left",
3640 "content": {
3641 "type": "SYMBOL",
3642 "name": "expression"
3643 }
3644 },
3645 {
3646 "type": "FIELD",
3647 "name": "operator",
3648 "content": {
3649 "type": "STRING",
3650 "value": "+%"
3651 }
3652 },
3653 {
3654 "type": "FIELD",
3655 "name": "right",
3656 "content": {
3657 "type": "SYMBOL",
3658 "name": "expression"
3659 }
3660 }
3661 ]
3662 }
3663 },
3664 {
3665 "type": "PREC_LEFT",
3666 "value": 6,
3667 "content": {
3668 "type": "SEQ",
3669 "members": [
3670 {
3671 "type": "FIELD",
3672 "name": "left",
3673 "content": {
3674 "type": "SYMBOL",
3675 "name": "expression"
3676 }
3677 },
3678 {
3679 "type": "FIELD",
3680 "name": "operator",
3681 "content": {
3682 "type": "STRING",
3683 "value": "-%"
3684 }
3685 },
3686 {
3687 "type": "FIELD",
3688 "name": "right",
3689 "content": {
3690 "type": "SYMBOL",
3691 "name": "expression"
3692 }
3693 }
3694 ]
3695 }
3696 },
3697 {
3698 "type": "PREC_LEFT",
3699 "value": 6,
3700 "content": {
3701 "type": "SEQ",
3702 "members": [
3703 {
3704 "type": "FIELD",
3705 "name": "left",
3706 "content": {
3707 "type": "SYMBOL",
3708 "name": "expression"
3709 }
3710 },
3711 {
3712 "type": "FIELD",
3713 "name": "operator",
3714 "content": {
3715 "type": "STRING",
3716 "value": "+|"
3717 }
3718 },
3719 {
3720 "type": "FIELD",
3721 "name": "right",
3722 "content": {
3723 "type": "SYMBOL",
3724 "name": "expression"
3725 }
3726 }
3727 ]
3728 }
3729 },
3730 {
3731 "type": "PREC_LEFT",
3732 "value": 6,
3733 "content": {
3734 "type": "SEQ",
3735 "members": [
3736 {
3737 "type": "FIELD",
3738 "name": "left",
3739 "content": {
3740 "type": "SYMBOL",
3741 "name": "expression"
3742 }
3743 },
3744 {
3745 "type": "FIELD",
3746 "name": "operator",
3747 "content": {
3748 "type": "STRING",
3749 "value": "-|"
3750 }
3751 },
3752 {
3753 "type": "FIELD",
3754 "name": "right",
3755 "content": {
3756 "type": "SYMBOL",
3757 "name": "expression"
3758 }
3759 }
3760 ]
3761 }
3762 },
3763 {
3764 "type": "PREC_LEFT",
3765 "value": 7,
3766 "content": {
3767 "type": "SEQ",
3768 "members": [
3769 {
3770 "type": "FIELD",
3771 "name": "left",
3772 "content": {
3773 "type": "SYMBOL",
3774 "name": "expression"
3775 }
3776 },
3777 {
3778 "type": "FIELD",
3779 "name": "operator",
3780 "content": {
3781 "type": "STRING",
3782 "value": "*"
3783 }
3784 },
3785 {
3786 "type": "FIELD",
3787 "name": "right",
3788 "content": {
3789 "type": "SYMBOL",
3790 "name": "expression"
3791 }
3792 }
3793 ]
3794 }
3795 },
3796 {
3797 "type": "PREC_LEFT",
3798 "value": 7,
3799 "content": {
3800 "type": "SEQ",
3801 "members": [
3802 {
3803 "type": "FIELD",
3804 "name": "left",
3805 "content": {
3806 "type": "SYMBOL",
3807 "name": "expression"
3808 }
3809 },
3810 {
3811 "type": "FIELD",
3812 "name": "operator",
3813 "content": {
3814 "type": "STRING",
3815 "value": "/"
3816 }
3817 },
3818 {
3819 "type": "FIELD",
3820 "name": "right",
3821 "content": {
3822 "type": "SYMBOL",
3823 "name": "expression"
3824 }
3825 }
3826 ]
3827 }
3828 },
3829 {
3830 "type": "PREC_LEFT",
3831 "value": 7,
3832 "content": {
3833 "type": "SEQ",
3834 "members": [
3835 {
3836 "type": "FIELD",
3837 "name": "left",
3838 "content": {
3839 "type": "SYMBOL",
3840 "name": "expression"
3841 }
3842 },
3843 {
3844 "type": "FIELD",
3845 "name": "operator",
3846 "content": {
3847 "type": "STRING",
3848 "value": "%"
3849 }
3850 },
3851 {
3852 "type": "FIELD",
3853 "name": "right",
3854 "content": {
3855 "type": "SYMBOL",
3856 "name": "expression"
3857 }
3858 }
3859 ]
3860 }
3861 },
3862 {
3863 "type": "PREC_LEFT",
3864 "value": 7,
3865 "content": {
3866 "type": "SEQ",
3867 "members": [
3868 {
3869 "type": "FIELD",
3870 "name": "left",
3871 "content": {
3872 "type": "SYMBOL",
3873 "name": "expression"
3874 }
3875 },
3876 {
3877 "type": "FIELD",
3878 "name": "operator",
3879 "content": {
3880 "type": "STRING",
3881 "value": "**"
3882 }
3883 },
3884 {
3885 "type": "FIELD",
3886 "name": "right",
3887 "content": {
3888 "type": "SYMBOL",
3889 "name": "expression"
3890 }
3891 }
3892 ]
3893 }
3894 },
3895 {
3896 "type": "PREC_LEFT",
3897 "value": 7,
3898 "content": {
3899 "type": "SEQ",
3900 "members": [
3901 {
3902 "type": "FIELD",
3903 "name": "left",
3904 "content": {
3905 "type": "SYMBOL",
3906 "name": "expression"
3907 }
3908 },
3909 {
3910 "type": "FIELD",
3911 "name": "operator",
3912 "content": {
3913 "type": "STRING",
3914 "value": "*%"
3915 }
3916 },
3917 {
3918 "type": "FIELD",
3919 "name": "right",
3920 "content": {
3921 "type": "SYMBOL",
3922 "name": "expression"
3923 }
3924 }
3925 ]
3926 }
3927 },
3928 {
3929 "type": "PREC_LEFT",
3930 "value": 7,
3931 "content": {
3932 "type": "SEQ",
3933 "members": [
3934 {
3935 "type": "FIELD",
3936 "name": "left",
3937 "content": {
3938 "type": "SYMBOL",
3939 "name": "expression"
3940 }
3941 },
3942 {
3943 "type": "FIELD",
3944 "name": "operator",
3945 "content": {
3946 "type": "STRING",
3947 "value": "*|"
3948 }
3949 },
3950 {
3951 "type": "FIELD",
3952 "name": "right",
3953 "content": {
3954 "type": "SYMBOL",
3955 "name": "expression"
3956 }
3957 }
3958 ]
3959 }
3960 },
3961 {
3962 "type": "PREC_LEFT",
3963 "value": 7,
3964 "content": {
3965 "type": "SEQ",
3966 "members": [
3967 {
3968 "type": "FIELD",
3969 "name": "left",
3970 "content": {
3971 "type": "SYMBOL",
3972 "name": "expression"
3973 }
3974 },
3975 {
3976 "type": "FIELD",
3977 "name": "operator",
3978 "content": {
3979 "type": "STRING",
3980 "value": "||"
3981 }
3982 },
3983 {
3984 "type": "FIELD",
3985 "name": "right",
3986 "content": {
3987 "type": "SYMBOL",
3988 "name": "expression"
3989 }
3990 }
3991 ]
3992 }
3993 }
3994 ]
3995 },
3996 "comptime_expression": {
3997 "type": "PREC_RIGHT",
3998 "value": 0,
3999 "content": {
4000 "type": "SEQ",
4001 "members": [
4002 {
4003 "type": "STRING",
4004 "value": "comptime"
4005 },
4006 {
4007 "type": "SYMBOL",
4008 "name": "expression"
4009 }
4010 ]
4011 }
4012 },
4013 "async_expression": {
4014 "type": "PREC_RIGHT",
4015 "value": 0,
4016 "content": {
4017 "type": "SEQ",
4018 "members": [
4019 {
4020 "type": "STRING",
4021 "value": "async"
4022 },
4023 {
4024 "type": "SYMBOL",
4025 "name": "expression"
4026 }
4027 ]
4028 }
4029 },
4030 "await_expression": {
4031 "type": "PREC_RIGHT",
4032 "value": 0,
4033 "content": {
4034 "type": "SEQ",
4035 "members": [
4036 {
4037 "type": "STRING",
4038 "value": "await"
4039 },
4040 {
4041 "type": "SYMBOL",
4042 "name": "expression"
4043 }
4044 ]
4045 }
4046 },
4047 "nosuspend_expression": {
4048 "type": "PREC_RIGHT",
4049 "value": 0,
4050 "content": {
4051 "type": "SEQ",
4052 "members": [
4053 {
4054 "type": "STRING",
4055 "value": "nosuspend"
4056 },
4057 {
4058 "type": "SYMBOL",
4059 "name": "expression"
4060 }
4061 ]
4062 }
4063 },
4064 "continue_expression": {
4065 "type": "PREC_RIGHT",
4066 "value": 0,
4067 "content": {
4068 "type": "SEQ",
4069 "members": [
4070 {
4071 "type": "STRING",
4072 "value": "continue"
4073 },
4074 {
4075 "type": "CHOICE",
4076 "members": [
4077 {
4078 "type": "SYMBOL",
4079 "name": "break_label"
4080 },
4081 {
4082 "type": "BLANK"
4083 }
4084 ]
4085 },
4086 {
4087 "type": "CHOICE",
4088 "members": [
4089 {
4090 "type": "SYMBOL",
4091 "name": "expression"
4092 },
4093 {
4094 "type": "BLANK"
4095 }
4096 ]
4097 }
4098 ]
4099 }
4100 },
4101 "resume_expression": {
4102 "type": "PREC_RIGHT",
4103 "value": 0,
4104 "content": {
4105 "type": "SEQ",
4106 "members": [
4107 {
4108 "type": "STRING",
4109 "value": "resume"
4110 },
4111 {
4112 "type": "SYMBOL",
4113 "name": "expression"
4114 }
4115 ]
4116 }
4117 },
4118 "return_expression": {
4119 "type": "PREC_RIGHT",
4120 "value": 0,
4121 "content": {
4122 "type": "SEQ",
4123 "members": [
4124 {
4125 "type": "STRING",
4126 "value": "return"
4127 },
4128 {
4129 "type": "CHOICE",
4130 "members": [
4131 {
4132 "type": "SYMBOL",
4133 "name": "expression"
4134 },
4135 {
4136 "type": "BLANK"
4137 }
4138 ]
4139 }
4140 ]
4141 }
4142 },
4143 "break_expression": {
4144 "type": "PREC_RIGHT",
4145 "value": 0,
4146 "content": {
4147 "type": "SEQ",
4148 "members": [
4149 {
4150 "type": "STRING",
4151 "value": "break"
4152 },
4153 {
4154 "type": "CHOICE",
4155 "members": [
4156 {
4157 "type": "SYMBOL",
4158 "name": "break_label"
4159 },
4160 {
4161 "type": "BLANK"
4162 }
4163 ]
4164 },
4165 {
4166 "type": "CHOICE",
4167 "members": [
4168 {
4169 "type": "SYMBOL",
4170 "name": "expression"
4171 },
4172 {
4173 "type": "BLANK"
4174 }
4175 ]
4176 }
4177 ]
4178 }
4179 },
4180 "try_expression": {
4181 "type": "PREC_RIGHT",
4182 "value": 4,
4183 "content": {
4184 "type": "SEQ",
4185 "members": [
4186 {
4187 "type": "STRING",
4188 "value": "try"
4189 },
4190 {
4191 "type": "SYMBOL",
4192 "name": "expression"
4193 }
4194 ]
4195 }
4196 },
4197 "catch_expression": {
4198 "type": "PREC_RIGHT",
4199 "value": 4,
4200 "content": {
4201 "type": "SEQ",
4202 "members": [
4203 {
4204 "type": "SYMBOL",
4205 "name": "expression"
4206 },
4207 {
4208 "type": "STRING",
4209 "value": "catch"
4210 },
4211 {
4212 "type": "CHOICE",
4213 "members": [
4214 {
4215 "type": "SYMBOL",
4216 "name": "payload"
4217 },
4218 {
4219 "type": "BLANK"
4220 }
4221 ]
4222 },
4223 {
4224 "type": "SYMBOL",
4225 "name": "expression"
4226 }
4227 ]
4228 }
4229 },
4230 "switch_expression": {
4231 "type": "SEQ",
4232 "members": [
4233 {
4234 "type": "CHOICE",
4235 "members": [
4236 {
4237 "type": "SYMBOL",
4238 "name": "block_label"
4239 },
4240 {
4241 "type": "BLANK"
4242 }
4243 ]
4244 },
4245 {
4246 "type": "STRING",
4247 "value": "switch"
4248 },
4249 {
4250 "type": "STRING",
4251 "value": "("
4252 },
4253 {
4254 "type": "SYMBOL",
4255 "name": "expression"
4256 },
4257 {
4258 "type": "STRING",
4259 "value": ")"
4260 },
4261 {
4262 "type": "STRING",
4263 "value": "{"
4264 },
4265 {
4266 "type": "CHOICE",
4267 "members": [
4268 {
4269 "type": "SEQ",
4270 "members": [
4271 {
4272 "type": "SEQ",
4273 "members": [
4274 {
4275 "type": "SYMBOL",
4276 "name": "switch_case"
4277 },
4278 {
4279 "type": "REPEAT",
4280 "content": {
4281 "type": "SEQ",
4282 "members": [
4283 {
4284 "type": "STRING",
4285 "value": ","
4286 },
4287 {
4288 "type": "SYMBOL",
4289 "name": "switch_case"
4290 }
4291 ]
4292 }
4293 }
4294 ]
4295 },
4296 {
4297 "type": "CHOICE",
4298 "members": [
4299 {
4300 "type": "STRING",
4301 "value": ","
4302 },
4303 {
4304 "type": "BLANK"
4305 }
4306 ]
4307 }
4308 ]
4309 },
4310 {
4311 "type": "BLANK"
4312 }
4313 ]
4314 },
4315 {
4316 "type": "STRING",
4317 "value": "}"
4318 }
4319 ]
4320 },
4321 "switch_case": {
4322 "type": "SEQ",
4323 "members": [
4324 {
4325 "type": "SYMBOL",
4326 "name": "_switch_case_exp"
4327 },
4328 {
4329 "type": "STRING",
4330 "value": "=>"
4331 },
4332 {
4333 "type": "CHOICE",
4334 "members": [
4335 {
4336 "type": "SYMBOL",
4337 "name": "payload"
4338 },
4339 {
4340 "type": "BLANK"
4341 }
4342 ]
4343 },
4344 {
4345 "type": "CHOICE",
4346 "members": [
4347 {
4348 "type": "SYMBOL",
4349 "name": "expression"
4350 }
4351 ]
4352 }
4353 ]
4354 },
4355 "_switch_case_exp": {
4356 "type": "SEQ",
4357 "members": [
4358 {
4359 "type": "CHOICE",
4360 "members": [
4361 {
4362 "type": "STRING",
4363 "value": "inline"
4364 },
4365 {
4366 "type": "BLANK"
4367 }
4368 ]
4369 },
4370 {
4371 "type": "CHOICE",
4372 "members": [
4373 {
4374 "type": "SEQ",
4375 "members": [
4376 {
4377 "type": "SEQ",
4378 "members": [
4379 {
4380 "type": "SEQ",
4381 "members": [
4382 {
4383 "type": "SYMBOL",
4384 "name": "expression"
4385 },
4386 {
4387 "type": "CHOICE",
4388 "members": [
4389 {
4390 "type": "SEQ",
4391 "members": [
4392 {
4393 "type": "STRING",
4394 "value": "..."
4395 },
4396 {
4397 "type": "SYMBOL",
4398 "name": "expression"
4399 }
4400 ]
4401 },
4402 {
4403 "type": "BLANK"
4404 }
4405 ]
4406 }
4407 ]
4408 },
4409 {
4410 "type": "REPEAT",
4411 "content": {
4412 "type": "SEQ",
4413 "members": [
4414 {
4415 "type": "STRING",
4416 "value": ","
4417 },
4418 {
4419 "type": "SEQ",
4420 "members": [
4421 {
4422 "type": "SYMBOL",
4423 "name": "expression"
4424 },
4425 {
4426 "type": "CHOICE",
4427 "members": [
4428 {
4429 "type": "SEQ",
4430 "members": [
4431 {
4432 "type": "STRING",
4433 "value": "..."
4434 },
4435 {
4436 "type": "SYMBOL",
4437 "name": "expression"
4438 }
4439 ]
4440 },
4441 {
4442 "type": "BLANK"
4443 }
4444 ]
4445 }
4446 ]
4447 }
4448 ]
4449 }
4450 }
4451 ]
4452 },
4453 {
4454 "type": "CHOICE",
4455 "members": [
4456 {
4457 "type": "STRING",
4458 "value": ","
4459 },
4460 {
4461 "type": "BLANK"
4462 }
4463 ]
4464 }
4465 ]
4466 },
4467 {
4468 "type": "STRING",
4469 "value": "else"
4470 }
4471 ]
4472 }
4473 ]
4474 },
4475 "type_expression": {
4476 "type": "PREC_RIGHT",
4477 "value": 0,
4478 "content": {
4479 "type": "CHOICE",
4480 "members": [
4481 {
4482 "type": "SYMBOL",
4483 "name": "anonymous_struct_initializer"
4484 },
4485 {
4486 "type": "SYMBOL",
4487 "name": "struct_initializer"
4488 },
4489 {
4490 "type": "SYMBOL",
4491 "name": "labeled_type_expression"
4492 },
4493 {
4494 "type": "SYMBOL",
4495 "name": "error_set_declaration"
4496 },
4497 {
4498 "type": "SYMBOL",
4499 "name": "parenthesized_expression"
4500 },
4501 {
4502 "type": "SYMBOL",
4503 "name": "primary_type_expression"
4504 }
4505 ]
4506 }
4507 },
4508 "primary_type_expression": {
4509 "type": "CHOICE",
4510 "members": [
4511 {
4512 "type": "SYMBOL",
4513 "name": "nullable_type"
4514 },
4515 {
4516 "type": "SYMBOL",
4517 "name": "anyframe_type"
4518 },
4519 {
4520 "type": "SYMBOL",
4521 "name": "slice_type"
4522 },
4523 {
4524 "type": "SYMBOL",
4525 "name": "pointer_type"
4526 },
4527 {
4528 "type": "SYMBOL",
4529 "name": "array_type"
4530 },
4531 {
4532 "type": "SYMBOL",
4533 "name": "error_union_type"
4534 },
4535 {
4536 "type": "SYMBOL",
4537 "name": "builtin_function"
4538 },
4539 {
4540 "type": "SYMBOL",
4541 "name": "character"
4542 },
4543 {
4544 "type": "SYMBOL",
4545 "name": "field_expression"
4546 },
4547 {
4548 "type": "SYMBOL",
4549 "name": "index_expression"
4550 },
4551 {
4552 "type": "SYMBOL",
4553 "name": "dereference_expression"
4554 },
4555 {
4556 "type": "SYMBOL",
4557 "name": "null_coercion_expression"
4558 },
4559 {
4560 "type": "SYMBOL",
4561 "name": "range_expression"
4562 },
4563 {
4564 "type": "SYMBOL",
4565 "name": "call_expression"
4566 },
4567 {
4568 "type": "PREC_RIGHT",
4569 "value": 0,
4570 "content": {
4571 "type": "ALIAS",
4572 "content": {
4573 "type": "SYMBOL",
4574 "name": "_function_prototype"
4575 },
4576 "named": true,
4577 "value": "function_signature"
4578 }
4579 },
4580 {
4581 "type": "SYMBOL",
4582 "name": "identifier"
4583 },
4584 {
4585 "type": "SYMBOL",
4586 "name": "float"
4587 },
4588 {
4589 "type": "SYMBOL",
4590 "name": "integer"
4591 },
4592 {
4593 "type": "SYMBOL",
4594 "name": "boolean"
4595 },
4596 {
4597 "type": "SYMBOL",
4598 "name": "error_type"
4599 },
4600 {
4601 "type": "STRING",
4602 "value": "anyframe"
4603 },
4604 {
4605 "type": "STRING",
4606 "value": "unreachable"
4607 },
4608 {
4609 "type": "STRING",
4610 "value": "undefined"
4611 },
4612 {
4613 "type": "STRING",
4614 "value": "null"
4615 },
4616 {
4617 "type": "SYMBOL",
4618 "name": "string"
4619 },
4620 {
4621 "type": "SYMBOL",
4622 "name": "multiline_string"
4623 },
4624 {
4625 "type": "SYMBOL",
4626 "name": "builtin_type"
4627 },
4628 {
4629 "type": "SYMBOL",
4630 "name": "struct_declaration"
4631 },
4632 {
4633 "type": "SYMBOL",
4634 "name": "opaque_declaration"
4635 },
4636 {
4637 "type": "SYMBOL",
4638 "name": "enum_declaration"
4639 },
4640 {
4641 "type": "SYMBOL",
4642 "name": "union_declaration"
4643 },
4644 {
4645 "type": "SYMBOL",
4646 "name": "switch_expression"
4647 }
4648 ]
4649 },
4650 "nullable_type": {
4651 "type": "PREC",
4652 "value": 1,
4653 "content": {
4654 "type": "SEQ",
4655 "members": [
4656 {
4657 "type": "STRING",
4658 "value": "?"
4659 },
4660 {
4661 "type": "CHOICE",
4662 "members": [
4663 {
4664 "type": "SYMBOL",
4665 "name": "type_expression"
4666 },
4667 {
4668 "type": "SYMBOL",
4669 "name": "if_type_expression"
4670 },
4671 {
4672 "type": "SYMBOL",
4673 "name": "comptime_type_expression"
4674 }
4675 ]
4676 }
4677 ]
4678 }
4679 },
4680 "anyframe_type": {
4681 "type": "PREC",
4682 "value": 1,
4683 "content": {
4684 "type": "SEQ",
4685 "members": [
4686 {
4687 "type": "STRING",
4688 "value": "anyframe"
4689 },
4690 {
4691 "type": "STRING",
4692 "value": "->"
4693 },
4694 {
4695 "type": "SYMBOL",
4696 "name": "type_expression"
4697 }
4698 ]
4699 }
4700 },
4701 "slice_type": {
4702 "type": "PREC_RIGHT",
4703 "value": 1,
4704 "content": {
4705 "type": "SEQ",
4706 "members": [
4707 {
4708 "type": "STRING",
4709 "value": "["
4710 },
4711 {
4712 "type": "CHOICE",
4713 "members": [
4714 {
4715 "type": "SEQ",
4716 "members": [
4717 {
4718 "type": "STRING",
4719 "value": ":"
4720 },
4721 {
4722 "type": "FIELD",
4723 "name": "sentinel",
4724 "content": {
4725 "type": "SYMBOL",
4726 "name": "expression"
4727 }
4728 }
4729 ]
4730 },
4731 {
4732 "type": "BLANK"
4733 }
4734 ]
4735 },
4736 {
4737 "type": "STRING",
4738 "value": "]"
4739 },
4740 {
4741 "type": "REPEAT",
4742 "content": {
4743 "type": "CHOICE",
4744 "members": [
4745 {
4746 "type": "SYMBOL",
4747 "name": "byte_alignment"
4748 },
4749 {
4750 "type": "SYMBOL",
4751 "name": "address_space"
4752 },
4753 {
4754 "type": "STRING",
4755 "value": "const"
4756 },
4757 {
4758 "type": "STRING",
4759 "value": "volatile"
4760 },
4761 {
4762 "type": "STRING",
4763 "value": "allowzero"
4764 }
4765 ]
4766 }
4767 },
4768 {
4769 "type": "SYMBOL",
4770 "name": "type_expression"
4771 }
4772 ]
4773 }
4774 },
4775 "pointer_type": {
4776 "type": "PREC_RIGHT",
4777 "value": 1,
4778 "content": {
4779 "type": "SEQ",
4780 "members": [
4781 {
4782 "type": "CHOICE",
4783 "members": [
4784 {
4785 "type": "STRING",
4786 "value": "*"
4787 },
4788 {
4789 "type": "SEQ",
4790 "members": [
4791 {
4792 "type": "STRING",
4793 "value": "["
4794 },
4795 {
4796 "type": "STRING",
4797 "value": "*"
4798 },
4799 {
4800 "type": "CHOICE",
4801 "members": [
4802 {
4803 "type": "CHOICE",
4804 "members": [
4805 {
4806 "type": "STRING",
4807 "value": "c"
4808 },
4809 {
4810 "type": "SEQ",
4811 "members": [
4812 {
4813 "type": "STRING",
4814 "value": ":"
4815 },
4816 {
4817 "type": "SYMBOL",
4818 "name": "expression"
4819 }
4820 ]
4821 }
4822 ]
4823 },
4824 {
4825 "type": "BLANK"
4826 }
4827 ]
4828 },
4829 {
4830 "type": "STRING",
4831 "value": "]"
4832 }
4833 ]
4834 }
4835 ]
4836 },
4837 {
4838 "type": "REPEAT",
4839 "content": {
4840 "type": "CHOICE",
4841 "members": [
4842 {
4843 "type": "SYMBOL",
4844 "name": "address_space"
4845 },
4846 {
4847 "type": "SEQ",
4848 "members": [
4849 {
4850 "type": "STRING",
4851 "value": "align"
4852 },
4853 {
4854 "type": "STRING",
4855 "value": "("
4856 },
4857 {
4858 "type": "SYMBOL",
4859 "name": "expression"
4860 },
4861 {
4862 "type": "CHOICE",
4863 "members": [
4864 {
4865 "type": "SEQ",
4866 "members": [
4867 {
4868 "type": "STRING",
4869 "value": ":"
4870 },
4871 {
4872 "type": "SYMBOL",
4873 "name": "expression"
4874 },
4875 {
4876 "type": "STRING",
4877 "value": ":"
4878 },
4879 {
4880 "type": "SYMBOL",
4881 "name": "expression"
4882 }
4883 ]
4884 },
4885 {
4886 "type": "BLANK"
4887 }
4888 ]
4889 },
4890 {
4891 "type": "STRING",
4892 "value": ")"
4893 }
4894 ]
4895 },
4896 {
4897 "type": "STRING",
4898 "value": "const"
4899 },
4900 {
4901 "type": "STRING",
4902 "value": "volatile"
4903 },
4904 {
4905 "type": "STRING",
4906 "value": "allowzero"
4907 }
4908 ]
4909 }
4910 },
4911 {
4912 "type": "SYMBOL",
4913 "name": "type_expression"
4914 }
4915 ]
4916 }
4917 },
4918 "array_type": {
4919 "type": "PREC",
4920 "value": 1,
4921 "content": {
4922 "type": "SEQ",
4923 "members": [
4924 {
4925 "type": "STRING",
4926 "value": "["
4927 },
4928 {
4929 "type": "SYMBOL",
4930 "name": "expression"
4931 },
4932 {
4933 "type": "CHOICE",
4934 "members": [
4935 {
4936 "type": "SEQ",
4937 "members": [
4938 {
4939 "type": "STRING",
4940 "value": ":"
4941 },
4942 {
4943 "type": "SYMBOL",
4944 "name": "expression"
4945 }
4946 ]
4947 },
4948 {
4949 "type": "BLANK"
4950 }
4951 ]
4952 },
4953 {
4954 "type": "STRING",
4955 "value": "]"
4956 },
4957 {
4958 "type": "SYMBOL",
4959 "name": "type_expression"
4960 }
4961 ]
4962 }
4963 },
4964 "error_union_type": {
4965 "type": "PREC_RIGHT",
4966 "value": 2,
4967 "content": {
4968 "type": "SEQ",
4969 "members": [
4970 {
4971 "type": "CHOICE",
4972 "members": [
4973 {
4974 "type": "FIELD",
4975 "name": "error",
4976 "content": {
4977 "type": "SYMBOL",
4978 "name": "type_expression"
4979 }
4980 },
4981 {
4982 "type": "BLANK"
4983 }
4984 ]
4985 },
4986 {
4987 "type": "STRING",
4988 "value": "!"
4989 },
4990 {
4991 "type": "FIELD",
4992 "name": "ok",
4993 "content": {
4994 "type": "SYMBOL",
4995 "name": "type_expression"
4996 }
4997 }
4998 ]
4999 }
5000 },
5001 "field_expression": {
5002 "type": "PREC",
5003 "value": 10,
5004 "content": {
5005 "type": "SEQ",
5006 "members": [
5007 {
5008 "type": "CHOICE",
5009 "members": [
5010 {
5011 "type": "FIELD",
5012 "name": "object",
5013 "content": {
5014 "type": "SYMBOL",
5015 "name": "expression"
5016 }
5017 },
5018 {
5019 "type": "BLANK"
5020 }
5021 ]
5022 },
5023 {
5024 "type": "STRING",
5025 "value": "."
5026 },
5027 {
5028 "type": "FIELD",
5029 "name": "member",
5030 "content": {
5031 "type": "SYMBOL",
5032 "name": "identifier"
5033 }
5034 }
5035 ]
5036 }
5037 },
5038 "index_expression": {
5039 "type": "PREC",
5040 "value": 10,
5041 "content": {
5042 "type": "SEQ",
5043 "members": [
5044 {
5045 "type": "FIELD",
5046 "name": "object",
5047 "content": {
5048 "type": "SYMBOL",
5049 "name": "expression"
5050 }
5051 },
5052 {
5053 "type": "STRING",
5054 "value": "["
5055 },
5056 {
5057 "type": "FIELD",
5058 "name": "index",
5059 "content": {
5060 "type": "SYMBOL",
5061 "name": "expression"
5062 }
5063 },
5064 {
5065 "type": "CHOICE",
5066 "members": [
5067 {
5068 "type": "SEQ",
5069 "members": [
5070 {
5071 "type": "STRING",
5072 "value": ":"
5073 },
5074 {
5075 "type": "FIELD",
5076 "name": "sentinel",
5077 "content": {
5078 "type": "SYMBOL",
5079 "name": "expression"
5080 }
5081 }
5082 ]
5083 },
5084 {
5085 "type": "BLANK"
5086 }
5087 ]
5088 },
5089 {
5090 "type": "STRING",
5091 "value": "]"
5092 }
5093 ]
5094 }
5095 },
5096 "dereference_expression": {
5097 "type": "PREC",
5098 "value": 10,
5099 "content": {
5100 "type": "SEQ",
5101 "members": [
5102 {
5103 "type": "SYMBOL",
5104 "name": "expression"
5105 },
5106 {
5107 "type": "STRING",
5108 "value": ".*"
5109 }
5110 ]
5111 }
5112 },
5113 "null_coercion_expression": {
5114 "type": "PREC",
5115 "value": 10,
5116 "content": {
5117 "type": "SEQ",
5118 "members": [
5119 {
5120 "type": "SYMBOL",
5121 "name": "expression"
5122 },
5123 {
5124 "type": "STRING",
5125 "value": ".?"
5126 }
5127 ]
5128 }
5129 },
5130 "range_expression": {
5131 "type": "PREC_RIGHT",
5132 "value": 10,
5133 "content": {
5134 "type": "SEQ",
5135 "members": [
5136 {
5137 "type": "FIELD",
5138 "name": "left",
5139 "content": {
5140 "type": "SYMBOL",
5141 "name": "expression"
5142 }
5143 },
5144 {
5145 "type": "STRING",
5146 "value": ".."
5147 },
5148 {
5149 "type": "CHOICE",
5150 "members": [
5151 {
5152 "type": "FIELD",
5153 "name": "right",
5154 "content": {
5155 "type": "SYMBOL",
5156 "name": "expression"
5157 }
5158 },
5159 {
5160 "type": "BLANK"
5161 }
5162 ]
5163 }
5164 ]
5165 }
5166 },
5167 "call_expression": {
5168 "type": "PREC",
5169 "value": 10,
5170 "content": {
5171 "type": "SEQ",
5172 "members": [
5173 {
5174 "type": "FIELD",
5175 "name": "function",
5176 "content": {
5177 "type": "SYMBOL",
5178 "name": "expression"
5179 }
5180 },
5181 {
5182 "type": "STRING",
5183 "value": "("
5184 },
5185 {
5186 "type": "CHOICE",
5187 "members": [
5188 {
5189 "type": "SEQ",
5190 "members": [
5191 {
5192 "type": "SEQ",
5193 "members": [
5194 {
5195 "type": "SYMBOL",
5196 "name": "expression"
5197 },
5198 {
5199 "type": "REPEAT",
5200 "content": {
5201 "type": "SEQ",
5202 "members": [
5203 {
5204 "type": "STRING",
5205 "value": ","
5206 },
5207 {
5208 "type": "SYMBOL",
5209 "name": "expression"
5210 }
5211 ]
5212 }
5213 }
5214 ]
5215 },
5216 {
5217 "type": "CHOICE",
5218 "members": [
5219 {
5220 "type": "STRING",
5221 "value": ","
5222 },
5223 {
5224 "type": "BLANK"
5225 }
5226 ]
5227 }
5228 ]
5229 },
5230 {
5231 "type": "BLANK"
5232 }
5233 ]
5234 },
5235 {
5236 "type": "STRING",
5237 "value": ")"
5238 }
5239 ]
5240 }
5241 },
5242 "anonymous_struct_initializer": {
5243 "type": "SEQ",
5244 "members": [
5245 {
5246 "type": "STRING",
5247 "value": "."
5248 },
5249 {
5250 "type": "SYMBOL",
5251 "name": "initializer_list"
5252 }
5253 ]
5254 },
5255 "struct_initializer": {
5256 "type": "PREC",
5257 "value": -1,
5258 "content": {
5259 "type": "SEQ",
5260 "members": [
5261 {
5262 "type": "SYMBOL",
5263 "name": "primary_type_expression"
5264 },
5265 {
5266 "type": "SYMBOL",
5267 "name": "initializer_list"
5268 }
5269 ]
5270 }
5271 },
5272 "initializer_list": {
5273 "type": "SEQ",
5274 "members": [
5275 {
5276 "type": "STRING",
5277 "value": "{"
5278 },
5279 {
5280 "type": "CHOICE",
5281 "members": [
5282 {
5283 "type": "CHOICE",
5284 "members": [
5285 {
5286 "type": "SEQ",
5287 "members": [
5288 {
5289 "type": "SEQ",
5290 "members": [
5291 {
5292 "type": "SYMBOL",
5293 "name": "field_initializer"
5294 },
5295 {
5296 "type": "REPEAT",
5297 "content": {
5298 "type": "SEQ",
5299 "members": [
5300 {
5301 "type": "STRING",
5302 "value": ","
5303 },
5304 {
5305 "type": "SYMBOL",
5306 "name": "field_initializer"
5307 }
5308 ]
5309 }
5310 }
5311 ]
5312 },
5313 {
5314 "type": "CHOICE",
5315 "members": [
5316 {
5317 "type": "STRING",
5318 "value": ","
5319 },
5320 {
5321 "type": "BLANK"
5322 }
5323 ]
5324 }
5325 ]
5326 },
5327 {
5328 "type": "BLANK"
5329 }
5330 ]
5331 },
5332 {
5333 "type": "CHOICE",
5334 "members": [
5335 {
5336 "type": "SEQ",
5337 "members": [
5338 {
5339 "type": "SEQ",
5340 "members": [
5341 {
5342 "type": "SYMBOL",
5343 "name": "expression"
5344 },
5345 {
5346 "type": "REPEAT",
5347 "content": {
5348 "type": "SEQ",
5349 "members": [
5350 {
5351 "type": "STRING",
5352 "value": ","
5353 },
5354 {
5355 "type": "SYMBOL",
5356 "name": "expression"
5357 }
5358 ]
5359 }
5360 }
5361 ]
5362 },
5363 {
5364 "type": "CHOICE",
5365 "members": [
5366 {
5367 "type": "STRING",
5368 "value": ","
5369 },
5370 {
5371 "type": "BLANK"
5372 }
5373 ]
5374 }
5375 ]
5376 },
5377 {
5378 "type": "BLANK"
5379 }
5380 ]
5381 }
5382 ]
5383 },
5384 {
5385 "type": "STRING",
5386 "value": "}"
5387 }
5388 ]
5389 },
5390 "field_initializer": {
5391 "type": "SEQ",
5392 "members": [
5393 {
5394 "type": "STRING",
5395 "value": "."
5396 },
5397 {
5398 "type": "SYMBOL",
5399 "name": "identifier"
5400 },
5401 {
5402 "type": "STRING",
5403 "value": "="
5404 },
5405 {
5406 "type": "SYMBOL",
5407 "name": "expression"
5408 }
5409 ]
5410 },
5411 "labeled_type_expression": {
5412 "type": "SEQ",
5413 "members": [
5414 {
5415 "type": "SYMBOL",
5416 "name": "block_label"
5417 },
5418 {
5419 "type": "SYMBOL",
5420 "name": "block"
5421 }
5422 ]
5423 },
5424 "comptime_type_expression": {
5425 "type": "SEQ",
5426 "members": [
5427 {
5428 "type": "STRING",
5429 "value": "comptime"
5430 },
5431 {
5432 "type": "SYMBOL",
5433 "name": "type_expression"
5434 }
5435 ]
5436 },
5437 "if_type_expression": {
5438 "type": "PREC_RIGHT",
5439 "value": 0,
5440 "content": {
5441 "type": "SEQ",
5442 "members": [
5443 {
5444 "type": "SYMBOL",
5445 "name": "_if_prefix"
5446 },
5447 {
5448 "type": "SYMBOL",
5449 "name": "type_expression"
5450 },
5451 {
5452 "type": "CHOICE",
5453 "members": [
5454 {
5455 "type": "SEQ",
5456 "members": [
5457 {
5458 "type": "STRING",
5459 "value": "else"
5460 },
5461 {
5462 "type": "CHOICE",
5463 "members": [
5464 {
5465 "type": "SYMBOL",
5466 "name": "payload"
5467 },
5468 {
5469 "type": "BLANK"
5470 }
5471 ]
5472 },
5473 {
5474 "type": "SYMBOL",
5475 "name": "type_expression"
5476 }
5477 ]
5478 },
5479 {
5480 "type": "BLANK"
5481 }
5482 ]
5483 }
5484 ]
5485 }
5486 },
5487 "parenthesized_expression": {
5488 "type": "SEQ",
5489 "members": [
5490 {
5491 "type": "STRING",
5492 "value": "("
5493 },
5494 {
5495 "type": "SYMBOL",
5496 "name": "expression"
5497 },
5498 {
5499 "type": "STRING",
5500 "value": ")"
5501 }
5502 ]
5503 },
5504 "block_label": {
5505 "type": "PREC",
5506 "value": -1,
5507 "content": {
5508 "type": "SEQ",
5509 "members": [
5510 {
5511 "type": "CHOICE",
5512 "members": [
5513 {
5514 "type": "SYMBOL",
5515 "name": "identifier"
5516 },
5517 {
5518 "type": "ALIAS",
5519 "content": {
5520 "type": "SYMBOL",
5521 "name": "builtin_type"
5522 },
5523 "named": true,
5524 "value": "identifier"
5525 }
5526 ]
5527 },
5528 {
5529 "type": "STRING",
5530 "value": ":"
5531 }
5532 ]
5533 }
5534 },
5535 "break_label": {
5536 "type": "SEQ",
5537 "members": [
5538 {
5539 "type": "STRING",
5540 "value": ":"
5541 },
5542 {
5543 "type": "SYMBOL",
5544 "name": "identifier"
5545 }
5546 ]
5547 },
5548 "arguments": {
5549 "type": "SEQ",
5550 "members": [
5551 {
5552 "type": "STRING",
5553 "value": "("
5554 },
5555 {
5556 "type": "CHOICE",
5557 "members": [
5558 {
5559 "type": "SEQ",
5560 "members": [
5561 {
5562 "type": "SEQ",
5563 "members": [
5564 {
5565 "type": "SYMBOL",
5566 "name": "expression"
5567 },
5568 {
5569 "type": "REPEAT",
5570 "content": {
5571 "type": "SEQ",
5572 "members": [
5573 {
5574 "type": "STRING",
5575 "value": ","
5576 },
5577 {
5578 "type": "SYMBOL",
5579 "name": "expression"
5580 }
5581 ]
5582 }
5583 }
5584 ]
5585 },
5586 {
5587 "type": "CHOICE",
5588 "members": [
5589 {
5590 "type": "STRING",
5591 "value": ","
5592 },
5593 {
5594 "type": "BLANK"
5595 }
5596 ]
5597 }
5598 ]
5599 },
5600 {
5601 "type": "BLANK"
5602 }
5603 ]
5604 },
5605 {
5606 "type": "STRING",
5607 "value": ")"
5608 }
5609 ]
5610 },
5611 "builtin_function": {
5612 "type": "SEQ",
5613 "members": [
5614 {
5615 "type": "SYMBOL",
5616 "name": "builtin_identifier"
5617 },
5618 {
5619 "type": "SYMBOL",
5620 "name": "arguments"
5621 }
5622 ]
5623 },
5624 "string": {
5625 "type": "SEQ",
5626 "members": [
5627 {
5628 "type": "STRING",
5629 "value": "\""
5630 },
5631 {
5632 "type": "REPEAT",
5633 "content": {
5634 "type": "CHOICE",
5635 "members": [
5636 {
5637 "type": "ALIAS",
5638 "content": {
5639 "type": "IMMEDIATE_TOKEN",
5640 "content": {
5641 "type": "PREC",
5642 "value": 1,
5643 "content": {
5644 "type": "PATTERN",
5645 "value": "[^\\\\\"\\n]+"
5646 }
5647 }
5648 },
5649 "named": true,
5650 "value": "string_content"
5651 },
5652 {
5653 "type": "SYMBOL",
5654 "name": "escape_sequence"
5655 }
5656 ]
5657 }
5658 },
5659 {
5660 "type": "STRING",
5661 "value": "\""
5662 }
5663 ]
5664 },
5665 "multiline_string": {
5666 "type": "PREC_RIGHT",
5667 "value": 0,
5668 "content": {
5669 "type": "REPEAT1",
5670 "content": {
5671 "type": "TOKEN",
5672 "content": {
5673 "type": "SEQ",
5674 "members": [
5675 {
5676 "type": "STRING",
5677 "value": "\\\\"
5678 },
5679 {
5680 "type": "PATTERN",
5681 "value": "[^\\n]*"
5682 }
5683 ]
5684 }
5685 }
5686 }
5687 },
5688 "escape_sequence": {
5689 "type": "TOKEN",
5690 "content": {
5691 "type": "PREC",
5692 "value": 1,
5693 "content": {
5694 "type": "SEQ",
5695 "members": [
5696 {
5697 "type": "STRING",
5698 "value": "\\"
5699 },
5700 {
5701 "type": "CHOICE",
5702 "members": [
5703 {
5704 "type": "PATTERN",
5705 "value": "[^xuU]"
5706 },
5707 {
5708 "type": "PATTERN",
5709 "value": "\\d{2,3}"
5710 },
5711 {
5712 "type": "PATTERN",
5713 "value": "x[0-9a-fA-F]{2,}"
5714 },
5715 {
5716 "type": "PATTERN",
5717 "value": "u\\{[0-9a-fA-F]{1,6}\\}"
5718 }
5719 ]
5720 }
5721 ]
5722 }
5723 }
5724 },
5725 "character": {
5726 "type": "SEQ",
5727 "members": [
5728 {
5729 "type": "STRING",
5730 "value": "'"
5731 },
5732 {
5733 "type": "CHOICE",
5734 "members": [
5735 {
5736 "type": "ALIAS",
5737 "content": {
5738 "type": "PATTERN",
5739 "value": "[^'\\n]"
5740 },
5741 "named": true,
5742 "value": "character_content"
5743 },
5744 {
5745 "type": "SYMBOL",
5746 "name": "escape_sequence"
5747 }
5748 ]
5749 },
5750 {
5751 "type": "STRING",
5752 "value": "'"
5753 }
5754 ]
5755 },
5756 "integer": {
5757 "type": "TOKEN",
5758 "content": {
5759 "type": "CHOICE",
5760 "members": [
5761 {
5762 "type": "SEQ",
5763 "members": [
5764 {
5765 "type": "STRING",
5766 "value": "0x"
5767 },
5768 {
5769 "type": "SEQ",
5770 "members": [
5771 {
5772 "type": "REPEAT1",
5773 "content": {
5774 "type": "PATTERN",
5775 "value": "[0-9A-Fa-f]"
5776 }
5777 },
5778 {
5779 "type": "REPEAT",
5780 "content": {
5781 "type": "SEQ",
5782 "members": [
5783 {
5784 "type": "STRING",
5785 "value": "_"
5786 },
5787 {
5788 "type": "REPEAT1",
5789 "content": {
5790 "type": "PATTERN",
5791 "value": "[0-9A-Fa-f]"
5792 }
5793 }
5794 ]
5795 }
5796 }
5797 ]
5798 }
5799 ]
5800 },
5801 {
5802 "type": "SEQ",
5803 "members": [
5804 {
5805 "type": "STRING",
5806 "value": "0o"
5807 },
5808 {
5809 "type": "SEQ",
5810 "members": [
5811 {
5812 "type": "REPEAT1",
5813 "content": {
5814 "type": "PATTERN",
5815 "value": "[0-7]"
5816 }
5817 },
5818 {
5819 "type": "REPEAT",
5820 "content": {
5821 "type": "SEQ",
5822 "members": [
5823 {
5824 "type": "STRING",
5825 "value": "_"
5826 },
5827 {
5828 "type": "REPEAT1",
5829 "content": {
5830 "type": "PATTERN",
5831 "value": "[0-7]"
5832 }
5833 }
5834 ]
5835 }
5836 }
5837 ]
5838 }
5839 ]
5840 },
5841 {
5842 "type": "SEQ",
5843 "members": [
5844 {
5845 "type": "STRING",
5846 "value": "0b"
5847 },
5848 {
5849 "type": "SEQ",
5850 "members": [
5851 {
5852 "type": "REPEAT1",
5853 "content": {
5854 "type": "PATTERN",
5855 "value": "[0-1]"
5856 }
5857 },
5858 {
5859 "type": "REPEAT",
5860 "content": {
5861 "type": "SEQ",
5862 "members": [
5863 {
5864 "type": "STRING",
5865 "value": "_"
5866 },
5867 {
5868 "type": "REPEAT1",
5869 "content": {
5870 "type": "PATTERN",
5871 "value": "[0-1]"
5872 }
5873 }
5874 ]
5875 }
5876 }
5877 ]
5878 }
5879 ]
5880 },
5881 {
5882 "type": "SEQ",
5883 "members": [
5884 {
5885 "type": "REPEAT1",
5886 "content": {
5887 "type": "PATTERN",
5888 "value": "[0-9]"
5889 }
5890 },
5891 {
5892 "type": "REPEAT",
5893 "content": {
5894 "type": "SEQ",
5895 "members": [
5896 {
5897 "type": "STRING",
5898 "value": "_"
5899 },
5900 {
5901 "type": "REPEAT1",
5902 "content": {
5903 "type": "PATTERN",
5904 "value": "[0-9]"
5905 }
5906 }
5907 ]
5908 }
5909 }
5910 ]
5911 }
5912 ]
5913 }
5914 },
5915 "float": {
5916 "type": "TOKEN",
5917 "content": {
5918 "type": "CHOICE",
5919 "members": [
5920 {
5921 "type": "SEQ",
5922 "members": [
5923 {
5924 "type": "STRING",
5925 "value": "0x"
5926 },
5927 {
5928 "type": "SEQ",
5929 "members": [
5930 {
5931 "type": "REPEAT1",
5932 "content": {
5933 "type": "PATTERN",
5934 "value": "[0-9A-Fa-f]"
5935 }
5936 },
5937 {
5938 "type": "REPEAT",
5939 "content": {
5940 "type": "SEQ",
5941 "members": [
5942 {
5943 "type": "STRING",
5944 "value": "_"
5945 },
5946 {
5947 "type": "REPEAT1",
5948 "content": {
5949 "type": "PATTERN",
5950 "value": "[0-9A-Fa-f]"
5951 }
5952 }
5953 ]
5954 }
5955 }
5956 ]
5957 },
5958 {
5959 "type": "STRING",
5960 "value": "."
5961 },
5962 {
5963 "type": "SEQ",
5964 "members": [
5965 {
5966 "type": "REPEAT1",
5967 "content": {
5968 "type": "PATTERN",
5969 "value": "[0-9A-Fa-f]"
5970 }
5971 },
5972 {
5973 "type": "REPEAT",
5974 "content": {
5975 "type": "SEQ",
5976 "members": [
5977 {
5978 "type": "STRING",
5979 "value": "_"
5980 },
5981 {
5982 "type": "REPEAT1",
5983 "content": {
5984 "type": "PATTERN",
5985 "value": "[0-9A-Fa-f]"
5986 }
5987 }
5988 ]
5989 }
5990 }
5991 ]
5992 },
5993 {
5994 "type": "CHOICE",
5995 "members": [
5996 {
5997 "type": "SEQ",
5998 "members": [
5999 {
6000 "type": "PATTERN",
6001 "value": "[pP][+-]?"
6002 },
6003 {
6004 "type": "SEQ",
6005 "members": [
6006 {
6007 "type": "REPEAT1",
6008 "content": {
6009 "type": "PATTERN",
6010 "value": "[0-9]"
6011 }
6012 },
6013 {
6014 "type": "REPEAT",
6015 "content": {
6016 "type": "SEQ",
6017 "members": [
6018 {
6019 "type": "STRING",
6020 "value": "_"
6021 },
6022 {
6023 "type": "REPEAT1",
6024 "content": {
6025 "type": "PATTERN",
6026 "value": "[0-9]"
6027 }
6028 }
6029 ]
6030 }
6031 }
6032 ]
6033 }
6034 ]
6035 },
6036 {
6037 "type": "BLANK"
6038 }
6039 ]
6040 }
6041 ]
6042 },
6043 {
6044 "type": "SEQ",
6045 "members": [
6046 {
6047 "type": "SEQ",
6048 "members": [
6049 {
6050 "type": "REPEAT1",
6051 "content": {
6052 "type": "PATTERN",
6053 "value": "[0-9]"
6054 }
6055 },
6056 {
6057 "type": "REPEAT",
6058 "content": {
6059 "type": "SEQ",
6060 "members": [
6061 {
6062 "type": "STRING",
6063 "value": "_"
6064 },
6065 {
6066 "type": "REPEAT1",
6067 "content": {
6068 "type": "PATTERN",
6069 "value": "[0-9]"
6070 }
6071 }
6072 ]
6073 }
6074 }
6075 ]
6076 },
6077 {
6078 "type": "STRING",
6079 "value": "."
6080 },
6081 {
6082 "type": "SEQ",
6083 "members": [
6084 {
6085 "type": "REPEAT1",
6086 "content": {
6087 "type": "PATTERN",
6088 "value": "[0-9]"
6089 }
6090 },
6091 {
6092 "type": "REPEAT",
6093 "content": {
6094 "type": "SEQ",
6095 "members": [
6096 {
6097 "type": "STRING",
6098 "value": "_"
6099 },
6100 {
6101 "type": "REPEAT1",
6102 "content": {
6103 "type": "PATTERN",
6104 "value": "[0-9]"
6105 }
6106 }
6107 ]
6108 }
6109 }
6110 ]
6111 },
6112 {
6113 "type": "CHOICE",
6114 "members": [
6115 {
6116 "type": "SEQ",
6117 "members": [
6118 {
6119 "type": "PATTERN",
6120 "value": "[eE][+-]?"
6121 },
6122 {
6123 "type": "SEQ",
6124 "members": [
6125 {
6126 "type": "REPEAT1",
6127 "content": {
6128 "type": "PATTERN",
6129 "value": "[0-9]"
6130 }
6131 },
6132 {
6133 "type": "REPEAT",
6134 "content": {
6135 "type": "SEQ",
6136 "members": [
6137 {
6138 "type": "STRING",
6139 "value": "_"
6140 },
6141 {
6142 "type": "REPEAT1",
6143 "content": {
6144 "type": "PATTERN",
6145 "value": "[0-9]"
6146 }
6147 }
6148 ]
6149 }
6150 }
6151 ]
6152 }
6153 ]
6154 },
6155 {
6156 "type": "BLANK"
6157 }
6158 ]
6159 }
6160 ]
6161 },
6162 {
6163 "type": "SEQ",
6164 "members": [
6165 {
6166 "type": "STRING",
6167 "value": "0x"
6168 },
6169 {
6170 "type": "SEQ",
6171 "members": [
6172 {
6173 "type": "REPEAT1",
6174 "content": {
6175 "type": "PATTERN",
6176 "value": "[0-9A-Fa-f]"
6177 }
6178 },
6179 {
6180 "type": "REPEAT",
6181 "content": {
6182 "type": "SEQ",
6183 "members": [
6184 {
6185 "type": "STRING",
6186 "value": "_"
6187 },
6188 {
6189 "type": "REPEAT1",
6190 "content": {
6191 "type": "PATTERN",
6192 "value": "[0-9A-Fa-f]"
6193 }
6194 }
6195 ]
6196 }
6197 }
6198 ]
6199 },
6200 {
6201 "type": "PATTERN",
6202 "value": "[pP][+-]?"
6203 },
6204 {
6205 "type": "SEQ",
6206 "members": [
6207 {
6208 "type": "REPEAT1",
6209 "content": {
6210 "type": "PATTERN",
6211 "value": "[0-9]"
6212 }
6213 },
6214 {
6215 "type": "REPEAT",
6216 "content": {
6217 "type": "SEQ",
6218 "members": [
6219 {
6220 "type": "STRING",
6221 "value": "_"
6222 },
6223 {
6224 "type": "REPEAT1",
6225 "content": {
6226 "type": "PATTERN",
6227 "value": "[0-9]"
6228 }
6229 }
6230 ]
6231 }
6232 }
6233 ]
6234 }
6235 ]
6236 },
6237 {
6238 "type": "SEQ",
6239 "members": [
6240 {
6241 "type": "SEQ",
6242 "members": [
6243 {
6244 "type": "REPEAT1",
6245 "content": {
6246 "type": "PATTERN",
6247 "value": "[0-9]"
6248 }
6249 },
6250 {
6251 "type": "REPEAT",
6252 "content": {
6253 "type": "SEQ",
6254 "members": [
6255 {
6256 "type": "STRING",
6257 "value": "_"
6258 },
6259 {
6260 "type": "REPEAT1",
6261 "content": {
6262 "type": "PATTERN",
6263 "value": "[0-9]"
6264 }
6265 }
6266 ]
6267 }
6268 }
6269 ]
6270 },
6271 {
6272 "type": "PATTERN",
6273 "value": "[eE][+-]?"
6274 },
6275 {
6276 "type": "SEQ",
6277 "members": [
6278 {
6279 "type": "REPEAT1",
6280 "content": {
6281 "type": "PATTERN",
6282 "value": "[0-9]"
6283 }
6284 },
6285 {
6286 "type": "REPEAT",
6287 "content": {
6288 "type": "SEQ",
6289 "members": [
6290 {
6291 "type": "STRING",
6292 "value": "_"
6293 },
6294 {
6295 "type": "REPEAT1",
6296 "content": {
6297 "type": "PATTERN",
6298 "value": "[0-9]"
6299 }
6300 }
6301 ]
6302 }
6303 }
6304 ]
6305 }
6306 ]
6307 }
6308 ]
6309 }
6310 },
6311 "boolean": {
6312 "type": "CHOICE",
6313 "members": [
6314 {
6315 "type": "STRING",
6316 "value": "true"
6317 },
6318 {
6319 "type": "STRING",
6320 "value": "false"
6321 }
6322 ]
6323 },
6324 "builtin_type": {
6325 "type": "CHOICE",
6326 "members": [
6327 {
6328 "type": "STRING",
6329 "value": "bool"
6330 },
6331 {
6332 "type": "STRING",
6333 "value": "f16"
6334 },
6335 {
6336 "type": "STRING",
6337 "value": "f32"
6338 },
6339 {
6340 "type": "STRING",
6341 "value": "f64"
6342 },
6343 {
6344 "type": "STRING",
6345 "value": "f128"
6346 },
6347 {
6348 "type": "STRING",
6349 "value": "void"
6350 },
6351 {
6352 "type": "STRING",
6353 "value": "type"
6354 },
6355 {
6356 "type": "STRING",
6357 "value": "anyerror"
6358 },
6359 {
6360 "type": "STRING",
6361 "value": "anyopaque"
6362 },
6363 {
6364 "type": "STRING",
6365 "value": "anytype"
6366 },
6367 {
6368 "type": "STRING",
6369 "value": "noreturn"
6370 },
6371 {
6372 "type": "STRING",
6373 "value": "isize"
6374 },
6375 {
6376 "type": "STRING",
6377 "value": "usize"
6378 },
6379 {
6380 "type": "STRING",
6381 "value": "comptime_int"
6382 },
6383 {
6384 "type": "STRING",
6385 "value": "comptime_float"
6386 },
6387 {
6388 "type": "STRING",
6389 "value": "c_short"
6390 },
6391 {
6392 "type": "STRING",
6393 "value": "c_ushort"
6394 },
6395 {
6396 "type": "STRING",
6397 "value": "c_int"
6398 },
6399 {
6400 "type": "STRING",
6401 "value": "c_uint"
6402 },
6403 {
6404 "type": "STRING",
6405 "value": "c_long"
6406 },
6407 {
6408 "type": "STRING",
6409 "value": "c_ulong"
6410 },
6411 {
6412 "type": "STRING",
6413 "value": "c_longlong"
6414 },
6415 {
6416 "type": "STRING",
6417 "value": "c_ulonglong"
6418 },
6419 {
6420 "type": "STRING",
6421 "value": "c_longdouble"
6422 },
6423 {
6424 "type": "PATTERN",
6425 "value": "(i|u)[1-9][0-9]*"
6426 }
6427 ]
6428 },
6429 "error_type": {
6430 "type": "SEQ",
6431 "members": [
6432 {
6433 "type": "STRING",
6434 "value": "error"
6435 },
6436 {
6437 "type": "STRING",
6438 "value": "."
6439 },
6440 {
6441 "type": "SYMBOL",
6442 "name": "identifier"
6443 }
6444 ]
6445 },
6446 "builtin_identifier": {
6447 "type": "PATTERN",
6448 "value": "@[A-Za-z_][A-Za-z0-9_]*"
6449 },
6450 "identifier": {
6451 "type": "CHOICE",
6452 "members": [
6453 {
6454 "type": "SYMBOL",
6455 "name": "_identifier"
6456 },
6457 {
6458 "type": "SEQ",
6459 "members": [
6460 {
6461 "type": "STRING",
6462 "value": "@"
6463 },
6464 {
6465 "type": "SYMBOL",
6466 "name": "string"
6467 }
6468 ]
6469 }
6470 ]
6471 },
6472 "_identifier": {
6473 "type": "PATTERN",
6474 "value": "[A-Za-z_][A-Za-z0-9_]*"
6475 },
6476 "_reserved_identifier": {
6477 "type": "CHOICE",
6478 "members": [
6479 {
6480 "type": "STRING",
6481 "value": "undefined"
6482 },
6483 {
6484 "type": "STRING",
6485 "value": "null"
6486 },
6487 {
6488 "type": "STRING",
6489 "value": "true"
6490 },
6491 {
6492 "type": "STRING",
6493 "value": "false"
6494 }
6495 ]
6496 },
6497 "comment": {
6498 "type": "TOKEN",
6499 "content": {
6500 "type": "SEQ",
6501 "members": [
6502 {
6503 "type": "STRING",
6504 "value": "//"
6505 },
6506 {
6507 "type": "PATTERN",
6508 "value": ".*"
6509 }
6510 ]
6511 }
6512 }
6513 },
6514 "extras": [
6515 {
6516 "type": "SYMBOL",
6517 "name": "comment"
6518 },
6519 {
6520 "type": "PATTERN",
6521 "value": "\\s"
6522 }
6523 ],
6524 "conflicts": [
6525 [
6526 "for_expression"
6527 ],
6528 [
6529 "while_expression"
6530 ],
6531 [
6532 "expression",
6533 "_function_prototype"
6534 ],
6535 [
6536 "expression",
6537 "if_type_expression"
6538 ],
6539 [
6540 "comptime_type_expression",
6541 "expression"
6542 ],
6543 [
6544 "comptime_type_expression",
6545 "parameter"
6546 ]
6547 ],
6548 "precedences": [
6549 [
6550 {
6551 "type": "SYMBOL",
6552 "name": "container_field"
6553 },
6554 {
6555 "type": "SYMBOL",
6556 "name": "type_expression"
6557 }
6558 ]
6559 ],
6560 "externals": [],
6561 "inline": [
6562 "_reserved_identifier"
6563 ],
6564 "supertypes": [
6565 "statement",
6566 "expression",
6567 "type_expression",
6568 "primary_type_expression"
6569 ]
6570}