1{
2 "0": "c",
3 "1": "p",
4 "2": "p",
5 "name": "cuda",
6 "word": "identifier",
7 "rules": {
8 "translation_unit": {
9 "type": "REPEAT",
10 "content": {
11 "type": "SYMBOL",
12 "name": "_top_level_item"
13 }
14 },
15 "_top_level_item": {
16 "type": "CHOICE",
17 "members": [
18 {
19 "type": "SYMBOL",
20 "name": "function_definition"
21 },
22 {
23 "type": "SYMBOL",
24 "name": "linkage_specification"
25 },
26 {
27 "type": "SYMBOL",
28 "name": "declaration"
29 },
30 {
31 "type": "SYMBOL",
32 "name": "_top_level_statement"
33 },
34 {
35 "type": "SYMBOL",
36 "name": "attributed_statement"
37 },
38 {
39 "type": "SYMBOL",
40 "name": "type_definition"
41 },
42 {
43 "type": "SYMBOL",
44 "name": "_empty_declaration"
45 },
46 {
47 "type": "SYMBOL",
48 "name": "preproc_if"
49 },
50 {
51 "type": "SYMBOL",
52 "name": "preproc_ifdef"
53 },
54 {
55 "type": "SYMBOL",
56 "name": "preproc_include"
57 },
58 {
59 "type": "SYMBOL",
60 "name": "preproc_def"
61 },
62 {
63 "type": "SYMBOL",
64 "name": "preproc_function_def"
65 },
66 {
67 "type": "SYMBOL",
68 "name": "preproc_call"
69 },
70 {
71 "type": "SYMBOL",
72 "name": "namespace_definition"
73 },
74 {
75 "type": "SYMBOL",
76 "name": "concept_definition"
77 },
78 {
79 "type": "SYMBOL",
80 "name": "namespace_alias_definition"
81 },
82 {
83 "type": "SYMBOL",
84 "name": "using_declaration"
85 },
86 {
87 "type": "SYMBOL",
88 "name": "alias_declaration"
89 },
90 {
91 "type": "SYMBOL",
92 "name": "static_assert_declaration"
93 },
94 {
95 "type": "SYMBOL",
96 "name": "template_declaration"
97 },
98 {
99 "type": "SYMBOL",
100 "name": "template_instantiation"
101 },
102 {
103 "type": "ALIAS",
104 "content": {
105 "type": "SYMBOL",
106 "name": "constructor_or_destructor_definition"
107 },
108 "named": true,
109 "value": "function_definition"
110 },
111 {
112 "type": "ALIAS",
113 "content": {
114 "type": "SYMBOL",
115 "name": "operator_cast_definition"
116 },
117 "named": true,
118 "value": "function_definition"
119 },
120 {
121 "type": "ALIAS",
122 "content": {
123 "type": "SYMBOL",
124 "name": "operator_cast_declaration"
125 },
126 "named": true,
127 "value": "declaration"
128 }
129 ]
130 },
131 "_block_item": {
132 "type": "CHOICE",
133 "members": [
134 {
135 "type": "SYMBOL",
136 "name": "function_definition"
137 },
138 {
139 "type": "SYMBOL",
140 "name": "linkage_specification"
141 },
142 {
143 "type": "SYMBOL",
144 "name": "declaration"
145 },
146 {
147 "type": "SYMBOL",
148 "name": "statement"
149 },
150 {
151 "type": "SYMBOL",
152 "name": "attributed_statement"
153 },
154 {
155 "type": "SYMBOL",
156 "name": "type_definition"
157 },
158 {
159 "type": "SYMBOL",
160 "name": "_empty_declaration"
161 },
162 {
163 "type": "SYMBOL",
164 "name": "preproc_if"
165 },
166 {
167 "type": "SYMBOL",
168 "name": "preproc_ifdef"
169 },
170 {
171 "type": "SYMBOL",
172 "name": "preproc_include"
173 },
174 {
175 "type": "SYMBOL",
176 "name": "preproc_def"
177 },
178 {
179 "type": "SYMBOL",
180 "name": "preproc_function_def"
181 },
182 {
183 "type": "SYMBOL",
184 "name": "preproc_call"
185 },
186 {
187 "type": "SYMBOL",
188 "name": "namespace_definition"
189 },
190 {
191 "type": "SYMBOL",
192 "name": "concept_definition"
193 },
194 {
195 "type": "SYMBOL",
196 "name": "namespace_alias_definition"
197 },
198 {
199 "type": "SYMBOL",
200 "name": "using_declaration"
201 },
202 {
203 "type": "SYMBOL",
204 "name": "alias_declaration"
205 },
206 {
207 "type": "SYMBOL",
208 "name": "static_assert_declaration"
209 },
210 {
211 "type": "SYMBOL",
212 "name": "template_declaration"
213 },
214 {
215 "type": "SYMBOL",
216 "name": "template_instantiation"
217 },
218 {
219 "type": "ALIAS",
220 "content": {
221 "type": "SYMBOL",
222 "name": "constructor_or_destructor_definition"
223 },
224 "named": true,
225 "value": "function_definition"
226 },
227 {
228 "type": "ALIAS",
229 "content": {
230 "type": "SYMBOL",
231 "name": "operator_cast_definition"
232 },
233 "named": true,
234 "value": "function_definition"
235 },
236 {
237 "type": "ALIAS",
238 "content": {
239 "type": "SYMBOL",
240 "name": "operator_cast_declaration"
241 },
242 "named": true,
243 "value": "declaration"
244 }
245 ]
246 },
247 "preproc_include": {
248 "type": "SEQ",
249 "members": [
250 {
251 "type": "ALIAS",
252 "content": {
253 "type": "PATTERN",
254 "value": "#[ \t]*include"
255 },
256 "named": false,
257 "value": "#include"
258 },
259 {
260 "type": "FIELD",
261 "name": "path",
262 "content": {
263 "type": "CHOICE",
264 "members": [
265 {
266 "type": "SYMBOL",
267 "name": "string_literal"
268 },
269 {
270 "type": "SYMBOL",
271 "name": "system_lib_string"
272 },
273 {
274 "type": "SYMBOL",
275 "name": "identifier"
276 },
277 {
278 "type": "ALIAS",
279 "content": {
280 "type": "SYMBOL",
281 "name": "preproc_call_expression"
282 },
283 "named": true,
284 "value": "call_expression"
285 }
286 ]
287 }
288 },
289 {
290 "type": "IMMEDIATE_TOKEN",
291 "content": {
292 "type": "PATTERN",
293 "value": "\\r?\\n"
294 }
295 }
296 ]
297 },
298 "preproc_def": {
299 "type": "SEQ",
300 "members": [
301 {
302 "type": "ALIAS",
303 "content": {
304 "type": "PATTERN",
305 "value": "#[ \t]*define"
306 },
307 "named": false,
308 "value": "#define"
309 },
310 {
311 "type": "FIELD",
312 "name": "name",
313 "content": {
314 "type": "SYMBOL",
315 "name": "identifier"
316 }
317 },
318 {
319 "type": "FIELD",
320 "name": "value",
321 "content": {
322 "type": "CHOICE",
323 "members": [
324 {
325 "type": "SYMBOL",
326 "name": "preproc_arg"
327 },
328 {
329 "type": "BLANK"
330 }
331 ]
332 }
333 },
334 {
335 "type": "IMMEDIATE_TOKEN",
336 "content": {
337 "type": "PATTERN",
338 "value": "\\r?\\n"
339 }
340 }
341 ]
342 },
343 "preproc_function_def": {
344 "type": "SEQ",
345 "members": [
346 {
347 "type": "ALIAS",
348 "content": {
349 "type": "PATTERN",
350 "value": "#[ \t]*define"
351 },
352 "named": false,
353 "value": "#define"
354 },
355 {
356 "type": "FIELD",
357 "name": "name",
358 "content": {
359 "type": "SYMBOL",
360 "name": "identifier"
361 }
362 },
363 {
364 "type": "FIELD",
365 "name": "parameters",
366 "content": {
367 "type": "SYMBOL",
368 "name": "preproc_params"
369 }
370 },
371 {
372 "type": "FIELD",
373 "name": "value",
374 "content": {
375 "type": "CHOICE",
376 "members": [
377 {
378 "type": "SYMBOL",
379 "name": "preproc_arg"
380 },
381 {
382 "type": "BLANK"
383 }
384 ]
385 }
386 },
387 {
388 "type": "IMMEDIATE_TOKEN",
389 "content": {
390 "type": "PATTERN",
391 "value": "\\r?\\n"
392 }
393 }
394 ]
395 },
396 "preproc_params": {
397 "type": "SEQ",
398 "members": [
399 {
400 "type": "IMMEDIATE_TOKEN",
401 "content": {
402 "type": "STRING",
403 "value": "("
404 }
405 },
406 {
407 "type": "CHOICE",
408 "members": [
409 {
410 "type": "SEQ",
411 "members": [
412 {
413 "type": "CHOICE",
414 "members": [
415 {
416 "type": "SYMBOL",
417 "name": "identifier"
418 },
419 {
420 "type": "STRING",
421 "value": "..."
422 }
423 ]
424 },
425 {
426 "type": "REPEAT",
427 "content": {
428 "type": "SEQ",
429 "members": [
430 {
431 "type": "STRING",
432 "value": ","
433 },
434 {
435 "type": "CHOICE",
436 "members": [
437 {
438 "type": "SYMBOL",
439 "name": "identifier"
440 },
441 {
442 "type": "STRING",
443 "value": "..."
444 }
445 ]
446 }
447 ]
448 }
449 }
450 ]
451 },
452 {
453 "type": "BLANK"
454 }
455 ]
456 },
457 {
458 "type": "STRING",
459 "value": ")"
460 }
461 ]
462 },
463 "preproc_call": {
464 "type": "SEQ",
465 "members": [
466 {
467 "type": "FIELD",
468 "name": "directive",
469 "content": {
470 "type": "SYMBOL",
471 "name": "preproc_directive"
472 }
473 },
474 {
475 "type": "FIELD",
476 "name": "argument",
477 "content": {
478 "type": "CHOICE",
479 "members": [
480 {
481 "type": "SYMBOL",
482 "name": "preproc_arg"
483 },
484 {
485 "type": "BLANK"
486 }
487 ]
488 }
489 },
490 {
491 "type": "IMMEDIATE_TOKEN",
492 "content": {
493 "type": "PATTERN",
494 "value": "\\r?\\n"
495 }
496 }
497 ]
498 },
499 "preproc_if": {
500 "type": "PREC",
501 "value": 0,
502 "content": {
503 "type": "SEQ",
504 "members": [
505 {
506 "type": "ALIAS",
507 "content": {
508 "type": "PATTERN",
509 "value": "#[ \t]*if"
510 },
511 "named": false,
512 "value": "#if"
513 },
514 {
515 "type": "FIELD",
516 "name": "condition",
517 "content": {
518 "type": "SYMBOL",
519 "name": "_preproc_expression"
520 }
521 },
522 {
523 "type": "STRING",
524 "value": "\n"
525 },
526 {
527 "type": "REPEAT",
528 "content": {
529 "type": "SYMBOL",
530 "name": "_block_item"
531 }
532 },
533 {
534 "type": "FIELD",
535 "name": "alternative",
536 "content": {
537 "type": "CHOICE",
538 "members": [
539 {
540 "type": "CHOICE",
541 "members": [
542 {
543 "type": "SYMBOL",
544 "name": "preproc_else"
545 },
546 {
547 "type": "SYMBOL",
548 "name": "preproc_elif"
549 },
550 {
551 "type": "SYMBOL",
552 "name": "preproc_elifdef"
553 }
554 ]
555 },
556 {
557 "type": "BLANK"
558 }
559 ]
560 }
561 },
562 {
563 "type": "ALIAS",
564 "content": {
565 "type": "PATTERN",
566 "value": "#[ \t]*endif"
567 },
568 "named": false,
569 "value": "#endif"
570 }
571 ]
572 }
573 },
574 "preproc_ifdef": {
575 "type": "PREC",
576 "value": 0,
577 "content": {
578 "type": "SEQ",
579 "members": [
580 {
581 "type": "CHOICE",
582 "members": [
583 {
584 "type": "ALIAS",
585 "content": {
586 "type": "PATTERN",
587 "value": "#[ \t]*ifdef"
588 },
589 "named": false,
590 "value": "#ifdef"
591 },
592 {
593 "type": "ALIAS",
594 "content": {
595 "type": "PATTERN",
596 "value": "#[ \t]*ifndef"
597 },
598 "named": false,
599 "value": "#ifndef"
600 }
601 ]
602 },
603 {
604 "type": "FIELD",
605 "name": "name",
606 "content": {
607 "type": "SYMBOL",
608 "name": "identifier"
609 }
610 },
611 {
612 "type": "REPEAT",
613 "content": {
614 "type": "SYMBOL",
615 "name": "_block_item"
616 }
617 },
618 {
619 "type": "FIELD",
620 "name": "alternative",
621 "content": {
622 "type": "CHOICE",
623 "members": [
624 {
625 "type": "CHOICE",
626 "members": [
627 {
628 "type": "SYMBOL",
629 "name": "preproc_else"
630 },
631 {
632 "type": "SYMBOL",
633 "name": "preproc_elif"
634 },
635 {
636 "type": "SYMBOL",
637 "name": "preproc_elifdef"
638 }
639 ]
640 },
641 {
642 "type": "BLANK"
643 }
644 ]
645 }
646 },
647 {
648 "type": "ALIAS",
649 "content": {
650 "type": "PATTERN",
651 "value": "#[ \t]*endif"
652 },
653 "named": false,
654 "value": "#endif"
655 }
656 ]
657 }
658 },
659 "preproc_else": {
660 "type": "PREC",
661 "value": 0,
662 "content": {
663 "type": "SEQ",
664 "members": [
665 {
666 "type": "ALIAS",
667 "content": {
668 "type": "PATTERN",
669 "value": "#[ \t]*else"
670 },
671 "named": false,
672 "value": "#else"
673 },
674 {
675 "type": "REPEAT",
676 "content": {
677 "type": "SYMBOL",
678 "name": "_block_item"
679 }
680 }
681 ]
682 }
683 },
684 "preproc_elif": {
685 "type": "PREC",
686 "value": 0,
687 "content": {
688 "type": "SEQ",
689 "members": [
690 {
691 "type": "ALIAS",
692 "content": {
693 "type": "PATTERN",
694 "value": "#[ \t]*elif"
695 },
696 "named": false,
697 "value": "#elif"
698 },
699 {
700 "type": "FIELD",
701 "name": "condition",
702 "content": {
703 "type": "SYMBOL",
704 "name": "_preproc_expression"
705 }
706 },
707 {
708 "type": "STRING",
709 "value": "\n"
710 },
711 {
712 "type": "REPEAT",
713 "content": {
714 "type": "SYMBOL",
715 "name": "_block_item"
716 }
717 },
718 {
719 "type": "FIELD",
720 "name": "alternative",
721 "content": {
722 "type": "CHOICE",
723 "members": [
724 {
725 "type": "CHOICE",
726 "members": [
727 {
728 "type": "SYMBOL",
729 "name": "preproc_else"
730 },
731 {
732 "type": "SYMBOL",
733 "name": "preproc_elif"
734 },
735 {
736 "type": "SYMBOL",
737 "name": "preproc_elifdef"
738 }
739 ]
740 },
741 {
742 "type": "BLANK"
743 }
744 ]
745 }
746 }
747 ]
748 }
749 },
750 "preproc_elifdef": {
751 "type": "PREC",
752 "value": 0,
753 "content": {
754 "type": "SEQ",
755 "members": [
756 {
757 "type": "CHOICE",
758 "members": [
759 {
760 "type": "ALIAS",
761 "content": {
762 "type": "PATTERN",
763 "value": "#[ \t]*elifdef"
764 },
765 "named": false,
766 "value": "#elifdef"
767 },
768 {
769 "type": "ALIAS",
770 "content": {
771 "type": "PATTERN",
772 "value": "#[ \t]*elifndef"
773 },
774 "named": false,
775 "value": "#elifndef"
776 }
777 ]
778 },
779 {
780 "type": "FIELD",
781 "name": "name",
782 "content": {
783 "type": "SYMBOL",
784 "name": "identifier"
785 }
786 },
787 {
788 "type": "REPEAT",
789 "content": {
790 "type": "SYMBOL",
791 "name": "_block_item"
792 }
793 },
794 {
795 "type": "FIELD",
796 "name": "alternative",
797 "content": {
798 "type": "CHOICE",
799 "members": [
800 {
801 "type": "CHOICE",
802 "members": [
803 {
804 "type": "SYMBOL",
805 "name": "preproc_else"
806 },
807 {
808 "type": "SYMBOL",
809 "name": "preproc_elif"
810 },
811 {
812 "type": "SYMBOL",
813 "name": "preproc_elifdef"
814 }
815 ]
816 },
817 {
818 "type": "BLANK"
819 }
820 ]
821 }
822 }
823 ]
824 }
825 },
826 "preproc_if_in_field_declaration_list": {
827 "type": "PREC",
828 "value": 0,
829 "content": {
830 "type": "SEQ",
831 "members": [
832 {
833 "type": "ALIAS",
834 "content": {
835 "type": "PATTERN",
836 "value": "#[ \t]*if"
837 },
838 "named": false,
839 "value": "#if"
840 },
841 {
842 "type": "FIELD",
843 "name": "condition",
844 "content": {
845 "type": "SYMBOL",
846 "name": "_preproc_expression"
847 }
848 },
849 {
850 "type": "STRING",
851 "value": "\n"
852 },
853 {
854 "type": "REPEAT",
855 "content": {
856 "type": "SYMBOL",
857 "name": "_field_declaration_list_item"
858 }
859 },
860 {
861 "type": "FIELD",
862 "name": "alternative",
863 "content": {
864 "type": "CHOICE",
865 "members": [
866 {
867 "type": "CHOICE",
868 "members": [
869 {
870 "type": "ALIAS",
871 "content": {
872 "type": "SYMBOL",
873 "name": "preproc_else_in_field_declaration_list"
874 },
875 "named": true,
876 "value": "preproc_else"
877 },
878 {
879 "type": "ALIAS",
880 "content": {
881 "type": "SYMBOL",
882 "name": "preproc_elif_in_field_declaration_list"
883 },
884 "named": true,
885 "value": "preproc_elif"
886 },
887 {
888 "type": "ALIAS",
889 "content": {
890 "type": "SYMBOL",
891 "name": "preproc_elifdef_in_field_declaration_list"
892 },
893 "named": true,
894 "value": "preproc_elifdef"
895 }
896 ]
897 },
898 {
899 "type": "BLANK"
900 }
901 ]
902 }
903 },
904 {
905 "type": "ALIAS",
906 "content": {
907 "type": "PATTERN",
908 "value": "#[ \t]*endif"
909 },
910 "named": false,
911 "value": "#endif"
912 }
913 ]
914 }
915 },
916 "preproc_ifdef_in_field_declaration_list": {
917 "type": "PREC",
918 "value": 0,
919 "content": {
920 "type": "SEQ",
921 "members": [
922 {
923 "type": "CHOICE",
924 "members": [
925 {
926 "type": "ALIAS",
927 "content": {
928 "type": "PATTERN",
929 "value": "#[ \t]*ifdef"
930 },
931 "named": false,
932 "value": "#ifdef"
933 },
934 {
935 "type": "ALIAS",
936 "content": {
937 "type": "PATTERN",
938 "value": "#[ \t]*ifndef"
939 },
940 "named": false,
941 "value": "#ifndef"
942 }
943 ]
944 },
945 {
946 "type": "FIELD",
947 "name": "name",
948 "content": {
949 "type": "SYMBOL",
950 "name": "identifier"
951 }
952 },
953 {
954 "type": "REPEAT",
955 "content": {
956 "type": "SYMBOL",
957 "name": "_field_declaration_list_item"
958 }
959 },
960 {
961 "type": "FIELD",
962 "name": "alternative",
963 "content": {
964 "type": "CHOICE",
965 "members": [
966 {
967 "type": "CHOICE",
968 "members": [
969 {
970 "type": "ALIAS",
971 "content": {
972 "type": "SYMBOL",
973 "name": "preproc_else_in_field_declaration_list"
974 },
975 "named": true,
976 "value": "preproc_else"
977 },
978 {
979 "type": "ALIAS",
980 "content": {
981 "type": "SYMBOL",
982 "name": "preproc_elif_in_field_declaration_list"
983 },
984 "named": true,
985 "value": "preproc_elif"
986 },
987 {
988 "type": "ALIAS",
989 "content": {
990 "type": "SYMBOL",
991 "name": "preproc_elifdef_in_field_declaration_list"
992 },
993 "named": true,
994 "value": "preproc_elifdef"
995 }
996 ]
997 },
998 {
999 "type": "BLANK"
1000 }
1001 ]
1002 }
1003 },
1004 {
1005 "type": "ALIAS",
1006 "content": {
1007 "type": "PATTERN",
1008 "value": "#[ \t]*endif"
1009 },
1010 "named": false,
1011 "value": "#endif"
1012 }
1013 ]
1014 }
1015 },
1016 "preproc_else_in_field_declaration_list": {
1017 "type": "PREC",
1018 "value": 0,
1019 "content": {
1020 "type": "SEQ",
1021 "members": [
1022 {
1023 "type": "ALIAS",
1024 "content": {
1025 "type": "PATTERN",
1026 "value": "#[ \t]*else"
1027 },
1028 "named": false,
1029 "value": "#else"
1030 },
1031 {
1032 "type": "REPEAT",
1033 "content": {
1034 "type": "SYMBOL",
1035 "name": "_field_declaration_list_item"
1036 }
1037 }
1038 ]
1039 }
1040 },
1041 "preproc_elif_in_field_declaration_list": {
1042 "type": "PREC",
1043 "value": 0,
1044 "content": {
1045 "type": "SEQ",
1046 "members": [
1047 {
1048 "type": "ALIAS",
1049 "content": {
1050 "type": "PATTERN",
1051 "value": "#[ \t]*elif"
1052 },
1053 "named": false,
1054 "value": "#elif"
1055 },
1056 {
1057 "type": "FIELD",
1058 "name": "condition",
1059 "content": {
1060 "type": "SYMBOL",
1061 "name": "_preproc_expression"
1062 }
1063 },
1064 {
1065 "type": "STRING",
1066 "value": "\n"
1067 },
1068 {
1069 "type": "REPEAT",
1070 "content": {
1071 "type": "SYMBOL",
1072 "name": "_field_declaration_list_item"
1073 }
1074 },
1075 {
1076 "type": "FIELD",
1077 "name": "alternative",
1078 "content": {
1079 "type": "CHOICE",
1080 "members": [
1081 {
1082 "type": "CHOICE",
1083 "members": [
1084 {
1085 "type": "ALIAS",
1086 "content": {
1087 "type": "SYMBOL",
1088 "name": "preproc_else_in_field_declaration_list"
1089 },
1090 "named": true,
1091 "value": "preproc_else"
1092 },
1093 {
1094 "type": "ALIAS",
1095 "content": {
1096 "type": "SYMBOL",
1097 "name": "preproc_elif_in_field_declaration_list"
1098 },
1099 "named": true,
1100 "value": "preproc_elif"
1101 },
1102 {
1103 "type": "ALIAS",
1104 "content": {
1105 "type": "SYMBOL",
1106 "name": "preproc_elifdef_in_field_declaration_list"
1107 },
1108 "named": true,
1109 "value": "preproc_elifdef"
1110 }
1111 ]
1112 },
1113 {
1114 "type": "BLANK"
1115 }
1116 ]
1117 }
1118 }
1119 ]
1120 }
1121 },
1122 "preproc_elifdef_in_field_declaration_list": {
1123 "type": "PREC",
1124 "value": 0,
1125 "content": {
1126 "type": "SEQ",
1127 "members": [
1128 {
1129 "type": "CHOICE",
1130 "members": [
1131 {
1132 "type": "ALIAS",
1133 "content": {
1134 "type": "PATTERN",
1135 "value": "#[ \t]*elifdef"
1136 },
1137 "named": false,
1138 "value": "#elifdef"
1139 },
1140 {
1141 "type": "ALIAS",
1142 "content": {
1143 "type": "PATTERN",
1144 "value": "#[ \t]*elifndef"
1145 },
1146 "named": false,
1147 "value": "#elifndef"
1148 }
1149 ]
1150 },
1151 {
1152 "type": "FIELD",
1153 "name": "name",
1154 "content": {
1155 "type": "SYMBOL",
1156 "name": "identifier"
1157 }
1158 },
1159 {
1160 "type": "REPEAT",
1161 "content": {
1162 "type": "SYMBOL",
1163 "name": "_field_declaration_list_item"
1164 }
1165 },
1166 {
1167 "type": "FIELD",
1168 "name": "alternative",
1169 "content": {
1170 "type": "CHOICE",
1171 "members": [
1172 {
1173 "type": "CHOICE",
1174 "members": [
1175 {
1176 "type": "ALIAS",
1177 "content": {
1178 "type": "SYMBOL",
1179 "name": "preproc_else_in_field_declaration_list"
1180 },
1181 "named": true,
1182 "value": "preproc_else"
1183 },
1184 {
1185 "type": "ALIAS",
1186 "content": {
1187 "type": "SYMBOL",
1188 "name": "preproc_elif_in_field_declaration_list"
1189 },
1190 "named": true,
1191 "value": "preproc_elif"
1192 },
1193 {
1194 "type": "ALIAS",
1195 "content": {
1196 "type": "SYMBOL",
1197 "name": "preproc_elifdef_in_field_declaration_list"
1198 },
1199 "named": true,
1200 "value": "preproc_elifdef"
1201 }
1202 ]
1203 },
1204 {
1205 "type": "BLANK"
1206 }
1207 ]
1208 }
1209 }
1210 ]
1211 }
1212 },
1213 "preproc_if_in_enumerator_list": {
1214 "type": "PREC",
1215 "value": 0,
1216 "content": {
1217 "type": "SEQ",
1218 "members": [
1219 {
1220 "type": "ALIAS",
1221 "content": {
1222 "type": "PATTERN",
1223 "value": "#[ \t]*if"
1224 },
1225 "named": false,
1226 "value": "#if"
1227 },
1228 {
1229 "type": "FIELD",
1230 "name": "condition",
1231 "content": {
1232 "type": "SYMBOL",
1233 "name": "_preproc_expression"
1234 }
1235 },
1236 {
1237 "type": "STRING",
1238 "value": "\n"
1239 },
1240 {
1241 "type": "REPEAT",
1242 "content": {
1243 "type": "SEQ",
1244 "members": [
1245 {
1246 "type": "SYMBOL",
1247 "name": "enumerator"
1248 },
1249 {
1250 "type": "STRING",
1251 "value": ","
1252 }
1253 ]
1254 }
1255 },
1256 {
1257 "type": "FIELD",
1258 "name": "alternative",
1259 "content": {
1260 "type": "CHOICE",
1261 "members": [
1262 {
1263 "type": "CHOICE",
1264 "members": [
1265 {
1266 "type": "ALIAS",
1267 "content": {
1268 "type": "SYMBOL",
1269 "name": "preproc_else_in_enumerator_list"
1270 },
1271 "named": true,
1272 "value": "preproc_else"
1273 },
1274 {
1275 "type": "ALIAS",
1276 "content": {
1277 "type": "SYMBOL",
1278 "name": "preproc_elif_in_enumerator_list"
1279 },
1280 "named": true,
1281 "value": "preproc_elif"
1282 },
1283 {
1284 "type": "ALIAS",
1285 "content": {
1286 "type": "SYMBOL",
1287 "name": "preproc_elifdef_in_enumerator_list"
1288 },
1289 "named": true,
1290 "value": "preproc_elifdef"
1291 }
1292 ]
1293 },
1294 {
1295 "type": "BLANK"
1296 }
1297 ]
1298 }
1299 },
1300 {
1301 "type": "ALIAS",
1302 "content": {
1303 "type": "PATTERN",
1304 "value": "#[ \t]*endif"
1305 },
1306 "named": false,
1307 "value": "#endif"
1308 }
1309 ]
1310 }
1311 },
1312 "preproc_ifdef_in_enumerator_list": {
1313 "type": "PREC",
1314 "value": 0,
1315 "content": {
1316 "type": "SEQ",
1317 "members": [
1318 {
1319 "type": "CHOICE",
1320 "members": [
1321 {
1322 "type": "ALIAS",
1323 "content": {
1324 "type": "PATTERN",
1325 "value": "#[ \t]*ifdef"
1326 },
1327 "named": false,
1328 "value": "#ifdef"
1329 },
1330 {
1331 "type": "ALIAS",
1332 "content": {
1333 "type": "PATTERN",
1334 "value": "#[ \t]*ifndef"
1335 },
1336 "named": false,
1337 "value": "#ifndef"
1338 }
1339 ]
1340 },
1341 {
1342 "type": "FIELD",
1343 "name": "name",
1344 "content": {
1345 "type": "SYMBOL",
1346 "name": "identifier"
1347 }
1348 },
1349 {
1350 "type": "REPEAT",
1351 "content": {
1352 "type": "SEQ",
1353 "members": [
1354 {
1355 "type": "SYMBOL",
1356 "name": "enumerator"
1357 },
1358 {
1359 "type": "STRING",
1360 "value": ","
1361 }
1362 ]
1363 }
1364 },
1365 {
1366 "type": "FIELD",
1367 "name": "alternative",
1368 "content": {
1369 "type": "CHOICE",
1370 "members": [
1371 {
1372 "type": "CHOICE",
1373 "members": [
1374 {
1375 "type": "ALIAS",
1376 "content": {
1377 "type": "SYMBOL",
1378 "name": "preproc_else_in_enumerator_list"
1379 },
1380 "named": true,
1381 "value": "preproc_else"
1382 },
1383 {
1384 "type": "ALIAS",
1385 "content": {
1386 "type": "SYMBOL",
1387 "name": "preproc_elif_in_enumerator_list"
1388 },
1389 "named": true,
1390 "value": "preproc_elif"
1391 },
1392 {
1393 "type": "ALIAS",
1394 "content": {
1395 "type": "SYMBOL",
1396 "name": "preproc_elifdef_in_enumerator_list"
1397 },
1398 "named": true,
1399 "value": "preproc_elifdef"
1400 }
1401 ]
1402 },
1403 {
1404 "type": "BLANK"
1405 }
1406 ]
1407 }
1408 },
1409 {
1410 "type": "ALIAS",
1411 "content": {
1412 "type": "PATTERN",
1413 "value": "#[ \t]*endif"
1414 },
1415 "named": false,
1416 "value": "#endif"
1417 }
1418 ]
1419 }
1420 },
1421 "preproc_else_in_enumerator_list": {
1422 "type": "PREC",
1423 "value": 0,
1424 "content": {
1425 "type": "SEQ",
1426 "members": [
1427 {
1428 "type": "ALIAS",
1429 "content": {
1430 "type": "PATTERN",
1431 "value": "#[ \t]*else"
1432 },
1433 "named": false,
1434 "value": "#else"
1435 },
1436 {
1437 "type": "REPEAT",
1438 "content": {
1439 "type": "SEQ",
1440 "members": [
1441 {
1442 "type": "SYMBOL",
1443 "name": "enumerator"
1444 },
1445 {
1446 "type": "STRING",
1447 "value": ","
1448 }
1449 ]
1450 }
1451 }
1452 ]
1453 }
1454 },
1455 "preproc_elif_in_enumerator_list": {
1456 "type": "PREC",
1457 "value": 0,
1458 "content": {
1459 "type": "SEQ",
1460 "members": [
1461 {
1462 "type": "ALIAS",
1463 "content": {
1464 "type": "PATTERN",
1465 "value": "#[ \t]*elif"
1466 },
1467 "named": false,
1468 "value": "#elif"
1469 },
1470 {
1471 "type": "FIELD",
1472 "name": "condition",
1473 "content": {
1474 "type": "SYMBOL",
1475 "name": "_preproc_expression"
1476 }
1477 },
1478 {
1479 "type": "STRING",
1480 "value": "\n"
1481 },
1482 {
1483 "type": "REPEAT",
1484 "content": {
1485 "type": "SEQ",
1486 "members": [
1487 {
1488 "type": "SYMBOL",
1489 "name": "enumerator"
1490 },
1491 {
1492 "type": "STRING",
1493 "value": ","
1494 }
1495 ]
1496 }
1497 },
1498 {
1499 "type": "FIELD",
1500 "name": "alternative",
1501 "content": {
1502 "type": "CHOICE",
1503 "members": [
1504 {
1505 "type": "CHOICE",
1506 "members": [
1507 {
1508 "type": "ALIAS",
1509 "content": {
1510 "type": "SYMBOL",
1511 "name": "preproc_else_in_enumerator_list"
1512 },
1513 "named": true,
1514 "value": "preproc_else"
1515 },
1516 {
1517 "type": "ALIAS",
1518 "content": {
1519 "type": "SYMBOL",
1520 "name": "preproc_elif_in_enumerator_list"
1521 },
1522 "named": true,
1523 "value": "preproc_elif"
1524 },
1525 {
1526 "type": "ALIAS",
1527 "content": {
1528 "type": "SYMBOL",
1529 "name": "preproc_elifdef_in_enumerator_list"
1530 },
1531 "named": true,
1532 "value": "preproc_elifdef"
1533 }
1534 ]
1535 },
1536 {
1537 "type": "BLANK"
1538 }
1539 ]
1540 }
1541 }
1542 ]
1543 }
1544 },
1545 "preproc_elifdef_in_enumerator_list": {
1546 "type": "PREC",
1547 "value": 0,
1548 "content": {
1549 "type": "SEQ",
1550 "members": [
1551 {
1552 "type": "CHOICE",
1553 "members": [
1554 {
1555 "type": "ALIAS",
1556 "content": {
1557 "type": "PATTERN",
1558 "value": "#[ \t]*elifdef"
1559 },
1560 "named": false,
1561 "value": "#elifdef"
1562 },
1563 {
1564 "type": "ALIAS",
1565 "content": {
1566 "type": "PATTERN",
1567 "value": "#[ \t]*elifndef"
1568 },
1569 "named": false,
1570 "value": "#elifndef"
1571 }
1572 ]
1573 },
1574 {
1575 "type": "FIELD",
1576 "name": "name",
1577 "content": {
1578 "type": "SYMBOL",
1579 "name": "identifier"
1580 }
1581 },
1582 {
1583 "type": "REPEAT",
1584 "content": {
1585 "type": "SEQ",
1586 "members": [
1587 {
1588 "type": "SYMBOL",
1589 "name": "enumerator"
1590 },
1591 {
1592 "type": "STRING",
1593 "value": ","
1594 }
1595 ]
1596 }
1597 },
1598 {
1599 "type": "FIELD",
1600 "name": "alternative",
1601 "content": {
1602 "type": "CHOICE",
1603 "members": [
1604 {
1605 "type": "CHOICE",
1606 "members": [
1607 {
1608 "type": "ALIAS",
1609 "content": {
1610 "type": "SYMBOL",
1611 "name": "preproc_else_in_enumerator_list"
1612 },
1613 "named": true,
1614 "value": "preproc_else"
1615 },
1616 {
1617 "type": "ALIAS",
1618 "content": {
1619 "type": "SYMBOL",
1620 "name": "preproc_elif_in_enumerator_list"
1621 },
1622 "named": true,
1623 "value": "preproc_elif"
1624 },
1625 {
1626 "type": "ALIAS",
1627 "content": {
1628 "type": "SYMBOL",
1629 "name": "preproc_elifdef_in_enumerator_list"
1630 },
1631 "named": true,
1632 "value": "preproc_elifdef"
1633 }
1634 ]
1635 },
1636 {
1637 "type": "BLANK"
1638 }
1639 ]
1640 }
1641 }
1642 ]
1643 }
1644 },
1645 "preproc_if_in_enumerator_list_no_comma": {
1646 "type": "PREC",
1647 "value": -1,
1648 "content": {
1649 "type": "SEQ",
1650 "members": [
1651 {
1652 "type": "ALIAS",
1653 "content": {
1654 "type": "PATTERN",
1655 "value": "#[ \t]*if"
1656 },
1657 "named": false,
1658 "value": "#if"
1659 },
1660 {
1661 "type": "FIELD",
1662 "name": "condition",
1663 "content": {
1664 "type": "SYMBOL",
1665 "name": "_preproc_expression"
1666 }
1667 },
1668 {
1669 "type": "STRING",
1670 "value": "\n"
1671 },
1672 {
1673 "type": "REPEAT",
1674 "content": {
1675 "type": "SYMBOL",
1676 "name": "enumerator"
1677 }
1678 },
1679 {
1680 "type": "FIELD",
1681 "name": "alternative",
1682 "content": {
1683 "type": "CHOICE",
1684 "members": [
1685 {
1686 "type": "CHOICE",
1687 "members": [
1688 {
1689 "type": "ALIAS",
1690 "content": {
1691 "type": "SYMBOL",
1692 "name": "preproc_else_in_enumerator_list_no_comma"
1693 },
1694 "named": true,
1695 "value": "preproc_else"
1696 },
1697 {
1698 "type": "ALIAS",
1699 "content": {
1700 "type": "SYMBOL",
1701 "name": "preproc_elif_in_enumerator_list_no_comma"
1702 },
1703 "named": true,
1704 "value": "preproc_elif"
1705 },
1706 {
1707 "type": "ALIAS",
1708 "content": {
1709 "type": "SYMBOL",
1710 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1711 },
1712 "named": true,
1713 "value": "preproc_elifdef"
1714 }
1715 ]
1716 },
1717 {
1718 "type": "BLANK"
1719 }
1720 ]
1721 }
1722 },
1723 {
1724 "type": "ALIAS",
1725 "content": {
1726 "type": "PATTERN",
1727 "value": "#[ \t]*endif"
1728 },
1729 "named": false,
1730 "value": "#endif"
1731 }
1732 ]
1733 }
1734 },
1735 "preproc_ifdef_in_enumerator_list_no_comma": {
1736 "type": "PREC",
1737 "value": -1,
1738 "content": {
1739 "type": "SEQ",
1740 "members": [
1741 {
1742 "type": "CHOICE",
1743 "members": [
1744 {
1745 "type": "ALIAS",
1746 "content": {
1747 "type": "PATTERN",
1748 "value": "#[ \t]*ifdef"
1749 },
1750 "named": false,
1751 "value": "#ifdef"
1752 },
1753 {
1754 "type": "ALIAS",
1755 "content": {
1756 "type": "PATTERN",
1757 "value": "#[ \t]*ifndef"
1758 },
1759 "named": false,
1760 "value": "#ifndef"
1761 }
1762 ]
1763 },
1764 {
1765 "type": "FIELD",
1766 "name": "name",
1767 "content": {
1768 "type": "SYMBOL",
1769 "name": "identifier"
1770 }
1771 },
1772 {
1773 "type": "REPEAT",
1774 "content": {
1775 "type": "SYMBOL",
1776 "name": "enumerator"
1777 }
1778 },
1779 {
1780 "type": "FIELD",
1781 "name": "alternative",
1782 "content": {
1783 "type": "CHOICE",
1784 "members": [
1785 {
1786 "type": "CHOICE",
1787 "members": [
1788 {
1789 "type": "ALIAS",
1790 "content": {
1791 "type": "SYMBOL",
1792 "name": "preproc_else_in_enumerator_list_no_comma"
1793 },
1794 "named": true,
1795 "value": "preproc_else"
1796 },
1797 {
1798 "type": "ALIAS",
1799 "content": {
1800 "type": "SYMBOL",
1801 "name": "preproc_elif_in_enumerator_list_no_comma"
1802 },
1803 "named": true,
1804 "value": "preproc_elif"
1805 },
1806 {
1807 "type": "ALIAS",
1808 "content": {
1809 "type": "SYMBOL",
1810 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1811 },
1812 "named": true,
1813 "value": "preproc_elifdef"
1814 }
1815 ]
1816 },
1817 {
1818 "type": "BLANK"
1819 }
1820 ]
1821 }
1822 },
1823 {
1824 "type": "ALIAS",
1825 "content": {
1826 "type": "PATTERN",
1827 "value": "#[ \t]*endif"
1828 },
1829 "named": false,
1830 "value": "#endif"
1831 }
1832 ]
1833 }
1834 },
1835 "preproc_else_in_enumerator_list_no_comma": {
1836 "type": "PREC",
1837 "value": -1,
1838 "content": {
1839 "type": "SEQ",
1840 "members": [
1841 {
1842 "type": "ALIAS",
1843 "content": {
1844 "type": "PATTERN",
1845 "value": "#[ \t]*else"
1846 },
1847 "named": false,
1848 "value": "#else"
1849 },
1850 {
1851 "type": "REPEAT",
1852 "content": {
1853 "type": "SYMBOL",
1854 "name": "enumerator"
1855 }
1856 }
1857 ]
1858 }
1859 },
1860 "preproc_elif_in_enumerator_list_no_comma": {
1861 "type": "PREC",
1862 "value": -1,
1863 "content": {
1864 "type": "SEQ",
1865 "members": [
1866 {
1867 "type": "ALIAS",
1868 "content": {
1869 "type": "PATTERN",
1870 "value": "#[ \t]*elif"
1871 },
1872 "named": false,
1873 "value": "#elif"
1874 },
1875 {
1876 "type": "FIELD",
1877 "name": "condition",
1878 "content": {
1879 "type": "SYMBOL",
1880 "name": "_preproc_expression"
1881 }
1882 },
1883 {
1884 "type": "STRING",
1885 "value": "\n"
1886 },
1887 {
1888 "type": "REPEAT",
1889 "content": {
1890 "type": "SYMBOL",
1891 "name": "enumerator"
1892 }
1893 },
1894 {
1895 "type": "FIELD",
1896 "name": "alternative",
1897 "content": {
1898 "type": "CHOICE",
1899 "members": [
1900 {
1901 "type": "CHOICE",
1902 "members": [
1903 {
1904 "type": "ALIAS",
1905 "content": {
1906 "type": "SYMBOL",
1907 "name": "preproc_else_in_enumerator_list_no_comma"
1908 },
1909 "named": true,
1910 "value": "preproc_else"
1911 },
1912 {
1913 "type": "ALIAS",
1914 "content": {
1915 "type": "SYMBOL",
1916 "name": "preproc_elif_in_enumerator_list_no_comma"
1917 },
1918 "named": true,
1919 "value": "preproc_elif"
1920 },
1921 {
1922 "type": "ALIAS",
1923 "content": {
1924 "type": "SYMBOL",
1925 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1926 },
1927 "named": true,
1928 "value": "preproc_elifdef"
1929 }
1930 ]
1931 },
1932 {
1933 "type": "BLANK"
1934 }
1935 ]
1936 }
1937 }
1938 ]
1939 }
1940 },
1941 "preproc_elifdef_in_enumerator_list_no_comma": {
1942 "type": "PREC",
1943 "value": -1,
1944 "content": {
1945 "type": "SEQ",
1946 "members": [
1947 {
1948 "type": "CHOICE",
1949 "members": [
1950 {
1951 "type": "ALIAS",
1952 "content": {
1953 "type": "PATTERN",
1954 "value": "#[ \t]*elifdef"
1955 },
1956 "named": false,
1957 "value": "#elifdef"
1958 },
1959 {
1960 "type": "ALIAS",
1961 "content": {
1962 "type": "PATTERN",
1963 "value": "#[ \t]*elifndef"
1964 },
1965 "named": false,
1966 "value": "#elifndef"
1967 }
1968 ]
1969 },
1970 {
1971 "type": "FIELD",
1972 "name": "name",
1973 "content": {
1974 "type": "SYMBOL",
1975 "name": "identifier"
1976 }
1977 },
1978 {
1979 "type": "REPEAT",
1980 "content": {
1981 "type": "SYMBOL",
1982 "name": "enumerator"
1983 }
1984 },
1985 {
1986 "type": "FIELD",
1987 "name": "alternative",
1988 "content": {
1989 "type": "CHOICE",
1990 "members": [
1991 {
1992 "type": "CHOICE",
1993 "members": [
1994 {
1995 "type": "ALIAS",
1996 "content": {
1997 "type": "SYMBOL",
1998 "name": "preproc_else_in_enumerator_list_no_comma"
1999 },
2000 "named": true,
2001 "value": "preproc_else"
2002 },
2003 {
2004 "type": "ALIAS",
2005 "content": {
2006 "type": "SYMBOL",
2007 "name": "preproc_elif_in_enumerator_list_no_comma"
2008 },
2009 "named": true,
2010 "value": "preproc_elif"
2011 },
2012 {
2013 "type": "ALIAS",
2014 "content": {
2015 "type": "SYMBOL",
2016 "name": "preproc_elifdef_in_enumerator_list_no_comma"
2017 },
2018 "named": true,
2019 "value": "preproc_elifdef"
2020 }
2021 ]
2022 },
2023 {
2024 "type": "BLANK"
2025 }
2026 ]
2027 }
2028 }
2029 ]
2030 }
2031 },
2032 "preproc_arg": {
2033 "type": "TOKEN",
2034 "content": {
2035 "type": "PREC",
2036 "value": -1,
2037 "content": {
2038 "type": "PATTERN",
2039 "value": "\\S([^/\\n]|\\/[^*]|\\\\\\r?\\n)*"
2040 }
2041 }
2042 },
2043 "preproc_directive": {
2044 "type": "PATTERN",
2045 "value": "#[ \\t]*[a-zA-Z0-9]\\w*"
2046 },
2047 "_preproc_expression": {
2048 "type": "CHOICE",
2049 "members": [
2050 {
2051 "type": "SYMBOL",
2052 "name": "identifier"
2053 },
2054 {
2055 "type": "ALIAS",
2056 "content": {
2057 "type": "SYMBOL",
2058 "name": "preproc_call_expression"
2059 },
2060 "named": true,
2061 "value": "call_expression"
2062 },
2063 {
2064 "type": "SYMBOL",
2065 "name": "number_literal"
2066 },
2067 {
2068 "type": "SYMBOL",
2069 "name": "char_literal"
2070 },
2071 {
2072 "type": "SYMBOL",
2073 "name": "preproc_defined"
2074 },
2075 {
2076 "type": "ALIAS",
2077 "content": {
2078 "type": "SYMBOL",
2079 "name": "preproc_unary_expression"
2080 },
2081 "named": true,
2082 "value": "unary_expression"
2083 },
2084 {
2085 "type": "ALIAS",
2086 "content": {
2087 "type": "SYMBOL",
2088 "name": "preproc_binary_expression"
2089 },
2090 "named": true,
2091 "value": "binary_expression"
2092 },
2093 {
2094 "type": "ALIAS",
2095 "content": {
2096 "type": "SYMBOL",
2097 "name": "preproc_parenthesized_expression"
2098 },
2099 "named": true,
2100 "value": "parenthesized_expression"
2101 }
2102 ]
2103 },
2104 "preproc_parenthesized_expression": {
2105 "type": "SEQ",
2106 "members": [
2107 {
2108 "type": "STRING",
2109 "value": "("
2110 },
2111 {
2112 "type": "SYMBOL",
2113 "name": "_preproc_expression"
2114 },
2115 {
2116 "type": "STRING",
2117 "value": ")"
2118 }
2119 ]
2120 },
2121 "preproc_defined": {
2122 "type": "CHOICE",
2123 "members": [
2124 {
2125 "type": "PREC",
2126 "value": 15,
2127 "content": {
2128 "type": "SEQ",
2129 "members": [
2130 {
2131 "type": "STRING",
2132 "value": "defined"
2133 },
2134 {
2135 "type": "STRING",
2136 "value": "("
2137 },
2138 {
2139 "type": "SYMBOL",
2140 "name": "identifier"
2141 },
2142 {
2143 "type": "STRING",
2144 "value": ")"
2145 }
2146 ]
2147 }
2148 },
2149 {
2150 "type": "SEQ",
2151 "members": [
2152 {
2153 "type": "STRING",
2154 "value": "defined"
2155 },
2156 {
2157 "type": "SYMBOL",
2158 "name": "identifier"
2159 }
2160 ]
2161 }
2162 ]
2163 },
2164 "preproc_unary_expression": {
2165 "type": "PREC_LEFT",
2166 "value": 14,
2167 "content": {
2168 "type": "SEQ",
2169 "members": [
2170 {
2171 "type": "FIELD",
2172 "name": "operator",
2173 "content": {
2174 "type": "CHOICE",
2175 "members": [
2176 {
2177 "type": "STRING",
2178 "value": "!"
2179 },
2180 {
2181 "type": "STRING",
2182 "value": "~"
2183 },
2184 {
2185 "type": "STRING",
2186 "value": "-"
2187 },
2188 {
2189 "type": "STRING",
2190 "value": "+"
2191 }
2192 ]
2193 }
2194 },
2195 {
2196 "type": "FIELD",
2197 "name": "argument",
2198 "content": {
2199 "type": "SYMBOL",
2200 "name": "_preproc_expression"
2201 }
2202 }
2203 ]
2204 }
2205 },
2206 "preproc_call_expression": {
2207 "type": "PREC",
2208 "value": 15,
2209 "content": {
2210 "type": "SEQ",
2211 "members": [
2212 {
2213 "type": "FIELD",
2214 "name": "function",
2215 "content": {
2216 "type": "SYMBOL",
2217 "name": "identifier"
2218 }
2219 },
2220 {
2221 "type": "FIELD",
2222 "name": "arguments",
2223 "content": {
2224 "type": "ALIAS",
2225 "content": {
2226 "type": "SYMBOL",
2227 "name": "preproc_argument_list"
2228 },
2229 "named": true,
2230 "value": "argument_list"
2231 }
2232 }
2233 ]
2234 }
2235 },
2236 "preproc_argument_list": {
2237 "type": "SEQ",
2238 "members": [
2239 {
2240 "type": "STRING",
2241 "value": "("
2242 },
2243 {
2244 "type": "CHOICE",
2245 "members": [
2246 {
2247 "type": "SEQ",
2248 "members": [
2249 {
2250 "type": "SYMBOL",
2251 "name": "_preproc_expression"
2252 },
2253 {
2254 "type": "REPEAT",
2255 "content": {
2256 "type": "SEQ",
2257 "members": [
2258 {
2259 "type": "STRING",
2260 "value": ","
2261 },
2262 {
2263 "type": "SYMBOL",
2264 "name": "_preproc_expression"
2265 }
2266 ]
2267 }
2268 }
2269 ]
2270 },
2271 {
2272 "type": "BLANK"
2273 }
2274 ]
2275 },
2276 {
2277 "type": "STRING",
2278 "value": ")"
2279 }
2280 ]
2281 },
2282 "preproc_binary_expression": {
2283 "type": "CHOICE",
2284 "members": [
2285 {
2286 "type": "PREC_LEFT",
2287 "value": 10,
2288 "content": {
2289 "type": "SEQ",
2290 "members": [
2291 {
2292 "type": "FIELD",
2293 "name": "left",
2294 "content": {
2295 "type": "SYMBOL",
2296 "name": "_preproc_expression"
2297 }
2298 },
2299 {
2300 "type": "FIELD",
2301 "name": "operator",
2302 "content": {
2303 "type": "STRING",
2304 "value": "+"
2305 }
2306 },
2307 {
2308 "type": "FIELD",
2309 "name": "right",
2310 "content": {
2311 "type": "SYMBOL",
2312 "name": "_preproc_expression"
2313 }
2314 }
2315 ]
2316 }
2317 },
2318 {
2319 "type": "PREC_LEFT",
2320 "value": 10,
2321 "content": {
2322 "type": "SEQ",
2323 "members": [
2324 {
2325 "type": "FIELD",
2326 "name": "left",
2327 "content": {
2328 "type": "SYMBOL",
2329 "name": "_preproc_expression"
2330 }
2331 },
2332 {
2333 "type": "FIELD",
2334 "name": "operator",
2335 "content": {
2336 "type": "STRING",
2337 "value": "-"
2338 }
2339 },
2340 {
2341 "type": "FIELD",
2342 "name": "right",
2343 "content": {
2344 "type": "SYMBOL",
2345 "name": "_preproc_expression"
2346 }
2347 }
2348 ]
2349 }
2350 },
2351 {
2352 "type": "PREC_LEFT",
2353 "value": 11,
2354 "content": {
2355 "type": "SEQ",
2356 "members": [
2357 {
2358 "type": "FIELD",
2359 "name": "left",
2360 "content": {
2361 "type": "SYMBOL",
2362 "name": "_preproc_expression"
2363 }
2364 },
2365 {
2366 "type": "FIELD",
2367 "name": "operator",
2368 "content": {
2369 "type": "STRING",
2370 "value": "*"
2371 }
2372 },
2373 {
2374 "type": "FIELD",
2375 "name": "right",
2376 "content": {
2377 "type": "SYMBOL",
2378 "name": "_preproc_expression"
2379 }
2380 }
2381 ]
2382 }
2383 },
2384 {
2385 "type": "PREC_LEFT",
2386 "value": 11,
2387 "content": {
2388 "type": "SEQ",
2389 "members": [
2390 {
2391 "type": "FIELD",
2392 "name": "left",
2393 "content": {
2394 "type": "SYMBOL",
2395 "name": "_preproc_expression"
2396 }
2397 },
2398 {
2399 "type": "FIELD",
2400 "name": "operator",
2401 "content": {
2402 "type": "STRING",
2403 "value": "/"
2404 }
2405 },
2406 {
2407 "type": "FIELD",
2408 "name": "right",
2409 "content": {
2410 "type": "SYMBOL",
2411 "name": "_preproc_expression"
2412 }
2413 }
2414 ]
2415 }
2416 },
2417 {
2418 "type": "PREC_LEFT",
2419 "value": 11,
2420 "content": {
2421 "type": "SEQ",
2422 "members": [
2423 {
2424 "type": "FIELD",
2425 "name": "left",
2426 "content": {
2427 "type": "SYMBOL",
2428 "name": "_preproc_expression"
2429 }
2430 },
2431 {
2432 "type": "FIELD",
2433 "name": "operator",
2434 "content": {
2435 "type": "STRING",
2436 "value": "%"
2437 }
2438 },
2439 {
2440 "type": "FIELD",
2441 "name": "right",
2442 "content": {
2443 "type": "SYMBOL",
2444 "name": "_preproc_expression"
2445 }
2446 }
2447 ]
2448 }
2449 },
2450 {
2451 "type": "PREC_LEFT",
2452 "value": 1,
2453 "content": {
2454 "type": "SEQ",
2455 "members": [
2456 {
2457 "type": "FIELD",
2458 "name": "left",
2459 "content": {
2460 "type": "SYMBOL",
2461 "name": "_preproc_expression"
2462 }
2463 },
2464 {
2465 "type": "FIELD",
2466 "name": "operator",
2467 "content": {
2468 "type": "STRING",
2469 "value": "||"
2470 }
2471 },
2472 {
2473 "type": "FIELD",
2474 "name": "right",
2475 "content": {
2476 "type": "SYMBOL",
2477 "name": "_preproc_expression"
2478 }
2479 }
2480 ]
2481 }
2482 },
2483 {
2484 "type": "PREC_LEFT",
2485 "value": 2,
2486 "content": {
2487 "type": "SEQ",
2488 "members": [
2489 {
2490 "type": "FIELD",
2491 "name": "left",
2492 "content": {
2493 "type": "SYMBOL",
2494 "name": "_preproc_expression"
2495 }
2496 },
2497 {
2498 "type": "FIELD",
2499 "name": "operator",
2500 "content": {
2501 "type": "STRING",
2502 "value": "&&"
2503 }
2504 },
2505 {
2506 "type": "FIELD",
2507 "name": "right",
2508 "content": {
2509 "type": "SYMBOL",
2510 "name": "_preproc_expression"
2511 }
2512 }
2513 ]
2514 }
2515 },
2516 {
2517 "type": "PREC_LEFT",
2518 "value": 3,
2519 "content": {
2520 "type": "SEQ",
2521 "members": [
2522 {
2523 "type": "FIELD",
2524 "name": "left",
2525 "content": {
2526 "type": "SYMBOL",
2527 "name": "_preproc_expression"
2528 }
2529 },
2530 {
2531 "type": "FIELD",
2532 "name": "operator",
2533 "content": {
2534 "type": "STRING",
2535 "value": "|"
2536 }
2537 },
2538 {
2539 "type": "FIELD",
2540 "name": "right",
2541 "content": {
2542 "type": "SYMBOL",
2543 "name": "_preproc_expression"
2544 }
2545 }
2546 ]
2547 }
2548 },
2549 {
2550 "type": "PREC_LEFT",
2551 "value": 4,
2552 "content": {
2553 "type": "SEQ",
2554 "members": [
2555 {
2556 "type": "FIELD",
2557 "name": "left",
2558 "content": {
2559 "type": "SYMBOL",
2560 "name": "_preproc_expression"
2561 }
2562 },
2563 {
2564 "type": "FIELD",
2565 "name": "operator",
2566 "content": {
2567 "type": "STRING",
2568 "value": "^"
2569 }
2570 },
2571 {
2572 "type": "FIELD",
2573 "name": "right",
2574 "content": {
2575 "type": "SYMBOL",
2576 "name": "_preproc_expression"
2577 }
2578 }
2579 ]
2580 }
2581 },
2582 {
2583 "type": "PREC_LEFT",
2584 "value": 5,
2585 "content": {
2586 "type": "SEQ",
2587 "members": [
2588 {
2589 "type": "FIELD",
2590 "name": "left",
2591 "content": {
2592 "type": "SYMBOL",
2593 "name": "_preproc_expression"
2594 }
2595 },
2596 {
2597 "type": "FIELD",
2598 "name": "operator",
2599 "content": {
2600 "type": "STRING",
2601 "value": "&"
2602 }
2603 },
2604 {
2605 "type": "FIELD",
2606 "name": "right",
2607 "content": {
2608 "type": "SYMBOL",
2609 "name": "_preproc_expression"
2610 }
2611 }
2612 ]
2613 }
2614 },
2615 {
2616 "type": "PREC_LEFT",
2617 "value": 6,
2618 "content": {
2619 "type": "SEQ",
2620 "members": [
2621 {
2622 "type": "FIELD",
2623 "name": "left",
2624 "content": {
2625 "type": "SYMBOL",
2626 "name": "_preproc_expression"
2627 }
2628 },
2629 {
2630 "type": "FIELD",
2631 "name": "operator",
2632 "content": {
2633 "type": "STRING",
2634 "value": "=="
2635 }
2636 },
2637 {
2638 "type": "FIELD",
2639 "name": "right",
2640 "content": {
2641 "type": "SYMBOL",
2642 "name": "_preproc_expression"
2643 }
2644 }
2645 ]
2646 }
2647 },
2648 {
2649 "type": "PREC_LEFT",
2650 "value": 6,
2651 "content": {
2652 "type": "SEQ",
2653 "members": [
2654 {
2655 "type": "FIELD",
2656 "name": "left",
2657 "content": {
2658 "type": "SYMBOL",
2659 "name": "_preproc_expression"
2660 }
2661 },
2662 {
2663 "type": "FIELD",
2664 "name": "operator",
2665 "content": {
2666 "type": "STRING",
2667 "value": "!="
2668 }
2669 },
2670 {
2671 "type": "FIELD",
2672 "name": "right",
2673 "content": {
2674 "type": "SYMBOL",
2675 "name": "_preproc_expression"
2676 }
2677 }
2678 ]
2679 }
2680 },
2681 {
2682 "type": "PREC_LEFT",
2683 "value": 7,
2684 "content": {
2685 "type": "SEQ",
2686 "members": [
2687 {
2688 "type": "FIELD",
2689 "name": "left",
2690 "content": {
2691 "type": "SYMBOL",
2692 "name": "_preproc_expression"
2693 }
2694 },
2695 {
2696 "type": "FIELD",
2697 "name": "operator",
2698 "content": {
2699 "type": "STRING",
2700 "value": ">"
2701 }
2702 },
2703 {
2704 "type": "FIELD",
2705 "name": "right",
2706 "content": {
2707 "type": "SYMBOL",
2708 "name": "_preproc_expression"
2709 }
2710 }
2711 ]
2712 }
2713 },
2714 {
2715 "type": "PREC_LEFT",
2716 "value": 7,
2717 "content": {
2718 "type": "SEQ",
2719 "members": [
2720 {
2721 "type": "FIELD",
2722 "name": "left",
2723 "content": {
2724 "type": "SYMBOL",
2725 "name": "_preproc_expression"
2726 }
2727 },
2728 {
2729 "type": "FIELD",
2730 "name": "operator",
2731 "content": {
2732 "type": "STRING",
2733 "value": ">="
2734 }
2735 },
2736 {
2737 "type": "FIELD",
2738 "name": "right",
2739 "content": {
2740 "type": "SYMBOL",
2741 "name": "_preproc_expression"
2742 }
2743 }
2744 ]
2745 }
2746 },
2747 {
2748 "type": "PREC_LEFT",
2749 "value": 7,
2750 "content": {
2751 "type": "SEQ",
2752 "members": [
2753 {
2754 "type": "FIELD",
2755 "name": "left",
2756 "content": {
2757 "type": "SYMBOL",
2758 "name": "_preproc_expression"
2759 }
2760 },
2761 {
2762 "type": "FIELD",
2763 "name": "operator",
2764 "content": {
2765 "type": "STRING",
2766 "value": "<="
2767 }
2768 },
2769 {
2770 "type": "FIELD",
2771 "name": "right",
2772 "content": {
2773 "type": "SYMBOL",
2774 "name": "_preproc_expression"
2775 }
2776 }
2777 ]
2778 }
2779 },
2780 {
2781 "type": "PREC_LEFT",
2782 "value": 7,
2783 "content": {
2784 "type": "SEQ",
2785 "members": [
2786 {
2787 "type": "FIELD",
2788 "name": "left",
2789 "content": {
2790 "type": "SYMBOL",
2791 "name": "_preproc_expression"
2792 }
2793 },
2794 {
2795 "type": "FIELD",
2796 "name": "operator",
2797 "content": {
2798 "type": "STRING",
2799 "value": "<"
2800 }
2801 },
2802 {
2803 "type": "FIELD",
2804 "name": "right",
2805 "content": {
2806 "type": "SYMBOL",
2807 "name": "_preproc_expression"
2808 }
2809 }
2810 ]
2811 }
2812 },
2813 {
2814 "type": "PREC_LEFT",
2815 "value": 9,
2816 "content": {
2817 "type": "SEQ",
2818 "members": [
2819 {
2820 "type": "FIELD",
2821 "name": "left",
2822 "content": {
2823 "type": "SYMBOL",
2824 "name": "_preproc_expression"
2825 }
2826 },
2827 {
2828 "type": "FIELD",
2829 "name": "operator",
2830 "content": {
2831 "type": "STRING",
2832 "value": "<<"
2833 }
2834 },
2835 {
2836 "type": "FIELD",
2837 "name": "right",
2838 "content": {
2839 "type": "SYMBOL",
2840 "name": "_preproc_expression"
2841 }
2842 }
2843 ]
2844 }
2845 },
2846 {
2847 "type": "PREC_LEFT",
2848 "value": 9,
2849 "content": {
2850 "type": "SEQ",
2851 "members": [
2852 {
2853 "type": "FIELD",
2854 "name": "left",
2855 "content": {
2856 "type": "SYMBOL",
2857 "name": "_preproc_expression"
2858 }
2859 },
2860 {
2861 "type": "FIELD",
2862 "name": "operator",
2863 "content": {
2864 "type": "STRING",
2865 "value": ">>"
2866 }
2867 },
2868 {
2869 "type": "FIELD",
2870 "name": "right",
2871 "content": {
2872 "type": "SYMBOL",
2873 "name": "_preproc_expression"
2874 }
2875 }
2876 ]
2877 }
2878 }
2879 ]
2880 },
2881 "function_definition": {
2882 "type": "SEQ",
2883 "members": [
2884 {
2885 "type": "CHOICE",
2886 "members": [
2887 {
2888 "type": "SYMBOL",
2889 "name": "ms_call_modifier"
2890 },
2891 {
2892 "type": "BLANK"
2893 }
2894 ]
2895 },
2896 {
2897 "type": "SYMBOL",
2898 "name": "_declaration_specifiers"
2899 },
2900 {
2901 "type": "CHOICE",
2902 "members": [
2903 {
2904 "type": "SYMBOL",
2905 "name": "ms_call_modifier"
2906 },
2907 {
2908 "type": "BLANK"
2909 }
2910 ]
2911 },
2912 {
2913 "type": "FIELD",
2914 "name": "declarator",
2915 "content": {
2916 "type": "SYMBOL",
2917 "name": "_declarator"
2918 }
2919 },
2920 {
2921 "type": "FIELD",
2922 "name": "body",
2923 "content": {
2924 "type": "CHOICE",
2925 "members": [
2926 {
2927 "type": "SYMBOL",
2928 "name": "compound_statement"
2929 },
2930 {
2931 "type": "SYMBOL",
2932 "name": "try_statement"
2933 }
2934 ]
2935 }
2936 }
2937 ]
2938 },
2939 "_old_style_function_definition": {
2940 "type": "SEQ",
2941 "members": [
2942 {
2943 "type": "CHOICE",
2944 "members": [
2945 {
2946 "type": "SYMBOL",
2947 "name": "ms_call_modifier"
2948 },
2949 {
2950 "type": "BLANK"
2951 }
2952 ]
2953 },
2954 {
2955 "type": "SYMBOL",
2956 "name": "_declaration_specifiers"
2957 },
2958 {
2959 "type": "FIELD",
2960 "name": "declarator",
2961 "content": {
2962 "type": "ALIAS",
2963 "content": {
2964 "type": "SYMBOL",
2965 "name": "_old_style_function_declarator"
2966 },
2967 "named": true,
2968 "value": "function_declarator"
2969 }
2970 },
2971 {
2972 "type": "REPEAT",
2973 "content": {
2974 "type": "SYMBOL",
2975 "name": "declaration"
2976 }
2977 },
2978 {
2979 "type": "FIELD",
2980 "name": "body",
2981 "content": {
2982 "type": "SYMBOL",
2983 "name": "compound_statement"
2984 }
2985 }
2986 ]
2987 },
2988 "declaration": {
2989 "type": "SEQ",
2990 "members": [
2991 {
2992 "type": "SYMBOL",
2993 "name": "_declaration_specifiers"
2994 },
2995 {
2996 "type": "SEQ",
2997 "members": [
2998 {
2999 "type": "FIELD",
3000 "name": "declarator",
3001 "content": {
3002 "type": "CHOICE",
3003 "members": [
3004 {
3005 "type": "SEQ",
3006 "members": [
3007 {
3008 "type": "SYMBOL",
3009 "name": "_declarator"
3010 },
3011 {
3012 "type": "CHOICE",
3013 "members": [
3014 {
3015 "type": "SYMBOL",
3016 "name": "gnu_asm_expression"
3017 },
3018 {
3019 "type": "BLANK"
3020 }
3021 ]
3022 }
3023 ]
3024 },
3025 {
3026 "type": "SYMBOL",
3027 "name": "init_declarator"
3028 }
3029 ]
3030 }
3031 },
3032 {
3033 "type": "REPEAT",
3034 "content": {
3035 "type": "SEQ",
3036 "members": [
3037 {
3038 "type": "STRING",
3039 "value": ","
3040 },
3041 {
3042 "type": "FIELD",
3043 "name": "declarator",
3044 "content": {
3045 "type": "CHOICE",
3046 "members": [
3047 {
3048 "type": "SEQ",
3049 "members": [
3050 {
3051 "type": "SYMBOL",
3052 "name": "_declarator"
3053 },
3054 {
3055 "type": "CHOICE",
3056 "members": [
3057 {
3058 "type": "SYMBOL",
3059 "name": "gnu_asm_expression"
3060 },
3061 {
3062 "type": "BLANK"
3063 }
3064 ]
3065 }
3066 ]
3067 },
3068 {
3069 "type": "SYMBOL",
3070 "name": "init_declarator"
3071 }
3072 ]
3073 }
3074 }
3075 ]
3076 }
3077 }
3078 ]
3079 },
3080 {
3081 "type": "STRING",
3082 "value": ";"
3083 }
3084 ]
3085 },
3086 "type_definition": {
3087 "type": "SEQ",
3088 "members": [
3089 {
3090 "type": "CHOICE",
3091 "members": [
3092 {
3093 "type": "STRING",
3094 "value": "__extension__"
3095 },
3096 {
3097 "type": "BLANK"
3098 }
3099 ]
3100 },
3101 {
3102 "type": "STRING",
3103 "value": "typedef"
3104 },
3105 {
3106 "type": "SYMBOL",
3107 "name": "_type_definition_type"
3108 },
3109 {
3110 "type": "SYMBOL",
3111 "name": "_type_definition_declarators"
3112 },
3113 {
3114 "type": "REPEAT",
3115 "content": {
3116 "type": "SYMBOL",
3117 "name": "attribute_specifier"
3118 }
3119 },
3120 {
3121 "type": "STRING",
3122 "value": ";"
3123 }
3124 ]
3125 },
3126 "_type_definition_type": {
3127 "type": "SEQ",
3128 "members": [
3129 {
3130 "type": "REPEAT",
3131 "content": {
3132 "type": "SYMBOL",
3133 "name": "type_qualifier"
3134 }
3135 },
3136 {
3137 "type": "FIELD",
3138 "name": "type",
3139 "content": {
3140 "type": "SYMBOL",
3141 "name": "type_specifier"
3142 }
3143 },
3144 {
3145 "type": "REPEAT",
3146 "content": {
3147 "type": "SYMBOL",
3148 "name": "type_qualifier"
3149 }
3150 }
3151 ]
3152 },
3153 "_type_definition_declarators": {
3154 "type": "SEQ",
3155 "members": [
3156 {
3157 "type": "FIELD",
3158 "name": "declarator",
3159 "content": {
3160 "type": "SYMBOL",
3161 "name": "_type_declarator"
3162 }
3163 },
3164 {
3165 "type": "REPEAT",
3166 "content": {
3167 "type": "SEQ",
3168 "members": [
3169 {
3170 "type": "STRING",
3171 "value": ","
3172 },
3173 {
3174 "type": "FIELD",
3175 "name": "declarator",
3176 "content": {
3177 "type": "SYMBOL",
3178 "name": "_type_declarator"
3179 }
3180 }
3181 ]
3182 }
3183 }
3184 ]
3185 },
3186 "_declaration_modifiers": {
3187 "type": "CHOICE",
3188 "members": [
3189 {
3190 "type": "SYMBOL",
3191 "name": "launch_bounds"
3192 },
3193 {
3194 "type": "STRING",
3195 "value": "__device__"
3196 },
3197 {
3198 "type": "STRING",
3199 "value": "__host__"
3200 },
3201 {
3202 "type": "PREC",
3203 "value": 10,
3204 "content": {
3205 "type": "STRING",
3206 "value": "__global__"
3207 }
3208 },
3209 {
3210 "type": "STRING",
3211 "value": "__forceinline__"
3212 },
3213 {
3214 "type": "STRING",
3215 "value": "__noinline__"
3216 },
3217 {
3218 "type": "CHOICE",
3219 "members": [
3220 {
3221 "type": "CHOICE",
3222 "members": [
3223 {
3224 "type": "SYMBOL",
3225 "name": "storage_class_specifier"
3226 },
3227 {
3228 "type": "SYMBOL",
3229 "name": "type_qualifier"
3230 },
3231 {
3232 "type": "SYMBOL",
3233 "name": "attribute_specifier"
3234 },
3235 {
3236 "type": "SYMBOL",
3237 "name": "attribute_declaration"
3238 },
3239 {
3240 "type": "SYMBOL",
3241 "name": "ms_declspec_modifier"
3242 }
3243 ]
3244 },
3245 {
3246 "type": "SYMBOL",
3247 "name": "virtual"
3248 }
3249 ]
3250 }
3251 ]
3252 },
3253 "_declaration_specifiers": {
3254 "type": "PREC_RIGHT",
3255 "value": 0,
3256 "content": {
3257 "type": "SEQ",
3258 "members": [
3259 {
3260 "type": "REPEAT",
3261 "content": {
3262 "type": "SYMBOL",
3263 "name": "_declaration_modifiers"
3264 }
3265 },
3266 {
3267 "type": "FIELD",
3268 "name": "type",
3269 "content": {
3270 "type": "SYMBOL",
3271 "name": "type_specifier"
3272 }
3273 },
3274 {
3275 "type": "REPEAT",
3276 "content": {
3277 "type": "SYMBOL",
3278 "name": "_declaration_modifiers"
3279 }
3280 }
3281 ]
3282 }
3283 },
3284 "linkage_specification": {
3285 "type": "SEQ",
3286 "members": [
3287 {
3288 "type": "STRING",
3289 "value": "extern"
3290 },
3291 {
3292 "type": "FIELD",
3293 "name": "value",
3294 "content": {
3295 "type": "SYMBOL",
3296 "name": "string_literal"
3297 }
3298 },
3299 {
3300 "type": "FIELD",
3301 "name": "body",
3302 "content": {
3303 "type": "CHOICE",
3304 "members": [
3305 {
3306 "type": "SYMBOL",
3307 "name": "function_definition"
3308 },
3309 {
3310 "type": "SYMBOL",
3311 "name": "declaration"
3312 },
3313 {
3314 "type": "SYMBOL",
3315 "name": "declaration_list"
3316 }
3317 ]
3318 }
3319 }
3320 ]
3321 },
3322 "attribute_specifier": {
3323 "type": "SEQ",
3324 "members": [
3325 {
3326 "type": "STRING",
3327 "value": "__attribute__"
3328 },
3329 {
3330 "type": "STRING",
3331 "value": "("
3332 },
3333 {
3334 "type": "SYMBOL",
3335 "name": "argument_list"
3336 },
3337 {
3338 "type": "STRING",
3339 "value": ")"
3340 }
3341 ]
3342 },
3343 "attribute": {
3344 "type": "SEQ",
3345 "members": [
3346 {
3347 "type": "CHOICE",
3348 "members": [
3349 {
3350 "type": "SEQ",
3351 "members": [
3352 {
3353 "type": "FIELD",
3354 "name": "prefix",
3355 "content": {
3356 "type": "SYMBOL",
3357 "name": "identifier"
3358 }
3359 },
3360 {
3361 "type": "STRING",
3362 "value": "::"
3363 }
3364 ]
3365 },
3366 {
3367 "type": "BLANK"
3368 }
3369 ]
3370 },
3371 {
3372 "type": "FIELD",
3373 "name": "name",
3374 "content": {
3375 "type": "SYMBOL",
3376 "name": "identifier"
3377 }
3378 },
3379 {
3380 "type": "CHOICE",
3381 "members": [
3382 {
3383 "type": "SYMBOL",
3384 "name": "argument_list"
3385 },
3386 {
3387 "type": "BLANK"
3388 }
3389 ]
3390 }
3391 ]
3392 },
3393 "attribute_declaration": {
3394 "type": "SEQ",
3395 "members": [
3396 {
3397 "type": "STRING",
3398 "value": "[["
3399 },
3400 {
3401 "type": "SEQ",
3402 "members": [
3403 {
3404 "type": "SYMBOL",
3405 "name": "attribute"
3406 },
3407 {
3408 "type": "REPEAT",
3409 "content": {
3410 "type": "SEQ",
3411 "members": [
3412 {
3413 "type": "STRING",
3414 "value": ","
3415 },
3416 {
3417 "type": "SYMBOL",
3418 "name": "attribute"
3419 }
3420 ]
3421 }
3422 }
3423 ]
3424 },
3425 {
3426 "type": "STRING",
3427 "value": "]]"
3428 }
3429 ]
3430 },
3431 "ms_declspec_modifier": {
3432 "type": "SEQ",
3433 "members": [
3434 {
3435 "type": "STRING",
3436 "value": "__declspec"
3437 },
3438 {
3439 "type": "STRING",
3440 "value": "("
3441 },
3442 {
3443 "type": "SYMBOL",
3444 "name": "identifier"
3445 },
3446 {
3447 "type": "STRING",
3448 "value": ")"
3449 }
3450 ]
3451 },
3452 "ms_based_modifier": {
3453 "type": "SEQ",
3454 "members": [
3455 {
3456 "type": "STRING",
3457 "value": "__based"
3458 },
3459 {
3460 "type": "SYMBOL",
3461 "name": "argument_list"
3462 }
3463 ]
3464 },
3465 "ms_call_modifier": {
3466 "type": "CHOICE",
3467 "members": [
3468 {
3469 "type": "STRING",
3470 "value": "__cdecl"
3471 },
3472 {
3473 "type": "STRING",
3474 "value": "__clrcall"
3475 },
3476 {
3477 "type": "STRING",
3478 "value": "__stdcall"
3479 },
3480 {
3481 "type": "STRING",
3482 "value": "__fastcall"
3483 },
3484 {
3485 "type": "STRING",
3486 "value": "__thiscall"
3487 },
3488 {
3489 "type": "STRING",
3490 "value": "__vectorcall"
3491 }
3492 ]
3493 },
3494 "ms_restrict_modifier": {
3495 "type": "STRING",
3496 "value": "__restrict"
3497 },
3498 "ms_unsigned_ptr_modifier": {
3499 "type": "STRING",
3500 "value": "__uptr"
3501 },
3502 "ms_signed_ptr_modifier": {
3503 "type": "STRING",
3504 "value": "__sptr"
3505 },
3506 "ms_unaligned_ptr_modifier": {
3507 "type": "CHOICE",
3508 "members": [
3509 {
3510 "type": "STRING",
3511 "value": "_unaligned"
3512 },
3513 {
3514 "type": "STRING",
3515 "value": "__unaligned"
3516 }
3517 ]
3518 },
3519 "ms_pointer_modifier": {
3520 "type": "CHOICE",
3521 "members": [
3522 {
3523 "type": "SYMBOL",
3524 "name": "ms_unaligned_ptr_modifier"
3525 },
3526 {
3527 "type": "SYMBOL",
3528 "name": "ms_restrict_modifier"
3529 },
3530 {
3531 "type": "SYMBOL",
3532 "name": "ms_unsigned_ptr_modifier"
3533 },
3534 {
3535 "type": "SYMBOL",
3536 "name": "ms_signed_ptr_modifier"
3537 }
3538 ]
3539 },
3540 "declaration_list": {
3541 "type": "SEQ",
3542 "members": [
3543 {
3544 "type": "STRING",
3545 "value": "{"
3546 },
3547 {
3548 "type": "REPEAT",
3549 "content": {
3550 "type": "SYMBOL",
3551 "name": "_block_item"
3552 }
3553 },
3554 {
3555 "type": "STRING",
3556 "value": "}"
3557 }
3558 ]
3559 },
3560 "_declarator": {
3561 "type": "CHOICE",
3562 "members": [
3563 {
3564 "type": "CHOICE",
3565 "members": [
3566 {
3567 "type": "SYMBOL",
3568 "name": "attributed_declarator"
3569 },
3570 {
3571 "type": "SYMBOL",
3572 "name": "pointer_declarator"
3573 },
3574 {
3575 "type": "SYMBOL",
3576 "name": "function_declarator"
3577 },
3578 {
3579 "type": "SYMBOL",
3580 "name": "array_declarator"
3581 },
3582 {
3583 "type": "SYMBOL",
3584 "name": "parenthesized_declarator"
3585 },
3586 {
3587 "type": "SYMBOL",
3588 "name": "identifier"
3589 }
3590 ]
3591 },
3592 {
3593 "type": "SYMBOL",
3594 "name": "reference_declarator"
3595 },
3596 {
3597 "type": "SYMBOL",
3598 "name": "qualified_identifier"
3599 },
3600 {
3601 "type": "SYMBOL",
3602 "name": "template_function"
3603 },
3604 {
3605 "type": "SYMBOL",
3606 "name": "operator_name"
3607 },
3608 {
3609 "type": "SYMBOL",
3610 "name": "destructor_name"
3611 },
3612 {
3613 "type": "SYMBOL",
3614 "name": "structured_binding_declarator"
3615 }
3616 ]
3617 },
3618 "_declaration_declarator": {
3619 "type": "CHOICE",
3620 "members": [
3621 {
3622 "type": "SYMBOL",
3623 "name": "attributed_declarator"
3624 },
3625 {
3626 "type": "SYMBOL",
3627 "name": "pointer_declarator"
3628 },
3629 {
3630 "type": "ALIAS",
3631 "content": {
3632 "type": "SYMBOL",
3633 "name": "_function_declaration_declarator"
3634 },
3635 "named": true,
3636 "value": "function_declarator"
3637 },
3638 {
3639 "type": "SYMBOL",
3640 "name": "array_declarator"
3641 },
3642 {
3643 "type": "SYMBOL",
3644 "name": "parenthesized_declarator"
3645 },
3646 {
3647 "type": "SYMBOL",
3648 "name": "identifier"
3649 }
3650 ]
3651 },
3652 "_field_declarator": {
3653 "type": "CHOICE",
3654 "members": [
3655 {
3656 "type": "CHOICE",
3657 "members": [
3658 {
3659 "type": "ALIAS",
3660 "content": {
3661 "type": "SYMBOL",
3662 "name": "attributed_field_declarator"
3663 },
3664 "named": true,
3665 "value": "attributed_declarator"
3666 },
3667 {
3668 "type": "ALIAS",
3669 "content": {
3670 "type": "SYMBOL",
3671 "name": "pointer_field_declarator"
3672 },
3673 "named": true,
3674 "value": "pointer_declarator"
3675 },
3676 {
3677 "type": "ALIAS",
3678 "content": {
3679 "type": "SYMBOL",
3680 "name": "function_field_declarator"
3681 },
3682 "named": true,
3683 "value": "function_declarator"
3684 },
3685 {
3686 "type": "ALIAS",
3687 "content": {
3688 "type": "SYMBOL",
3689 "name": "array_field_declarator"
3690 },
3691 "named": true,
3692 "value": "array_declarator"
3693 },
3694 {
3695 "type": "ALIAS",
3696 "content": {
3697 "type": "SYMBOL",
3698 "name": "parenthesized_field_declarator"
3699 },
3700 "named": true,
3701 "value": "parenthesized_declarator"
3702 },
3703 {
3704 "type": "SYMBOL",
3705 "name": "_field_identifier"
3706 }
3707 ]
3708 },
3709 {
3710 "type": "ALIAS",
3711 "content": {
3712 "type": "SYMBOL",
3713 "name": "reference_field_declarator"
3714 },
3715 "named": true,
3716 "value": "reference_declarator"
3717 },
3718 {
3719 "type": "SYMBOL",
3720 "name": "template_method"
3721 },
3722 {
3723 "type": "SYMBOL",
3724 "name": "operator_name"
3725 }
3726 ]
3727 },
3728 "_type_declarator": {
3729 "type": "CHOICE",
3730 "members": [
3731 {
3732 "type": "CHOICE",
3733 "members": [
3734 {
3735 "type": "ALIAS",
3736 "content": {
3737 "type": "SYMBOL",
3738 "name": "attributed_type_declarator"
3739 },
3740 "named": true,
3741 "value": "attributed_declarator"
3742 },
3743 {
3744 "type": "ALIAS",
3745 "content": {
3746 "type": "SYMBOL",
3747 "name": "pointer_type_declarator"
3748 },
3749 "named": true,
3750 "value": "pointer_declarator"
3751 },
3752 {
3753 "type": "ALIAS",
3754 "content": {
3755 "type": "SYMBOL",
3756 "name": "function_type_declarator"
3757 },
3758 "named": true,
3759 "value": "function_declarator"
3760 },
3761 {
3762 "type": "ALIAS",
3763 "content": {
3764 "type": "SYMBOL",
3765 "name": "array_type_declarator"
3766 },
3767 "named": true,
3768 "value": "array_declarator"
3769 },
3770 {
3771 "type": "ALIAS",
3772 "content": {
3773 "type": "SYMBOL",
3774 "name": "parenthesized_type_declarator"
3775 },
3776 "named": true,
3777 "value": "parenthesized_declarator"
3778 },
3779 {
3780 "type": "SYMBOL",
3781 "name": "_type_identifier"
3782 },
3783 {
3784 "type": "ALIAS",
3785 "content": {
3786 "type": "CHOICE",
3787 "members": [
3788 {
3789 "type": "STRING",
3790 "value": "signed"
3791 },
3792 {
3793 "type": "STRING",
3794 "value": "unsigned"
3795 },
3796 {
3797 "type": "STRING",
3798 "value": "long"
3799 },
3800 {
3801 "type": "STRING",
3802 "value": "short"
3803 }
3804 ]
3805 },
3806 "named": true,
3807 "value": "primitive_type"
3808 },
3809 {
3810 "type": "SYMBOL",
3811 "name": "primitive_type"
3812 }
3813 ]
3814 },
3815 {
3816 "type": "ALIAS",
3817 "content": {
3818 "type": "SYMBOL",
3819 "name": "reference_type_declarator"
3820 },
3821 "named": true,
3822 "value": "reference_declarator"
3823 }
3824 ]
3825 },
3826 "_abstract_declarator": {
3827 "type": "CHOICE",
3828 "members": [
3829 {
3830 "type": "CHOICE",
3831 "members": [
3832 {
3833 "type": "SYMBOL",
3834 "name": "abstract_pointer_declarator"
3835 },
3836 {
3837 "type": "SYMBOL",
3838 "name": "abstract_function_declarator"
3839 },
3840 {
3841 "type": "SYMBOL",
3842 "name": "abstract_array_declarator"
3843 },
3844 {
3845 "type": "SYMBOL",
3846 "name": "abstract_parenthesized_declarator"
3847 }
3848 ]
3849 },
3850 {
3851 "type": "SYMBOL",
3852 "name": "abstract_reference_declarator"
3853 }
3854 ]
3855 },
3856 "parenthesized_declarator": {
3857 "type": "PREC_DYNAMIC",
3858 "value": -10,
3859 "content": {
3860 "type": "SEQ",
3861 "members": [
3862 {
3863 "type": "STRING",
3864 "value": "("
3865 },
3866 {
3867 "type": "CHOICE",
3868 "members": [
3869 {
3870 "type": "SYMBOL",
3871 "name": "ms_call_modifier"
3872 },
3873 {
3874 "type": "BLANK"
3875 }
3876 ]
3877 },
3878 {
3879 "type": "SYMBOL",
3880 "name": "_declarator"
3881 },
3882 {
3883 "type": "STRING",
3884 "value": ")"
3885 }
3886 ]
3887 }
3888 },
3889 "parenthesized_field_declarator": {
3890 "type": "PREC_DYNAMIC",
3891 "value": -10,
3892 "content": {
3893 "type": "SEQ",
3894 "members": [
3895 {
3896 "type": "STRING",
3897 "value": "("
3898 },
3899 {
3900 "type": "CHOICE",
3901 "members": [
3902 {
3903 "type": "SYMBOL",
3904 "name": "ms_call_modifier"
3905 },
3906 {
3907 "type": "BLANK"
3908 }
3909 ]
3910 },
3911 {
3912 "type": "SYMBOL",
3913 "name": "_field_declarator"
3914 },
3915 {
3916 "type": "STRING",
3917 "value": ")"
3918 }
3919 ]
3920 }
3921 },
3922 "parenthesized_type_declarator": {
3923 "type": "PREC_DYNAMIC",
3924 "value": -10,
3925 "content": {
3926 "type": "SEQ",
3927 "members": [
3928 {
3929 "type": "STRING",
3930 "value": "("
3931 },
3932 {
3933 "type": "CHOICE",
3934 "members": [
3935 {
3936 "type": "SYMBOL",
3937 "name": "ms_call_modifier"
3938 },
3939 {
3940 "type": "BLANK"
3941 }
3942 ]
3943 },
3944 {
3945 "type": "SYMBOL",
3946 "name": "_type_declarator"
3947 },
3948 {
3949 "type": "STRING",
3950 "value": ")"
3951 }
3952 ]
3953 }
3954 },
3955 "abstract_parenthesized_declarator": {
3956 "type": "PREC",
3957 "value": 1,
3958 "content": {
3959 "type": "SEQ",
3960 "members": [
3961 {
3962 "type": "STRING",
3963 "value": "("
3964 },
3965 {
3966 "type": "CHOICE",
3967 "members": [
3968 {
3969 "type": "SYMBOL",
3970 "name": "ms_call_modifier"
3971 },
3972 {
3973 "type": "BLANK"
3974 }
3975 ]
3976 },
3977 {
3978 "type": "SYMBOL",
3979 "name": "_abstract_declarator"
3980 },
3981 {
3982 "type": "STRING",
3983 "value": ")"
3984 }
3985 ]
3986 }
3987 },
3988 "attributed_declarator": {
3989 "type": "PREC_RIGHT",
3990 "value": 0,
3991 "content": {
3992 "type": "SEQ",
3993 "members": [
3994 {
3995 "type": "SYMBOL",
3996 "name": "_declarator"
3997 },
3998 {
3999 "type": "REPEAT1",
4000 "content": {
4001 "type": "SYMBOL",
4002 "name": "attribute_declaration"
4003 }
4004 }
4005 ]
4006 }
4007 },
4008 "attributed_field_declarator": {
4009 "type": "PREC_RIGHT",
4010 "value": 0,
4011 "content": {
4012 "type": "SEQ",
4013 "members": [
4014 {
4015 "type": "SYMBOL",
4016 "name": "_field_declarator"
4017 },
4018 {
4019 "type": "REPEAT1",
4020 "content": {
4021 "type": "SYMBOL",
4022 "name": "attribute_declaration"
4023 }
4024 }
4025 ]
4026 }
4027 },
4028 "attributed_type_declarator": {
4029 "type": "PREC_RIGHT",
4030 "value": 0,
4031 "content": {
4032 "type": "SEQ",
4033 "members": [
4034 {
4035 "type": "SYMBOL",
4036 "name": "_type_declarator"
4037 },
4038 {
4039 "type": "REPEAT1",
4040 "content": {
4041 "type": "SYMBOL",
4042 "name": "attribute_declaration"
4043 }
4044 }
4045 ]
4046 }
4047 },
4048 "pointer_declarator": {
4049 "type": "PREC_DYNAMIC",
4050 "value": 1,
4051 "content": {
4052 "type": "PREC_RIGHT",
4053 "value": 0,
4054 "content": {
4055 "type": "SEQ",
4056 "members": [
4057 {
4058 "type": "CHOICE",
4059 "members": [
4060 {
4061 "type": "SYMBOL",
4062 "name": "ms_based_modifier"
4063 },
4064 {
4065 "type": "BLANK"
4066 }
4067 ]
4068 },
4069 {
4070 "type": "STRING",
4071 "value": "*"
4072 },
4073 {
4074 "type": "REPEAT",
4075 "content": {
4076 "type": "SYMBOL",
4077 "name": "ms_pointer_modifier"
4078 }
4079 },
4080 {
4081 "type": "REPEAT",
4082 "content": {
4083 "type": "SYMBOL",
4084 "name": "type_qualifier"
4085 }
4086 },
4087 {
4088 "type": "FIELD",
4089 "name": "declarator",
4090 "content": {
4091 "type": "SYMBOL",
4092 "name": "_declarator"
4093 }
4094 }
4095 ]
4096 }
4097 }
4098 },
4099 "pointer_field_declarator": {
4100 "type": "PREC_DYNAMIC",
4101 "value": 1,
4102 "content": {
4103 "type": "PREC_RIGHT",
4104 "value": 0,
4105 "content": {
4106 "type": "SEQ",
4107 "members": [
4108 {
4109 "type": "CHOICE",
4110 "members": [
4111 {
4112 "type": "SYMBOL",
4113 "name": "ms_based_modifier"
4114 },
4115 {
4116 "type": "BLANK"
4117 }
4118 ]
4119 },
4120 {
4121 "type": "STRING",
4122 "value": "*"
4123 },
4124 {
4125 "type": "REPEAT",
4126 "content": {
4127 "type": "SYMBOL",
4128 "name": "ms_pointer_modifier"
4129 }
4130 },
4131 {
4132 "type": "REPEAT",
4133 "content": {
4134 "type": "SYMBOL",
4135 "name": "type_qualifier"
4136 }
4137 },
4138 {
4139 "type": "FIELD",
4140 "name": "declarator",
4141 "content": {
4142 "type": "SYMBOL",
4143 "name": "_field_declarator"
4144 }
4145 }
4146 ]
4147 }
4148 }
4149 },
4150 "pointer_type_declarator": {
4151 "type": "PREC_DYNAMIC",
4152 "value": 1,
4153 "content": {
4154 "type": "PREC_RIGHT",
4155 "value": 0,
4156 "content": {
4157 "type": "SEQ",
4158 "members": [
4159 {
4160 "type": "CHOICE",
4161 "members": [
4162 {
4163 "type": "SYMBOL",
4164 "name": "ms_based_modifier"
4165 },
4166 {
4167 "type": "BLANK"
4168 }
4169 ]
4170 },
4171 {
4172 "type": "STRING",
4173 "value": "*"
4174 },
4175 {
4176 "type": "REPEAT",
4177 "content": {
4178 "type": "SYMBOL",
4179 "name": "ms_pointer_modifier"
4180 }
4181 },
4182 {
4183 "type": "REPEAT",
4184 "content": {
4185 "type": "SYMBOL",
4186 "name": "type_qualifier"
4187 }
4188 },
4189 {
4190 "type": "FIELD",
4191 "name": "declarator",
4192 "content": {
4193 "type": "SYMBOL",
4194 "name": "_type_declarator"
4195 }
4196 }
4197 ]
4198 }
4199 }
4200 },
4201 "abstract_pointer_declarator": {
4202 "type": "PREC_DYNAMIC",
4203 "value": 1,
4204 "content": {
4205 "type": "PREC_RIGHT",
4206 "value": 0,
4207 "content": {
4208 "type": "SEQ",
4209 "members": [
4210 {
4211 "type": "STRING",
4212 "value": "*"
4213 },
4214 {
4215 "type": "REPEAT",
4216 "content": {
4217 "type": "SYMBOL",
4218 "name": "ms_pointer_modifier"
4219 }
4220 },
4221 {
4222 "type": "REPEAT",
4223 "content": {
4224 "type": "SYMBOL",
4225 "name": "type_qualifier"
4226 }
4227 },
4228 {
4229 "type": "FIELD",
4230 "name": "declarator",
4231 "content": {
4232 "type": "CHOICE",
4233 "members": [
4234 {
4235 "type": "SYMBOL",
4236 "name": "_abstract_declarator"
4237 },
4238 {
4239 "type": "BLANK"
4240 }
4241 ]
4242 }
4243 }
4244 ]
4245 }
4246 }
4247 },
4248 "function_declarator": {
4249 "type": "PREC_DYNAMIC",
4250 "value": 1,
4251 "content": {
4252 "type": "SEQ",
4253 "members": [
4254 {
4255 "type": "FIELD",
4256 "name": "declarator",
4257 "content": {
4258 "type": "SYMBOL",
4259 "name": "_declarator"
4260 }
4261 },
4262 {
4263 "type": "SYMBOL",
4264 "name": "_function_declarator_seq"
4265 }
4266 ]
4267 }
4268 },
4269 "_function_declaration_declarator": {
4270 "type": "PREC_RIGHT",
4271 "value": 1,
4272 "content": {
4273 "type": "SEQ",
4274 "members": [
4275 {
4276 "type": "FIELD",
4277 "name": "declarator",
4278 "content": {
4279 "type": "SYMBOL",
4280 "name": "_declarator"
4281 }
4282 },
4283 {
4284 "type": "FIELD",
4285 "name": "parameters",
4286 "content": {
4287 "type": "SYMBOL",
4288 "name": "parameter_list"
4289 }
4290 },
4291 {
4292 "type": "CHOICE",
4293 "members": [
4294 {
4295 "type": "SYMBOL",
4296 "name": "gnu_asm_expression"
4297 },
4298 {
4299 "type": "BLANK"
4300 }
4301 ]
4302 },
4303 {
4304 "type": "REPEAT",
4305 "content": {
4306 "type": "SYMBOL",
4307 "name": "attribute_specifier"
4308 }
4309 }
4310 ]
4311 }
4312 },
4313 "function_field_declarator": {
4314 "type": "PREC_DYNAMIC",
4315 "value": 1,
4316 "content": {
4317 "type": "SEQ",
4318 "members": [
4319 {
4320 "type": "FIELD",
4321 "name": "declarator",
4322 "content": {
4323 "type": "SYMBOL",
4324 "name": "_field_declarator"
4325 }
4326 },
4327 {
4328 "type": "SYMBOL",
4329 "name": "_function_declarator_seq"
4330 }
4331 ]
4332 }
4333 },
4334 "function_type_declarator": {
4335 "type": "PREC",
4336 "value": 1,
4337 "content": {
4338 "type": "SEQ",
4339 "members": [
4340 {
4341 "type": "FIELD",
4342 "name": "declarator",
4343 "content": {
4344 "type": "SYMBOL",
4345 "name": "_type_declarator"
4346 }
4347 },
4348 {
4349 "type": "FIELD",
4350 "name": "parameters",
4351 "content": {
4352 "type": "SYMBOL",
4353 "name": "parameter_list"
4354 }
4355 }
4356 ]
4357 }
4358 },
4359 "abstract_function_declarator": {
4360 "type": "SEQ",
4361 "members": [
4362 {
4363 "type": "FIELD",
4364 "name": "declarator",
4365 "content": {
4366 "type": "CHOICE",
4367 "members": [
4368 {
4369 "type": "SYMBOL",
4370 "name": "_abstract_declarator"
4371 },
4372 {
4373 "type": "BLANK"
4374 }
4375 ]
4376 }
4377 },
4378 {
4379 "type": "SYMBOL",
4380 "name": "_function_declarator_seq"
4381 }
4382 ]
4383 },
4384 "_old_style_function_declarator": {
4385 "type": "SEQ",
4386 "members": [
4387 {
4388 "type": "FIELD",
4389 "name": "declarator",
4390 "content": {
4391 "type": "SYMBOL",
4392 "name": "_declarator"
4393 }
4394 },
4395 {
4396 "type": "FIELD",
4397 "name": "parameters",
4398 "content": {
4399 "type": "ALIAS",
4400 "content": {
4401 "type": "SYMBOL",
4402 "name": "_old_style_parameter_list"
4403 },
4404 "named": true,
4405 "value": "parameter_list"
4406 }
4407 }
4408 ]
4409 },
4410 "array_declarator": {
4411 "type": "PREC",
4412 "value": 1,
4413 "content": {
4414 "type": "SEQ",
4415 "members": [
4416 {
4417 "type": "FIELD",
4418 "name": "declarator",
4419 "content": {
4420 "type": "SYMBOL",
4421 "name": "_declarator"
4422 }
4423 },
4424 {
4425 "type": "STRING",
4426 "value": "["
4427 },
4428 {
4429 "type": "REPEAT",
4430 "content": {
4431 "type": "CHOICE",
4432 "members": [
4433 {
4434 "type": "SYMBOL",
4435 "name": "type_qualifier"
4436 },
4437 {
4438 "type": "STRING",
4439 "value": "static"
4440 }
4441 ]
4442 }
4443 },
4444 {
4445 "type": "FIELD",
4446 "name": "size",
4447 "content": {
4448 "type": "CHOICE",
4449 "members": [
4450 {
4451 "type": "CHOICE",
4452 "members": [
4453 {
4454 "type": "SYMBOL",
4455 "name": "expression"
4456 },
4457 {
4458 "type": "STRING",
4459 "value": "*"
4460 }
4461 ]
4462 },
4463 {
4464 "type": "BLANK"
4465 }
4466 ]
4467 }
4468 },
4469 {
4470 "type": "STRING",
4471 "value": "]"
4472 }
4473 ]
4474 }
4475 },
4476 "array_field_declarator": {
4477 "type": "PREC",
4478 "value": 1,
4479 "content": {
4480 "type": "SEQ",
4481 "members": [
4482 {
4483 "type": "FIELD",
4484 "name": "declarator",
4485 "content": {
4486 "type": "SYMBOL",
4487 "name": "_field_declarator"
4488 }
4489 },
4490 {
4491 "type": "STRING",
4492 "value": "["
4493 },
4494 {
4495 "type": "REPEAT",
4496 "content": {
4497 "type": "CHOICE",
4498 "members": [
4499 {
4500 "type": "SYMBOL",
4501 "name": "type_qualifier"
4502 },
4503 {
4504 "type": "STRING",
4505 "value": "static"
4506 }
4507 ]
4508 }
4509 },
4510 {
4511 "type": "FIELD",
4512 "name": "size",
4513 "content": {
4514 "type": "CHOICE",
4515 "members": [
4516 {
4517 "type": "CHOICE",
4518 "members": [
4519 {
4520 "type": "SYMBOL",
4521 "name": "expression"
4522 },
4523 {
4524 "type": "STRING",
4525 "value": "*"
4526 }
4527 ]
4528 },
4529 {
4530 "type": "BLANK"
4531 }
4532 ]
4533 }
4534 },
4535 {
4536 "type": "STRING",
4537 "value": "]"
4538 }
4539 ]
4540 }
4541 },
4542 "array_type_declarator": {
4543 "type": "PREC",
4544 "value": 1,
4545 "content": {
4546 "type": "SEQ",
4547 "members": [
4548 {
4549 "type": "FIELD",
4550 "name": "declarator",
4551 "content": {
4552 "type": "SYMBOL",
4553 "name": "_type_declarator"
4554 }
4555 },
4556 {
4557 "type": "STRING",
4558 "value": "["
4559 },
4560 {
4561 "type": "REPEAT",
4562 "content": {
4563 "type": "CHOICE",
4564 "members": [
4565 {
4566 "type": "SYMBOL",
4567 "name": "type_qualifier"
4568 },
4569 {
4570 "type": "STRING",
4571 "value": "static"
4572 }
4573 ]
4574 }
4575 },
4576 {
4577 "type": "FIELD",
4578 "name": "size",
4579 "content": {
4580 "type": "CHOICE",
4581 "members": [
4582 {
4583 "type": "CHOICE",
4584 "members": [
4585 {
4586 "type": "SYMBOL",
4587 "name": "expression"
4588 },
4589 {
4590 "type": "STRING",
4591 "value": "*"
4592 }
4593 ]
4594 },
4595 {
4596 "type": "BLANK"
4597 }
4598 ]
4599 }
4600 },
4601 {
4602 "type": "STRING",
4603 "value": "]"
4604 }
4605 ]
4606 }
4607 },
4608 "abstract_array_declarator": {
4609 "type": "PREC",
4610 "value": 1,
4611 "content": {
4612 "type": "SEQ",
4613 "members": [
4614 {
4615 "type": "FIELD",
4616 "name": "declarator",
4617 "content": {
4618 "type": "CHOICE",
4619 "members": [
4620 {
4621 "type": "SYMBOL",
4622 "name": "_abstract_declarator"
4623 },
4624 {
4625 "type": "BLANK"
4626 }
4627 ]
4628 }
4629 },
4630 {
4631 "type": "STRING",
4632 "value": "["
4633 },
4634 {
4635 "type": "REPEAT",
4636 "content": {
4637 "type": "CHOICE",
4638 "members": [
4639 {
4640 "type": "SYMBOL",
4641 "name": "type_qualifier"
4642 },
4643 {
4644 "type": "STRING",
4645 "value": "static"
4646 }
4647 ]
4648 }
4649 },
4650 {
4651 "type": "FIELD",
4652 "name": "size",
4653 "content": {
4654 "type": "CHOICE",
4655 "members": [
4656 {
4657 "type": "CHOICE",
4658 "members": [
4659 {
4660 "type": "SYMBOL",
4661 "name": "expression"
4662 },
4663 {
4664 "type": "STRING",
4665 "value": "*"
4666 }
4667 ]
4668 },
4669 {
4670 "type": "BLANK"
4671 }
4672 ]
4673 }
4674 },
4675 {
4676 "type": "STRING",
4677 "value": "]"
4678 }
4679 ]
4680 }
4681 },
4682 "init_declarator": {
4683 "type": "CHOICE",
4684 "members": [
4685 {
4686 "type": "SEQ",
4687 "members": [
4688 {
4689 "type": "FIELD",
4690 "name": "declarator",
4691 "content": {
4692 "type": "SYMBOL",
4693 "name": "_declarator"
4694 }
4695 },
4696 {
4697 "type": "STRING",
4698 "value": "="
4699 },
4700 {
4701 "type": "FIELD",
4702 "name": "value",
4703 "content": {
4704 "type": "CHOICE",
4705 "members": [
4706 {
4707 "type": "SYMBOL",
4708 "name": "initializer_list"
4709 },
4710 {
4711 "type": "SYMBOL",
4712 "name": "expression"
4713 }
4714 ]
4715 }
4716 }
4717 ]
4718 },
4719 {
4720 "type": "SEQ",
4721 "members": [
4722 {
4723 "type": "FIELD",
4724 "name": "declarator",
4725 "content": {
4726 "type": "SYMBOL",
4727 "name": "_declarator"
4728 }
4729 },
4730 {
4731 "type": "FIELD",
4732 "name": "value",
4733 "content": {
4734 "type": "CHOICE",
4735 "members": [
4736 {
4737 "type": "SYMBOL",
4738 "name": "argument_list"
4739 },
4740 {
4741 "type": "SYMBOL",
4742 "name": "initializer_list"
4743 }
4744 ]
4745 }
4746 }
4747 ]
4748 }
4749 ]
4750 },
4751 "compound_statement": {
4752 "type": "PREC",
4753 "value": -1,
4754 "content": {
4755 "type": "SEQ",
4756 "members": [
4757 {
4758 "type": "STRING",
4759 "value": "{"
4760 },
4761 {
4762 "type": "REPEAT",
4763 "content": {
4764 "type": "SYMBOL",
4765 "name": "_block_item"
4766 }
4767 },
4768 {
4769 "type": "STRING",
4770 "value": "}"
4771 }
4772 ]
4773 }
4774 },
4775 "storage_class_specifier": {
4776 "type": "CHOICE",
4777 "members": [
4778 {
4779 "type": "STRING",
4780 "value": "extern"
4781 },
4782 {
4783 "type": "STRING",
4784 "value": "static"
4785 },
4786 {
4787 "type": "STRING",
4788 "value": "register"
4789 },
4790 {
4791 "type": "STRING",
4792 "value": "inline"
4793 },
4794 {
4795 "type": "STRING",
4796 "value": "__inline"
4797 },
4798 {
4799 "type": "STRING",
4800 "value": "__inline__"
4801 },
4802 {
4803 "type": "STRING",
4804 "value": "__forceinline"
4805 },
4806 {
4807 "type": "STRING",
4808 "value": "thread_local"
4809 },
4810 {
4811 "type": "STRING",
4812 "value": "__thread"
4813 },
4814 {
4815 "type": "STRING",
4816 "value": "thread_local"
4817 }
4818 ]
4819 },
4820 "type_qualifier": {
4821 "type": "CHOICE",
4822 "members": [
4823 {
4824 "type": "CHOICE",
4825 "members": [
4826 {
4827 "type": "CHOICE",
4828 "members": [
4829 {
4830 "type": "STRING",
4831 "value": "const"
4832 },
4833 {
4834 "type": "STRING",
4835 "value": "constexpr"
4836 },
4837 {
4838 "type": "STRING",
4839 "value": "volatile"
4840 },
4841 {
4842 "type": "STRING",
4843 "value": "restrict"
4844 },
4845 {
4846 "type": "STRING",
4847 "value": "__restrict__"
4848 },
4849 {
4850 "type": "STRING",
4851 "value": "__extension__"
4852 },
4853 {
4854 "type": "STRING",
4855 "value": "_Atomic"
4856 },
4857 {
4858 "type": "STRING",
4859 "value": "_Noreturn"
4860 },
4861 {
4862 "type": "STRING",
4863 "value": "noreturn"
4864 },
4865 {
4866 "type": "SYMBOL",
4867 "name": "alignas_qualifier"
4868 }
4869 ]
4870 },
4871 {
4872 "type": "STRING",
4873 "value": "mutable"
4874 },
4875 {
4876 "type": "STRING",
4877 "value": "constinit"
4878 },
4879 {
4880 "type": "STRING",
4881 "value": "consteval"
4882 }
4883 ]
4884 },
4885 {
4886 "type": "STRING",
4887 "value": "__shared__"
4888 },
4889 {
4890 "type": "STRING",
4891 "value": "__global__"
4892 },
4893 {
4894 "type": "STRING",
4895 "value": "__local__"
4896 },
4897 {
4898 "type": "STRING",
4899 "value": "__constant__"
4900 },
4901 {
4902 "type": "STRING",
4903 "value": "__managed__"
4904 },
4905 {
4906 "type": "STRING",
4907 "value": "__grid_constant__"
4908 }
4909 ]
4910 },
4911 "alignas_qualifier": {
4912 "type": "SEQ",
4913 "members": [
4914 {
4915 "type": "CHOICE",
4916 "members": [
4917 {
4918 "type": "STRING",
4919 "value": "alignas"
4920 },
4921 {
4922 "type": "STRING",
4923 "value": "_Alignas"
4924 }
4925 ]
4926 },
4927 {
4928 "type": "STRING",
4929 "value": "("
4930 },
4931 {
4932 "type": "CHOICE",
4933 "members": [
4934 {
4935 "type": "SYMBOL",
4936 "name": "expression"
4937 },
4938 {
4939 "type": "SYMBOL",
4940 "name": "type_descriptor"
4941 }
4942 ]
4943 },
4944 {
4945 "type": "STRING",
4946 "value": ")"
4947 }
4948 ]
4949 },
4950 "type_specifier": {
4951 "type": "CHOICE",
4952 "members": [
4953 {
4954 "type": "SYMBOL",
4955 "name": "struct_specifier"
4956 },
4957 {
4958 "type": "SYMBOL",
4959 "name": "union_specifier"
4960 },
4961 {
4962 "type": "SYMBOL",
4963 "name": "enum_specifier"
4964 },
4965 {
4966 "type": "SYMBOL",
4967 "name": "class_specifier"
4968 },
4969 {
4970 "type": "SYMBOL",
4971 "name": "sized_type_specifier"
4972 },
4973 {
4974 "type": "SYMBOL",
4975 "name": "primitive_type"
4976 },
4977 {
4978 "type": "SYMBOL",
4979 "name": "template_type"
4980 },
4981 {
4982 "type": "SYMBOL",
4983 "name": "dependent_type"
4984 },
4985 {
4986 "type": "SYMBOL",
4987 "name": "placeholder_type_specifier"
4988 },
4989 {
4990 "type": "SYMBOL",
4991 "name": "decltype"
4992 },
4993 {
4994 "type": "PREC_RIGHT",
4995 "value": 0,
4996 "content": {
4997 "type": "CHOICE",
4998 "members": [
4999 {
5000 "type": "ALIAS",
5001 "content": {
5002 "type": "SYMBOL",
5003 "name": "qualified_type_identifier"
5004 },
5005 "named": true,
5006 "value": "qualified_identifier"
5007 },
5008 {
5009 "type": "SYMBOL",
5010 "name": "_type_identifier"
5011 }
5012 ]
5013 }
5014 }
5015 ]
5016 },
5017 "sized_type_specifier": {
5018 "type": "CHOICE",
5019 "members": [
5020 {
5021 "type": "SEQ",
5022 "members": [
5023 {
5024 "type": "REPEAT",
5025 "content": {
5026 "type": "CHOICE",
5027 "members": [
5028 {
5029 "type": "STRING",
5030 "value": "signed"
5031 },
5032 {
5033 "type": "STRING",
5034 "value": "unsigned"
5035 },
5036 {
5037 "type": "STRING",
5038 "value": "long"
5039 },
5040 {
5041 "type": "STRING",
5042 "value": "short"
5043 }
5044 ]
5045 }
5046 },
5047 {
5048 "type": "FIELD",
5049 "name": "type",
5050 "content": {
5051 "type": "CHOICE",
5052 "members": [
5053 {
5054 "type": "CHOICE",
5055 "members": [
5056 {
5057 "type": "PREC_DYNAMIC",
5058 "value": -1,
5059 "content": {
5060 "type": "SYMBOL",
5061 "name": "_type_identifier"
5062 }
5063 },
5064 {
5065 "type": "SYMBOL",
5066 "name": "primitive_type"
5067 }
5068 ]
5069 },
5070 {
5071 "type": "BLANK"
5072 }
5073 ]
5074 }
5075 },
5076 {
5077 "type": "REPEAT1",
5078 "content": {
5079 "type": "CHOICE",
5080 "members": [
5081 {
5082 "type": "STRING",
5083 "value": "signed"
5084 },
5085 {
5086 "type": "STRING",
5087 "value": "unsigned"
5088 },
5089 {
5090 "type": "STRING",
5091 "value": "long"
5092 },
5093 {
5094 "type": "STRING",
5095 "value": "short"
5096 }
5097 ]
5098 }
5099 }
5100 ]
5101 },
5102 {
5103 "type": "SEQ",
5104 "members": [
5105 {
5106 "type": "REPEAT1",
5107 "content": {
5108 "type": "CHOICE",
5109 "members": [
5110 {
5111 "type": "STRING",
5112 "value": "signed"
5113 },
5114 {
5115 "type": "STRING",
5116 "value": "unsigned"
5117 },
5118 {
5119 "type": "STRING",
5120 "value": "long"
5121 },
5122 {
5123 "type": "STRING",
5124 "value": "short"
5125 }
5126 ]
5127 }
5128 },
5129 {
5130 "type": "FIELD",
5131 "name": "type",
5132 "content": {
5133 "type": "CHOICE",
5134 "members": [
5135 {
5136 "type": "CHOICE",
5137 "members": [
5138 {
5139 "type": "PREC_DYNAMIC",
5140 "value": -1,
5141 "content": {
5142 "type": "SYMBOL",
5143 "name": "_type_identifier"
5144 }
5145 },
5146 {
5147 "type": "SYMBOL",
5148 "name": "primitive_type"
5149 }
5150 ]
5151 },
5152 {
5153 "type": "BLANK"
5154 }
5155 ]
5156 }
5157 },
5158 {
5159 "type": "REPEAT",
5160 "content": {
5161 "type": "CHOICE",
5162 "members": [
5163 {
5164 "type": "STRING",
5165 "value": "signed"
5166 },
5167 {
5168 "type": "STRING",
5169 "value": "unsigned"
5170 },
5171 {
5172 "type": "STRING",
5173 "value": "long"
5174 },
5175 {
5176 "type": "STRING",
5177 "value": "short"
5178 }
5179 ]
5180 }
5181 }
5182 ]
5183 }
5184 ]
5185 },
5186 "primitive_type": {
5187 "type": "TOKEN",
5188 "content": {
5189 "type": "CHOICE",
5190 "members": [
5191 {
5192 "type": "STRING",
5193 "value": "bool"
5194 },
5195 {
5196 "type": "STRING",
5197 "value": "char"
5198 },
5199 {
5200 "type": "STRING",
5201 "value": "int"
5202 },
5203 {
5204 "type": "STRING",
5205 "value": "float"
5206 },
5207 {
5208 "type": "STRING",
5209 "value": "double"
5210 },
5211 {
5212 "type": "STRING",
5213 "value": "void"
5214 },
5215 {
5216 "type": "STRING",
5217 "value": "size_t"
5218 },
5219 {
5220 "type": "STRING",
5221 "value": "ssize_t"
5222 },
5223 {
5224 "type": "STRING",
5225 "value": "ptrdiff_t"
5226 },
5227 {
5228 "type": "STRING",
5229 "value": "intptr_t"
5230 },
5231 {
5232 "type": "STRING",
5233 "value": "uintptr_t"
5234 },
5235 {
5236 "type": "STRING",
5237 "value": "charptr_t"
5238 },
5239 {
5240 "type": "STRING",
5241 "value": "nullptr_t"
5242 },
5243 {
5244 "type": "STRING",
5245 "value": "max_align_t"
5246 },
5247 {
5248 "type": "STRING",
5249 "value": "int8_t"
5250 },
5251 {
5252 "type": "STRING",
5253 "value": "int16_t"
5254 },
5255 {
5256 "type": "STRING",
5257 "value": "int32_t"
5258 },
5259 {
5260 "type": "STRING",
5261 "value": "int64_t"
5262 },
5263 {
5264 "type": "STRING",
5265 "value": "uint8_t"
5266 },
5267 {
5268 "type": "STRING",
5269 "value": "uint16_t"
5270 },
5271 {
5272 "type": "STRING",
5273 "value": "uint32_t"
5274 },
5275 {
5276 "type": "STRING",
5277 "value": "uint64_t"
5278 },
5279 {
5280 "type": "STRING",
5281 "value": "char8_t"
5282 },
5283 {
5284 "type": "STRING",
5285 "value": "char16_t"
5286 },
5287 {
5288 "type": "STRING",
5289 "value": "char32_t"
5290 },
5291 {
5292 "type": "STRING",
5293 "value": "char64_t"
5294 }
5295 ]
5296 }
5297 },
5298 "enum_specifier": {
5299 "type": "PREC_RIGHT",
5300 "value": 0,
5301 "content": {
5302 "type": "SEQ",
5303 "members": [
5304 {
5305 "type": "STRING",
5306 "value": "enum"
5307 },
5308 {
5309 "type": "CHOICE",
5310 "members": [
5311 {
5312 "type": "CHOICE",
5313 "members": [
5314 {
5315 "type": "STRING",
5316 "value": "class"
5317 },
5318 {
5319 "type": "STRING",
5320 "value": "struct"
5321 }
5322 ]
5323 },
5324 {
5325 "type": "BLANK"
5326 }
5327 ]
5328 },
5329 {
5330 "type": "CHOICE",
5331 "members": [
5332 {
5333 "type": "SEQ",
5334 "members": [
5335 {
5336 "type": "FIELD",
5337 "name": "name",
5338 "content": {
5339 "type": "SYMBOL",
5340 "name": "_class_name"
5341 }
5342 },
5343 {
5344 "type": "CHOICE",
5345 "members": [
5346 {
5347 "type": "SYMBOL",
5348 "name": "_enum_base_clause"
5349 },
5350 {
5351 "type": "BLANK"
5352 }
5353 ]
5354 },
5355 {
5356 "type": "CHOICE",
5357 "members": [
5358 {
5359 "type": "FIELD",
5360 "name": "body",
5361 "content": {
5362 "type": "SYMBOL",
5363 "name": "enumerator_list"
5364 }
5365 },
5366 {
5367 "type": "BLANK"
5368 }
5369 ]
5370 }
5371 ]
5372 },
5373 {
5374 "type": "FIELD",
5375 "name": "body",
5376 "content": {
5377 "type": "SYMBOL",
5378 "name": "enumerator_list"
5379 }
5380 }
5381 ]
5382 },
5383 {
5384 "type": "CHOICE",
5385 "members": [
5386 {
5387 "type": "SYMBOL",
5388 "name": "attribute_specifier"
5389 },
5390 {
5391 "type": "BLANK"
5392 }
5393 ]
5394 }
5395 ]
5396 }
5397 },
5398 "enumerator_list": {
5399 "type": "SEQ",
5400 "members": [
5401 {
5402 "type": "STRING",
5403 "value": "{"
5404 },
5405 {
5406 "type": "REPEAT",
5407 "content": {
5408 "type": "CHOICE",
5409 "members": [
5410 {
5411 "type": "SEQ",
5412 "members": [
5413 {
5414 "type": "SYMBOL",
5415 "name": "enumerator"
5416 },
5417 {
5418 "type": "STRING",
5419 "value": ","
5420 }
5421 ]
5422 },
5423 {
5424 "type": "ALIAS",
5425 "content": {
5426 "type": "SYMBOL",
5427 "name": "preproc_if_in_enumerator_list"
5428 },
5429 "named": true,
5430 "value": "preproc_if"
5431 },
5432 {
5433 "type": "ALIAS",
5434 "content": {
5435 "type": "SYMBOL",
5436 "name": "preproc_ifdef_in_enumerator_list"
5437 },
5438 "named": true,
5439 "value": "preproc_ifdef"
5440 },
5441 {
5442 "type": "SEQ",
5443 "members": [
5444 {
5445 "type": "SYMBOL",
5446 "name": "preproc_call"
5447 },
5448 {
5449 "type": "STRING",
5450 "value": ","
5451 }
5452 ]
5453 }
5454 ]
5455 }
5456 },
5457 {
5458 "type": "CHOICE",
5459 "members": [
5460 {
5461 "type": "SEQ",
5462 "members": [
5463 {
5464 "type": "CHOICE",
5465 "members": [
5466 {
5467 "type": "SYMBOL",
5468 "name": "enumerator"
5469 },
5470 {
5471 "type": "ALIAS",
5472 "content": {
5473 "type": "SYMBOL",
5474 "name": "preproc_if_in_enumerator_list_no_comma"
5475 },
5476 "named": true,
5477 "value": "preproc_if"
5478 },
5479 {
5480 "type": "ALIAS",
5481 "content": {
5482 "type": "SYMBOL",
5483 "name": "preproc_ifdef_in_enumerator_list_no_comma"
5484 },
5485 "named": true,
5486 "value": "preproc_ifdef"
5487 },
5488 {
5489 "type": "SYMBOL",
5490 "name": "preproc_call"
5491 }
5492 ]
5493 }
5494 ]
5495 },
5496 {
5497 "type": "BLANK"
5498 }
5499 ]
5500 },
5501 {
5502 "type": "STRING",
5503 "value": "}"
5504 }
5505 ]
5506 },
5507 "struct_specifier": {
5508 "type": "SEQ",
5509 "members": [
5510 {
5511 "type": "STRING",
5512 "value": "struct"
5513 },
5514 {
5515 "type": "SYMBOL",
5516 "name": "_class_declaration"
5517 }
5518 ]
5519 },
5520 "union_specifier": {
5521 "type": "SEQ",
5522 "members": [
5523 {
5524 "type": "STRING",
5525 "value": "union"
5526 },
5527 {
5528 "type": "SYMBOL",
5529 "name": "_class_declaration"
5530 }
5531 ]
5532 },
5533 "field_declaration_list": {
5534 "type": "SEQ",
5535 "members": [
5536 {
5537 "type": "STRING",
5538 "value": "{"
5539 },
5540 {
5541 "type": "REPEAT",
5542 "content": {
5543 "type": "SYMBOL",
5544 "name": "_field_declaration_list_item"
5545 }
5546 },
5547 {
5548 "type": "STRING",
5549 "value": "}"
5550 }
5551 ]
5552 },
5553 "_field_declaration_list_item": {
5554 "type": "CHOICE",
5555 "members": [
5556 {
5557 "type": "CHOICE",
5558 "members": [
5559 {
5560 "type": "SYMBOL",
5561 "name": "field_declaration"
5562 },
5563 {
5564 "type": "SYMBOL",
5565 "name": "preproc_def"
5566 },
5567 {
5568 "type": "SYMBOL",
5569 "name": "preproc_function_def"
5570 },
5571 {
5572 "type": "SYMBOL",
5573 "name": "preproc_call"
5574 },
5575 {
5576 "type": "ALIAS",
5577 "content": {
5578 "type": "SYMBOL",
5579 "name": "preproc_if_in_field_declaration_list"
5580 },
5581 "named": true,
5582 "value": "preproc_if"
5583 },
5584 {
5585 "type": "ALIAS",
5586 "content": {
5587 "type": "SYMBOL",
5588 "name": "preproc_ifdef_in_field_declaration_list"
5589 },
5590 "named": true,
5591 "value": "preproc_ifdef"
5592 }
5593 ]
5594 },
5595 {
5596 "type": "SYMBOL",
5597 "name": "template_declaration"
5598 },
5599 {
5600 "type": "ALIAS",
5601 "content": {
5602 "type": "SYMBOL",
5603 "name": "inline_method_definition"
5604 },
5605 "named": true,
5606 "value": "function_definition"
5607 },
5608 {
5609 "type": "ALIAS",
5610 "content": {
5611 "type": "SYMBOL",
5612 "name": "constructor_or_destructor_definition"
5613 },
5614 "named": true,
5615 "value": "function_definition"
5616 },
5617 {
5618 "type": "ALIAS",
5619 "content": {
5620 "type": "SYMBOL",
5621 "name": "constructor_or_destructor_declaration"
5622 },
5623 "named": true,
5624 "value": "declaration"
5625 },
5626 {
5627 "type": "ALIAS",
5628 "content": {
5629 "type": "SYMBOL",
5630 "name": "operator_cast_definition"
5631 },
5632 "named": true,
5633 "value": "function_definition"
5634 },
5635 {
5636 "type": "ALIAS",
5637 "content": {
5638 "type": "SYMBOL",
5639 "name": "operator_cast_declaration"
5640 },
5641 "named": true,
5642 "value": "declaration"
5643 },
5644 {
5645 "type": "SYMBOL",
5646 "name": "friend_declaration"
5647 },
5648 {
5649 "type": "SEQ",
5650 "members": [
5651 {
5652 "type": "SYMBOL",
5653 "name": "access_specifier"
5654 },
5655 {
5656 "type": "STRING",
5657 "value": ":"
5658 }
5659 ]
5660 },
5661 {
5662 "type": "SYMBOL",
5663 "name": "alias_declaration"
5664 },
5665 {
5666 "type": "SYMBOL",
5667 "name": "using_declaration"
5668 },
5669 {
5670 "type": "SYMBOL",
5671 "name": "type_definition"
5672 },
5673 {
5674 "type": "SYMBOL",
5675 "name": "static_assert_declaration"
5676 }
5677 ]
5678 },
5679 "field_declaration": {
5680 "type": "SEQ",
5681 "members": [
5682 {
5683 "type": "SYMBOL",
5684 "name": "_declaration_specifiers"
5685 },
5686 {
5687 "type": "CHOICE",
5688 "members": [
5689 {
5690 "type": "SEQ",
5691 "members": [
5692 {
5693 "type": "SEQ",
5694 "members": [
5695 {
5696 "type": "FIELD",
5697 "name": "declarator",
5698 "content": {
5699 "type": "SYMBOL",
5700 "name": "_field_declarator"
5701 }
5702 },
5703 {
5704 "type": "CHOICE",
5705 "members": [
5706 {
5707 "type": "CHOICE",
5708 "members": [
5709 {
5710 "type": "SYMBOL",
5711 "name": "bitfield_clause"
5712 },
5713 {
5714 "type": "FIELD",
5715 "name": "default_value",
5716 "content": {
5717 "type": "SYMBOL",
5718 "name": "initializer_list"
5719 }
5720 },
5721 {
5722 "type": "SEQ",
5723 "members": [
5724 {
5725 "type": "STRING",
5726 "value": "="
5727 },
5728 {
5729 "type": "FIELD",
5730 "name": "default_value",
5731 "content": {
5732 "type": "CHOICE",
5733 "members": [
5734 {
5735 "type": "SYMBOL",
5736 "name": "expression"
5737 },
5738 {
5739 "type": "SYMBOL",
5740 "name": "initializer_list"
5741 }
5742 ]
5743 }
5744 }
5745 ]
5746 }
5747 ]
5748 },
5749 {
5750 "type": "BLANK"
5751 }
5752 ]
5753 }
5754 ]
5755 },
5756 {
5757 "type": "REPEAT",
5758 "content": {
5759 "type": "SEQ",
5760 "members": [
5761 {
5762 "type": "STRING",
5763 "value": ","
5764 },
5765 {
5766 "type": "SEQ",
5767 "members": [
5768 {
5769 "type": "FIELD",
5770 "name": "declarator",
5771 "content": {
5772 "type": "SYMBOL",
5773 "name": "_field_declarator"
5774 }
5775 },
5776 {
5777 "type": "CHOICE",
5778 "members": [
5779 {
5780 "type": "CHOICE",
5781 "members": [
5782 {
5783 "type": "SYMBOL",
5784 "name": "bitfield_clause"
5785 },
5786 {
5787 "type": "FIELD",
5788 "name": "default_value",
5789 "content": {
5790 "type": "SYMBOL",
5791 "name": "initializer_list"
5792 }
5793 },
5794 {
5795 "type": "SEQ",
5796 "members": [
5797 {
5798 "type": "STRING",
5799 "value": "="
5800 },
5801 {
5802 "type": "FIELD",
5803 "name": "default_value",
5804 "content": {
5805 "type": "CHOICE",
5806 "members": [
5807 {
5808 "type": "SYMBOL",
5809 "name": "expression"
5810 },
5811 {
5812 "type": "SYMBOL",
5813 "name": "initializer_list"
5814 }
5815 ]
5816 }
5817 }
5818 ]
5819 }
5820 ]
5821 },
5822 {
5823 "type": "BLANK"
5824 }
5825 ]
5826 }
5827 ]
5828 }
5829 ]
5830 }
5831 }
5832 ]
5833 },
5834 {
5835 "type": "BLANK"
5836 }
5837 ]
5838 },
5839 {
5840 "type": "CHOICE",
5841 "members": [
5842 {
5843 "type": "SYMBOL",
5844 "name": "attribute_specifier"
5845 },
5846 {
5847 "type": "BLANK"
5848 }
5849 ]
5850 },
5851 {
5852 "type": "STRING",
5853 "value": ";"
5854 }
5855 ]
5856 },
5857 "_field_declaration_declarator": {
5858 "type": "SEQ",
5859 "members": [
5860 {
5861 "type": "SEQ",
5862 "members": [
5863 {
5864 "type": "FIELD",
5865 "name": "declarator",
5866 "content": {
5867 "type": "SYMBOL",
5868 "name": "_field_declarator"
5869 }
5870 },
5871 {
5872 "type": "CHOICE",
5873 "members": [
5874 {
5875 "type": "SYMBOL",
5876 "name": "bitfield_clause"
5877 },
5878 {
5879 "type": "BLANK"
5880 }
5881 ]
5882 }
5883 ]
5884 },
5885 {
5886 "type": "REPEAT",
5887 "content": {
5888 "type": "SEQ",
5889 "members": [
5890 {
5891 "type": "STRING",
5892 "value": ","
5893 },
5894 {
5895 "type": "SEQ",
5896 "members": [
5897 {
5898 "type": "FIELD",
5899 "name": "declarator",
5900 "content": {
5901 "type": "SYMBOL",
5902 "name": "_field_declarator"
5903 }
5904 },
5905 {
5906 "type": "CHOICE",
5907 "members": [
5908 {
5909 "type": "SYMBOL",
5910 "name": "bitfield_clause"
5911 },
5912 {
5913 "type": "BLANK"
5914 }
5915 ]
5916 }
5917 ]
5918 }
5919 ]
5920 }
5921 }
5922 ]
5923 },
5924 "bitfield_clause": {
5925 "type": "SEQ",
5926 "members": [
5927 {
5928 "type": "STRING",
5929 "value": ":"
5930 },
5931 {
5932 "type": "SYMBOL",
5933 "name": "expression"
5934 }
5935 ]
5936 },
5937 "enumerator": {
5938 "type": "SEQ",
5939 "members": [
5940 {
5941 "type": "FIELD",
5942 "name": "name",
5943 "content": {
5944 "type": "SYMBOL",
5945 "name": "identifier"
5946 }
5947 },
5948 {
5949 "type": "CHOICE",
5950 "members": [
5951 {
5952 "type": "SEQ",
5953 "members": [
5954 {
5955 "type": "STRING",
5956 "value": "="
5957 },
5958 {
5959 "type": "FIELD",
5960 "name": "value",
5961 "content": {
5962 "type": "SYMBOL",
5963 "name": "expression"
5964 }
5965 }
5966 ]
5967 },
5968 {
5969 "type": "BLANK"
5970 }
5971 ]
5972 }
5973 ]
5974 },
5975 "variadic_parameter": {
5976 "type": "STRING",
5977 "value": "..."
5978 },
5979 "parameter_list": {
5980 "type": "SEQ",
5981 "members": [
5982 {
5983 "type": "STRING",
5984 "value": "("
5985 },
5986 {
5987 "type": "CHOICE",
5988 "members": [
5989 {
5990 "type": "SEQ",
5991 "members": [
5992 {
5993 "type": "CHOICE",
5994 "members": [
5995 {
5996 "type": "SYMBOL",
5997 "name": "parameter_declaration"
5998 },
5999 {
6000 "type": "SYMBOL",
6001 "name": "optional_parameter_declaration"
6002 },
6003 {
6004 "type": "SYMBOL",
6005 "name": "variadic_parameter_declaration"
6006 },
6007 {
6008 "type": "STRING",
6009 "value": "..."
6010 }
6011 ]
6012 },
6013 {
6014 "type": "REPEAT",
6015 "content": {
6016 "type": "SEQ",
6017 "members": [
6018 {
6019 "type": "STRING",
6020 "value": ","
6021 },
6022 {
6023 "type": "CHOICE",
6024 "members": [
6025 {
6026 "type": "SYMBOL",
6027 "name": "parameter_declaration"
6028 },
6029 {
6030 "type": "SYMBOL",
6031 "name": "optional_parameter_declaration"
6032 },
6033 {
6034 "type": "SYMBOL",
6035 "name": "variadic_parameter_declaration"
6036 },
6037 {
6038 "type": "STRING",
6039 "value": "..."
6040 }
6041 ]
6042 }
6043 ]
6044 }
6045 }
6046 ]
6047 },
6048 {
6049 "type": "BLANK"
6050 }
6051 ]
6052 },
6053 {
6054 "type": "STRING",
6055 "value": ")"
6056 }
6057 ]
6058 },
6059 "_old_style_parameter_list": {
6060 "type": "SEQ",
6061 "members": [
6062 {
6063 "type": "STRING",
6064 "value": "("
6065 },
6066 {
6067 "type": "CHOICE",
6068 "members": [
6069 {
6070 "type": "SEQ",
6071 "members": [
6072 {
6073 "type": "CHOICE",
6074 "members": [
6075 {
6076 "type": "SYMBOL",
6077 "name": "identifier"
6078 },
6079 {
6080 "type": "SYMBOL",
6081 "name": "variadic_parameter"
6082 }
6083 ]
6084 },
6085 {
6086 "type": "REPEAT",
6087 "content": {
6088 "type": "SEQ",
6089 "members": [
6090 {
6091 "type": "STRING",
6092 "value": ","
6093 },
6094 {
6095 "type": "CHOICE",
6096 "members": [
6097 {
6098 "type": "SYMBOL",
6099 "name": "identifier"
6100 },
6101 {
6102 "type": "SYMBOL",
6103 "name": "variadic_parameter"
6104 }
6105 ]
6106 }
6107 ]
6108 }
6109 }
6110 ]
6111 },
6112 {
6113 "type": "BLANK"
6114 }
6115 ]
6116 },
6117 {
6118 "type": "STRING",
6119 "value": ")"
6120 }
6121 ]
6122 },
6123 "parameter_declaration": {
6124 "type": "SEQ",
6125 "members": [
6126 {
6127 "type": "SYMBOL",
6128 "name": "_declaration_specifiers"
6129 },
6130 {
6131 "type": "CHOICE",
6132 "members": [
6133 {
6134 "type": "FIELD",
6135 "name": "declarator",
6136 "content": {
6137 "type": "CHOICE",
6138 "members": [
6139 {
6140 "type": "SYMBOL",
6141 "name": "_declarator"
6142 },
6143 {
6144 "type": "SYMBOL",
6145 "name": "_abstract_declarator"
6146 }
6147 ]
6148 }
6149 },
6150 {
6151 "type": "BLANK"
6152 }
6153 ]
6154 }
6155 ]
6156 },
6157 "attributed_statement": {
6158 "type": "SEQ",
6159 "members": [
6160 {
6161 "type": "REPEAT1",
6162 "content": {
6163 "type": "SYMBOL",
6164 "name": "attribute_declaration"
6165 }
6166 },
6167 {
6168 "type": "SYMBOL",
6169 "name": "statement"
6170 }
6171 ]
6172 },
6173 "statement": {
6174 "type": "CHOICE",
6175 "members": [
6176 {
6177 "type": "SYMBOL",
6178 "name": "case_statement"
6179 },
6180 {
6181 "type": "SYMBOL",
6182 "name": "_non_case_statement"
6183 }
6184 ]
6185 },
6186 "_non_case_statement": {
6187 "type": "CHOICE",
6188 "members": [
6189 {
6190 "type": "CHOICE",
6191 "members": [
6192 {
6193 "type": "SYMBOL",
6194 "name": "attributed_statement"
6195 },
6196 {
6197 "type": "SYMBOL",
6198 "name": "labeled_statement"
6199 },
6200 {
6201 "type": "SYMBOL",
6202 "name": "compound_statement"
6203 },
6204 {
6205 "type": "SYMBOL",
6206 "name": "expression_statement"
6207 },
6208 {
6209 "type": "SYMBOL",
6210 "name": "if_statement"
6211 },
6212 {
6213 "type": "SYMBOL",
6214 "name": "switch_statement"
6215 },
6216 {
6217 "type": "SYMBOL",
6218 "name": "do_statement"
6219 },
6220 {
6221 "type": "SYMBOL",
6222 "name": "while_statement"
6223 },
6224 {
6225 "type": "SYMBOL",
6226 "name": "for_statement"
6227 },
6228 {
6229 "type": "SYMBOL",
6230 "name": "return_statement"
6231 },
6232 {
6233 "type": "SYMBOL",
6234 "name": "break_statement"
6235 },
6236 {
6237 "type": "SYMBOL",
6238 "name": "continue_statement"
6239 },
6240 {
6241 "type": "SYMBOL",
6242 "name": "goto_statement"
6243 },
6244 {
6245 "type": "SYMBOL",
6246 "name": "seh_try_statement"
6247 },
6248 {
6249 "type": "SYMBOL",
6250 "name": "seh_leave_statement"
6251 }
6252 ]
6253 },
6254 {
6255 "type": "SYMBOL",
6256 "name": "co_return_statement"
6257 },
6258 {
6259 "type": "SYMBOL",
6260 "name": "co_yield_statement"
6261 },
6262 {
6263 "type": "SYMBOL",
6264 "name": "for_range_loop"
6265 },
6266 {
6267 "type": "SYMBOL",
6268 "name": "try_statement"
6269 },
6270 {
6271 "type": "SYMBOL",
6272 "name": "throw_statement"
6273 }
6274 ]
6275 },
6276 "_top_level_statement": {
6277 "type": "CHOICE",
6278 "members": [
6279 {
6280 "type": "CHOICE",
6281 "members": [
6282 {
6283 "type": "SYMBOL",
6284 "name": "case_statement"
6285 },
6286 {
6287 "type": "SYMBOL",
6288 "name": "attributed_statement"
6289 },
6290 {
6291 "type": "SYMBOL",
6292 "name": "labeled_statement"
6293 },
6294 {
6295 "type": "SYMBOL",
6296 "name": "compound_statement"
6297 },
6298 {
6299 "type": "ALIAS",
6300 "content": {
6301 "type": "SYMBOL",
6302 "name": "_top_level_expression_statement"
6303 },
6304 "named": true,
6305 "value": "expression_statement"
6306 },
6307 {
6308 "type": "SYMBOL",
6309 "name": "if_statement"
6310 },
6311 {
6312 "type": "SYMBOL",
6313 "name": "switch_statement"
6314 },
6315 {
6316 "type": "SYMBOL",
6317 "name": "do_statement"
6318 },
6319 {
6320 "type": "SYMBOL",
6321 "name": "while_statement"
6322 },
6323 {
6324 "type": "SYMBOL",
6325 "name": "for_statement"
6326 },
6327 {
6328 "type": "SYMBOL",
6329 "name": "return_statement"
6330 },
6331 {
6332 "type": "SYMBOL",
6333 "name": "break_statement"
6334 },
6335 {
6336 "type": "SYMBOL",
6337 "name": "continue_statement"
6338 },
6339 {
6340 "type": "SYMBOL",
6341 "name": "goto_statement"
6342 }
6343 ]
6344 },
6345 {
6346 "type": "SYMBOL",
6347 "name": "co_return_statement"
6348 },
6349 {
6350 "type": "SYMBOL",
6351 "name": "co_yield_statement"
6352 },
6353 {
6354 "type": "SYMBOL",
6355 "name": "for_range_loop"
6356 },
6357 {
6358 "type": "SYMBOL",
6359 "name": "try_statement"
6360 },
6361 {
6362 "type": "SYMBOL",
6363 "name": "throw_statement"
6364 }
6365 ]
6366 },
6367 "labeled_statement": {
6368 "type": "SEQ",
6369 "members": [
6370 {
6371 "type": "FIELD",
6372 "name": "label",
6373 "content": {
6374 "type": "SYMBOL",
6375 "name": "_statement_identifier"
6376 }
6377 },
6378 {
6379 "type": "STRING",
6380 "value": ":"
6381 },
6382 {
6383 "type": "SYMBOL",
6384 "name": "statement"
6385 }
6386 ]
6387 },
6388 "_top_level_expression_statement": {
6389 "type": "SEQ",
6390 "members": [
6391 {
6392 "type": "SYMBOL",
6393 "name": "_expression_not_binary"
6394 },
6395 {
6396 "type": "STRING",
6397 "value": ";"
6398 }
6399 ]
6400 },
6401 "expression_statement": {
6402 "type": "SEQ",
6403 "members": [
6404 {
6405 "type": "CHOICE",
6406 "members": [
6407 {
6408 "type": "CHOICE",
6409 "members": [
6410 {
6411 "type": "SYMBOL",
6412 "name": "expression"
6413 },
6414 {
6415 "type": "SYMBOL",
6416 "name": "comma_expression"
6417 }
6418 ]
6419 },
6420 {
6421 "type": "BLANK"
6422 }
6423 ]
6424 },
6425 {
6426 "type": "STRING",
6427 "value": ";"
6428 }
6429 ]
6430 },
6431 "if_statement": {
6432 "type": "PREC_RIGHT",
6433 "value": 0,
6434 "content": {
6435 "type": "SEQ",
6436 "members": [
6437 {
6438 "type": "STRING",
6439 "value": "if"
6440 },
6441 {
6442 "type": "CHOICE",
6443 "members": [
6444 {
6445 "type": "STRING",
6446 "value": "constexpr"
6447 },
6448 {
6449 "type": "BLANK"
6450 }
6451 ]
6452 },
6453 {
6454 "type": "FIELD",
6455 "name": "condition",
6456 "content": {
6457 "type": "SYMBOL",
6458 "name": "condition_clause"
6459 }
6460 },
6461 {
6462 "type": "FIELD",
6463 "name": "consequence",
6464 "content": {
6465 "type": "SYMBOL",
6466 "name": "statement"
6467 }
6468 },
6469 {
6470 "type": "CHOICE",
6471 "members": [
6472 {
6473 "type": "FIELD",
6474 "name": "alternative",
6475 "content": {
6476 "type": "SYMBOL",
6477 "name": "else_clause"
6478 }
6479 },
6480 {
6481 "type": "BLANK"
6482 }
6483 ]
6484 }
6485 ]
6486 }
6487 },
6488 "else_clause": {
6489 "type": "SEQ",
6490 "members": [
6491 {
6492 "type": "STRING",
6493 "value": "else"
6494 },
6495 {
6496 "type": "SYMBOL",
6497 "name": "statement"
6498 }
6499 ]
6500 },
6501 "switch_statement": {
6502 "type": "SEQ",
6503 "members": [
6504 {
6505 "type": "STRING",
6506 "value": "switch"
6507 },
6508 {
6509 "type": "FIELD",
6510 "name": "condition",
6511 "content": {
6512 "type": "SYMBOL",
6513 "name": "condition_clause"
6514 }
6515 },
6516 {
6517 "type": "FIELD",
6518 "name": "body",
6519 "content": {
6520 "type": "SYMBOL",
6521 "name": "compound_statement"
6522 }
6523 }
6524 ]
6525 },
6526 "case_statement": {
6527 "type": "PREC_RIGHT",
6528 "value": 0,
6529 "content": {
6530 "type": "SEQ",
6531 "members": [
6532 {
6533 "type": "CHOICE",
6534 "members": [
6535 {
6536 "type": "SEQ",
6537 "members": [
6538 {
6539 "type": "STRING",
6540 "value": "case"
6541 },
6542 {
6543 "type": "FIELD",
6544 "name": "value",
6545 "content": {
6546 "type": "SYMBOL",
6547 "name": "expression"
6548 }
6549 }
6550 ]
6551 },
6552 {
6553 "type": "STRING",
6554 "value": "default"
6555 }
6556 ]
6557 },
6558 {
6559 "type": "STRING",
6560 "value": ":"
6561 },
6562 {
6563 "type": "REPEAT",
6564 "content": {
6565 "type": "CHOICE",
6566 "members": [
6567 {
6568 "type": "SYMBOL",
6569 "name": "_non_case_statement"
6570 },
6571 {
6572 "type": "SYMBOL",
6573 "name": "declaration"
6574 },
6575 {
6576 "type": "SYMBOL",
6577 "name": "type_definition"
6578 }
6579 ]
6580 }
6581 }
6582 ]
6583 }
6584 },
6585 "while_statement": {
6586 "type": "SEQ",
6587 "members": [
6588 {
6589 "type": "STRING",
6590 "value": "while"
6591 },
6592 {
6593 "type": "FIELD",
6594 "name": "condition",
6595 "content": {
6596 "type": "SYMBOL",
6597 "name": "condition_clause"
6598 }
6599 },
6600 {
6601 "type": "FIELD",
6602 "name": "body",
6603 "content": {
6604 "type": "SYMBOL",
6605 "name": "statement"
6606 }
6607 }
6608 ]
6609 },
6610 "do_statement": {
6611 "type": "SEQ",
6612 "members": [
6613 {
6614 "type": "STRING",
6615 "value": "do"
6616 },
6617 {
6618 "type": "FIELD",
6619 "name": "body",
6620 "content": {
6621 "type": "SYMBOL",
6622 "name": "statement"
6623 }
6624 },
6625 {
6626 "type": "STRING",
6627 "value": "while"
6628 },
6629 {
6630 "type": "FIELD",
6631 "name": "condition",
6632 "content": {
6633 "type": "SYMBOL",
6634 "name": "parenthesized_expression"
6635 }
6636 },
6637 {
6638 "type": "STRING",
6639 "value": ";"
6640 }
6641 ]
6642 },
6643 "for_statement": {
6644 "type": "SEQ",
6645 "members": [
6646 {
6647 "type": "STRING",
6648 "value": "for"
6649 },
6650 {
6651 "type": "STRING",
6652 "value": "("
6653 },
6654 {
6655 "type": "SYMBOL",
6656 "name": "_for_statement_body"
6657 },
6658 {
6659 "type": "STRING",
6660 "value": ")"
6661 },
6662 {
6663 "type": "FIELD",
6664 "name": "body",
6665 "content": {
6666 "type": "SYMBOL",
6667 "name": "statement"
6668 }
6669 }
6670 ]
6671 },
6672 "_for_statement_body": {
6673 "type": "PREC_DYNAMIC",
6674 "value": 1,
6675 "content": {
6676 "type": "SEQ",
6677 "members": [
6678 {
6679 "type": "CHOICE",
6680 "members": [
6681 {
6682 "type": "FIELD",
6683 "name": "initializer",
6684 "content": {
6685 "type": "SYMBOL",
6686 "name": "declaration"
6687 }
6688 },
6689 {
6690 "type": "SEQ",
6691 "members": [
6692 {
6693 "type": "FIELD",
6694 "name": "initializer",
6695 "content": {
6696 "type": "CHOICE",
6697 "members": [
6698 {
6699 "type": "CHOICE",
6700 "members": [
6701 {
6702 "type": "SYMBOL",
6703 "name": "expression"
6704 },
6705 {
6706 "type": "SYMBOL",
6707 "name": "comma_expression"
6708 }
6709 ]
6710 },
6711 {
6712 "type": "BLANK"
6713 }
6714 ]
6715 }
6716 },
6717 {
6718 "type": "STRING",
6719 "value": ";"
6720 }
6721 ]
6722 }
6723 ]
6724 },
6725 {
6726 "type": "FIELD",
6727 "name": "condition",
6728 "content": {
6729 "type": "CHOICE",
6730 "members": [
6731 {
6732 "type": "CHOICE",
6733 "members": [
6734 {
6735 "type": "SYMBOL",
6736 "name": "expression"
6737 },
6738 {
6739 "type": "SYMBOL",
6740 "name": "comma_expression"
6741 }
6742 ]
6743 },
6744 {
6745 "type": "BLANK"
6746 }
6747 ]
6748 }
6749 },
6750 {
6751 "type": "STRING",
6752 "value": ";"
6753 },
6754 {
6755 "type": "FIELD",
6756 "name": "update",
6757 "content": {
6758 "type": "CHOICE",
6759 "members": [
6760 {
6761 "type": "CHOICE",
6762 "members": [
6763 {
6764 "type": "SYMBOL",
6765 "name": "expression"
6766 },
6767 {
6768 "type": "SYMBOL",
6769 "name": "comma_expression"
6770 }
6771 ]
6772 },
6773 {
6774 "type": "BLANK"
6775 }
6776 ]
6777 }
6778 }
6779 ]
6780 }
6781 },
6782 "return_statement": {
6783 "type": "SEQ",
6784 "members": [
6785 {
6786 "type": "CHOICE",
6787 "members": [
6788 {
6789 "type": "SEQ",
6790 "members": [
6791 {
6792 "type": "STRING",
6793 "value": "return"
6794 },
6795 {
6796 "type": "CHOICE",
6797 "members": [
6798 {
6799 "type": "CHOICE",
6800 "members": [
6801 {
6802 "type": "SYMBOL",
6803 "name": "expression"
6804 },
6805 {
6806 "type": "SYMBOL",
6807 "name": "comma_expression"
6808 }
6809 ]
6810 },
6811 {
6812 "type": "BLANK"
6813 }
6814 ]
6815 },
6816 {
6817 "type": "STRING",
6818 "value": ";"
6819 }
6820 ]
6821 },
6822 {
6823 "type": "SEQ",
6824 "members": [
6825 {
6826 "type": "STRING",
6827 "value": "return"
6828 },
6829 {
6830 "type": "SYMBOL",
6831 "name": "initializer_list"
6832 },
6833 {
6834 "type": "STRING",
6835 "value": ";"
6836 }
6837 ]
6838 }
6839 ]
6840 }
6841 ]
6842 },
6843 "break_statement": {
6844 "type": "SEQ",
6845 "members": [
6846 {
6847 "type": "STRING",
6848 "value": "break"
6849 },
6850 {
6851 "type": "STRING",
6852 "value": ";"
6853 }
6854 ]
6855 },
6856 "continue_statement": {
6857 "type": "SEQ",
6858 "members": [
6859 {
6860 "type": "STRING",
6861 "value": "continue"
6862 },
6863 {
6864 "type": "STRING",
6865 "value": ";"
6866 }
6867 ]
6868 },
6869 "goto_statement": {
6870 "type": "SEQ",
6871 "members": [
6872 {
6873 "type": "STRING",
6874 "value": "goto"
6875 },
6876 {
6877 "type": "FIELD",
6878 "name": "label",
6879 "content": {
6880 "type": "SYMBOL",
6881 "name": "_statement_identifier"
6882 }
6883 },
6884 {
6885 "type": "STRING",
6886 "value": ";"
6887 }
6888 ]
6889 },
6890 "seh_try_statement": {
6891 "type": "SEQ",
6892 "members": [
6893 {
6894 "type": "STRING",
6895 "value": "__try"
6896 },
6897 {
6898 "type": "FIELD",
6899 "name": "body",
6900 "content": {
6901 "type": "SYMBOL",
6902 "name": "compound_statement"
6903 }
6904 },
6905 {
6906 "type": "CHOICE",
6907 "members": [
6908 {
6909 "type": "SYMBOL",
6910 "name": "seh_except_clause"
6911 },
6912 {
6913 "type": "SYMBOL",
6914 "name": "seh_finally_clause"
6915 }
6916 ]
6917 }
6918 ]
6919 },
6920 "seh_except_clause": {
6921 "type": "SEQ",
6922 "members": [
6923 {
6924 "type": "STRING",
6925 "value": "__except"
6926 },
6927 {
6928 "type": "FIELD",
6929 "name": "filter",
6930 "content": {
6931 "type": "SYMBOL",
6932 "name": "parenthesized_expression"
6933 }
6934 },
6935 {
6936 "type": "FIELD",
6937 "name": "body",
6938 "content": {
6939 "type": "SYMBOL",
6940 "name": "compound_statement"
6941 }
6942 }
6943 ]
6944 },
6945 "seh_finally_clause": {
6946 "type": "SEQ",
6947 "members": [
6948 {
6949 "type": "STRING",
6950 "value": "__finally"
6951 },
6952 {
6953 "type": "FIELD",
6954 "name": "body",
6955 "content": {
6956 "type": "SYMBOL",
6957 "name": "compound_statement"
6958 }
6959 }
6960 ]
6961 },
6962 "seh_leave_statement": {
6963 "type": "SEQ",
6964 "members": [
6965 {
6966 "type": "STRING",
6967 "value": "__leave"
6968 },
6969 {
6970 "type": "STRING",
6971 "value": ";"
6972 }
6973 ]
6974 },
6975 "expression": {
6976 "type": "CHOICE",
6977 "members": [
6978 {
6979 "type": "CHOICE",
6980 "members": [
6981 {
6982 "type": "SYMBOL",
6983 "name": "_expression_not_binary"
6984 },
6985 {
6986 "type": "SYMBOL",
6987 "name": "binary_expression"
6988 }
6989 ]
6990 },
6991 {
6992 "type": "ALIAS",
6993 "content": {
6994 "type": "PREC",
6995 "value": 10,
6996 "content": {
6997 "type": "SYMBOL",
6998 "name": "kernel_call_expression"
6999 }
7000 },
7001 "named": true,
7002 "value": "call_expression"
7003 }
7004 ]
7005 },
7006 "_expression_not_binary": {
7007 "type": "CHOICE",
7008 "members": [
7009 {
7010 "type": "CHOICE",
7011 "members": [
7012 {
7013 "type": "SYMBOL",
7014 "name": "conditional_expression"
7015 },
7016 {
7017 "type": "SYMBOL",
7018 "name": "assignment_expression"
7019 },
7020 {
7021 "type": "SYMBOL",
7022 "name": "unary_expression"
7023 },
7024 {
7025 "type": "SYMBOL",
7026 "name": "update_expression"
7027 },
7028 {
7029 "type": "SYMBOL",
7030 "name": "cast_expression"
7031 },
7032 {
7033 "type": "SYMBOL",
7034 "name": "pointer_expression"
7035 },
7036 {
7037 "type": "SYMBOL",
7038 "name": "sizeof_expression"
7039 },
7040 {
7041 "type": "SYMBOL",
7042 "name": "alignof_expression"
7043 },
7044 {
7045 "type": "SYMBOL",
7046 "name": "offsetof_expression"
7047 },
7048 {
7049 "type": "SYMBOL",
7050 "name": "generic_expression"
7051 },
7052 {
7053 "type": "SYMBOL",
7054 "name": "subscript_expression"
7055 },
7056 {
7057 "type": "SYMBOL",
7058 "name": "call_expression"
7059 },
7060 {
7061 "type": "SYMBOL",
7062 "name": "field_expression"
7063 },
7064 {
7065 "type": "SYMBOL",
7066 "name": "compound_literal_expression"
7067 },
7068 {
7069 "type": "SYMBOL",
7070 "name": "identifier"
7071 },
7072 {
7073 "type": "SYMBOL",
7074 "name": "number_literal"
7075 },
7076 {
7077 "type": "SYMBOL",
7078 "name": "_string"
7079 },
7080 {
7081 "type": "SYMBOL",
7082 "name": "true"
7083 },
7084 {
7085 "type": "SYMBOL",
7086 "name": "false"
7087 },
7088 {
7089 "type": "SYMBOL",
7090 "name": "null"
7091 },
7092 {
7093 "type": "SYMBOL",
7094 "name": "char_literal"
7095 },
7096 {
7097 "type": "SYMBOL",
7098 "name": "parenthesized_expression"
7099 },
7100 {
7101 "type": "SYMBOL",
7102 "name": "gnu_asm_expression"
7103 }
7104 ]
7105 },
7106 {
7107 "type": "SYMBOL",
7108 "name": "co_await_expression"
7109 },
7110 {
7111 "type": "SYMBOL",
7112 "name": "requires_expression"
7113 },
7114 {
7115 "type": "SYMBOL",
7116 "name": "requires_clause"
7117 },
7118 {
7119 "type": "SYMBOL",
7120 "name": "template_function"
7121 },
7122 {
7123 "type": "SYMBOL",
7124 "name": "qualified_identifier"
7125 },
7126 {
7127 "type": "SYMBOL",
7128 "name": "new_expression"
7129 },
7130 {
7131 "type": "SYMBOL",
7132 "name": "delete_expression"
7133 },
7134 {
7135 "type": "SYMBOL",
7136 "name": "lambda_expression"
7137 },
7138 {
7139 "type": "SYMBOL",
7140 "name": "parameter_pack_expansion"
7141 },
7142 {
7143 "type": "SYMBOL",
7144 "name": "this"
7145 },
7146 {
7147 "type": "SYMBOL",
7148 "name": "raw_string_literal"
7149 },
7150 {
7151 "type": "SYMBOL",
7152 "name": "user_defined_literal"
7153 },
7154 {
7155 "type": "SYMBOL",
7156 "name": "fold_expression"
7157 }
7158 ]
7159 },
7160 "_string": {
7161 "type": "PREC_LEFT",
7162 "value": 0,
7163 "content": {
7164 "type": "CHOICE",
7165 "members": [
7166 {
7167 "type": "SYMBOL",
7168 "name": "string_literal"
7169 },
7170 {
7171 "type": "SYMBOL",
7172 "name": "concatenated_string"
7173 }
7174 ]
7175 }
7176 },
7177 "comma_expression": {
7178 "type": "SEQ",
7179 "members": [
7180 {
7181 "type": "FIELD",
7182 "name": "left",
7183 "content": {
7184 "type": "SYMBOL",
7185 "name": "expression"
7186 }
7187 },
7188 {
7189 "type": "STRING",
7190 "value": ","
7191 },
7192 {
7193 "type": "FIELD",
7194 "name": "right",
7195 "content": {
7196 "type": "CHOICE",
7197 "members": [
7198 {
7199 "type": "SYMBOL",
7200 "name": "expression"
7201 },
7202 {
7203 "type": "SYMBOL",
7204 "name": "comma_expression"
7205 }
7206 ]
7207 }
7208 }
7209 ]
7210 },
7211 "conditional_expression": {
7212 "type": "PREC_RIGHT",
7213 "value": -1,
7214 "content": {
7215 "type": "SEQ",
7216 "members": [
7217 {
7218 "type": "FIELD",
7219 "name": "condition",
7220 "content": {
7221 "type": "SYMBOL",
7222 "name": "expression"
7223 }
7224 },
7225 {
7226 "type": "STRING",
7227 "value": "?"
7228 },
7229 {
7230 "type": "CHOICE",
7231 "members": [
7232 {
7233 "type": "FIELD",
7234 "name": "consequence",
7235 "content": {
7236 "type": "CHOICE",
7237 "members": [
7238 {
7239 "type": "SYMBOL",
7240 "name": "expression"
7241 },
7242 {
7243 "type": "SYMBOL",
7244 "name": "comma_expression"
7245 }
7246 ]
7247 }
7248 },
7249 {
7250 "type": "BLANK"
7251 }
7252 ]
7253 },
7254 {
7255 "type": "STRING",
7256 "value": ":"
7257 },
7258 {
7259 "type": "FIELD",
7260 "name": "alternative",
7261 "content": {
7262 "type": "SYMBOL",
7263 "name": "expression"
7264 }
7265 }
7266 ]
7267 }
7268 },
7269 "_assignment_left_expression": {
7270 "type": "CHOICE",
7271 "members": [
7272 {
7273 "type": "CHOICE",
7274 "members": [
7275 {
7276 "type": "SYMBOL",
7277 "name": "identifier"
7278 },
7279 {
7280 "type": "SYMBOL",
7281 "name": "call_expression"
7282 },
7283 {
7284 "type": "SYMBOL",
7285 "name": "field_expression"
7286 },
7287 {
7288 "type": "SYMBOL",
7289 "name": "pointer_expression"
7290 },
7291 {
7292 "type": "SYMBOL",
7293 "name": "subscript_expression"
7294 },
7295 {
7296 "type": "SYMBOL",
7297 "name": "parenthesized_expression"
7298 }
7299 ]
7300 },
7301 {
7302 "type": "SYMBOL",
7303 "name": "qualified_identifier"
7304 },
7305 {
7306 "type": "SYMBOL",
7307 "name": "user_defined_literal"
7308 }
7309 ]
7310 },
7311 "assignment_expression": {
7312 "type": "PREC_RIGHT",
7313 "value": -2,
7314 "content": {
7315 "type": "SEQ",
7316 "members": [
7317 {
7318 "type": "FIELD",
7319 "name": "left",
7320 "content": {
7321 "type": "SYMBOL",
7322 "name": "_assignment_left_expression"
7323 }
7324 },
7325 {
7326 "type": "FIELD",
7327 "name": "operator",
7328 "content": {
7329 "type": "CHOICE",
7330 "members": [
7331 {
7332 "type": "STRING",
7333 "value": "="
7334 },
7335 {
7336 "type": "STRING",
7337 "value": "*="
7338 },
7339 {
7340 "type": "STRING",
7341 "value": "/="
7342 },
7343 {
7344 "type": "STRING",
7345 "value": "%="
7346 },
7347 {
7348 "type": "STRING",
7349 "value": "+="
7350 },
7351 {
7352 "type": "STRING",
7353 "value": "-="
7354 },
7355 {
7356 "type": "STRING",
7357 "value": "<<="
7358 },
7359 {
7360 "type": "STRING",
7361 "value": ">>="
7362 },
7363 {
7364 "type": "STRING",
7365 "value": "&="
7366 },
7367 {
7368 "type": "STRING",
7369 "value": "^="
7370 },
7371 {
7372 "type": "STRING",
7373 "value": "|="
7374 },
7375 {
7376 "type": "STRING",
7377 "value": "and_eq"
7378 },
7379 {
7380 "type": "STRING",
7381 "value": "or_eq"
7382 },
7383 {
7384 "type": "STRING",
7385 "value": "xor_eq"
7386 }
7387 ]
7388 }
7389 },
7390 {
7391 "type": "FIELD",
7392 "name": "right",
7393 "content": {
7394 "type": "CHOICE",
7395 "members": [
7396 {
7397 "type": "SYMBOL",
7398 "name": "expression"
7399 },
7400 {
7401 "type": "SYMBOL",
7402 "name": "initializer_list"
7403 }
7404 ]
7405 }
7406 }
7407 ]
7408 }
7409 },
7410 "pointer_expression": {
7411 "type": "PREC_LEFT",
7412 "value": 12,
7413 "content": {
7414 "type": "SEQ",
7415 "members": [
7416 {
7417 "type": "FIELD",
7418 "name": "operator",
7419 "content": {
7420 "type": "CHOICE",
7421 "members": [
7422 {
7423 "type": "STRING",
7424 "value": "*"
7425 },
7426 {
7427 "type": "STRING",
7428 "value": "&"
7429 }
7430 ]
7431 }
7432 },
7433 {
7434 "type": "FIELD",
7435 "name": "argument",
7436 "content": {
7437 "type": "SYMBOL",
7438 "name": "expression"
7439 }
7440 }
7441 ]
7442 }
7443 },
7444 "unary_expression": {
7445 "type": "CHOICE",
7446 "members": [
7447 {
7448 "type": "PREC_LEFT",
7449 "value": 14,
7450 "content": {
7451 "type": "SEQ",
7452 "members": [
7453 {
7454 "type": "FIELD",
7455 "name": "operator",
7456 "content": {
7457 "type": "CHOICE",
7458 "members": [
7459 {
7460 "type": "STRING",
7461 "value": "!"
7462 },
7463 {
7464 "type": "STRING",
7465 "value": "~"
7466 },
7467 {
7468 "type": "STRING",
7469 "value": "-"
7470 },
7471 {
7472 "type": "STRING",
7473 "value": "+"
7474 }
7475 ]
7476 }
7477 },
7478 {
7479 "type": "FIELD",
7480 "name": "argument",
7481 "content": {
7482 "type": "SYMBOL",
7483 "name": "expression"
7484 }
7485 }
7486 ]
7487 }
7488 },
7489 {
7490 "type": "PREC_LEFT",
7491 "value": 14,
7492 "content": {
7493 "type": "SEQ",
7494 "members": [
7495 {
7496 "type": "FIELD",
7497 "name": "operator",
7498 "content": {
7499 "type": "CHOICE",
7500 "members": [
7501 {
7502 "type": "STRING",
7503 "value": "not"
7504 },
7505 {
7506 "type": "STRING",
7507 "value": "compl"
7508 }
7509 ]
7510 }
7511 },
7512 {
7513 "type": "FIELD",
7514 "name": "argument",
7515 "content": {
7516 "type": "SYMBOL",
7517 "name": "expression"
7518 }
7519 }
7520 ]
7521 }
7522 }
7523 ]
7524 },
7525 "binary_expression": {
7526 "type": "CHOICE",
7527 "members": [
7528 {
7529 "type": "CHOICE",
7530 "members": [
7531 {
7532 "type": "PREC_LEFT",
7533 "value": 10,
7534 "content": {
7535 "type": "SEQ",
7536 "members": [
7537 {
7538 "type": "FIELD",
7539 "name": "left",
7540 "content": {
7541 "type": "SYMBOL",
7542 "name": "expression"
7543 }
7544 },
7545 {
7546 "type": "FIELD",
7547 "name": "operator",
7548 "content": {
7549 "type": "STRING",
7550 "value": "+"
7551 }
7552 },
7553 {
7554 "type": "FIELD",
7555 "name": "right",
7556 "content": {
7557 "type": "SYMBOL",
7558 "name": "expression"
7559 }
7560 }
7561 ]
7562 }
7563 },
7564 {
7565 "type": "PREC_LEFT",
7566 "value": 10,
7567 "content": {
7568 "type": "SEQ",
7569 "members": [
7570 {
7571 "type": "FIELD",
7572 "name": "left",
7573 "content": {
7574 "type": "SYMBOL",
7575 "name": "expression"
7576 }
7577 },
7578 {
7579 "type": "FIELD",
7580 "name": "operator",
7581 "content": {
7582 "type": "STRING",
7583 "value": "-"
7584 }
7585 },
7586 {
7587 "type": "FIELD",
7588 "name": "right",
7589 "content": {
7590 "type": "SYMBOL",
7591 "name": "expression"
7592 }
7593 }
7594 ]
7595 }
7596 },
7597 {
7598 "type": "PREC_LEFT",
7599 "value": 11,
7600 "content": {
7601 "type": "SEQ",
7602 "members": [
7603 {
7604 "type": "FIELD",
7605 "name": "left",
7606 "content": {
7607 "type": "SYMBOL",
7608 "name": "expression"
7609 }
7610 },
7611 {
7612 "type": "FIELD",
7613 "name": "operator",
7614 "content": {
7615 "type": "STRING",
7616 "value": "*"
7617 }
7618 },
7619 {
7620 "type": "FIELD",
7621 "name": "right",
7622 "content": {
7623 "type": "SYMBOL",
7624 "name": "expression"
7625 }
7626 }
7627 ]
7628 }
7629 },
7630 {
7631 "type": "PREC_LEFT",
7632 "value": 11,
7633 "content": {
7634 "type": "SEQ",
7635 "members": [
7636 {
7637 "type": "FIELD",
7638 "name": "left",
7639 "content": {
7640 "type": "SYMBOL",
7641 "name": "expression"
7642 }
7643 },
7644 {
7645 "type": "FIELD",
7646 "name": "operator",
7647 "content": {
7648 "type": "STRING",
7649 "value": "/"
7650 }
7651 },
7652 {
7653 "type": "FIELD",
7654 "name": "right",
7655 "content": {
7656 "type": "SYMBOL",
7657 "name": "expression"
7658 }
7659 }
7660 ]
7661 }
7662 },
7663 {
7664 "type": "PREC_LEFT",
7665 "value": 11,
7666 "content": {
7667 "type": "SEQ",
7668 "members": [
7669 {
7670 "type": "FIELD",
7671 "name": "left",
7672 "content": {
7673 "type": "SYMBOL",
7674 "name": "expression"
7675 }
7676 },
7677 {
7678 "type": "FIELD",
7679 "name": "operator",
7680 "content": {
7681 "type": "STRING",
7682 "value": "%"
7683 }
7684 },
7685 {
7686 "type": "FIELD",
7687 "name": "right",
7688 "content": {
7689 "type": "SYMBOL",
7690 "name": "expression"
7691 }
7692 }
7693 ]
7694 }
7695 },
7696 {
7697 "type": "PREC_LEFT",
7698 "value": 1,
7699 "content": {
7700 "type": "SEQ",
7701 "members": [
7702 {
7703 "type": "FIELD",
7704 "name": "left",
7705 "content": {
7706 "type": "SYMBOL",
7707 "name": "expression"
7708 }
7709 },
7710 {
7711 "type": "FIELD",
7712 "name": "operator",
7713 "content": {
7714 "type": "STRING",
7715 "value": "||"
7716 }
7717 },
7718 {
7719 "type": "FIELD",
7720 "name": "right",
7721 "content": {
7722 "type": "SYMBOL",
7723 "name": "expression"
7724 }
7725 }
7726 ]
7727 }
7728 },
7729 {
7730 "type": "PREC_LEFT",
7731 "value": 2,
7732 "content": {
7733 "type": "SEQ",
7734 "members": [
7735 {
7736 "type": "FIELD",
7737 "name": "left",
7738 "content": {
7739 "type": "SYMBOL",
7740 "name": "expression"
7741 }
7742 },
7743 {
7744 "type": "FIELD",
7745 "name": "operator",
7746 "content": {
7747 "type": "STRING",
7748 "value": "&&"
7749 }
7750 },
7751 {
7752 "type": "FIELD",
7753 "name": "right",
7754 "content": {
7755 "type": "SYMBOL",
7756 "name": "expression"
7757 }
7758 }
7759 ]
7760 }
7761 },
7762 {
7763 "type": "PREC_LEFT",
7764 "value": 3,
7765 "content": {
7766 "type": "SEQ",
7767 "members": [
7768 {
7769 "type": "FIELD",
7770 "name": "left",
7771 "content": {
7772 "type": "SYMBOL",
7773 "name": "expression"
7774 }
7775 },
7776 {
7777 "type": "FIELD",
7778 "name": "operator",
7779 "content": {
7780 "type": "STRING",
7781 "value": "|"
7782 }
7783 },
7784 {
7785 "type": "FIELD",
7786 "name": "right",
7787 "content": {
7788 "type": "SYMBOL",
7789 "name": "expression"
7790 }
7791 }
7792 ]
7793 }
7794 },
7795 {
7796 "type": "PREC_LEFT",
7797 "value": 4,
7798 "content": {
7799 "type": "SEQ",
7800 "members": [
7801 {
7802 "type": "FIELD",
7803 "name": "left",
7804 "content": {
7805 "type": "SYMBOL",
7806 "name": "expression"
7807 }
7808 },
7809 {
7810 "type": "FIELD",
7811 "name": "operator",
7812 "content": {
7813 "type": "STRING",
7814 "value": "^"
7815 }
7816 },
7817 {
7818 "type": "FIELD",
7819 "name": "right",
7820 "content": {
7821 "type": "SYMBOL",
7822 "name": "expression"
7823 }
7824 }
7825 ]
7826 }
7827 },
7828 {
7829 "type": "PREC_LEFT",
7830 "value": 5,
7831 "content": {
7832 "type": "SEQ",
7833 "members": [
7834 {
7835 "type": "FIELD",
7836 "name": "left",
7837 "content": {
7838 "type": "SYMBOL",
7839 "name": "expression"
7840 }
7841 },
7842 {
7843 "type": "FIELD",
7844 "name": "operator",
7845 "content": {
7846 "type": "STRING",
7847 "value": "&"
7848 }
7849 },
7850 {
7851 "type": "FIELD",
7852 "name": "right",
7853 "content": {
7854 "type": "SYMBOL",
7855 "name": "expression"
7856 }
7857 }
7858 ]
7859 }
7860 },
7861 {
7862 "type": "PREC_LEFT",
7863 "value": 6,
7864 "content": {
7865 "type": "SEQ",
7866 "members": [
7867 {
7868 "type": "FIELD",
7869 "name": "left",
7870 "content": {
7871 "type": "SYMBOL",
7872 "name": "expression"
7873 }
7874 },
7875 {
7876 "type": "FIELD",
7877 "name": "operator",
7878 "content": {
7879 "type": "STRING",
7880 "value": "=="
7881 }
7882 },
7883 {
7884 "type": "FIELD",
7885 "name": "right",
7886 "content": {
7887 "type": "SYMBOL",
7888 "name": "expression"
7889 }
7890 }
7891 ]
7892 }
7893 },
7894 {
7895 "type": "PREC_LEFT",
7896 "value": 6,
7897 "content": {
7898 "type": "SEQ",
7899 "members": [
7900 {
7901 "type": "FIELD",
7902 "name": "left",
7903 "content": {
7904 "type": "SYMBOL",
7905 "name": "expression"
7906 }
7907 },
7908 {
7909 "type": "FIELD",
7910 "name": "operator",
7911 "content": {
7912 "type": "STRING",
7913 "value": "!="
7914 }
7915 },
7916 {
7917 "type": "FIELD",
7918 "name": "right",
7919 "content": {
7920 "type": "SYMBOL",
7921 "name": "expression"
7922 }
7923 }
7924 ]
7925 }
7926 },
7927 {
7928 "type": "PREC_LEFT",
7929 "value": 7,
7930 "content": {
7931 "type": "SEQ",
7932 "members": [
7933 {
7934 "type": "FIELD",
7935 "name": "left",
7936 "content": {
7937 "type": "SYMBOL",
7938 "name": "expression"
7939 }
7940 },
7941 {
7942 "type": "FIELD",
7943 "name": "operator",
7944 "content": {
7945 "type": "STRING",
7946 "value": ">"
7947 }
7948 },
7949 {
7950 "type": "FIELD",
7951 "name": "right",
7952 "content": {
7953 "type": "SYMBOL",
7954 "name": "expression"
7955 }
7956 }
7957 ]
7958 }
7959 },
7960 {
7961 "type": "PREC_LEFT",
7962 "value": 7,
7963 "content": {
7964 "type": "SEQ",
7965 "members": [
7966 {
7967 "type": "FIELD",
7968 "name": "left",
7969 "content": {
7970 "type": "SYMBOL",
7971 "name": "expression"
7972 }
7973 },
7974 {
7975 "type": "FIELD",
7976 "name": "operator",
7977 "content": {
7978 "type": "STRING",
7979 "value": ">="
7980 }
7981 },
7982 {
7983 "type": "FIELD",
7984 "name": "right",
7985 "content": {
7986 "type": "SYMBOL",
7987 "name": "expression"
7988 }
7989 }
7990 ]
7991 }
7992 },
7993 {
7994 "type": "PREC_LEFT",
7995 "value": 7,
7996 "content": {
7997 "type": "SEQ",
7998 "members": [
7999 {
8000 "type": "FIELD",
8001 "name": "left",
8002 "content": {
8003 "type": "SYMBOL",
8004 "name": "expression"
8005 }
8006 },
8007 {
8008 "type": "FIELD",
8009 "name": "operator",
8010 "content": {
8011 "type": "STRING",
8012 "value": "<="
8013 }
8014 },
8015 {
8016 "type": "FIELD",
8017 "name": "right",
8018 "content": {
8019 "type": "SYMBOL",
8020 "name": "expression"
8021 }
8022 }
8023 ]
8024 }
8025 },
8026 {
8027 "type": "PREC_LEFT",
8028 "value": 7,
8029 "content": {
8030 "type": "SEQ",
8031 "members": [
8032 {
8033 "type": "FIELD",
8034 "name": "left",
8035 "content": {
8036 "type": "SYMBOL",
8037 "name": "expression"
8038 }
8039 },
8040 {
8041 "type": "FIELD",
8042 "name": "operator",
8043 "content": {
8044 "type": "STRING",
8045 "value": "<"
8046 }
8047 },
8048 {
8049 "type": "FIELD",
8050 "name": "right",
8051 "content": {
8052 "type": "SYMBOL",
8053 "name": "expression"
8054 }
8055 }
8056 ]
8057 }
8058 },
8059 {
8060 "type": "PREC_LEFT",
8061 "value": 9,
8062 "content": {
8063 "type": "SEQ",
8064 "members": [
8065 {
8066 "type": "FIELD",
8067 "name": "left",
8068 "content": {
8069 "type": "SYMBOL",
8070 "name": "expression"
8071 }
8072 },
8073 {
8074 "type": "FIELD",
8075 "name": "operator",
8076 "content": {
8077 "type": "STRING",
8078 "value": "<<"
8079 }
8080 },
8081 {
8082 "type": "FIELD",
8083 "name": "right",
8084 "content": {
8085 "type": "SYMBOL",
8086 "name": "expression"
8087 }
8088 }
8089 ]
8090 }
8091 },
8092 {
8093 "type": "PREC_LEFT",
8094 "value": 9,
8095 "content": {
8096 "type": "SEQ",
8097 "members": [
8098 {
8099 "type": "FIELD",
8100 "name": "left",
8101 "content": {
8102 "type": "SYMBOL",
8103 "name": "expression"
8104 }
8105 },
8106 {
8107 "type": "FIELD",
8108 "name": "operator",
8109 "content": {
8110 "type": "STRING",
8111 "value": ">>"
8112 }
8113 },
8114 {
8115 "type": "FIELD",
8116 "name": "right",
8117 "content": {
8118 "type": "SYMBOL",
8119 "name": "expression"
8120 }
8121 }
8122 ]
8123 }
8124 }
8125 ]
8126 },
8127 {
8128 "type": "PREC_LEFT",
8129 "value": 8,
8130 "content": {
8131 "type": "SEQ",
8132 "members": [
8133 {
8134 "type": "FIELD",
8135 "name": "left",
8136 "content": {
8137 "type": "SYMBOL",
8138 "name": "expression"
8139 }
8140 },
8141 {
8142 "type": "FIELD",
8143 "name": "operator",
8144 "content": {
8145 "type": "STRING",
8146 "value": "<=>"
8147 }
8148 },
8149 {
8150 "type": "FIELD",
8151 "name": "right",
8152 "content": {
8153 "type": "SYMBOL",
8154 "name": "expression"
8155 }
8156 }
8157 ]
8158 }
8159 },
8160 {
8161 "type": "PREC_LEFT",
8162 "value": 1,
8163 "content": {
8164 "type": "SEQ",
8165 "members": [
8166 {
8167 "type": "FIELD",
8168 "name": "left",
8169 "content": {
8170 "type": "SYMBOL",
8171 "name": "expression"
8172 }
8173 },
8174 {
8175 "type": "FIELD",
8176 "name": "operator",
8177 "content": {
8178 "type": "STRING",
8179 "value": "or"
8180 }
8181 },
8182 {
8183 "type": "FIELD",
8184 "name": "right",
8185 "content": {
8186 "type": "SYMBOL",
8187 "name": "expression"
8188 }
8189 }
8190 ]
8191 }
8192 },
8193 {
8194 "type": "PREC_LEFT",
8195 "value": 2,
8196 "content": {
8197 "type": "SEQ",
8198 "members": [
8199 {
8200 "type": "FIELD",
8201 "name": "left",
8202 "content": {
8203 "type": "SYMBOL",
8204 "name": "expression"
8205 }
8206 },
8207 {
8208 "type": "FIELD",
8209 "name": "operator",
8210 "content": {
8211 "type": "STRING",
8212 "value": "and"
8213 }
8214 },
8215 {
8216 "type": "FIELD",
8217 "name": "right",
8218 "content": {
8219 "type": "SYMBOL",
8220 "name": "expression"
8221 }
8222 }
8223 ]
8224 }
8225 },
8226 {
8227 "type": "PREC_LEFT",
8228 "value": 3,
8229 "content": {
8230 "type": "SEQ",
8231 "members": [
8232 {
8233 "type": "FIELD",
8234 "name": "left",
8235 "content": {
8236 "type": "SYMBOL",
8237 "name": "expression"
8238 }
8239 },
8240 {
8241 "type": "FIELD",
8242 "name": "operator",
8243 "content": {
8244 "type": "STRING",
8245 "value": "bitor"
8246 }
8247 },
8248 {
8249 "type": "FIELD",
8250 "name": "right",
8251 "content": {
8252 "type": "SYMBOL",
8253 "name": "expression"
8254 }
8255 }
8256 ]
8257 }
8258 },
8259 {
8260 "type": "PREC_LEFT",
8261 "value": 4,
8262 "content": {
8263 "type": "SEQ",
8264 "members": [
8265 {
8266 "type": "FIELD",
8267 "name": "left",
8268 "content": {
8269 "type": "SYMBOL",
8270 "name": "expression"
8271 }
8272 },
8273 {
8274 "type": "FIELD",
8275 "name": "operator",
8276 "content": {
8277 "type": "STRING",
8278 "value": "xor"
8279 }
8280 },
8281 {
8282 "type": "FIELD",
8283 "name": "right",
8284 "content": {
8285 "type": "SYMBOL",
8286 "name": "expression"
8287 }
8288 }
8289 ]
8290 }
8291 },
8292 {
8293 "type": "PREC_LEFT",
8294 "value": 5,
8295 "content": {
8296 "type": "SEQ",
8297 "members": [
8298 {
8299 "type": "FIELD",
8300 "name": "left",
8301 "content": {
8302 "type": "SYMBOL",
8303 "name": "expression"
8304 }
8305 },
8306 {
8307 "type": "FIELD",
8308 "name": "operator",
8309 "content": {
8310 "type": "STRING",
8311 "value": "bitand"
8312 }
8313 },
8314 {
8315 "type": "FIELD",
8316 "name": "right",
8317 "content": {
8318 "type": "SYMBOL",
8319 "name": "expression"
8320 }
8321 }
8322 ]
8323 }
8324 },
8325 {
8326 "type": "PREC_LEFT",
8327 "value": 6,
8328 "content": {
8329 "type": "SEQ",
8330 "members": [
8331 {
8332 "type": "FIELD",
8333 "name": "left",
8334 "content": {
8335 "type": "SYMBOL",
8336 "name": "expression"
8337 }
8338 },
8339 {
8340 "type": "FIELD",
8341 "name": "operator",
8342 "content": {
8343 "type": "STRING",
8344 "value": "not_eq"
8345 }
8346 },
8347 {
8348 "type": "FIELD",
8349 "name": "right",
8350 "content": {
8351 "type": "SYMBOL",
8352 "name": "expression"
8353 }
8354 }
8355 ]
8356 }
8357 }
8358 ]
8359 },
8360 "update_expression": {
8361 "type": "PREC_RIGHT",
8362 "value": 14,
8363 "content": {
8364 "type": "CHOICE",
8365 "members": [
8366 {
8367 "type": "SEQ",
8368 "members": [
8369 {
8370 "type": "FIELD",
8371 "name": "operator",
8372 "content": {
8373 "type": "CHOICE",
8374 "members": [
8375 {
8376 "type": "STRING",
8377 "value": "--"
8378 },
8379 {
8380 "type": "STRING",
8381 "value": "++"
8382 }
8383 ]
8384 }
8385 },
8386 {
8387 "type": "FIELD",
8388 "name": "argument",
8389 "content": {
8390 "type": "SYMBOL",
8391 "name": "expression"
8392 }
8393 }
8394 ]
8395 },
8396 {
8397 "type": "SEQ",
8398 "members": [
8399 {
8400 "type": "FIELD",
8401 "name": "argument",
8402 "content": {
8403 "type": "SYMBOL",
8404 "name": "expression"
8405 }
8406 },
8407 {
8408 "type": "FIELD",
8409 "name": "operator",
8410 "content": {
8411 "type": "CHOICE",
8412 "members": [
8413 {
8414 "type": "STRING",
8415 "value": "--"
8416 },
8417 {
8418 "type": "STRING",
8419 "value": "++"
8420 }
8421 ]
8422 }
8423 }
8424 ]
8425 }
8426 ]
8427 }
8428 },
8429 "cast_expression": {
8430 "type": "PREC",
8431 "value": 12,
8432 "content": {
8433 "type": "SEQ",
8434 "members": [
8435 {
8436 "type": "STRING",
8437 "value": "("
8438 },
8439 {
8440 "type": "FIELD",
8441 "name": "type",
8442 "content": {
8443 "type": "SYMBOL",
8444 "name": "type_descriptor"
8445 }
8446 },
8447 {
8448 "type": "STRING",
8449 "value": ")"
8450 },
8451 {
8452 "type": "FIELD",
8453 "name": "value",
8454 "content": {
8455 "type": "SYMBOL",
8456 "name": "expression"
8457 }
8458 }
8459 ]
8460 }
8461 },
8462 "type_descriptor": {
8463 "type": "PREC_RIGHT",
8464 "value": 0,
8465 "content": {
8466 "type": "SEQ",
8467 "members": [
8468 {
8469 "type": "REPEAT",
8470 "content": {
8471 "type": "SYMBOL",
8472 "name": "type_qualifier"
8473 }
8474 },
8475 {
8476 "type": "FIELD",
8477 "name": "type",
8478 "content": {
8479 "type": "SYMBOL",
8480 "name": "type_specifier"
8481 }
8482 },
8483 {
8484 "type": "REPEAT",
8485 "content": {
8486 "type": "SYMBOL",
8487 "name": "type_qualifier"
8488 }
8489 },
8490 {
8491 "type": "FIELD",
8492 "name": "declarator",
8493 "content": {
8494 "type": "CHOICE",
8495 "members": [
8496 {
8497 "type": "SYMBOL",
8498 "name": "_abstract_declarator"
8499 },
8500 {
8501 "type": "BLANK"
8502 }
8503 ]
8504 }
8505 }
8506 ]
8507 }
8508 },
8509 "sizeof_expression": {
8510 "type": "PREC_RIGHT",
8511 "value": 13,
8512 "content": {
8513 "type": "CHOICE",
8514 "members": [
8515 {
8516 "type": "PREC",
8517 "value": 13,
8518 "content": {
8519 "type": "SEQ",
8520 "members": [
8521 {
8522 "type": "STRING",
8523 "value": "sizeof"
8524 },
8525 {
8526 "type": "CHOICE",
8527 "members": [
8528 {
8529 "type": "FIELD",
8530 "name": "value",
8531 "content": {
8532 "type": "SYMBOL",
8533 "name": "expression"
8534 }
8535 },
8536 {
8537 "type": "SEQ",
8538 "members": [
8539 {
8540 "type": "STRING",
8541 "value": "("
8542 },
8543 {
8544 "type": "FIELD",
8545 "name": "type",
8546 "content": {
8547 "type": "SYMBOL",
8548 "name": "type_descriptor"
8549 }
8550 },
8551 {
8552 "type": "STRING",
8553 "value": ")"
8554 }
8555 ]
8556 }
8557 ]
8558 }
8559 ]
8560 }
8561 },
8562 {
8563 "type": "SEQ",
8564 "members": [
8565 {
8566 "type": "STRING",
8567 "value": "sizeof"
8568 },
8569 {
8570 "type": "STRING",
8571 "value": "..."
8572 },
8573 {
8574 "type": "STRING",
8575 "value": "("
8576 },
8577 {
8578 "type": "FIELD",
8579 "name": "value",
8580 "content": {
8581 "type": "SYMBOL",
8582 "name": "identifier"
8583 }
8584 },
8585 {
8586 "type": "STRING",
8587 "value": ")"
8588 }
8589 ]
8590 }
8591 ]
8592 }
8593 },
8594 "alignof_expression": {
8595 "type": "PREC",
8596 "value": 13,
8597 "content": {
8598 "type": "SEQ",
8599 "members": [
8600 {
8601 "type": "CHOICE",
8602 "members": [
8603 {
8604 "type": "STRING",
8605 "value": "__alignof__"
8606 },
8607 {
8608 "type": "STRING",
8609 "value": "__alignof"
8610 },
8611 {
8612 "type": "STRING",
8613 "value": "_alignof"
8614 },
8615 {
8616 "type": "STRING",
8617 "value": "alignof"
8618 },
8619 {
8620 "type": "STRING",
8621 "value": "_Alignof"
8622 }
8623 ]
8624 },
8625 {
8626 "type": "SEQ",
8627 "members": [
8628 {
8629 "type": "STRING",
8630 "value": "("
8631 },
8632 {
8633 "type": "FIELD",
8634 "name": "type",
8635 "content": {
8636 "type": "SYMBOL",
8637 "name": "type_descriptor"
8638 }
8639 },
8640 {
8641 "type": "STRING",
8642 "value": ")"
8643 }
8644 ]
8645 }
8646 ]
8647 }
8648 },
8649 "offsetof_expression": {
8650 "type": "PREC",
8651 "value": 8,
8652 "content": {
8653 "type": "SEQ",
8654 "members": [
8655 {
8656 "type": "STRING",
8657 "value": "offsetof"
8658 },
8659 {
8660 "type": "SEQ",
8661 "members": [
8662 {
8663 "type": "STRING",
8664 "value": "("
8665 },
8666 {
8667 "type": "FIELD",
8668 "name": "type",
8669 "content": {
8670 "type": "SYMBOL",
8671 "name": "type_descriptor"
8672 }
8673 },
8674 {
8675 "type": "STRING",
8676 "value": ","
8677 },
8678 {
8679 "type": "FIELD",
8680 "name": "member",
8681 "content": {
8682 "type": "SYMBOL",
8683 "name": "_field_identifier"
8684 }
8685 },
8686 {
8687 "type": "STRING",
8688 "value": ")"
8689 }
8690 ]
8691 }
8692 ]
8693 }
8694 },
8695 "generic_expression": {
8696 "type": "PREC",
8697 "value": 15,
8698 "content": {
8699 "type": "SEQ",
8700 "members": [
8701 {
8702 "type": "STRING",
8703 "value": "_Generic"
8704 },
8705 {
8706 "type": "STRING",
8707 "value": "("
8708 },
8709 {
8710 "type": "SYMBOL",
8711 "name": "expression"
8712 },
8713 {
8714 "type": "STRING",
8715 "value": ","
8716 },
8717 {
8718 "type": "SEQ",
8719 "members": [
8720 {
8721 "type": "SEQ",
8722 "members": [
8723 {
8724 "type": "SYMBOL",
8725 "name": "type_descriptor"
8726 },
8727 {
8728 "type": "STRING",
8729 "value": ":"
8730 },
8731 {
8732 "type": "SYMBOL",
8733 "name": "expression"
8734 }
8735 ]
8736 },
8737 {
8738 "type": "REPEAT",
8739 "content": {
8740 "type": "SEQ",
8741 "members": [
8742 {
8743 "type": "STRING",
8744 "value": ","
8745 },
8746 {
8747 "type": "SEQ",
8748 "members": [
8749 {
8750 "type": "SYMBOL",
8751 "name": "type_descriptor"
8752 },
8753 {
8754 "type": "STRING",
8755 "value": ":"
8756 },
8757 {
8758 "type": "SYMBOL",
8759 "name": "expression"
8760 }
8761 ]
8762 }
8763 ]
8764 }
8765 }
8766 ]
8767 },
8768 {
8769 "type": "STRING",
8770 "value": ")"
8771 }
8772 ]
8773 }
8774 },
8775 "subscript_expression": {
8776 "type": "PREC",
8777 "value": 17,
8778 "content": {
8779 "type": "SEQ",
8780 "members": [
8781 {
8782 "type": "FIELD",
8783 "name": "argument",
8784 "content": {
8785 "type": "SYMBOL",
8786 "name": "expression"
8787 }
8788 },
8789 {
8790 "type": "FIELD",
8791 "name": "indices",
8792 "content": {
8793 "type": "SYMBOL",
8794 "name": "subscript_argument_list"
8795 }
8796 }
8797 ]
8798 }
8799 },
8800 "call_expression": {
8801 "type": "CHOICE",
8802 "members": [
8803 {
8804 "type": "PREC",
8805 "value": 15,
8806 "content": {
8807 "type": "SEQ",
8808 "members": [
8809 {
8810 "type": "FIELD",
8811 "name": "function",
8812 "content": {
8813 "type": "SYMBOL",
8814 "name": "expression"
8815 }
8816 },
8817 {
8818 "type": "FIELD",
8819 "name": "arguments",
8820 "content": {
8821 "type": "SYMBOL",
8822 "name": "argument_list"
8823 }
8824 }
8825 ]
8826 }
8827 },
8828 {
8829 "type": "SEQ",
8830 "members": [
8831 {
8832 "type": "FIELD",
8833 "name": "function",
8834 "content": {
8835 "type": "SYMBOL",
8836 "name": "primitive_type"
8837 }
8838 },
8839 {
8840 "type": "FIELD",
8841 "name": "arguments",
8842 "content": {
8843 "type": "SYMBOL",
8844 "name": "argument_list"
8845 }
8846 }
8847 ]
8848 }
8849 ]
8850 },
8851 "gnu_asm_expression": {
8852 "type": "PREC",
8853 "value": 15,
8854 "content": {
8855 "type": "SEQ",
8856 "members": [
8857 {
8858 "type": "CHOICE",
8859 "members": [
8860 {
8861 "type": "STRING",
8862 "value": "asm"
8863 },
8864 {
8865 "type": "STRING",
8866 "value": "__asm__"
8867 }
8868 ]
8869 },
8870 {
8871 "type": "REPEAT",
8872 "content": {
8873 "type": "SYMBOL",
8874 "name": "gnu_asm_qualifier"
8875 }
8876 },
8877 {
8878 "type": "STRING",
8879 "value": "("
8880 },
8881 {
8882 "type": "FIELD",
8883 "name": "assembly_code",
8884 "content": {
8885 "type": "SYMBOL",
8886 "name": "_string"
8887 }
8888 },
8889 {
8890 "type": "CHOICE",
8891 "members": [
8892 {
8893 "type": "SEQ",
8894 "members": [
8895 {
8896 "type": "FIELD",
8897 "name": "output_operands",
8898 "content": {
8899 "type": "SYMBOL",
8900 "name": "gnu_asm_output_operand_list"
8901 }
8902 },
8903 {
8904 "type": "CHOICE",
8905 "members": [
8906 {
8907 "type": "SEQ",
8908 "members": [
8909 {
8910 "type": "FIELD",
8911 "name": "input_operands",
8912 "content": {
8913 "type": "SYMBOL",
8914 "name": "gnu_asm_input_operand_list"
8915 }
8916 },
8917 {
8918 "type": "CHOICE",
8919 "members": [
8920 {
8921 "type": "SEQ",
8922 "members": [
8923 {
8924 "type": "FIELD",
8925 "name": "clobbers",
8926 "content": {
8927 "type": "SYMBOL",
8928 "name": "gnu_asm_clobber_list"
8929 }
8930 },
8931 {
8932 "type": "CHOICE",
8933 "members": [
8934 {
8935 "type": "FIELD",
8936 "name": "goto_labels",
8937 "content": {
8938 "type": "SYMBOL",
8939 "name": "gnu_asm_goto_list"
8940 }
8941 },
8942 {
8943 "type": "BLANK"
8944 }
8945 ]
8946 }
8947 ]
8948 },
8949 {
8950 "type": "BLANK"
8951 }
8952 ]
8953 }
8954 ]
8955 },
8956 {
8957 "type": "BLANK"
8958 }
8959 ]
8960 }
8961 ]
8962 },
8963 {
8964 "type": "BLANK"
8965 }
8966 ]
8967 },
8968 {
8969 "type": "STRING",
8970 "value": ")"
8971 }
8972 ]
8973 }
8974 },
8975 "gnu_asm_qualifier": {
8976 "type": "CHOICE",
8977 "members": [
8978 {
8979 "type": "STRING",
8980 "value": "volatile"
8981 },
8982 {
8983 "type": "STRING",
8984 "value": "inline"
8985 },
8986 {
8987 "type": "STRING",
8988 "value": "goto"
8989 }
8990 ]
8991 },
8992 "gnu_asm_output_operand_list": {
8993 "type": "SEQ",
8994 "members": [
8995 {
8996 "type": "STRING",
8997 "value": ":"
8998 },
8999 {
9000 "type": "CHOICE",
9001 "members": [
9002 {
9003 "type": "SEQ",
9004 "members": [
9005 {
9006 "type": "FIELD",
9007 "name": "operand",
9008 "content": {
9009 "type": "SYMBOL",
9010 "name": "gnu_asm_output_operand"
9011 }
9012 },
9013 {
9014 "type": "REPEAT",
9015 "content": {
9016 "type": "SEQ",
9017 "members": [
9018 {
9019 "type": "STRING",
9020 "value": ","
9021 },
9022 {
9023 "type": "FIELD",
9024 "name": "operand",
9025 "content": {
9026 "type": "SYMBOL",
9027 "name": "gnu_asm_output_operand"
9028 }
9029 }
9030 ]
9031 }
9032 }
9033 ]
9034 },
9035 {
9036 "type": "BLANK"
9037 }
9038 ]
9039 }
9040 ]
9041 },
9042 "gnu_asm_output_operand": {
9043 "type": "SEQ",
9044 "members": [
9045 {
9046 "type": "CHOICE",
9047 "members": [
9048 {
9049 "type": "SEQ",
9050 "members": [
9051 {
9052 "type": "STRING",
9053 "value": "["
9054 },
9055 {
9056 "type": "FIELD",
9057 "name": "symbol",
9058 "content": {
9059 "type": "SYMBOL",
9060 "name": "identifier"
9061 }
9062 },
9063 {
9064 "type": "STRING",
9065 "value": "]"
9066 }
9067 ]
9068 },
9069 {
9070 "type": "BLANK"
9071 }
9072 ]
9073 },
9074 {
9075 "type": "FIELD",
9076 "name": "constraint",
9077 "content": {
9078 "type": "SYMBOL",
9079 "name": "string_literal"
9080 }
9081 },
9082 {
9083 "type": "STRING",
9084 "value": "("
9085 },
9086 {
9087 "type": "FIELD",
9088 "name": "value",
9089 "content": {
9090 "type": "SYMBOL",
9091 "name": "identifier"
9092 }
9093 },
9094 {
9095 "type": "STRING",
9096 "value": ")"
9097 }
9098 ]
9099 },
9100 "gnu_asm_input_operand_list": {
9101 "type": "SEQ",
9102 "members": [
9103 {
9104 "type": "STRING",
9105 "value": ":"
9106 },
9107 {
9108 "type": "CHOICE",
9109 "members": [
9110 {
9111 "type": "SEQ",
9112 "members": [
9113 {
9114 "type": "FIELD",
9115 "name": "operand",
9116 "content": {
9117 "type": "SYMBOL",
9118 "name": "gnu_asm_input_operand"
9119 }
9120 },
9121 {
9122 "type": "REPEAT",
9123 "content": {
9124 "type": "SEQ",
9125 "members": [
9126 {
9127 "type": "STRING",
9128 "value": ","
9129 },
9130 {
9131 "type": "FIELD",
9132 "name": "operand",
9133 "content": {
9134 "type": "SYMBOL",
9135 "name": "gnu_asm_input_operand"
9136 }
9137 }
9138 ]
9139 }
9140 }
9141 ]
9142 },
9143 {
9144 "type": "BLANK"
9145 }
9146 ]
9147 }
9148 ]
9149 },
9150 "gnu_asm_input_operand": {
9151 "type": "SEQ",
9152 "members": [
9153 {
9154 "type": "CHOICE",
9155 "members": [
9156 {
9157 "type": "SEQ",
9158 "members": [
9159 {
9160 "type": "STRING",
9161 "value": "["
9162 },
9163 {
9164 "type": "FIELD",
9165 "name": "symbol",
9166 "content": {
9167 "type": "SYMBOL",
9168 "name": "identifier"
9169 }
9170 },
9171 {
9172 "type": "STRING",
9173 "value": "]"
9174 }
9175 ]
9176 },
9177 {
9178 "type": "BLANK"
9179 }
9180 ]
9181 },
9182 {
9183 "type": "FIELD",
9184 "name": "constraint",
9185 "content": {
9186 "type": "SYMBOL",
9187 "name": "string_literal"
9188 }
9189 },
9190 {
9191 "type": "STRING",
9192 "value": "("
9193 },
9194 {
9195 "type": "FIELD",
9196 "name": "value",
9197 "content": {
9198 "type": "SYMBOL",
9199 "name": "expression"
9200 }
9201 },
9202 {
9203 "type": "STRING",
9204 "value": ")"
9205 }
9206 ]
9207 },
9208 "gnu_asm_clobber_list": {
9209 "type": "SEQ",
9210 "members": [
9211 {
9212 "type": "STRING",
9213 "value": ":"
9214 },
9215 {
9216 "type": "CHOICE",
9217 "members": [
9218 {
9219 "type": "SEQ",
9220 "members": [
9221 {
9222 "type": "FIELD",
9223 "name": "register",
9224 "content": {
9225 "type": "SYMBOL",
9226 "name": "_string"
9227 }
9228 },
9229 {
9230 "type": "REPEAT",
9231 "content": {
9232 "type": "SEQ",
9233 "members": [
9234 {
9235 "type": "STRING",
9236 "value": ","
9237 },
9238 {
9239 "type": "FIELD",
9240 "name": "register",
9241 "content": {
9242 "type": "SYMBOL",
9243 "name": "_string"
9244 }
9245 }
9246 ]
9247 }
9248 }
9249 ]
9250 },
9251 {
9252 "type": "BLANK"
9253 }
9254 ]
9255 }
9256 ]
9257 },
9258 "gnu_asm_goto_list": {
9259 "type": "SEQ",
9260 "members": [
9261 {
9262 "type": "STRING",
9263 "value": ":"
9264 },
9265 {
9266 "type": "CHOICE",
9267 "members": [
9268 {
9269 "type": "SEQ",
9270 "members": [
9271 {
9272 "type": "FIELD",
9273 "name": "label",
9274 "content": {
9275 "type": "SYMBOL",
9276 "name": "identifier"
9277 }
9278 },
9279 {
9280 "type": "REPEAT",
9281 "content": {
9282 "type": "SEQ",
9283 "members": [
9284 {
9285 "type": "STRING",
9286 "value": ","
9287 },
9288 {
9289 "type": "FIELD",
9290 "name": "label",
9291 "content": {
9292 "type": "SYMBOL",
9293 "name": "identifier"
9294 }
9295 }
9296 ]
9297 }
9298 }
9299 ]
9300 },
9301 {
9302 "type": "BLANK"
9303 }
9304 ]
9305 }
9306 ]
9307 },
9308 "argument_list": {
9309 "type": "SEQ",
9310 "members": [
9311 {
9312 "type": "STRING",
9313 "value": "("
9314 },
9315 {
9316 "type": "CHOICE",
9317 "members": [
9318 {
9319 "type": "SEQ",
9320 "members": [
9321 {
9322 "type": "CHOICE",
9323 "members": [
9324 {
9325 "type": "SEQ",
9326 "members": [
9327 {
9328 "type": "CHOICE",
9329 "members": [
9330 {
9331 "type": "STRING",
9332 "value": "__extension__"
9333 },
9334 {
9335 "type": "BLANK"
9336 }
9337 ]
9338 },
9339 {
9340 "type": "SYMBOL",
9341 "name": "expression"
9342 }
9343 ]
9344 },
9345 {
9346 "type": "SYMBOL",
9347 "name": "initializer_list"
9348 },
9349 {
9350 "type": "SYMBOL",
9351 "name": "compound_statement"
9352 }
9353 ]
9354 },
9355 {
9356 "type": "REPEAT",
9357 "content": {
9358 "type": "SEQ",
9359 "members": [
9360 {
9361 "type": "STRING",
9362 "value": ","
9363 },
9364 {
9365 "type": "CHOICE",
9366 "members": [
9367 {
9368 "type": "SEQ",
9369 "members": [
9370 {
9371 "type": "CHOICE",
9372 "members": [
9373 {
9374 "type": "STRING",
9375 "value": "__extension__"
9376 },
9377 {
9378 "type": "BLANK"
9379 }
9380 ]
9381 },
9382 {
9383 "type": "SYMBOL",
9384 "name": "expression"
9385 }
9386 ]
9387 },
9388 {
9389 "type": "SYMBOL",
9390 "name": "initializer_list"
9391 },
9392 {
9393 "type": "SYMBOL",
9394 "name": "compound_statement"
9395 }
9396 ]
9397 }
9398 ]
9399 }
9400 }
9401 ]
9402 },
9403 {
9404 "type": "BLANK"
9405 }
9406 ]
9407 },
9408 {
9409 "type": "STRING",
9410 "value": ")"
9411 }
9412 ]
9413 },
9414 "field_expression": {
9415 "type": "SEQ",
9416 "members": [
9417 {
9418 "type": "PREC",
9419 "value": 16,
9420 "content": {
9421 "type": "SEQ",
9422 "members": [
9423 {
9424 "type": "FIELD",
9425 "name": "argument",
9426 "content": {
9427 "type": "SYMBOL",
9428 "name": "expression"
9429 }
9430 },
9431 {
9432 "type": "FIELD",
9433 "name": "operator",
9434 "content": {
9435 "type": "CHOICE",
9436 "members": [
9437 {
9438 "type": "STRING",
9439 "value": "."
9440 },
9441 {
9442 "type": "STRING",
9443 "value": ".*"
9444 },
9445 {
9446 "type": "STRING",
9447 "value": "->"
9448 }
9449 ]
9450 }
9451 }
9452 ]
9453 }
9454 },
9455 {
9456 "type": "FIELD",
9457 "name": "field",
9458 "content": {
9459 "type": "CHOICE",
9460 "members": [
9461 {
9462 "type": "PREC_DYNAMIC",
9463 "value": 1,
9464 "content": {
9465 "type": "SYMBOL",
9466 "name": "_field_identifier"
9467 }
9468 },
9469 {
9470 "type": "ALIAS",
9471 "content": {
9472 "type": "SYMBOL",
9473 "name": "qualified_field_identifier"
9474 },
9475 "named": true,
9476 "value": "qualified_identifier"
9477 },
9478 {
9479 "type": "SYMBOL",
9480 "name": "destructor_name"
9481 },
9482 {
9483 "type": "SYMBOL",
9484 "name": "template_method"
9485 },
9486 {
9487 "type": "ALIAS",
9488 "content": {
9489 "type": "SYMBOL",
9490 "name": "dependent_field_identifier"
9491 },
9492 "named": true,
9493 "value": "dependent_name"
9494 }
9495 ]
9496 }
9497 }
9498 ]
9499 },
9500 "compound_literal_expression": {
9501 "type": "CHOICE",
9502 "members": [
9503 {
9504 "type": "SEQ",
9505 "members": [
9506 {
9507 "type": "STRING",
9508 "value": "("
9509 },
9510 {
9511 "type": "FIELD",
9512 "name": "type",
9513 "content": {
9514 "type": "SYMBOL",
9515 "name": "type_descriptor"
9516 }
9517 },
9518 {
9519 "type": "STRING",
9520 "value": ")"
9521 },
9522 {
9523 "type": "FIELD",
9524 "name": "value",
9525 "content": {
9526 "type": "SYMBOL",
9527 "name": "initializer_list"
9528 }
9529 }
9530 ]
9531 },
9532 {
9533 "type": "SEQ",
9534 "members": [
9535 {
9536 "type": "FIELD",
9537 "name": "type",
9538 "content": {
9539 "type": "CHOICE",
9540 "members": [
9541 {
9542 "type": "SYMBOL",
9543 "name": "_class_name"
9544 },
9545 {
9546 "type": "SYMBOL",
9547 "name": "primitive_type"
9548 }
9549 ]
9550 }
9551 },
9552 {
9553 "type": "FIELD",
9554 "name": "value",
9555 "content": {
9556 "type": "SYMBOL",
9557 "name": "initializer_list"
9558 }
9559 }
9560 ]
9561 }
9562 ]
9563 },
9564 "parenthesized_expression": {
9565 "type": "CHOICE",
9566 "members": [
9567 {
9568 "type": "SEQ",
9569 "members": [
9570 {
9571 "type": "STRING",
9572 "value": "("
9573 },
9574 {
9575 "type": "CHOICE",
9576 "members": [
9577 {
9578 "type": "SYMBOL",
9579 "name": "expression"
9580 },
9581 {
9582 "type": "SYMBOL",
9583 "name": "comma_expression"
9584 }
9585 ]
9586 },
9587 {
9588 "type": "STRING",
9589 "value": ")"
9590 }
9591 ]
9592 },
9593 {
9594 "type": "SEQ",
9595 "members": [
9596 {
9597 "type": "STRING",
9598 "value": "("
9599 },
9600 {
9601 "type": "ALIAS",
9602 "content": {
9603 "type": "SYMBOL",
9604 "name": "_assignment_expression_lhs"
9605 },
9606 "named": true,
9607 "value": "assignment_expression"
9608 },
9609 {
9610 "type": "STRING",
9611 "value": ")"
9612 }
9613 ]
9614 }
9615 ]
9616 },
9617 "initializer_list": {
9618 "type": "SEQ",
9619 "members": [
9620 {
9621 "type": "STRING",
9622 "value": "{"
9623 },
9624 {
9625 "type": "CHOICE",
9626 "members": [
9627 {
9628 "type": "SEQ",
9629 "members": [
9630 {
9631 "type": "CHOICE",
9632 "members": [
9633 {
9634 "type": "SYMBOL",
9635 "name": "initializer_pair"
9636 },
9637 {
9638 "type": "SYMBOL",
9639 "name": "expression"
9640 },
9641 {
9642 "type": "SYMBOL",
9643 "name": "initializer_list"
9644 }
9645 ]
9646 },
9647 {
9648 "type": "REPEAT",
9649 "content": {
9650 "type": "SEQ",
9651 "members": [
9652 {
9653 "type": "STRING",
9654 "value": ","
9655 },
9656 {
9657 "type": "CHOICE",
9658 "members": [
9659 {
9660 "type": "SYMBOL",
9661 "name": "initializer_pair"
9662 },
9663 {
9664 "type": "SYMBOL",
9665 "name": "expression"
9666 },
9667 {
9668 "type": "SYMBOL",
9669 "name": "initializer_list"
9670 }
9671 ]
9672 }
9673 ]
9674 }
9675 }
9676 ]
9677 },
9678 {
9679 "type": "BLANK"
9680 }
9681 ]
9682 },
9683 {
9684 "type": "CHOICE",
9685 "members": [
9686 {
9687 "type": "STRING",
9688 "value": ","
9689 },
9690 {
9691 "type": "BLANK"
9692 }
9693 ]
9694 },
9695 {
9696 "type": "STRING",
9697 "value": "}"
9698 }
9699 ]
9700 },
9701 "initializer_pair": {
9702 "type": "CHOICE",
9703 "members": [
9704 {
9705 "type": "SEQ",
9706 "members": [
9707 {
9708 "type": "FIELD",
9709 "name": "designator",
9710 "content": {
9711 "type": "REPEAT1",
9712 "content": {
9713 "type": "CHOICE",
9714 "members": [
9715 {
9716 "type": "SYMBOL",
9717 "name": "subscript_designator"
9718 },
9719 {
9720 "type": "SYMBOL",
9721 "name": "field_designator"
9722 },
9723 {
9724 "type": "SYMBOL",
9725 "name": "subscript_range_designator"
9726 }
9727 ]
9728 }
9729 }
9730 },
9731 {
9732 "type": "STRING",
9733 "value": "="
9734 },
9735 {
9736 "type": "FIELD",
9737 "name": "value",
9738 "content": {
9739 "type": "CHOICE",
9740 "members": [
9741 {
9742 "type": "SYMBOL",
9743 "name": "expression"
9744 },
9745 {
9746 "type": "SYMBOL",
9747 "name": "initializer_list"
9748 }
9749 ]
9750 }
9751 }
9752 ]
9753 },
9754 {
9755 "type": "SEQ",
9756 "members": [
9757 {
9758 "type": "FIELD",
9759 "name": "designator",
9760 "content": {
9761 "type": "SYMBOL",
9762 "name": "_field_identifier"
9763 }
9764 },
9765 {
9766 "type": "STRING",
9767 "value": ":"
9768 },
9769 {
9770 "type": "FIELD",
9771 "name": "value",
9772 "content": {
9773 "type": "CHOICE",
9774 "members": [
9775 {
9776 "type": "SYMBOL",
9777 "name": "expression"
9778 },
9779 {
9780 "type": "SYMBOL",
9781 "name": "initializer_list"
9782 }
9783 ]
9784 }
9785 }
9786 ]
9787 }
9788 ]
9789 },
9790 "subscript_designator": {
9791 "type": "SEQ",
9792 "members": [
9793 {
9794 "type": "STRING",
9795 "value": "["
9796 },
9797 {
9798 "type": "SYMBOL",
9799 "name": "expression"
9800 },
9801 {
9802 "type": "STRING",
9803 "value": "]"
9804 }
9805 ]
9806 },
9807 "subscript_range_designator": {
9808 "type": "SEQ",
9809 "members": [
9810 {
9811 "type": "STRING",
9812 "value": "["
9813 },
9814 {
9815 "type": "FIELD",
9816 "name": "start",
9817 "content": {
9818 "type": "SYMBOL",
9819 "name": "expression"
9820 }
9821 },
9822 {
9823 "type": "STRING",
9824 "value": "..."
9825 },
9826 {
9827 "type": "FIELD",
9828 "name": "end",
9829 "content": {
9830 "type": "SYMBOL",
9831 "name": "expression"
9832 }
9833 },
9834 {
9835 "type": "STRING",
9836 "value": "]"
9837 }
9838 ]
9839 },
9840 "field_designator": {
9841 "type": "SEQ",
9842 "members": [
9843 {
9844 "type": "STRING",
9845 "value": "."
9846 },
9847 {
9848 "type": "SYMBOL",
9849 "name": "_field_identifier"
9850 }
9851 ]
9852 },
9853 "number_literal": {
9854 "type": "TOKEN",
9855 "content": {
9856 "type": "SEQ",
9857 "members": [
9858 {
9859 "type": "CHOICE",
9860 "members": [
9861 {
9862 "type": "PATTERN",
9863 "value": "[-\\+]"
9864 },
9865 {
9866 "type": "BLANK"
9867 }
9868 ]
9869 },
9870 {
9871 "type": "CHOICE",
9872 "members": [
9873 {
9874 "type": "SEQ",
9875 "members": [
9876 {
9877 "type": "CHOICE",
9878 "members": [
9879 {
9880 "type": "SEQ",
9881 "members": [
9882 {
9883 "type": "CHOICE",
9884 "members": [
9885 {
9886 "type": "STRING",
9887 "value": "0b"
9888 },
9889 {
9890 "type": "STRING",
9891 "value": "0B"
9892 }
9893 ]
9894 },
9895 {
9896 "type": "SEQ",
9897 "members": [
9898 {
9899 "type": "REPEAT1",
9900 "content": {
9901 "type": "PATTERN",
9902 "value": "[01]"
9903 }
9904 },
9905 {
9906 "type": "REPEAT",
9907 "content": {
9908 "type": "SEQ",
9909 "members": [
9910 {
9911 "type": "STRING",
9912 "value": "'"
9913 },
9914 {
9915 "type": "REPEAT1",
9916 "content": {
9917 "type": "PATTERN",
9918 "value": "[01]"
9919 }
9920 }
9921 ]
9922 }
9923 }
9924 ]
9925 }
9926 ]
9927 },
9928 {
9929 "type": "SEQ",
9930 "members": [
9931 {
9932 "type": "PATTERN",
9933 "value": "[1-9]"
9934 },
9935 {
9936 "type": "REPEAT",
9937 "content": {
9938 "type": "PATTERN",
9939 "value": "[0-9]"
9940 }
9941 },
9942 {
9943 "type": "REPEAT",
9944 "content": {
9945 "type": "SEQ",
9946 "members": [
9947 {
9948 "type": "STRING",
9949 "value": "'"
9950 },
9951 {
9952 "type": "REPEAT1",
9953 "content": {
9954 "type": "PATTERN",
9955 "value": "[0-9]"
9956 }
9957 }
9958 ]
9959 }
9960 }
9961 ]
9962 },
9963 {
9964 "type": "SEQ",
9965 "members": [
9966 {
9967 "type": "CHOICE",
9968 "members": [
9969 {
9970 "type": "STRING",
9971 "value": "0x"
9972 },
9973 {
9974 "type": "STRING",
9975 "value": "0X"
9976 }
9977 ]
9978 },
9979 {
9980 "type": "SEQ",
9981 "members": [
9982 {
9983 "type": "REPEAT1",
9984 "content": {
9985 "type": "PATTERN",
9986 "value": "[0-9a-fA-F]"
9987 }
9988 },
9989 {
9990 "type": "REPEAT",
9991 "content": {
9992 "type": "SEQ",
9993 "members": [
9994 {
9995 "type": "STRING",
9996 "value": "'"
9997 },
9998 {
9999 "type": "REPEAT1",
10000 "content": {
10001 "type": "PATTERN",
10002 "value": "[0-9a-fA-F]"
10003 }
10004 }
10005 ]
10006 }
10007 }
10008 ]
10009 }
10010 ]
10011 },
10012 {
10013 "type": "SEQ",
10014 "members": [
10015 {
10016 "type": "STRING",
10017 "value": "0"
10018 },
10019 {
10020 "type": "REPEAT",
10021 "content": {
10022 "type": "PATTERN",
10023 "value": "[0-7]"
10024 }
10025 },
10026 {
10027 "type": "REPEAT",
10028 "content": {
10029 "type": "SEQ",
10030 "members": [
10031 {
10032 "type": "STRING",
10033 "value": "'"
10034 },
10035 {
10036 "type": "REPEAT1",
10037 "content": {
10038 "type": "PATTERN",
10039 "value": "[0-7]"
10040 }
10041 }
10042 ]
10043 }
10044 }
10045 ]
10046 }
10047 ]
10048 },
10049 {
10050 "type": "CHOICE",
10051 "members": [
10052 {
10053 "type": "PATTERN",
10054 "value": "(ll|LL)[uU]?|[uU](ll|LL)?|[uU][lL]?|[uU][zZ]?|[lL][uU]?|[zZ][uU]?"
10055 },
10056 {
10057 "type": "BLANK"
10058 }
10059 ]
10060 }
10061 ]
10062 },
10063 {
10064 "type": "SEQ",
10065 "members": [
10066 {
10067 "type": "CHOICE",
10068 "members": [
10069 {
10070 "type": "SEQ",
10071 "members": [
10072 {
10073 "type": "SEQ",
10074 "members": [
10075 {
10076 "type": "REPEAT1",
10077 "content": {
10078 "type": "PATTERN",
10079 "value": "[0-9]"
10080 }
10081 },
10082 {
10083 "type": "REPEAT",
10084 "content": {
10085 "type": "SEQ",
10086 "members": [
10087 {
10088 "type": "STRING",
10089 "value": "'"
10090 },
10091 {
10092 "type": "REPEAT1",
10093 "content": {
10094 "type": "PATTERN",
10095 "value": "[0-9]"
10096 }
10097 }
10098 ]
10099 }
10100 }
10101 ]
10102 },
10103 {
10104 "type": "SEQ",
10105 "members": [
10106 {
10107 "type": "PATTERN",
10108 "value": "[eE]"
10109 },
10110 {
10111 "type": "CHOICE",
10112 "members": [
10113 {
10114 "type": "PATTERN",
10115 "value": "[-\\+]"
10116 },
10117 {
10118 "type": "BLANK"
10119 }
10120 ]
10121 },
10122 {
10123 "type": "SEQ",
10124 "members": [
10125 {
10126 "type": "REPEAT1",
10127 "content": {
10128 "type": "PATTERN",
10129 "value": "[0-9]"
10130 }
10131 },
10132 {
10133 "type": "REPEAT",
10134 "content": {
10135 "type": "SEQ",
10136 "members": [
10137 {
10138 "type": "STRING",
10139 "value": "'"
10140 },
10141 {
10142 "type": "REPEAT1",
10143 "content": {
10144 "type": "PATTERN",
10145 "value": "[0-9]"
10146 }
10147 }
10148 ]
10149 }
10150 }
10151 ]
10152 }
10153 ]
10154 }
10155 ]
10156 },
10157 {
10158 "type": "SEQ",
10159 "members": [
10160 {
10161 "type": "SEQ",
10162 "members": [
10163 {
10164 "type": "REPEAT1",
10165 "content": {
10166 "type": "PATTERN",
10167 "value": "[0-9]"
10168 }
10169 },
10170 {
10171 "type": "REPEAT",
10172 "content": {
10173 "type": "SEQ",
10174 "members": [
10175 {
10176 "type": "STRING",
10177 "value": "'"
10178 },
10179 {
10180 "type": "REPEAT1",
10181 "content": {
10182 "type": "PATTERN",
10183 "value": "[0-9]"
10184 }
10185 }
10186 ]
10187 }
10188 }
10189 ]
10190 },
10191 {
10192 "type": "STRING",
10193 "value": "."
10194 },
10195 {
10196 "type": "CHOICE",
10197 "members": [
10198 {
10199 "type": "SEQ",
10200 "members": [
10201 {
10202 "type": "REPEAT1",
10203 "content": {
10204 "type": "PATTERN",
10205 "value": "[0-9]"
10206 }
10207 },
10208 {
10209 "type": "REPEAT",
10210 "content": {
10211 "type": "SEQ",
10212 "members": [
10213 {
10214 "type": "STRING",
10215 "value": "'"
10216 },
10217 {
10218 "type": "REPEAT1",
10219 "content": {
10220 "type": "PATTERN",
10221 "value": "[0-9]"
10222 }
10223 }
10224 ]
10225 }
10226 }
10227 ]
10228 },
10229 {
10230 "type": "BLANK"
10231 }
10232 ]
10233 },
10234 {
10235 "type": "CHOICE",
10236 "members": [
10237 {
10238 "type": "SEQ",
10239 "members": [
10240 {
10241 "type": "PATTERN",
10242 "value": "[eE]"
10243 },
10244 {
10245 "type": "CHOICE",
10246 "members": [
10247 {
10248 "type": "PATTERN",
10249 "value": "[-\\+]"
10250 },
10251 {
10252 "type": "BLANK"
10253 }
10254 ]
10255 },
10256 {
10257 "type": "SEQ",
10258 "members": [
10259 {
10260 "type": "REPEAT1",
10261 "content": {
10262 "type": "PATTERN",
10263 "value": "[0-9]"
10264 }
10265 },
10266 {
10267 "type": "REPEAT",
10268 "content": {
10269 "type": "SEQ",
10270 "members": [
10271 {
10272 "type": "STRING",
10273 "value": "'"
10274 },
10275 {
10276 "type": "REPEAT1",
10277 "content": {
10278 "type": "PATTERN",
10279 "value": "[0-9]"
10280 }
10281 }
10282 ]
10283 }
10284 }
10285 ]
10286 }
10287 ]
10288 },
10289 {
10290 "type": "BLANK"
10291 }
10292 ]
10293 }
10294 ]
10295 },
10296 {
10297 "type": "SEQ",
10298 "members": [
10299 {
10300 "type": "STRING",
10301 "value": "."
10302 },
10303 {
10304 "type": "SEQ",
10305 "members": [
10306 {
10307 "type": "REPEAT1",
10308 "content": {
10309 "type": "PATTERN",
10310 "value": "[0-9]"
10311 }
10312 },
10313 {
10314 "type": "REPEAT",
10315 "content": {
10316 "type": "SEQ",
10317 "members": [
10318 {
10319 "type": "STRING",
10320 "value": "'"
10321 },
10322 {
10323 "type": "REPEAT1",
10324 "content": {
10325 "type": "PATTERN",
10326 "value": "[0-9]"
10327 }
10328 }
10329 ]
10330 }
10331 }
10332 ]
10333 },
10334 {
10335 "type": "CHOICE",
10336 "members": [
10337 {
10338 "type": "SEQ",
10339 "members": [
10340 {
10341 "type": "PATTERN",
10342 "value": "[eE]"
10343 },
10344 {
10345 "type": "CHOICE",
10346 "members": [
10347 {
10348 "type": "PATTERN",
10349 "value": "[-\\+]"
10350 },
10351 {
10352 "type": "BLANK"
10353 }
10354 ]
10355 },
10356 {
10357 "type": "SEQ",
10358 "members": [
10359 {
10360 "type": "REPEAT1",
10361 "content": {
10362 "type": "PATTERN",
10363 "value": "[0-9]"
10364 }
10365 },
10366 {
10367 "type": "REPEAT",
10368 "content": {
10369 "type": "SEQ",
10370 "members": [
10371 {
10372 "type": "STRING",
10373 "value": "'"
10374 },
10375 {
10376 "type": "REPEAT1",
10377 "content": {
10378 "type": "PATTERN",
10379 "value": "[0-9]"
10380 }
10381 }
10382 ]
10383 }
10384 }
10385 ]
10386 }
10387 ]
10388 },
10389 {
10390 "type": "BLANK"
10391 }
10392 ]
10393 }
10394 ]
10395 },
10396 {
10397 "type": "SEQ",
10398 "members": [
10399 {
10400 "type": "CHOICE",
10401 "members": [
10402 {
10403 "type": "STRING",
10404 "value": "0x"
10405 },
10406 {
10407 "type": "STRING",
10408 "value": "0X"
10409 }
10410 ]
10411 },
10412 {
10413 "type": "CHOICE",
10414 "members": [
10415 {
10416 "type": "SEQ",
10417 "members": [
10418 {
10419 "type": "REPEAT1",
10420 "content": {
10421 "type": "PATTERN",
10422 "value": "[0-9a-fA-F]"
10423 }
10424 },
10425 {
10426 "type": "REPEAT",
10427 "content": {
10428 "type": "SEQ",
10429 "members": [
10430 {
10431 "type": "STRING",
10432 "value": "'"
10433 },
10434 {
10435 "type": "REPEAT1",
10436 "content": {
10437 "type": "PATTERN",
10438 "value": "[0-9a-fA-F]"
10439 }
10440 }
10441 ]
10442 }
10443 }
10444 ]
10445 },
10446 {
10447 "type": "SEQ",
10448 "members": [
10449 {
10450 "type": "SEQ",
10451 "members": [
10452 {
10453 "type": "REPEAT1",
10454 "content": {
10455 "type": "PATTERN",
10456 "value": "[0-9a-fA-F]"
10457 }
10458 },
10459 {
10460 "type": "REPEAT",
10461 "content": {
10462 "type": "SEQ",
10463 "members": [
10464 {
10465 "type": "STRING",
10466 "value": "'"
10467 },
10468 {
10469 "type": "REPEAT1",
10470 "content": {
10471 "type": "PATTERN",
10472 "value": "[0-9a-fA-F]"
10473 }
10474 }
10475 ]
10476 }
10477 }
10478 ]
10479 },
10480 {
10481 "type": "STRING",
10482 "value": "."
10483 },
10484 {
10485 "type": "CHOICE",
10486 "members": [
10487 {
10488 "type": "SEQ",
10489 "members": [
10490 {
10491 "type": "REPEAT1",
10492 "content": {
10493 "type": "PATTERN",
10494 "value": "[0-9a-fA-F]"
10495 }
10496 },
10497 {
10498 "type": "REPEAT",
10499 "content": {
10500 "type": "SEQ",
10501 "members": [
10502 {
10503 "type": "STRING",
10504 "value": "'"
10505 },
10506 {
10507 "type": "REPEAT1",
10508 "content": {
10509 "type": "PATTERN",
10510 "value": "[0-9a-fA-F]"
10511 }
10512 }
10513 ]
10514 }
10515 }
10516 ]
10517 },
10518 {
10519 "type": "BLANK"
10520 }
10521 ]
10522 }
10523 ]
10524 },
10525 {
10526 "type": "SEQ",
10527 "members": [
10528 {
10529 "type": "STRING",
10530 "value": "."
10531 },
10532 {
10533 "type": "SEQ",
10534 "members": [
10535 {
10536 "type": "REPEAT1",
10537 "content": {
10538 "type": "PATTERN",
10539 "value": "[0-9a-fA-F]"
10540 }
10541 },
10542 {
10543 "type": "REPEAT",
10544 "content": {
10545 "type": "SEQ",
10546 "members": [
10547 {
10548 "type": "STRING",
10549 "value": "'"
10550 },
10551 {
10552 "type": "REPEAT1",
10553 "content": {
10554 "type": "PATTERN",
10555 "value": "[0-9a-fA-F]"
10556 }
10557 }
10558 ]
10559 }
10560 }
10561 ]
10562 }
10563 ]
10564 }
10565 ]
10566 },
10567 {
10568 "type": "SEQ",
10569 "members": [
10570 {
10571 "type": "PATTERN",
10572 "value": "[pP]"
10573 },
10574 {
10575 "type": "CHOICE",
10576 "members": [
10577 {
10578 "type": "PATTERN",
10579 "value": "[-\\+]"
10580 },
10581 {
10582 "type": "BLANK"
10583 }
10584 ]
10585 },
10586 {
10587 "type": "SEQ",
10588 "members": [
10589 {
10590 "type": "REPEAT1",
10591 "content": {
10592 "type": "PATTERN",
10593 "value": "[0-9]"
10594 }
10595 },
10596 {
10597 "type": "REPEAT",
10598 "content": {
10599 "type": "SEQ",
10600 "members": [
10601 {
10602 "type": "STRING",
10603 "value": "'"
10604 },
10605 {
10606 "type": "REPEAT1",
10607 "content": {
10608 "type": "PATTERN",
10609 "value": "[0-9]"
10610 }
10611 }
10612 ]
10613 }
10614 }
10615 ]
10616 }
10617 ]
10618 }
10619 ]
10620 }
10621 ]
10622 },
10623 {
10624 "type": "CHOICE",
10625 "members": [
10626 {
10627 "type": "PATTERN",
10628 "value": "([fF](16|32|64|128)?)|[lL]|(bf16|BF16)"
10629 },
10630 {
10631 "type": "BLANK"
10632 }
10633 ]
10634 }
10635 ]
10636 }
10637 ]
10638 }
10639 ]
10640 }
10641 },
10642 "char_literal": {
10643 "type": "SEQ",
10644 "members": [
10645 {
10646 "type": "CHOICE",
10647 "members": [
10648 {
10649 "type": "STRING",
10650 "value": "L'"
10651 },
10652 {
10653 "type": "STRING",
10654 "value": "u'"
10655 },
10656 {
10657 "type": "STRING",
10658 "value": "U'"
10659 },
10660 {
10661 "type": "STRING",
10662 "value": "u8'"
10663 },
10664 {
10665 "type": "STRING",
10666 "value": "'"
10667 }
10668 ]
10669 },
10670 {
10671 "type": "REPEAT1",
10672 "content": {
10673 "type": "CHOICE",
10674 "members": [
10675 {
10676 "type": "SYMBOL",
10677 "name": "escape_sequence"
10678 },
10679 {
10680 "type": "ALIAS",
10681 "content": {
10682 "type": "IMMEDIATE_TOKEN",
10683 "content": {
10684 "type": "PATTERN",
10685 "value": "[^\\n']"
10686 }
10687 },
10688 "named": true,
10689 "value": "character"
10690 }
10691 ]
10692 }
10693 },
10694 {
10695 "type": "STRING",
10696 "value": "'"
10697 }
10698 ]
10699 },
10700 "concatenated_string": {
10701 "type": "PREC_RIGHT",
10702 "value": 0,
10703 "content": {
10704 "type": "SEQ",
10705 "members": [
10706 {
10707 "type": "CHOICE",
10708 "members": [
10709 {
10710 "type": "SYMBOL",
10711 "name": "identifier"
10712 },
10713 {
10714 "type": "SYMBOL",
10715 "name": "string_literal"
10716 },
10717 {
10718 "type": "SYMBOL",
10719 "name": "raw_string_literal"
10720 }
10721 ]
10722 },
10723 {
10724 "type": "CHOICE",
10725 "members": [
10726 {
10727 "type": "SYMBOL",
10728 "name": "string_literal"
10729 },
10730 {
10731 "type": "SYMBOL",
10732 "name": "raw_string_literal"
10733 }
10734 ]
10735 },
10736 {
10737 "type": "REPEAT",
10738 "content": {
10739 "type": "CHOICE",
10740 "members": [
10741 {
10742 "type": "SYMBOL",
10743 "name": "identifier"
10744 },
10745 {
10746 "type": "SYMBOL",
10747 "name": "string_literal"
10748 },
10749 {
10750 "type": "SYMBOL",
10751 "name": "raw_string_literal"
10752 }
10753 ]
10754 }
10755 }
10756 ]
10757 }
10758 },
10759 "string_literal": {
10760 "type": "SEQ",
10761 "members": [
10762 {
10763 "type": "CHOICE",
10764 "members": [
10765 {
10766 "type": "STRING",
10767 "value": "L\""
10768 },
10769 {
10770 "type": "STRING",
10771 "value": "u\""
10772 },
10773 {
10774 "type": "STRING",
10775 "value": "U\""
10776 },
10777 {
10778 "type": "STRING",
10779 "value": "u8\""
10780 },
10781 {
10782 "type": "STRING",
10783 "value": "\""
10784 }
10785 ]
10786 },
10787 {
10788 "type": "REPEAT",
10789 "content": {
10790 "type": "CHOICE",
10791 "members": [
10792 {
10793 "type": "ALIAS",
10794 "content": {
10795 "type": "IMMEDIATE_TOKEN",
10796 "content": {
10797 "type": "PREC",
10798 "value": 1,
10799 "content": {
10800 "type": "PATTERN",
10801 "value": "[^\\\\\"\\n]+"
10802 }
10803 }
10804 },
10805 "named": true,
10806 "value": "string_content"
10807 },
10808 {
10809 "type": "SYMBOL",
10810 "name": "escape_sequence"
10811 }
10812 ]
10813 }
10814 },
10815 {
10816 "type": "STRING",
10817 "value": "\""
10818 }
10819 ]
10820 },
10821 "escape_sequence": {
10822 "type": "TOKEN",
10823 "content": {
10824 "type": "PREC",
10825 "value": 1,
10826 "content": {
10827 "type": "SEQ",
10828 "members": [
10829 {
10830 "type": "STRING",
10831 "value": "\\"
10832 },
10833 {
10834 "type": "CHOICE",
10835 "members": [
10836 {
10837 "type": "PATTERN",
10838 "value": "[^xuU]"
10839 },
10840 {
10841 "type": "PATTERN",
10842 "value": "\\d{2,3}"
10843 },
10844 {
10845 "type": "PATTERN",
10846 "value": "x[0-9a-fA-F]{2,}"
10847 },
10848 {
10849 "type": "PATTERN",
10850 "value": "u[0-9a-fA-F]{4}"
10851 },
10852 {
10853 "type": "PATTERN",
10854 "value": "U[0-9a-fA-F]{8}"
10855 }
10856 ]
10857 }
10858 ]
10859 }
10860 }
10861 },
10862 "system_lib_string": {
10863 "type": "TOKEN",
10864 "content": {
10865 "type": "SEQ",
10866 "members": [
10867 {
10868 "type": "STRING",
10869 "value": "<"
10870 },
10871 {
10872 "type": "REPEAT",
10873 "content": {
10874 "type": "CHOICE",
10875 "members": [
10876 {
10877 "type": "PATTERN",
10878 "value": "[^>\\n]"
10879 },
10880 {
10881 "type": "STRING",
10882 "value": "\\>"
10883 }
10884 ]
10885 }
10886 },
10887 {
10888 "type": "STRING",
10889 "value": ">"
10890 }
10891 ]
10892 }
10893 },
10894 "true": {
10895 "type": "TOKEN",
10896 "content": {
10897 "type": "CHOICE",
10898 "members": [
10899 {
10900 "type": "STRING",
10901 "value": "TRUE"
10902 },
10903 {
10904 "type": "STRING",
10905 "value": "true"
10906 }
10907 ]
10908 }
10909 },
10910 "false": {
10911 "type": "TOKEN",
10912 "content": {
10913 "type": "CHOICE",
10914 "members": [
10915 {
10916 "type": "STRING",
10917 "value": "FALSE"
10918 },
10919 {
10920 "type": "STRING",
10921 "value": "false"
10922 }
10923 ]
10924 }
10925 },
10926 "null": {
10927 "type": "CHOICE",
10928 "members": [
10929 {
10930 "type": "STRING",
10931 "value": "NULL"
10932 },
10933 {
10934 "type": "STRING",
10935 "value": "nullptr"
10936 }
10937 ]
10938 },
10939 "identifier": {
10940 "type": "PATTERN",
10941 "value": "(\\p{XID_Start}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})(\\p{XID_Continue}|\\$|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})*"
10942 },
10943 "_type_identifier": {
10944 "type": "ALIAS",
10945 "content": {
10946 "type": "SYMBOL",
10947 "name": "identifier"
10948 },
10949 "named": true,
10950 "value": "type_identifier"
10951 },
10952 "_field_identifier": {
10953 "type": "ALIAS",
10954 "content": {
10955 "type": "SYMBOL",
10956 "name": "identifier"
10957 },
10958 "named": true,
10959 "value": "field_identifier"
10960 },
10961 "_statement_identifier": {
10962 "type": "ALIAS",
10963 "content": {
10964 "type": "SYMBOL",
10965 "name": "identifier"
10966 },
10967 "named": true,
10968 "value": "statement_identifier"
10969 },
10970 "_empty_declaration": {
10971 "type": "SEQ",
10972 "members": [
10973 {
10974 "type": "SYMBOL",
10975 "name": "type_specifier"
10976 },
10977 {
10978 "type": "STRING",
10979 "value": ";"
10980 }
10981 ]
10982 },
10983 "macro_type_specifier": {
10984 "type": "PREC_DYNAMIC",
10985 "value": -1,
10986 "content": {
10987 "type": "SEQ",
10988 "members": [
10989 {
10990 "type": "FIELD",
10991 "name": "name",
10992 "content": {
10993 "type": "SYMBOL",
10994 "name": "identifier"
10995 }
10996 },
10997 {
10998 "type": "STRING",
10999 "value": "("
11000 },
11001 {
11002 "type": "FIELD",
11003 "name": "type",
11004 "content": {
11005 "type": "SYMBOL",
11006 "name": "type_descriptor"
11007 }
11008 },
11009 {
11010 "type": "STRING",
11011 "value": ")"
11012 }
11013 ]
11014 }
11015 },
11016 "comment": {
11017 "type": "TOKEN",
11018 "content": {
11019 "type": "CHOICE",
11020 "members": [
11021 {
11022 "type": "SEQ",
11023 "members": [
11024 {
11025 "type": "STRING",
11026 "value": "//"
11027 },
11028 {
11029 "type": "PATTERN",
11030 "value": "(\\\\+(.|\\r?\\n)|[^\\\\\\n])*"
11031 }
11032 ]
11033 },
11034 {
11035 "type": "SEQ",
11036 "members": [
11037 {
11038 "type": "STRING",
11039 "value": "/*"
11040 },
11041 {
11042 "type": "PATTERN",
11043 "value": "[^*]*\\*+([^/*][^*]*\\*+)*"
11044 },
11045 {
11046 "type": "STRING",
11047 "value": "/"
11048 }
11049 ]
11050 }
11051 ]
11052 }
11053 },
11054 "placeholder_type_specifier": {
11055 "type": "PREC",
11056 "value": 1,
11057 "content": {
11058 "type": "SEQ",
11059 "members": [
11060 {
11061 "type": "FIELD",
11062 "name": "constraint",
11063 "content": {
11064 "type": "CHOICE",
11065 "members": [
11066 {
11067 "type": "SYMBOL",
11068 "name": "type_specifier"
11069 },
11070 {
11071 "type": "BLANK"
11072 }
11073 ]
11074 }
11075 },
11076 {
11077 "type": "CHOICE",
11078 "members": [
11079 {
11080 "type": "SYMBOL",
11081 "name": "auto"
11082 },
11083 {
11084 "type": "ALIAS",
11085 "content": {
11086 "type": "SYMBOL",
11087 "name": "decltype_auto"
11088 },
11089 "named": true,
11090 "value": "decltype"
11091 }
11092 ]
11093 }
11094 ]
11095 }
11096 },
11097 "auto": {
11098 "type": "STRING",
11099 "value": "auto"
11100 },
11101 "decltype_auto": {
11102 "type": "SEQ",
11103 "members": [
11104 {
11105 "type": "STRING",
11106 "value": "decltype"
11107 },
11108 {
11109 "type": "STRING",
11110 "value": "("
11111 },
11112 {
11113 "type": "SYMBOL",
11114 "name": "auto"
11115 },
11116 {
11117 "type": "STRING",
11118 "value": ")"
11119 }
11120 ]
11121 },
11122 "decltype": {
11123 "type": "SEQ",
11124 "members": [
11125 {
11126 "type": "STRING",
11127 "value": "decltype"
11128 },
11129 {
11130 "type": "STRING",
11131 "value": "("
11132 },
11133 {
11134 "type": "SYMBOL",
11135 "name": "expression"
11136 },
11137 {
11138 "type": "STRING",
11139 "value": ")"
11140 }
11141 ]
11142 },
11143 "_class_declaration": {
11144 "type": "SEQ",
11145 "members": [
11146 {
11147 "type": "REPEAT",
11148 "content": {
11149 "type": "CHOICE",
11150 "members": [
11151 {
11152 "type": "SYMBOL",
11153 "name": "attribute_specifier"
11154 },
11155 {
11156 "type": "SYMBOL",
11157 "name": "alignas_qualifier"
11158 }
11159 ]
11160 }
11161 },
11162 {
11163 "type": "CHOICE",
11164 "members": [
11165 {
11166 "type": "SYMBOL",
11167 "name": "ms_declspec_modifier"
11168 },
11169 {
11170 "type": "BLANK"
11171 }
11172 ]
11173 },
11174 {
11175 "type": "REPEAT",
11176 "content": {
11177 "type": "SYMBOL",
11178 "name": "attribute_declaration"
11179 }
11180 },
11181 {
11182 "type": "SYMBOL",
11183 "name": "_class_declaration_item"
11184 }
11185 ]
11186 },
11187 "_class_declaration_item": {
11188 "type": "PREC_RIGHT",
11189 "value": 0,
11190 "content": {
11191 "type": "SEQ",
11192 "members": [
11193 {
11194 "type": "CHOICE",
11195 "members": [
11196 {
11197 "type": "FIELD",
11198 "name": "name",
11199 "content": {
11200 "type": "SYMBOL",
11201 "name": "_class_name"
11202 }
11203 },
11204 {
11205 "type": "SEQ",
11206 "members": [
11207 {
11208 "type": "CHOICE",
11209 "members": [
11210 {
11211 "type": "FIELD",
11212 "name": "name",
11213 "content": {
11214 "type": "SYMBOL",
11215 "name": "_class_name"
11216 }
11217 },
11218 {
11219 "type": "BLANK"
11220 }
11221 ]
11222 },
11223 {
11224 "type": "CHOICE",
11225 "members": [
11226 {
11227 "type": "SYMBOL",
11228 "name": "virtual_specifier"
11229 },
11230 {
11231 "type": "BLANK"
11232 }
11233 ]
11234 },
11235 {
11236 "type": "CHOICE",
11237 "members": [
11238 {
11239 "type": "SYMBOL",
11240 "name": "base_class_clause"
11241 },
11242 {
11243 "type": "BLANK"
11244 }
11245 ]
11246 },
11247 {
11248 "type": "FIELD",
11249 "name": "body",
11250 "content": {
11251 "type": "SYMBOL",
11252 "name": "field_declaration_list"
11253 }
11254 }
11255 ]
11256 }
11257 ]
11258 },
11259 {
11260 "type": "CHOICE",
11261 "members": [
11262 {
11263 "type": "SYMBOL",
11264 "name": "attribute_specifier"
11265 },
11266 {
11267 "type": "BLANK"
11268 }
11269 ]
11270 }
11271 ]
11272 }
11273 },
11274 "class_specifier": {
11275 "type": "SEQ",
11276 "members": [
11277 {
11278 "type": "STRING",
11279 "value": "class"
11280 },
11281 {
11282 "type": "SYMBOL",
11283 "name": "_class_declaration"
11284 }
11285 ]
11286 },
11287 "_class_name": {
11288 "type": "PREC_RIGHT",
11289 "value": 0,
11290 "content": {
11291 "type": "CHOICE",
11292 "members": [
11293 {
11294 "type": "SYMBOL",
11295 "name": "_type_identifier"
11296 },
11297 {
11298 "type": "SYMBOL",
11299 "name": "template_type"
11300 },
11301 {
11302 "type": "ALIAS",
11303 "content": {
11304 "type": "SYMBOL",
11305 "name": "qualified_type_identifier"
11306 },
11307 "named": true,
11308 "value": "qualified_identifier"
11309 }
11310 ]
11311 }
11312 },
11313 "virtual_specifier": {
11314 "type": "CHOICE",
11315 "members": [
11316 {
11317 "type": "STRING",
11318 "value": "final"
11319 },
11320 {
11321 "type": "STRING",
11322 "value": "override"
11323 }
11324 ]
11325 },
11326 "virtual": {
11327 "type": "STRING",
11328 "value": "virtual"
11329 },
11330 "explicit_function_specifier": {
11331 "type": "CHOICE",
11332 "members": [
11333 {
11334 "type": "STRING",
11335 "value": "explicit"
11336 },
11337 {
11338 "type": "PREC",
11339 "value": 15,
11340 "content": {
11341 "type": "SEQ",
11342 "members": [
11343 {
11344 "type": "STRING",
11345 "value": "explicit"
11346 },
11347 {
11348 "type": "STRING",
11349 "value": "("
11350 },
11351 {
11352 "type": "SYMBOL",
11353 "name": "expression"
11354 },
11355 {
11356 "type": "STRING",
11357 "value": ")"
11358 }
11359 ]
11360 }
11361 }
11362 ]
11363 },
11364 "base_class_clause": {
11365 "type": "SEQ",
11366 "members": [
11367 {
11368 "type": "STRING",
11369 "value": ":"
11370 },
11371 {
11372 "type": "SEQ",
11373 "members": [
11374 {
11375 "type": "SEQ",
11376 "members": [
11377 {
11378 "type": "REPEAT",
11379 "content": {
11380 "type": "SYMBOL",
11381 "name": "attribute_declaration"
11382 }
11383 },
11384 {
11385 "type": "CHOICE",
11386 "members": [
11387 {
11388 "type": "CHOICE",
11389 "members": [
11390 {
11391 "type": "SYMBOL",
11392 "name": "access_specifier"
11393 },
11394 {
11395 "type": "SEQ",
11396 "members": [
11397 {
11398 "type": "SYMBOL",
11399 "name": "access_specifier"
11400 },
11401 {
11402 "type": "CHOICE",
11403 "members": [
11404 {
11405 "type": "SYMBOL",
11406 "name": "virtual"
11407 },
11408 {
11409 "type": "BLANK"
11410 }
11411 ]
11412 }
11413 ]
11414 },
11415 {
11416 "type": "SEQ",
11417 "members": [
11418 {
11419 "type": "SYMBOL",
11420 "name": "virtual"
11421 },
11422 {
11423 "type": "CHOICE",
11424 "members": [
11425 {
11426 "type": "SYMBOL",
11427 "name": "access_specifier"
11428 },
11429 {
11430 "type": "BLANK"
11431 }
11432 ]
11433 }
11434 ]
11435 }
11436 ]
11437 },
11438 {
11439 "type": "BLANK"
11440 }
11441 ]
11442 },
11443 {
11444 "type": "SYMBOL",
11445 "name": "_class_name"
11446 },
11447 {
11448 "type": "CHOICE",
11449 "members": [
11450 {
11451 "type": "STRING",
11452 "value": "..."
11453 },
11454 {
11455 "type": "BLANK"
11456 }
11457 ]
11458 }
11459 ]
11460 },
11461 {
11462 "type": "REPEAT",
11463 "content": {
11464 "type": "SEQ",
11465 "members": [
11466 {
11467 "type": "STRING",
11468 "value": ","
11469 },
11470 {
11471 "type": "SEQ",
11472 "members": [
11473 {
11474 "type": "REPEAT",
11475 "content": {
11476 "type": "SYMBOL",
11477 "name": "attribute_declaration"
11478 }
11479 },
11480 {
11481 "type": "CHOICE",
11482 "members": [
11483 {
11484 "type": "CHOICE",
11485 "members": [
11486 {
11487 "type": "SYMBOL",
11488 "name": "access_specifier"
11489 },
11490 {
11491 "type": "SEQ",
11492 "members": [
11493 {
11494 "type": "SYMBOL",
11495 "name": "access_specifier"
11496 },
11497 {
11498 "type": "CHOICE",
11499 "members": [
11500 {
11501 "type": "SYMBOL",
11502 "name": "virtual"
11503 },
11504 {
11505 "type": "BLANK"
11506 }
11507 ]
11508 }
11509 ]
11510 },
11511 {
11512 "type": "SEQ",
11513 "members": [
11514 {
11515 "type": "SYMBOL",
11516 "name": "virtual"
11517 },
11518 {
11519 "type": "CHOICE",
11520 "members": [
11521 {
11522 "type": "SYMBOL",
11523 "name": "access_specifier"
11524 },
11525 {
11526 "type": "BLANK"
11527 }
11528 ]
11529 }
11530 ]
11531 }
11532 ]
11533 },
11534 {
11535 "type": "BLANK"
11536 }
11537 ]
11538 },
11539 {
11540 "type": "SYMBOL",
11541 "name": "_class_name"
11542 },
11543 {
11544 "type": "CHOICE",
11545 "members": [
11546 {
11547 "type": "STRING",
11548 "value": "..."
11549 },
11550 {
11551 "type": "BLANK"
11552 }
11553 ]
11554 }
11555 ]
11556 }
11557 ]
11558 }
11559 }
11560 ]
11561 }
11562 ]
11563 },
11564 "_enum_base_clause": {
11565 "type": "PREC_LEFT",
11566 "value": 0,
11567 "content": {
11568 "type": "SEQ",
11569 "members": [
11570 {
11571 "type": "STRING",
11572 "value": ":"
11573 },
11574 {
11575 "type": "FIELD",
11576 "name": "base",
11577 "content": {
11578 "type": "CHOICE",
11579 "members": [
11580 {
11581 "type": "ALIAS",
11582 "content": {
11583 "type": "SYMBOL",
11584 "name": "qualified_type_identifier"
11585 },
11586 "named": true,
11587 "value": "qualified_identifier"
11588 },
11589 {
11590 "type": "SYMBOL",
11591 "name": "_type_identifier"
11592 },
11593 {
11594 "type": "SYMBOL",
11595 "name": "primitive_type"
11596 },
11597 {
11598 "type": "SYMBOL",
11599 "name": "sized_type_specifier"
11600 }
11601 ]
11602 }
11603 }
11604 ]
11605 }
11606 },
11607 "dependent_type": {
11608 "type": "PREC_DYNAMIC",
11609 "value": -1,
11610 "content": {
11611 "type": "PREC_RIGHT",
11612 "value": 0,
11613 "content": {
11614 "type": "SEQ",
11615 "members": [
11616 {
11617 "type": "STRING",
11618 "value": "typename"
11619 },
11620 {
11621 "type": "SYMBOL",
11622 "name": "type_specifier"
11623 }
11624 ]
11625 }
11626 }
11627 },
11628 "template_declaration": {
11629 "type": "SEQ",
11630 "members": [
11631 {
11632 "type": "STRING",
11633 "value": "template"
11634 },
11635 {
11636 "type": "FIELD",
11637 "name": "parameters",
11638 "content": {
11639 "type": "SYMBOL",
11640 "name": "template_parameter_list"
11641 }
11642 },
11643 {
11644 "type": "CHOICE",
11645 "members": [
11646 {
11647 "type": "SYMBOL",
11648 "name": "requires_clause"
11649 },
11650 {
11651 "type": "BLANK"
11652 }
11653 ]
11654 },
11655 {
11656 "type": "CHOICE",
11657 "members": [
11658 {
11659 "type": "SYMBOL",
11660 "name": "_empty_declaration"
11661 },
11662 {
11663 "type": "SYMBOL",
11664 "name": "alias_declaration"
11665 },
11666 {
11667 "type": "SYMBOL",
11668 "name": "declaration"
11669 },
11670 {
11671 "type": "SYMBOL",
11672 "name": "template_declaration"
11673 },
11674 {
11675 "type": "SYMBOL",
11676 "name": "function_definition"
11677 },
11678 {
11679 "type": "SYMBOL",
11680 "name": "concept_definition"
11681 },
11682 {
11683 "type": "SYMBOL",
11684 "name": "friend_declaration"
11685 },
11686 {
11687 "type": "ALIAS",
11688 "content": {
11689 "type": "SYMBOL",
11690 "name": "constructor_or_destructor_declaration"
11691 },
11692 "named": true,
11693 "value": "declaration"
11694 },
11695 {
11696 "type": "ALIAS",
11697 "content": {
11698 "type": "SYMBOL",
11699 "name": "constructor_or_destructor_definition"
11700 },
11701 "named": true,
11702 "value": "function_definition"
11703 },
11704 {
11705 "type": "ALIAS",
11706 "content": {
11707 "type": "SYMBOL",
11708 "name": "operator_cast_declaration"
11709 },
11710 "named": true,
11711 "value": "declaration"
11712 },
11713 {
11714 "type": "ALIAS",
11715 "content": {
11716 "type": "SYMBOL",
11717 "name": "operator_cast_definition"
11718 },
11719 "named": true,
11720 "value": "function_definition"
11721 }
11722 ]
11723 }
11724 ]
11725 },
11726 "template_instantiation": {
11727 "type": "SEQ",
11728 "members": [
11729 {
11730 "type": "STRING",
11731 "value": "template"
11732 },
11733 {
11734 "type": "CHOICE",
11735 "members": [
11736 {
11737 "type": "SYMBOL",
11738 "name": "_declaration_specifiers"
11739 },
11740 {
11741 "type": "BLANK"
11742 }
11743 ]
11744 },
11745 {
11746 "type": "FIELD",
11747 "name": "declarator",
11748 "content": {
11749 "type": "SYMBOL",
11750 "name": "_declarator"
11751 }
11752 },
11753 {
11754 "type": "STRING",
11755 "value": ";"
11756 }
11757 ]
11758 },
11759 "template_parameter_list": {
11760 "type": "SEQ",
11761 "members": [
11762 {
11763 "type": "STRING",
11764 "value": "<"
11765 },
11766 {
11767 "type": "CHOICE",
11768 "members": [
11769 {
11770 "type": "SEQ",
11771 "members": [
11772 {
11773 "type": "CHOICE",
11774 "members": [
11775 {
11776 "type": "SYMBOL",
11777 "name": "parameter_declaration"
11778 },
11779 {
11780 "type": "SYMBOL",
11781 "name": "optional_parameter_declaration"
11782 },
11783 {
11784 "type": "SYMBOL",
11785 "name": "type_parameter_declaration"
11786 },
11787 {
11788 "type": "SYMBOL",
11789 "name": "variadic_parameter_declaration"
11790 },
11791 {
11792 "type": "SYMBOL",
11793 "name": "variadic_type_parameter_declaration"
11794 },
11795 {
11796 "type": "SYMBOL",
11797 "name": "optional_type_parameter_declaration"
11798 },
11799 {
11800 "type": "SYMBOL",
11801 "name": "template_template_parameter_declaration"
11802 }
11803 ]
11804 },
11805 {
11806 "type": "REPEAT",
11807 "content": {
11808 "type": "SEQ",
11809 "members": [
11810 {
11811 "type": "STRING",
11812 "value": ","
11813 },
11814 {
11815 "type": "CHOICE",
11816 "members": [
11817 {
11818 "type": "SYMBOL",
11819 "name": "parameter_declaration"
11820 },
11821 {
11822 "type": "SYMBOL",
11823 "name": "optional_parameter_declaration"
11824 },
11825 {
11826 "type": "SYMBOL",
11827 "name": "type_parameter_declaration"
11828 },
11829 {
11830 "type": "SYMBOL",
11831 "name": "variadic_parameter_declaration"
11832 },
11833 {
11834 "type": "SYMBOL",
11835 "name": "variadic_type_parameter_declaration"
11836 },
11837 {
11838 "type": "SYMBOL",
11839 "name": "optional_type_parameter_declaration"
11840 },
11841 {
11842 "type": "SYMBOL",
11843 "name": "template_template_parameter_declaration"
11844 }
11845 ]
11846 }
11847 ]
11848 }
11849 }
11850 ]
11851 },
11852 {
11853 "type": "BLANK"
11854 }
11855 ]
11856 },
11857 {
11858 "type": "ALIAS",
11859 "content": {
11860 "type": "TOKEN",
11861 "content": {
11862 "type": "PREC",
11863 "value": 1,
11864 "content": {
11865 "type": "STRING",
11866 "value": ">"
11867 }
11868 }
11869 },
11870 "named": false,
11871 "value": ">"
11872 }
11873 ]
11874 },
11875 "type_parameter_declaration": {
11876 "type": "PREC",
11877 "value": 1,
11878 "content": {
11879 "type": "SEQ",
11880 "members": [
11881 {
11882 "type": "CHOICE",
11883 "members": [
11884 {
11885 "type": "STRING",
11886 "value": "typename"
11887 },
11888 {
11889 "type": "STRING",
11890 "value": "class"
11891 }
11892 ]
11893 },
11894 {
11895 "type": "CHOICE",
11896 "members": [
11897 {
11898 "type": "SYMBOL",
11899 "name": "_type_identifier"
11900 },
11901 {
11902 "type": "BLANK"
11903 }
11904 ]
11905 }
11906 ]
11907 }
11908 },
11909 "variadic_type_parameter_declaration": {
11910 "type": "PREC",
11911 "value": 1,
11912 "content": {
11913 "type": "SEQ",
11914 "members": [
11915 {
11916 "type": "CHOICE",
11917 "members": [
11918 {
11919 "type": "STRING",
11920 "value": "typename"
11921 },
11922 {
11923 "type": "STRING",
11924 "value": "class"
11925 }
11926 ]
11927 },
11928 {
11929 "type": "STRING",
11930 "value": "..."
11931 },
11932 {
11933 "type": "CHOICE",
11934 "members": [
11935 {
11936 "type": "SYMBOL",
11937 "name": "_type_identifier"
11938 },
11939 {
11940 "type": "BLANK"
11941 }
11942 ]
11943 }
11944 ]
11945 }
11946 },
11947 "optional_type_parameter_declaration": {
11948 "type": "SEQ",
11949 "members": [
11950 {
11951 "type": "CHOICE",
11952 "members": [
11953 {
11954 "type": "STRING",
11955 "value": "typename"
11956 },
11957 {
11958 "type": "STRING",
11959 "value": "class"
11960 }
11961 ]
11962 },
11963 {
11964 "type": "CHOICE",
11965 "members": [
11966 {
11967 "type": "FIELD",
11968 "name": "name",
11969 "content": {
11970 "type": "SYMBOL",
11971 "name": "_type_identifier"
11972 }
11973 },
11974 {
11975 "type": "BLANK"
11976 }
11977 ]
11978 },
11979 {
11980 "type": "STRING",
11981 "value": "="
11982 },
11983 {
11984 "type": "FIELD",
11985 "name": "default_type",
11986 "content": {
11987 "type": "SYMBOL",
11988 "name": "type_specifier"
11989 }
11990 }
11991 ]
11992 },
11993 "template_template_parameter_declaration": {
11994 "type": "SEQ",
11995 "members": [
11996 {
11997 "type": "STRING",
11998 "value": "template"
11999 },
12000 {
12001 "type": "FIELD",
12002 "name": "parameters",
12003 "content": {
12004 "type": "SYMBOL",
12005 "name": "template_parameter_list"
12006 }
12007 },
12008 {
12009 "type": "CHOICE",
12010 "members": [
12011 {
12012 "type": "SYMBOL",
12013 "name": "type_parameter_declaration"
12014 },
12015 {
12016 "type": "SYMBOL",
12017 "name": "variadic_type_parameter_declaration"
12018 },
12019 {
12020 "type": "SYMBOL",
12021 "name": "optional_type_parameter_declaration"
12022 }
12023 ]
12024 }
12025 ]
12026 },
12027 "optional_parameter_declaration": {
12028 "type": "SEQ",
12029 "members": [
12030 {
12031 "type": "SYMBOL",
12032 "name": "_declaration_specifiers"
12033 },
12034 {
12035 "type": "FIELD",
12036 "name": "declarator",
12037 "content": {
12038 "type": "CHOICE",
12039 "members": [
12040 {
12041 "type": "CHOICE",
12042 "members": [
12043 {
12044 "type": "SYMBOL",
12045 "name": "_declarator"
12046 },
12047 {
12048 "type": "SYMBOL",
12049 "name": "abstract_reference_declarator"
12050 }
12051 ]
12052 },
12053 {
12054 "type": "BLANK"
12055 }
12056 ]
12057 }
12058 },
12059 {
12060 "type": "STRING",
12061 "value": "="
12062 },
12063 {
12064 "type": "FIELD",
12065 "name": "default_value",
12066 "content": {
12067 "type": "SYMBOL",
12068 "name": "expression"
12069 }
12070 }
12071 ]
12072 },
12073 "variadic_parameter_declaration": {
12074 "type": "SEQ",
12075 "members": [
12076 {
12077 "type": "SYMBOL",
12078 "name": "_declaration_specifiers"
12079 },
12080 {
12081 "type": "FIELD",
12082 "name": "declarator",
12083 "content": {
12084 "type": "CHOICE",
12085 "members": [
12086 {
12087 "type": "SYMBOL",
12088 "name": "variadic_declarator"
12089 },
12090 {
12091 "type": "ALIAS",
12092 "content": {
12093 "type": "SYMBOL",
12094 "name": "variadic_reference_declarator"
12095 },
12096 "named": true,
12097 "value": "reference_declarator"
12098 }
12099 ]
12100 }
12101 }
12102 ]
12103 },
12104 "variadic_declarator": {
12105 "type": "SEQ",
12106 "members": [
12107 {
12108 "type": "STRING",
12109 "value": "..."
12110 },
12111 {
12112 "type": "CHOICE",
12113 "members": [
12114 {
12115 "type": "SYMBOL",
12116 "name": "identifier"
12117 },
12118 {
12119 "type": "BLANK"
12120 }
12121 ]
12122 }
12123 ]
12124 },
12125 "variadic_reference_declarator": {
12126 "type": "SEQ",
12127 "members": [
12128 {
12129 "type": "CHOICE",
12130 "members": [
12131 {
12132 "type": "STRING",
12133 "value": "&&"
12134 },
12135 {
12136 "type": "STRING",
12137 "value": "&"
12138 }
12139 ]
12140 },
12141 {
12142 "type": "SYMBOL",
12143 "name": "variadic_declarator"
12144 }
12145 ]
12146 },
12147 "operator_cast": {
12148 "type": "PREC_RIGHT",
12149 "value": 1,
12150 "content": {
12151 "type": "SEQ",
12152 "members": [
12153 {
12154 "type": "STRING",
12155 "value": "operator"
12156 },
12157 {
12158 "type": "SYMBOL",
12159 "name": "_declaration_specifiers"
12160 },
12161 {
12162 "type": "FIELD",
12163 "name": "declarator",
12164 "content": {
12165 "type": "SYMBOL",
12166 "name": "_abstract_declarator"
12167 }
12168 }
12169 ]
12170 }
12171 },
12172 "field_initializer_list": {
12173 "type": "SEQ",
12174 "members": [
12175 {
12176 "type": "STRING",
12177 "value": ":"
12178 },
12179 {
12180 "type": "SEQ",
12181 "members": [
12182 {
12183 "type": "SYMBOL",
12184 "name": "field_initializer"
12185 },
12186 {
12187 "type": "REPEAT",
12188 "content": {
12189 "type": "SEQ",
12190 "members": [
12191 {
12192 "type": "STRING",
12193 "value": ","
12194 },
12195 {
12196 "type": "SYMBOL",
12197 "name": "field_initializer"
12198 }
12199 ]
12200 }
12201 }
12202 ]
12203 }
12204 ]
12205 },
12206 "field_initializer": {
12207 "type": "PREC",
12208 "value": 1,
12209 "content": {
12210 "type": "SEQ",
12211 "members": [
12212 {
12213 "type": "CHOICE",
12214 "members": [
12215 {
12216 "type": "SYMBOL",
12217 "name": "_field_identifier"
12218 },
12219 {
12220 "type": "SYMBOL",
12221 "name": "template_method"
12222 },
12223 {
12224 "type": "ALIAS",
12225 "content": {
12226 "type": "SYMBOL",
12227 "name": "qualified_field_identifier"
12228 },
12229 "named": true,
12230 "value": "qualified_identifier"
12231 }
12232 ]
12233 },
12234 {
12235 "type": "CHOICE",
12236 "members": [
12237 {
12238 "type": "SYMBOL",
12239 "name": "initializer_list"
12240 },
12241 {
12242 "type": "SYMBOL",
12243 "name": "argument_list"
12244 }
12245 ]
12246 },
12247 {
12248 "type": "CHOICE",
12249 "members": [
12250 {
12251 "type": "STRING",
12252 "value": "..."
12253 },
12254 {
12255 "type": "BLANK"
12256 }
12257 ]
12258 }
12259 ]
12260 }
12261 },
12262 "inline_method_definition": {
12263 "type": "SEQ",
12264 "members": [
12265 {
12266 "type": "SYMBOL",
12267 "name": "_declaration_specifiers"
12268 },
12269 {
12270 "type": "FIELD",
12271 "name": "declarator",
12272 "content": {
12273 "type": "SYMBOL",
12274 "name": "_field_declarator"
12275 }
12276 },
12277 {
12278 "type": "CHOICE",
12279 "members": [
12280 {
12281 "type": "FIELD",
12282 "name": "body",
12283 "content": {
12284 "type": "CHOICE",
12285 "members": [
12286 {
12287 "type": "SYMBOL",
12288 "name": "compound_statement"
12289 },
12290 {
12291 "type": "SYMBOL",
12292 "name": "try_statement"
12293 }
12294 ]
12295 }
12296 },
12297 {
12298 "type": "SYMBOL",
12299 "name": "default_method_clause"
12300 },
12301 {
12302 "type": "SYMBOL",
12303 "name": "delete_method_clause"
12304 },
12305 {
12306 "type": "SYMBOL",
12307 "name": "pure_virtual_clause"
12308 }
12309 ]
12310 }
12311 ]
12312 },
12313 "_constructor_specifiers": {
12314 "type": "CHOICE",
12315 "members": [
12316 {
12317 "type": "SYMBOL",
12318 "name": "_declaration_modifiers"
12319 },
12320 {
12321 "type": "SYMBOL",
12322 "name": "explicit_function_specifier"
12323 }
12324 ]
12325 },
12326 "operator_cast_definition": {
12327 "type": "SEQ",
12328 "members": [
12329 {
12330 "type": "REPEAT",
12331 "content": {
12332 "type": "SYMBOL",
12333 "name": "_constructor_specifiers"
12334 }
12335 },
12336 {
12337 "type": "FIELD",
12338 "name": "declarator",
12339 "content": {
12340 "type": "CHOICE",
12341 "members": [
12342 {
12343 "type": "SYMBOL",
12344 "name": "operator_cast"
12345 },
12346 {
12347 "type": "ALIAS",
12348 "content": {
12349 "type": "SYMBOL",
12350 "name": "qualified_operator_cast_identifier"
12351 },
12352 "named": true,
12353 "value": "qualified_identifier"
12354 }
12355 ]
12356 }
12357 },
12358 {
12359 "type": "FIELD",
12360 "name": "body",
12361 "content": {
12362 "type": "CHOICE",
12363 "members": [
12364 {
12365 "type": "SYMBOL",
12366 "name": "compound_statement"
12367 },
12368 {
12369 "type": "SYMBOL",
12370 "name": "try_statement"
12371 }
12372 ]
12373 }
12374 }
12375 ]
12376 },
12377 "operator_cast_declaration": {
12378 "type": "PREC",
12379 "value": 1,
12380 "content": {
12381 "type": "SEQ",
12382 "members": [
12383 {
12384 "type": "REPEAT",
12385 "content": {
12386 "type": "SYMBOL",
12387 "name": "_constructor_specifiers"
12388 }
12389 },
12390 {
12391 "type": "FIELD",
12392 "name": "declarator",
12393 "content": {
12394 "type": "CHOICE",
12395 "members": [
12396 {
12397 "type": "SYMBOL",
12398 "name": "operator_cast"
12399 },
12400 {
12401 "type": "ALIAS",
12402 "content": {
12403 "type": "SYMBOL",
12404 "name": "qualified_operator_cast_identifier"
12405 },
12406 "named": true,
12407 "value": "qualified_identifier"
12408 }
12409 ]
12410 }
12411 },
12412 {
12413 "type": "CHOICE",
12414 "members": [
12415 {
12416 "type": "SEQ",
12417 "members": [
12418 {
12419 "type": "STRING",
12420 "value": "="
12421 },
12422 {
12423 "type": "FIELD",
12424 "name": "default_value",
12425 "content": {
12426 "type": "SYMBOL",
12427 "name": "expression"
12428 }
12429 }
12430 ]
12431 },
12432 {
12433 "type": "BLANK"
12434 }
12435 ]
12436 },
12437 {
12438 "type": "STRING",
12439 "value": ";"
12440 }
12441 ]
12442 }
12443 },
12444 "constructor_try_statement": {
12445 "type": "SEQ",
12446 "members": [
12447 {
12448 "type": "STRING",
12449 "value": "try"
12450 },
12451 {
12452 "type": "CHOICE",
12453 "members": [
12454 {
12455 "type": "SYMBOL",
12456 "name": "field_initializer_list"
12457 },
12458 {
12459 "type": "BLANK"
12460 }
12461 ]
12462 },
12463 {
12464 "type": "FIELD",
12465 "name": "body",
12466 "content": {
12467 "type": "SYMBOL",
12468 "name": "compound_statement"
12469 }
12470 },
12471 {
12472 "type": "REPEAT1",
12473 "content": {
12474 "type": "SYMBOL",
12475 "name": "catch_clause"
12476 }
12477 }
12478 ]
12479 },
12480 "constructor_or_destructor_definition": {
12481 "type": "SEQ",
12482 "members": [
12483 {
12484 "type": "REPEAT",
12485 "content": {
12486 "type": "SYMBOL",
12487 "name": "_constructor_specifiers"
12488 }
12489 },
12490 {
12491 "type": "FIELD",
12492 "name": "declarator",
12493 "content": {
12494 "type": "SYMBOL",
12495 "name": "function_declarator"
12496 }
12497 },
12498 {
12499 "type": "CHOICE",
12500 "members": [
12501 {
12502 "type": "SEQ",
12503 "members": [
12504 {
12505 "type": "CHOICE",
12506 "members": [
12507 {
12508 "type": "SYMBOL",
12509 "name": "field_initializer_list"
12510 },
12511 {
12512 "type": "BLANK"
12513 }
12514 ]
12515 },
12516 {
12517 "type": "FIELD",
12518 "name": "body",
12519 "content": {
12520 "type": "SYMBOL",
12521 "name": "compound_statement"
12522 }
12523 }
12524 ]
12525 },
12526 {
12527 "type": "ALIAS",
12528 "content": {
12529 "type": "SYMBOL",
12530 "name": "constructor_try_statement"
12531 },
12532 "named": true,
12533 "value": "try_statement"
12534 },
12535 {
12536 "type": "SYMBOL",
12537 "name": "default_method_clause"
12538 },
12539 {
12540 "type": "SYMBOL",
12541 "name": "delete_method_clause"
12542 },
12543 {
12544 "type": "SYMBOL",
12545 "name": "pure_virtual_clause"
12546 }
12547 ]
12548 }
12549 ]
12550 },
12551 "constructor_or_destructor_declaration": {
12552 "type": "SEQ",
12553 "members": [
12554 {
12555 "type": "REPEAT",
12556 "content": {
12557 "type": "SYMBOL",
12558 "name": "_constructor_specifiers"
12559 }
12560 },
12561 {
12562 "type": "FIELD",
12563 "name": "declarator",
12564 "content": {
12565 "type": "SYMBOL",
12566 "name": "function_declarator"
12567 }
12568 },
12569 {
12570 "type": "STRING",
12571 "value": ";"
12572 }
12573 ]
12574 },
12575 "default_method_clause": {
12576 "type": "SEQ",
12577 "members": [
12578 {
12579 "type": "STRING",
12580 "value": "="
12581 },
12582 {
12583 "type": "STRING",
12584 "value": "default"
12585 },
12586 {
12587 "type": "STRING",
12588 "value": ";"
12589 }
12590 ]
12591 },
12592 "delete_method_clause": {
12593 "type": "SEQ",
12594 "members": [
12595 {
12596 "type": "STRING",
12597 "value": "="
12598 },
12599 {
12600 "type": "STRING",
12601 "value": "delete"
12602 },
12603 {
12604 "type": "STRING",
12605 "value": ";"
12606 }
12607 ]
12608 },
12609 "pure_virtual_clause": {
12610 "type": "SEQ",
12611 "members": [
12612 {
12613 "type": "STRING",
12614 "value": "="
12615 },
12616 {
12617 "type": "STRING",
12618 "value": "0"
12619 },
12620 {
12621 "type": "STRING",
12622 "value": ";"
12623 }
12624 ]
12625 },
12626 "friend_declaration": {
12627 "type": "SEQ",
12628 "members": [
12629 {
12630 "type": "STRING",
12631 "value": "friend"
12632 },
12633 {
12634 "type": "CHOICE",
12635 "members": [
12636 {
12637 "type": "SYMBOL",
12638 "name": "declaration"
12639 },
12640 {
12641 "type": "SYMBOL",
12642 "name": "function_definition"
12643 },
12644 {
12645 "type": "SEQ",
12646 "members": [
12647 {
12648 "type": "CHOICE",
12649 "members": [
12650 {
12651 "type": "CHOICE",
12652 "members": [
12653 {
12654 "type": "STRING",
12655 "value": "class"
12656 },
12657 {
12658 "type": "STRING",
12659 "value": "struct"
12660 },
12661 {
12662 "type": "STRING",
12663 "value": "union"
12664 }
12665 ]
12666 },
12667 {
12668 "type": "BLANK"
12669 }
12670 ]
12671 },
12672 {
12673 "type": "SYMBOL",
12674 "name": "_class_name"
12675 },
12676 {
12677 "type": "STRING",
12678 "value": ";"
12679 }
12680 ]
12681 }
12682 ]
12683 }
12684 ]
12685 },
12686 "access_specifier": {
12687 "type": "CHOICE",
12688 "members": [
12689 {
12690 "type": "STRING",
12691 "value": "public"
12692 },
12693 {
12694 "type": "STRING",
12695 "value": "private"
12696 },
12697 {
12698 "type": "STRING",
12699 "value": "protected"
12700 }
12701 ]
12702 },
12703 "reference_declarator": {
12704 "type": "PREC_DYNAMIC",
12705 "value": 1,
12706 "content": {
12707 "type": "PREC_RIGHT",
12708 "value": 0,
12709 "content": {
12710 "type": "SEQ",
12711 "members": [
12712 {
12713 "type": "CHOICE",
12714 "members": [
12715 {
12716 "type": "STRING",
12717 "value": "&"
12718 },
12719 {
12720 "type": "STRING",
12721 "value": "&&"
12722 }
12723 ]
12724 },
12725 {
12726 "type": "SYMBOL",
12727 "name": "_declarator"
12728 }
12729 ]
12730 }
12731 }
12732 },
12733 "reference_field_declarator": {
12734 "type": "PREC_DYNAMIC",
12735 "value": 1,
12736 "content": {
12737 "type": "PREC_RIGHT",
12738 "value": 0,
12739 "content": {
12740 "type": "SEQ",
12741 "members": [
12742 {
12743 "type": "CHOICE",
12744 "members": [
12745 {
12746 "type": "STRING",
12747 "value": "&"
12748 },
12749 {
12750 "type": "STRING",
12751 "value": "&&"
12752 }
12753 ]
12754 },
12755 {
12756 "type": "SYMBOL",
12757 "name": "_field_declarator"
12758 }
12759 ]
12760 }
12761 }
12762 },
12763 "reference_type_declarator": {
12764 "type": "PREC_DYNAMIC",
12765 "value": 1,
12766 "content": {
12767 "type": "PREC_RIGHT",
12768 "value": 0,
12769 "content": {
12770 "type": "SEQ",
12771 "members": [
12772 {
12773 "type": "CHOICE",
12774 "members": [
12775 {
12776 "type": "STRING",
12777 "value": "&"
12778 },
12779 {
12780 "type": "STRING",
12781 "value": "&&"
12782 }
12783 ]
12784 },
12785 {
12786 "type": "SYMBOL",
12787 "name": "_type_declarator"
12788 }
12789 ]
12790 }
12791 }
12792 },
12793 "abstract_reference_declarator": {
12794 "type": "PREC_RIGHT",
12795 "value": 0,
12796 "content": {
12797 "type": "SEQ",
12798 "members": [
12799 {
12800 "type": "CHOICE",
12801 "members": [
12802 {
12803 "type": "STRING",
12804 "value": "&"
12805 },
12806 {
12807 "type": "STRING",
12808 "value": "&&"
12809 }
12810 ]
12811 },
12812 {
12813 "type": "CHOICE",
12814 "members": [
12815 {
12816 "type": "SYMBOL",
12817 "name": "_abstract_declarator"
12818 },
12819 {
12820 "type": "BLANK"
12821 }
12822 ]
12823 }
12824 ]
12825 }
12826 },
12827 "structured_binding_declarator": {
12828 "type": "PREC_DYNAMIC",
12829 "value": -1,
12830 "content": {
12831 "type": "SEQ",
12832 "members": [
12833 {
12834 "type": "STRING",
12835 "value": "["
12836 },
12837 {
12838 "type": "SEQ",
12839 "members": [
12840 {
12841 "type": "SYMBOL",
12842 "name": "identifier"
12843 },
12844 {
12845 "type": "REPEAT",
12846 "content": {
12847 "type": "SEQ",
12848 "members": [
12849 {
12850 "type": "STRING",
12851 "value": ","
12852 },
12853 {
12854 "type": "SYMBOL",
12855 "name": "identifier"
12856 }
12857 ]
12858 }
12859 }
12860 ]
12861 },
12862 {
12863 "type": "STRING",
12864 "value": "]"
12865 }
12866 ]
12867 }
12868 },
12869 "ref_qualifier": {
12870 "type": "CHOICE",
12871 "members": [
12872 {
12873 "type": "STRING",
12874 "value": "&"
12875 },
12876 {
12877 "type": "STRING",
12878 "value": "&&"
12879 }
12880 ]
12881 },
12882 "_function_declarator_seq": {
12883 "type": "SEQ",
12884 "members": [
12885 {
12886 "type": "FIELD",
12887 "name": "parameters",
12888 "content": {
12889 "type": "SYMBOL",
12890 "name": "parameter_list"
12891 }
12892 },
12893 {
12894 "type": "CHOICE",
12895 "members": [
12896 {
12897 "type": "SYMBOL",
12898 "name": "_function_attributes_start"
12899 },
12900 {
12901 "type": "BLANK"
12902 }
12903 ]
12904 },
12905 {
12906 "type": "CHOICE",
12907 "members": [
12908 {
12909 "type": "SYMBOL",
12910 "name": "ref_qualifier"
12911 },
12912 {
12913 "type": "BLANK"
12914 }
12915 ]
12916 },
12917 {
12918 "type": "CHOICE",
12919 "members": [
12920 {
12921 "type": "SYMBOL",
12922 "name": "_function_exception_specification"
12923 },
12924 {
12925 "type": "BLANK"
12926 }
12927 ]
12928 },
12929 {
12930 "type": "CHOICE",
12931 "members": [
12932 {
12933 "type": "SYMBOL",
12934 "name": "_function_attributes_end"
12935 },
12936 {
12937 "type": "BLANK"
12938 }
12939 ]
12940 },
12941 {
12942 "type": "CHOICE",
12943 "members": [
12944 {
12945 "type": "SYMBOL",
12946 "name": "trailing_return_type"
12947 },
12948 {
12949 "type": "BLANK"
12950 }
12951 ]
12952 },
12953 {
12954 "type": "CHOICE",
12955 "members": [
12956 {
12957 "type": "SYMBOL",
12958 "name": "_function_postfix"
12959 },
12960 {
12961 "type": "BLANK"
12962 }
12963 ]
12964 }
12965 ]
12966 },
12967 "_function_attributes_start": {
12968 "type": "PREC",
12969 "value": 1,
12970 "content": {
12971 "type": "CHOICE",
12972 "members": [
12973 {
12974 "type": "SEQ",
12975 "members": [
12976 {
12977 "type": "REPEAT1",
12978 "content": {
12979 "type": "SYMBOL",
12980 "name": "attribute_specifier"
12981 }
12982 },
12983 {
12984 "type": "REPEAT",
12985 "content": {
12986 "type": "SYMBOL",
12987 "name": "type_qualifier"
12988 }
12989 }
12990 ]
12991 },
12992 {
12993 "type": "SEQ",
12994 "members": [
12995 {
12996 "type": "REPEAT",
12997 "content": {
12998 "type": "SYMBOL",
12999 "name": "attribute_specifier"
13000 }
13001 },
13002 {
13003 "type": "REPEAT1",
13004 "content": {
13005 "type": "SYMBOL",
13006 "name": "type_qualifier"
13007 }
13008 }
13009 ]
13010 }
13011 ]
13012 }
13013 },
13014 "_function_exception_specification": {
13015 "type": "CHOICE",
13016 "members": [
13017 {
13018 "type": "SYMBOL",
13019 "name": "noexcept"
13020 },
13021 {
13022 "type": "SYMBOL",
13023 "name": "throw_specifier"
13024 }
13025 ]
13026 },
13027 "_function_attributes_end": {
13028 "type": "PREC_RIGHT",
13029 "value": 0,
13030 "content": {
13031 "type": "SEQ",
13032 "members": [
13033 {
13034 "type": "CHOICE",
13035 "members": [
13036 {
13037 "type": "SYMBOL",
13038 "name": "gnu_asm_expression"
13039 },
13040 {
13041 "type": "BLANK"
13042 }
13043 ]
13044 },
13045 {
13046 "type": "CHOICE",
13047 "members": [
13048 {
13049 "type": "SEQ",
13050 "members": [
13051 {
13052 "type": "REPEAT1",
13053 "content": {
13054 "type": "SYMBOL",
13055 "name": "attribute_specifier"
13056 }
13057 },
13058 {
13059 "type": "REPEAT",
13060 "content": {
13061 "type": "SYMBOL",
13062 "name": "attribute_declaration"
13063 }
13064 }
13065 ]
13066 },
13067 {
13068 "type": "SEQ",
13069 "members": [
13070 {
13071 "type": "REPEAT",
13072 "content": {
13073 "type": "SYMBOL",
13074 "name": "attribute_specifier"
13075 }
13076 },
13077 {
13078 "type": "REPEAT1",
13079 "content": {
13080 "type": "SYMBOL",
13081 "name": "attribute_declaration"
13082 }
13083 }
13084 ]
13085 }
13086 ]
13087 }
13088 ]
13089 }
13090 },
13091 "_function_postfix": {
13092 "type": "PREC_RIGHT",
13093 "value": 0,
13094 "content": {
13095 "type": "CHOICE",
13096 "members": [
13097 {
13098 "type": "REPEAT1",
13099 "content": {
13100 "type": "SYMBOL",
13101 "name": "virtual_specifier"
13102 }
13103 },
13104 {
13105 "type": "SYMBOL",
13106 "name": "requires_clause"
13107 }
13108 ]
13109 }
13110 },
13111 "trailing_return_type": {
13112 "type": "SEQ",
13113 "members": [
13114 {
13115 "type": "STRING",
13116 "value": "->"
13117 },
13118 {
13119 "type": "SYMBOL",
13120 "name": "type_descriptor"
13121 }
13122 ]
13123 },
13124 "noexcept": {
13125 "type": "PREC_RIGHT",
13126 "value": 0,
13127 "content": {
13128 "type": "SEQ",
13129 "members": [
13130 {
13131 "type": "STRING",
13132 "value": "noexcept"
13133 },
13134 {
13135 "type": "CHOICE",
13136 "members": [
13137 {
13138 "type": "SEQ",
13139 "members": [
13140 {
13141 "type": "STRING",
13142 "value": "("
13143 },
13144 {
13145 "type": "CHOICE",
13146 "members": [
13147 {
13148 "type": "SYMBOL",
13149 "name": "expression"
13150 },
13151 {
13152 "type": "BLANK"
13153 }
13154 ]
13155 },
13156 {
13157 "type": "STRING",
13158 "value": ")"
13159 }
13160 ]
13161 },
13162 {
13163 "type": "BLANK"
13164 }
13165 ]
13166 }
13167 ]
13168 }
13169 },
13170 "throw_specifier": {
13171 "type": "SEQ",
13172 "members": [
13173 {
13174 "type": "STRING",
13175 "value": "throw"
13176 },
13177 {
13178 "type": "SEQ",
13179 "members": [
13180 {
13181 "type": "STRING",
13182 "value": "("
13183 },
13184 {
13185 "type": "CHOICE",
13186 "members": [
13187 {
13188 "type": "SEQ",
13189 "members": [
13190 {
13191 "type": "SYMBOL",
13192 "name": "type_descriptor"
13193 },
13194 {
13195 "type": "REPEAT",
13196 "content": {
13197 "type": "SEQ",
13198 "members": [
13199 {
13200 "type": "STRING",
13201 "value": ","
13202 },
13203 {
13204 "type": "SYMBOL",
13205 "name": "type_descriptor"
13206 }
13207 ]
13208 }
13209 }
13210 ]
13211 },
13212 {
13213 "type": "BLANK"
13214 }
13215 ]
13216 },
13217 {
13218 "type": "STRING",
13219 "value": ")"
13220 }
13221 ]
13222 }
13223 ]
13224 },
13225 "template_type": {
13226 "type": "SEQ",
13227 "members": [
13228 {
13229 "type": "FIELD",
13230 "name": "name",
13231 "content": {
13232 "type": "SYMBOL",
13233 "name": "_type_identifier"
13234 }
13235 },
13236 {
13237 "type": "FIELD",
13238 "name": "arguments",
13239 "content": {
13240 "type": "SYMBOL",
13241 "name": "template_argument_list"
13242 }
13243 }
13244 ]
13245 },
13246 "template_method": {
13247 "type": "SEQ",
13248 "members": [
13249 {
13250 "type": "FIELD",
13251 "name": "name",
13252 "content": {
13253 "type": "CHOICE",
13254 "members": [
13255 {
13256 "type": "SYMBOL",
13257 "name": "_field_identifier"
13258 },
13259 {
13260 "type": "SYMBOL",
13261 "name": "operator_name"
13262 }
13263 ]
13264 }
13265 },
13266 {
13267 "type": "FIELD",
13268 "name": "arguments",
13269 "content": {
13270 "type": "SYMBOL",
13271 "name": "template_argument_list"
13272 }
13273 }
13274 ]
13275 },
13276 "template_function": {
13277 "type": "SEQ",
13278 "members": [
13279 {
13280 "type": "FIELD",
13281 "name": "name",
13282 "content": {
13283 "type": "SYMBOL",
13284 "name": "identifier"
13285 }
13286 },
13287 {
13288 "type": "FIELD",
13289 "name": "arguments",
13290 "content": {
13291 "type": "SYMBOL",
13292 "name": "template_argument_list"
13293 }
13294 }
13295 ]
13296 },
13297 "template_argument_list": {
13298 "type": "SEQ",
13299 "members": [
13300 {
13301 "type": "STRING",
13302 "value": "<"
13303 },
13304 {
13305 "type": "CHOICE",
13306 "members": [
13307 {
13308 "type": "SEQ",
13309 "members": [
13310 {
13311 "type": "CHOICE",
13312 "members": [
13313 {
13314 "type": "PREC_DYNAMIC",
13315 "value": 3,
13316 "content": {
13317 "type": "SYMBOL",
13318 "name": "type_descriptor"
13319 }
13320 },
13321 {
13322 "type": "PREC_DYNAMIC",
13323 "value": 2,
13324 "content": {
13325 "type": "ALIAS",
13326 "content": {
13327 "type": "SYMBOL",
13328 "name": "type_parameter_pack_expansion"
13329 },
13330 "named": true,
13331 "value": "parameter_pack_expansion"
13332 }
13333 },
13334 {
13335 "type": "PREC_DYNAMIC",
13336 "value": 1,
13337 "content": {
13338 "type": "SYMBOL",
13339 "name": "expression"
13340 }
13341 }
13342 ]
13343 },
13344 {
13345 "type": "REPEAT",
13346 "content": {
13347 "type": "SEQ",
13348 "members": [
13349 {
13350 "type": "STRING",
13351 "value": ","
13352 },
13353 {
13354 "type": "CHOICE",
13355 "members": [
13356 {
13357 "type": "PREC_DYNAMIC",
13358 "value": 3,
13359 "content": {
13360 "type": "SYMBOL",
13361 "name": "type_descriptor"
13362 }
13363 },
13364 {
13365 "type": "PREC_DYNAMIC",
13366 "value": 2,
13367 "content": {
13368 "type": "ALIAS",
13369 "content": {
13370 "type": "SYMBOL",
13371 "name": "type_parameter_pack_expansion"
13372 },
13373 "named": true,
13374 "value": "parameter_pack_expansion"
13375 }
13376 },
13377 {
13378 "type": "PREC_DYNAMIC",
13379 "value": 1,
13380 "content": {
13381 "type": "SYMBOL",
13382 "name": "expression"
13383 }
13384 }
13385 ]
13386 }
13387 ]
13388 }
13389 }
13390 ]
13391 },
13392 {
13393 "type": "BLANK"
13394 }
13395 ]
13396 },
13397 {
13398 "type": "ALIAS",
13399 "content": {
13400 "type": "TOKEN",
13401 "content": {
13402 "type": "PREC",
13403 "value": 1,
13404 "content": {
13405 "type": "STRING",
13406 "value": ">"
13407 }
13408 }
13409 },
13410 "named": false,
13411 "value": ">"
13412 }
13413 ]
13414 },
13415 "namespace_definition": {
13416 "type": "SEQ",
13417 "members": [
13418 {
13419 "type": "CHOICE",
13420 "members": [
13421 {
13422 "type": "STRING",
13423 "value": "inline"
13424 },
13425 {
13426 "type": "BLANK"
13427 }
13428 ]
13429 },
13430 {
13431 "type": "STRING",
13432 "value": "namespace"
13433 },
13434 {
13435 "type": "CHOICE",
13436 "members": [
13437 {
13438 "type": "SYMBOL",
13439 "name": "attribute_declaration"
13440 },
13441 {
13442 "type": "BLANK"
13443 }
13444 ]
13445 },
13446 {
13447 "type": "FIELD",
13448 "name": "name",
13449 "content": {
13450 "type": "CHOICE",
13451 "members": [
13452 {
13453 "type": "CHOICE",
13454 "members": [
13455 {
13456 "type": "SYMBOL",
13457 "name": "_namespace_identifier"
13458 },
13459 {
13460 "type": "SYMBOL",
13461 "name": "nested_namespace_specifier"
13462 }
13463 ]
13464 },
13465 {
13466 "type": "BLANK"
13467 }
13468 ]
13469 }
13470 },
13471 {
13472 "type": "FIELD",
13473 "name": "body",
13474 "content": {
13475 "type": "SYMBOL",
13476 "name": "declaration_list"
13477 }
13478 }
13479 ]
13480 },
13481 "namespace_alias_definition": {
13482 "type": "SEQ",
13483 "members": [
13484 {
13485 "type": "STRING",
13486 "value": "namespace"
13487 },
13488 {
13489 "type": "FIELD",
13490 "name": "name",
13491 "content": {
13492 "type": "SYMBOL",
13493 "name": "_namespace_identifier"
13494 }
13495 },
13496 {
13497 "type": "STRING",
13498 "value": "="
13499 },
13500 {
13501 "type": "CHOICE",
13502 "members": [
13503 {
13504 "type": "SYMBOL",
13505 "name": "_namespace_identifier"
13506 },
13507 {
13508 "type": "SYMBOL",
13509 "name": "nested_namespace_specifier"
13510 }
13511 ]
13512 },
13513 {
13514 "type": "STRING",
13515 "value": ";"
13516 }
13517 ]
13518 },
13519 "_namespace_specifier": {
13520 "type": "SEQ",
13521 "members": [
13522 {
13523 "type": "CHOICE",
13524 "members": [
13525 {
13526 "type": "STRING",
13527 "value": "inline"
13528 },
13529 {
13530 "type": "BLANK"
13531 }
13532 ]
13533 },
13534 {
13535 "type": "SYMBOL",
13536 "name": "_namespace_identifier"
13537 }
13538 ]
13539 },
13540 "nested_namespace_specifier": {
13541 "type": "PREC",
13542 "value": 1,
13543 "content": {
13544 "type": "SEQ",
13545 "members": [
13546 {
13547 "type": "CHOICE",
13548 "members": [
13549 {
13550 "type": "SYMBOL",
13551 "name": "_namespace_specifier"
13552 },
13553 {
13554 "type": "BLANK"
13555 }
13556 ]
13557 },
13558 {
13559 "type": "STRING",
13560 "value": "::"
13561 },
13562 {
13563 "type": "CHOICE",
13564 "members": [
13565 {
13566 "type": "SYMBOL",
13567 "name": "nested_namespace_specifier"
13568 },
13569 {
13570 "type": "SYMBOL",
13571 "name": "_namespace_specifier"
13572 }
13573 ]
13574 }
13575 ]
13576 }
13577 },
13578 "using_declaration": {
13579 "type": "SEQ",
13580 "members": [
13581 {
13582 "type": "STRING",
13583 "value": "using"
13584 },
13585 {
13586 "type": "CHOICE",
13587 "members": [
13588 {
13589 "type": "CHOICE",
13590 "members": [
13591 {
13592 "type": "STRING",
13593 "value": "namespace"
13594 },
13595 {
13596 "type": "STRING",
13597 "value": "enum"
13598 }
13599 ]
13600 },
13601 {
13602 "type": "BLANK"
13603 }
13604 ]
13605 },
13606 {
13607 "type": "CHOICE",
13608 "members": [
13609 {
13610 "type": "SYMBOL",
13611 "name": "identifier"
13612 },
13613 {
13614 "type": "SYMBOL",
13615 "name": "qualified_identifier"
13616 }
13617 ]
13618 },
13619 {
13620 "type": "STRING",
13621 "value": ";"
13622 }
13623 ]
13624 },
13625 "alias_declaration": {
13626 "type": "SEQ",
13627 "members": [
13628 {
13629 "type": "STRING",
13630 "value": "using"
13631 },
13632 {
13633 "type": "FIELD",
13634 "name": "name",
13635 "content": {
13636 "type": "SYMBOL",
13637 "name": "_type_identifier"
13638 }
13639 },
13640 {
13641 "type": "REPEAT",
13642 "content": {
13643 "type": "SYMBOL",
13644 "name": "attribute_declaration"
13645 }
13646 },
13647 {
13648 "type": "STRING",
13649 "value": "="
13650 },
13651 {
13652 "type": "FIELD",
13653 "name": "type",
13654 "content": {
13655 "type": "SYMBOL",
13656 "name": "type_descriptor"
13657 }
13658 },
13659 {
13660 "type": "STRING",
13661 "value": ";"
13662 }
13663 ]
13664 },
13665 "static_assert_declaration": {
13666 "type": "SEQ",
13667 "members": [
13668 {
13669 "type": "STRING",
13670 "value": "static_assert"
13671 },
13672 {
13673 "type": "STRING",
13674 "value": "("
13675 },
13676 {
13677 "type": "FIELD",
13678 "name": "condition",
13679 "content": {
13680 "type": "SYMBOL",
13681 "name": "expression"
13682 }
13683 },
13684 {
13685 "type": "CHOICE",
13686 "members": [
13687 {
13688 "type": "SEQ",
13689 "members": [
13690 {
13691 "type": "STRING",
13692 "value": ","
13693 },
13694 {
13695 "type": "FIELD",
13696 "name": "message",
13697 "content": {
13698 "type": "CHOICE",
13699 "members": [
13700 {
13701 "type": "SYMBOL",
13702 "name": "string_literal"
13703 },
13704 {
13705 "type": "SYMBOL",
13706 "name": "raw_string_literal"
13707 },
13708 {
13709 "type": "SYMBOL",
13710 "name": "concatenated_string"
13711 }
13712 ]
13713 }
13714 }
13715 ]
13716 },
13717 {
13718 "type": "BLANK"
13719 }
13720 ]
13721 },
13722 {
13723 "type": "STRING",
13724 "value": ")"
13725 },
13726 {
13727 "type": "STRING",
13728 "value": ";"
13729 }
13730 ]
13731 },
13732 "concept_definition": {
13733 "type": "SEQ",
13734 "members": [
13735 {
13736 "type": "STRING",
13737 "value": "concept"
13738 },
13739 {
13740 "type": "FIELD",
13741 "name": "name",
13742 "content": {
13743 "type": "SYMBOL",
13744 "name": "identifier"
13745 }
13746 },
13747 {
13748 "type": "STRING",
13749 "value": "="
13750 },
13751 {
13752 "type": "SYMBOL",
13753 "name": "expression"
13754 },
13755 {
13756 "type": "STRING",
13757 "value": ";"
13758 }
13759 ]
13760 },
13761 "for_range_loop": {
13762 "type": "SEQ",
13763 "members": [
13764 {
13765 "type": "STRING",
13766 "value": "for"
13767 },
13768 {
13769 "type": "STRING",
13770 "value": "("
13771 },
13772 {
13773 "type": "SYMBOL",
13774 "name": "_for_range_loop_body"
13775 },
13776 {
13777 "type": "STRING",
13778 "value": ")"
13779 },
13780 {
13781 "type": "FIELD",
13782 "name": "body",
13783 "content": {
13784 "type": "SYMBOL",
13785 "name": "statement"
13786 }
13787 }
13788 ]
13789 },
13790 "_for_range_loop_body": {
13791 "type": "SEQ",
13792 "members": [
13793 {
13794 "type": "FIELD",
13795 "name": "initializer",
13796 "content": {
13797 "type": "CHOICE",
13798 "members": [
13799 {
13800 "type": "SYMBOL",
13801 "name": "init_statement"
13802 },
13803 {
13804 "type": "BLANK"
13805 }
13806 ]
13807 }
13808 },
13809 {
13810 "type": "SYMBOL",
13811 "name": "_declaration_specifiers"
13812 },
13813 {
13814 "type": "FIELD",
13815 "name": "declarator",
13816 "content": {
13817 "type": "SYMBOL",
13818 "name": "_declarator"
13819 }
13820 },
13821 {
13822 "type": "STRING",
13823 "value": ":"
13824 },
13825 {
13826 "type": "FIELD",
13827 "name": "right",
13828 "content": {
13829 "type": "CHOICE",
13830 "members": [
13831 {
13832 "type": "SYMBOL",
13833 "name": "expression"
13834 },
13835 {
13836 "type": "SYMBOL",
13837 "name": "initializer_list"
13838 }
13839 ]
13840 }
13841 }
13842 ]
13843 },
13844 "init_statement": {
13845 "type": "CHOICE",
13846 "members": [
13847 {
13848 "type": "SYMBOL",
13849 "name": "alias_declaration"
13850 },
13851 {
13852 "type": "SYMBOL",
13853 "name": "type_definition"
13854 },
13855 {
13856 "type": "SYMBOL",
13857 "name": "declaration"
13858 },
13859 {
13860 "type": "SYMBOL",
13861 "name": "expression_statement"
13862 }
13863 ]
13864 },
13865 "condition_clause": {
13866 "type": "SEQ",
13867 "members": [
13868 {
13869 "type": "STRING",
13870 "value": "("
13871 },
13872 {
13873 "type": "FIELD",
13874 "name": "initializer",
13875 "content": {
13876 "type": "CHOICE",
13877 "members": [
13878 {
13879 "type": "SYMBOL",
13880 "name": "init_statement"
13881 },
13882 {
13883 "type": "BLANK"
13884 }
13885 ]
13886 }
13887 },
13888 {
13889 "type": "FIELD",
13890 "name": "value",
13891 "content": {
13892 "type": "CHOICE",
13893 "members": [
13894 {
13895 "type": "SYMBOL",
13896 "name": "expression"
13897 },
13898 {
13899 "type": "SYMBOL",
13900 "name": "comma_expression"
13901 },
13902 {
13903 "type": "ALIAS",
13904 "content": {
13905 "type": "SYMBOL",
13906 "name": "condition_declaration"
13907 },
13908 "named": true,
13909 "value": "declaration"
13910 }
13911 ]
13912 }
13913 },
13914 {
13915 "type": "STRING",
13916 "value": ")"
13917 }
13918 ]
13919 },
13920 "condition_declaration": {
13921 "type": "SEQ",
13922 "members": [
13923 {
13924 "type": "SYMBOL",
13925 "name": "_declaration_specifiers"
13926 },
13927 {
13928 "type": "FIELD",
13929 "name": "declarator",
13930 "content": {
13931 "type": "SYMBOL",
13932 "name": "_declarator"
13933 }
13934 },
13935 {
13936 "type": "CHOICE",
13937 "members": [
13938 {
13939 "type": "SEQ",
13940 "members": [
13941 {
13942 "type": "STRING",
13943 "value": "="
13944 },
13945 {
13946 "type": "FIELD",
13947 "name": "value",
13948 "content": {
13949 "type": "SYMBOL",
13950 "name": "expression"
13951 }
13952 }
13953 ]
13954 },
13955 {
13956 "type": "FIELD",
13957 "name": "value",
13958 "content": {
13959 "type": "SYMBOL",
13960 "name": "initializer_list"
13961 }
13962 }
13963 ]
13964 }
13965 ]
13966 },
13967 "co_return_statement": {
13968 "type": "SEQ",
13969 "members": [
13970 {
13971 "type": "STRING",
13972 "value": "co_return"
13973 },
13974 {
13975 "type": "CHOICE",
13976 "members": [
13977 {
13978 "type": "SYMBOL",
13979 "name": "expression"
13980 },
13981 {
13982 "type": "BLANK"
13983 }
13984 ]
13985 },
13986 {
13987 "type": "STRING",
13988 "value": ";"
13989 }
13990 ]
13991 },
13992 "co_yield_statement": {
13993 "type": "SEQ",
13994 "members": [
13995 {
13996 "type": "STRING",
13997 "value": "co_yield"
13998 },
13999 {
14000 "type": "SYMBOL",
14001 "name": "expression"
14002 },
14003 {
14004 "type": "STRING",
14005 "value": ";"
14006 }
14007 ]
14008 },
14009 "throw_statement": {
14010 "type": "SEQ",
14011 "members": [
14012 {
14013 "type": "STRING",
14014 "value": "throw"
14015 },
14016 {
14017 "type": "CHOICE",
14018 "members": [
14019 {
14020 "type": "SYMBOL",
14021 "name": "expression"
14022 },
14023 {
14024 "type": "BLANK"
14025 }
14026 ]
14027 },
14028 {
14029 "type": "STRING",
14030 "value": ";"
14031 }
14032 ]
14033 },
14034 "try_statement": {
14035 "type": "SEQ",
14036 "members": [
14037 {
14038 "type": "STRING",
14039 "value": "try"
14040 },
14041 {
14042 "type": "FIELD",
14043 "name": "body",
14044 "content": {
14045 "type": "SYMBOL",
14046 "name": "compound_statement"
14047 }
14048 },
14049 {
14050 "type": "REPEAT1",
14051 "content": {
14052 "type": "SYMBOL",
14053 "name": "catch_clause"
14054 }
14055 }
14056 ]
14057 },
14058 "catch_clause": {
14059 "type": "SEQ",
14060 "members": [
14061 {
14062 "type": "STRING",
14063 "value": "catch"
14064 },
14065 {
14066 "type": "FIELD",
14067 "name": "parameters",
14068 "content": {
14069 "type": "SYMBOL",
14070 "name": "parameter_list"
14071 }
14072 },
14073 {
14074 "type": "FIELD",
14075 "name": "body",
14076 "content": {
14077 "type": "SYMBOL",
14078 "name": "compound_statement"
14079 }
14080 }
14081 ]
14082 },
14083 "raw_string_literal": {
14084 "type": "SEQ",
14085 "members": [
14086 {
14087 "type": "CHOICE",
14088 "members": [
14089 {
14090 "type": "STRING",
14091 "value": "R\""
14092 },
14093 {
14094 "type": "STRING",
14095 "value": "LR\""
14096 },
14097 {
14098 "type": "STRING",
14099 "value": "uR\""
14100 },
14101 {
14102 "type": "STRING",
14103 "value": "UR\""
14104 },
14105 {
14106 "type": "STRING",
14107 "value": "u8R\""
14108 }
14109 ]
14110 },
14111 {
14112 "type": "CHOICE",
14113 "members": [
14114 {
14115 "type": "SEQ",
14116 "members": [
14117 {
14118 "type": "FIELD",
14119 "name": "delimiter",
14120 "content": {
14121 "type": "SYMBOL",
14122 "name": "raw_string_delimiter"
14123 }
14124 },
14125 {
14126 "type": "STRING",
14127 "value": "("
14128 },
14129 {
14130 "type": "SYMBOL",
14131 "name": "raw_string_content"
14132 },
14133 {
14134 "type": "STRING",
14135 "value": ")"
14136 },
14137 {
14138 "type": "SYMBOL",
14139 "name": "raw_string_delimiter"
14140 }
14141 ]
14142 },
14143 {
14144 "type": "SEQ",
14145 "members": [
14146 {
14147 "type": "STRING",
14148 "value": "("
14149 },
14150 {
14151 "type": "SYMBOL",
14152 "name": "raw_string_content"
14153 },
14154 {
14155 "type": "STRING",
14156 "value": ")"
14157 }
14158 ]
14159 }
14160 ]
14161 },
14162 {
14163 "type": "STRING",
14164 "value": "\""
14165 }
14166 ]
14167 },
14168 "subscript_argument_list": {
14169 "type": "SEQ",
14170 "members": [
14171 {
14172 "type": "STRING",
14173 "value": "["
14174 },
14175 {
14176 "type": "CHOICE",
14177 "members": [
14178 {
14179 "type": "SEQ",
14180 "members": [
14181 {
14182 "type": "CHOICE",
14183 "members": [
14184 {
14185 "type": "SYMBOL",
14186 "name": "expression"
14187 },
14188 {
14189 "type": "SYMBOL",
14190 "name": "initializer_list"
14191 }
14192 ]
14193 },
14194 {
14195 "type": "REPEAT",
14196 "content": {
14197 "type": "SEQ",
14198 "members": [
14199 {
14200 "type": "STRING",
14201 "value": ","
14202 },
14203 {
14204 "type": "CHOICE",
14205 "members": [
14206 {
14207 "type": "SYMBOL",
14208 "name": "expression"
14209 },
14210 {
14211 "type": "SYMBOL",
14212 "name": "initializer_list"
14213 }
14214 ]
14215 }
14216 ]
14217 }
14218 }
14219 ]
14220 },
14221 {
14222 "type": "BLANK"
14223 }
14224 ]
14225 },
14226 {
14227 "type": "STRING",
14228 "value": "]"
14229 }
14230 ]
14231 },
14232 "co_await_expression": {
14233 "type": "PREC_LEFT",
14234 "value": 14,
14235 "content": {
14236 "type": "SEQ",
14237 "members": [
14238 {
14239 "type": "FIELD",
14240 "name": "operator",
14241 "content": {
14242 "type": "STRING",
14243 "value": "co_await"
14244 }
14245 },
14246 {
14247 "type": "FIELD",
14248 "name": "argument",
14249 "content": {
14250 "type": "SYMBOL",
14251 "name": "expression"
14252 }
14253 }
14254 ]
14255 }
14256 },
14257 "new_expression": {
14258 "type": "PREC_RIGHT",
14259 "value": 16,
14260 "content": {
14261 "type": "SEQ",
14262 "members": [
14263 {
14264 "type": "CHOICE",
14265 "members": [
14266 {
14267 "type": "STRING",
14268 "value": "::"
14269 },
14270 {
14271 "type": "BLANK"
14272 }
14273 ]
14274 },
14275 {
14276 "type": "STRING",
14277 "value": "new"
14278 },
14279 {
14280 "type": "FIELD",
14281 "name": "placement",
14282 "content": {
14283 "type": "CHOICE",
14284 "members": [
14285 {
14286 "type": "SYMBOL",
14287 "name": "argument_list"
14288 },
14289 {
14290 "type": "BLANK"
14291 }
14292 ]
14293 }
14294 },
14295 {
14296 "type": "FIELD",
14297 "name": "type",
14298 "content": {
14299 "type": "SYMBOL",
14300 "name": "type_specifier"
14301 }
14302 },
14303 {
14304 "type": "FIELD",
14305 "name": "declarator",
14306 "content": {
14307 "type": "CHOICE",
14308 "members": [
14309 {
14310 "type": "SYMBOL",
14311 "name": "new_declarator"
14312 },
14313 {
14314 "type": "BLANK"
14315 }
14316 ]
14317 }
14318 },
14319 {
14320 "type": "FIELD",
14321 "name": "arguments",
14322 "content": {
14323 "type": "CHOICE",
14324 "members": [
14325 {
14326 "type": "CHOICE",
14327 "members": [
14328 {
14329 "type": "SYMBOL",
14330 "name": "argument_list"
14331 },
14332 {
14333 "type": "SYMBOL",
14334 "name": "initializer_list"
14335 }
14336 ]
14337 },
14338 {
14339 "type": "BLANK"
14340 }
14341 ]
14342 }
14343 }
14344 ]
14345 }
14346 },
14347 "new_declarator": {
14348 "type": "PREC_RIGHT",
14349 "value": 0,
14350 "content": {
14351 "type": "SEQ",
14352 "members": [
14353 {
14354 "type": "STRING",
14355 "value": "["
14356 },
14357 {
14358 "type": "FIELD",
14359 "name": "length",
14360 "content": {
14361 "type": "SYMBOL",
14362 "name": "expression"
14363 }
14364 },
14365 {
14366 "type": "STRING",
14367 "value": "]"
14368 },
14369 {
14370 "type": "CHOICE",
14371 "members": [
14372 {
14373 "type": "SYMBOL",
14374 "name": "new_declarator"
14375 },
14376 {
14377 "type": "BLANK"
14378 }
14379 ]
14380 }
14381 ]
14382 }
14383 },
14384 "delete_expression": {
14385 "type": "PREC_LEFT",
14386 "value": 0,
14387 "content": {
14388 "type": "SEQ",
14389 "members": [
14390 {
14391 "type": "CHOICE",
14392 "members": [
14393 {
14394 "type": "STRING",
14395 "value": "::"
14396 },
14397 {
14398 "type": "BLANK"
14399 }
14400 ]
14401 },
14402 {
14403 "type": "STRING",
14404 "value": "delete"
14405 },
14406 {
14407 "type": "CHOICE",
14408 "members": [
14409 {
14410 "type": "SEQ",
14411 "members": [
14412 {
14413 "type": "STRING",
14414 "value": "["
14415 },
14416 {
14417 "type": "STRING",
14418 "value": "]"
14419 }
14420 ]
14421 },
14422 {
14423 "type": "BLANK"
14424 }
14425 ]
14426 },
14427 {
14428 "type": "SYMBOL",
14429 "name": "expression"
14430 }
14431 ]
14432 }
14433 },
14434 "type_requirement": {
14435 "type": "SEQ",
14436 "members": [
14437 {
14438 "type": "STRING",
14439 "value": "typename"
14440 },
14441 {
14442 "type": "SYMBOL",
14443 "name": "_class_name"
14444 }
14445 ]
14446 },
14447 "compound_requirement": {
14448 "type": "SEQ",
14449 "members": [
14450 {
14451 "type": "STRING",
14452 "value": "{"
14453 },
14454 {
14455 "type": "SYMBOL",
14456 "name": "expression"
14457 },
14458 {
14459 "type": "STRING",
14460 "value": "}"
14461 },
14462 {
14463 "type": "CHOICE",
14464 "members": [
14465 {
14466 "type": "STRING",
14467 "value": "noexcept"
14468 },
14469 {
14470 "type": "BLANK"
14471 }
14472 ]
14473 },
14474 {
14475 "type": "CHOICE",
14476 "members": [
14477 {
14478 "type": "SYMBOL",
14479 "name": "trailing_return_type"
14480 },
14481 {
14482 "type": "BLANK"
14483 }
14484 ]
14485 },
14486 {
14487 "type": "STRING",
14488 "value": ";"
14489 }
14490 ]
14491 },
14492 "_requirement": {
14493 "type": "CHOICE",
14494 "members": [
14495 {
14496 "type": "ALIAS",
14497 "content": {
14498 "type": "SYMBOL",
14499 "name": "expression_statement"
14500 },
14501 "named": true,
14502 "value": "simple_requirement"
14503 },
14504 {
14505 "type": "SYMBOL",
14506 "name": "type_requirement"
14507 },
14508 {
14509 "type": "SYMBOL",
14510 "name": "compound_requirement"
14511 }
14512 ]
14513 },
14514 "requirement_seq": {
14515 "type": "SEQ",
14516 "members": [
14517 {
14518 "type": "STRING",
14519 "value": "{"
14520 },
14521 {
14522 "type": "REPEAT",
14523 "content": {
14524 "type": "SYMBOL",
14525 "name": "_requirement"
14526 }
14527 },
14528 {
14529 "type": "STRING",
14530 "value": "}"
14531 }
14532 ]
14533 },
14534 "constraint_conjunction": {
14535 "type": "PREC_LEFT",
14536 "value": 2,
14537 "content": {
14538 "type": "SEQ",
14539 "members": [
14540 {
14541 "type": "FIELD",
14542 "name": "left",
14543 "content": {
14544 "type": "SYMBOL",
14545 "name": "_requirement_clause_constraint"
14546 }
14547 },
14548 {
14549 "type": "FIELD",
14550 "name": "operator",
14551 "content": {
14552 "type": "CHOICE",
14553 "members": [
14554 {
14555 "type": "STRING",
14556 "value": "&&"
14557 },
14558 {
14559 "type": "STRING",
14560 "value": "and"
14561 }
14562 ]
14563 }
14564 },
14565 {
14566 "type": "FIELD",
14567 "name": "right",
14568 "content": {
14569 "type": "SYMBOL",
14570 "name": "_requirement_clause_constraint"
14571 }
14572 }
14573 ]
14574 }
14575 },
14576 "constraint_disjunction": {
14577 "type": "PREC_LEFT",
14578 "value": 1,
14579 "content": {
14580 "type": "SEQ",
14581 "members": [
14582 {
14583 "type": "FIELD",
14584 "name": "left",
14585 "content": {
14586 "type": "SYMBOL",
14587 "name": "_requirement_clause_constraint"
14588 }
14589 },
14590 {
14591 "type": "FIELD",
14592 "name": "operator",
14593 "content": {
14594 "type": "CHOICE",
14595 "members": [
14596 {
14597 "type": "STRING",
14598 "value": "||"
14599 },
14600 {
14601 "type": "STRING",
14602 "value": "or"
14603 }
14604 ]
14605 }
14606 },
14607 {
14608 "type": "FIELD",
14609 "name": "right",
14610 "content": {
14611 "type": "SYMBOL",
14612 "name": "_requirement_clause_constraint"
14613 }
14614 }
14615 ]
14616 }
14617 },
14618 "_requirement_clause_constraint": {
14619 "type": "CHOICE",
14620 "members": [
14621 {
14622 "type": "SYMBOL",
14623 "name": "true"
14624 },
14625 {
14626 "type": "SYMBOL",
14627 "name": "false"
14628 },
14629 {
14630 "type": "SYMBOL",
14631 "name": "_class_name"
14632 },
14633 {
14634 "type": "SYMBOL",
14635 "name": "fold_expression"
14636 },
14637 {
14638 "type": "SYMBOL",
14639 "name": "lambda_expression"
14640 },
14641 {
14642 "type": "SYMBOL",
14643 "name": "requires_expression"
14644 },
14645 {
14646 "type": "SEQ",
14647 "members": [
14648 {
14649 "type": "STRING",
14650 "value": "("
14651 },
14652 {
14653 "type": "SYMBOL",
14654 "name": "expression"
14655 },
14656 {
14657 "type": "STRING",
14658 "value": ")"
14659 }
14660 ]
14661 },
14662 {
14663 "type": "SYMBOL",
14664 "name": "constraint_conjunction"
14665 },
14666 {
14667 "type": "SYMBOL",
14668 "name": "constraint_disjunction"
14669 }
14670 ]
14671 },
14672 "requires_clause": {
14673 "type": "SEQ",
14674 "members": [
14675 {
14676 "type": "STRING",
14677 "value": "requires"
14678 },
14679 {
14680 "type": "FIELD",
14681 "name": "constraint",
14682 "content": {
14683 "type": "SYMBOL",
14684 "name": "_requirement_clause_constraint"
14685 }
14686 }
14687 ]
14688 },
14689 "requires_parameter_list": {
14690 "type": "SEQ",
14691 "members": [
14692 {
14693 "type": "STRING",
14694 "value": "("
14695 },
14696 {
14697 "type": "CHOICE",
14698 "members": [
14699 {
14700 "type": "SEQ",
14701 "members": [
14702 {
14703 "type": "CHOICE",
14704 "members": [
14705 {
14706 "type": "SYMBOL",
14707 "name": "parameter_declaration"
14708 },
14709 {
14710 "type": "SYMBOL",
14711 "name": "optional_parameter_declaration"
14712 },
14713 {
14714 "type": "SYMBOL",
14715 "name": "variadic_parameter_declaration"
14716 }
14717 ]
14718 },
14719 {
14720 "type": "REPEAT",
14721 "content": {
14722 "type": "SEQ",
14723 "members": [
14724 {
14725 "type": "STRING",
14726 "value": ","
14727 },
14728 {
14729 "type": "CHOICE",
14730 "members": [
14731 {
14732 "type": "SYMBOL",
14733 "name": "parameter_declaration"
14734 },
14735 {
14736 "type": "SYMBOL",
14737 "name": "optional_parameter_declaration"
14738 },
14739 {
14740 "type": "SYMBOL",
14741 "name": "variadic_parameter_declaration"
14742 }
14743 ]
14744 }
14745 ]
14746 }
14747 }
14748 ]
14749 },
14750 {
14751 "type": "BLANK"
14752 }
14753 ]
14754 },
14755 {
14756 "type": "STRING",
14757 "value": ")"
14758 }
14759 ]
14760 },
14761 "requires_expression": {
14762 "type": "SEQ",
14763 "members": [
14764 {
14765 "type": "STRING",
14766 "value": "requires"
14767 },
14768 {
14769 "type": "FIELD",
14770 "name": "parameters",
14771 "content": {
14772 "type": "CHOICE",
14773 "members": [
14774 {
14775 "type": "ALIAS",
14776 "content": {
14777 "type": "SYMBOL",
14778 "name": "requires_parameter_list"
14779 },
14780 "named": true,
14781 "value": "parameter_list"
14782 },
14783 {
14784 "type": "BLANK"
14785 }
14786 ]
14787 }
14788 },
14789 {
14790 "type": "FIELD",
14791 "name": "requirements",
14792 "content": {
14793 "type": "SYMBOL",
14794 "name": "requirement_seq"
14795 }
14796 }
14797 ]
14798 },
14799 "lambda_expression": {
14800 "type": "SEQ",
14801 "members": [
14802 {
14803 "type": "FIELD",
14804 "name": "captures",
14805 "content": {
14806 "type": "SYMBOL",
14807 "name": "lambda_capture_specifier"
14808 }
14809 },
14810 {
14811 "type": "CHOICE",
14812 "members": [
14813 {
14814 "type": "SEQ",
14815 "members": [
14816 {
14817 "type": "FIELD",
14818 "name": "template_parameters",
14819 "content": {
14820 "type": "SYMBOL",
14821 "name": "template_parameter_list"
14822 }
14823 },
14824 {
14825 "type": "CHOICE",
14826 "members": [
14827 {
14828 "type": "FIELD",
14829 "name": "constraint",
14830 "content": {
14831 "type": "SYMBOL",
14832 "name": "requires_clause"
14833 }
14834 },
14835 {
14836 "type": "BLANK"
14837 }
14838 ]
14839 }
14840 ]
14841 },
14842 {
14843 "type": "BLANK"
14844 }
14845 ]
14846 },
14847 {
14848 "type": "CHOICE",
14849 "members": [
14850 {
14851 "type": "FIELD",
14852 "name": "declarator",
14853 "content": {
14854 "type": "SYMBOL",
14855 "name": "abstract_function_declarator"
14856 }
14857 },
14858 {
14859 "type": "BLANK"
14860 }
14861 ]
14862 },
14863 {
14864 "type": "FIELD",
14865 "name": "body",
14866 "content": {
14867 "type": "SYMBOL",
14868 "name": "compound_statement"
14869 }
14870 }
14871 ]
14872 },
14873 "lambda_capture_specifier": {
14874 "type": "PREC",
14875 "value": 18,
14876 "content": {
14877 "type": "SEQ",
14878 "members": [
14879 {
14880 "type": "STRING",
14881 "value": "["
14882 },
14883 {
14884 "type": "CHOICE",
14885 "members": [
14886 {
14887 "type": "SYMBOL",
14888 "name": "lambda_default_capture"
14889 },
14890 {
14891 "type": "CHOICE",
14892 "members": [
14893 {
14894 "type": "SEQ",
14895 "members": [
14896 {
14897 "type": "SYMBOL",
14898 "name": "expression"
14899 },
14900 {
14901 "type": "REPEAT",
14902 "content": {
14903 "type": "SEQ",
14904 "members": [
14905 {
14906 "type": "STRING",
14907 "value": ","
14908 },
14909 {
14910 "type": "SYMBOL",
14911 "name": "expression"
14912 }
14913 ]
14914 }
14915 }
14916 ]
14917 },
14918 {
14919 "type": "BLANK"
14920 }
14921 ]
14922 },
14923 {
14924 "type": "SEQ",
14925 "members": [
14926 {
14927 "type": "SYMBOL",
14928 "name": "lambda_default_capture"
14929 },
14930 {
14931 "type": "STRING",
14932 "value": ","
14933 },
14934 {
14935 "type": "SEQ",
14936 "members": [
14937 {
14938 "type": "SYMBOL",
14939 "name": "expression"
14940 },
14941 {
14942 "type": "REPEAT",
14943 "content": {
14944 "type": "SEQ",
14945 "members": [
14946 {
14947 "type": "STRING",
14948 "value": ","
14949 },
14950 {
14951 "type": "SYMBOL",
14952 "name": "expression"
14953 }
14954 ]
14955 }
14956 }
14957 ]
14958 }
14959 ]
14960 }
14961 ]
14962 },
14963 {
14964 "type": "STRING",
14965 "value": "]"
14966 }
14967 ]
14968 }
14969 },
14970 "lambda_default_capture": {
14971 "type": "CHOICE",
14972 "members": [
14973 {
14974 "type": "STRING",
14975 "value": "="
14976 },
14977 {
14978 "type": "STRING",
14979 "value": "&"
14980 }
14981 ]
14982 },
14983 "_fold_operator": {
14984 "type": "CHOICE",
14985 "members": [
14986 {
14987 "type": "STRING",
14988 "value": "+"
14989 },
14990 {
14991 "type": "STRING",
14992 "value": "-"
14993 },
14994 {
14995 "type": "STRING",
14996 "value": "*"
14997 },
14998 {
14999 "type": "STRING",
15000 "value": "/"
15001 },
15002 {
15003 "type": "STRING",
15004 "value": "%"
15005 },
15006 {
15007 "type": "STRING",
15008 "value": "^"
15009 },
15010 {
15011 "type": "STRING",
15012 "value": "&"
15013 },
15014 {
15015 "type": "STRING",
15016 "value": "|"
15017 },
15018 {
15019 "type": "STRING",
15020 "value": "="
15021 },
15022 {
15023 "type": "STRING",
15024 "value": "<"
15025 },
15026 {
15027 "type": "STRING",
15028 "value": ">"
15029 },
15030 {
15031 "type": "STRING",
15032 "value": "<<"
15033 },
15034 {
15035 "type": "STRING",
15036 "value": ">>"
15037 },
15038 {
15039 "type": "STRING",
15040 "value": "+="
15041 },
15042 {
15043 "type": "STRING",
15044 "value": "-="
15045 },
15046 {
15047 "type": "STRING",
15048 "value": "*="
15049 },
15050 {
15051 "type": "STRING",
15052 "value": "/="
15053 },
15054 {
15055 "type": "STRING",
15056 "value": "%="
15057 },
15058 {
15059 "type": "STRING",
15060 "value": "^="
15061 },
15062 {
15063 "type": "STRING",
15064 "value": "&="
15065 },
15066 {
15067 "type": "STRING",
15068 "value": "|="
15069 },
15070 {
15071 "type": "STRING",
15072 "value": ">>="
15073 },
15074 {
15075 "type": "STRING",
15076 "value": "<<="
15077 },
15078 {
15079 "type": "STRING",
15080 "value": "=="
15081 },
15082 {
15083 "type": "STRING",
15084 "value": "!="
15085 },
15086 {
15087 "type": "STRING",
15088 "value": "<="
15089 },
15090 {
15091 "type": "STRING",
15092 "value": ">="
15093 },
15094 {
15095 "type": "STRING",
15096 "value": "&&"
15097 },
15098 {
15099 "type": "STRING",
15100 "value": "||"
15101 },
15102 {
15103 "type": "STRING",
15104 "value": ","
15105 },
15106 {
15107 "type": "STRING",
15108 "value": ".*"
15109 },
15110 {
15111 "type": "STRING",
15112 "value": "->*"
15113 },
15114 {
15115 "type": "STRING",
15116 "value": "or"
15117 },
15118 {
15119 "type": "STRING",
15120 "value": "and"
15121 },
15122 {
15123 "type": "STRING",
15124 "value": "bitor"
15125 },
15126 {
15127 "type": "STRING",
15128 "value": "xor"
15129 },
15130 {
15131 "type": "STRING",
15132 "value": "bitand"
15133 },
15134 {
15135 "type": "STRING",
15136 "value": "not_eq"
15137 }
15138 ]
15139 },
15140 "_binary_fold_operator": {
15141 "type": "CHOICE",
15142 "members": [
15143 {
15144 "type": "SEQ",
15145 "members": [
15146 {
15147 "type": "FIELD",
15148 "name": "operator",
15149 "content": {
15150 "type": "STRING",
15151 "value": "+"
15152 }
15153 },
15154 {
15155 "type": "STRING",
15156 "value": "..."
15157 },
15158 {
15159 "type": "STRING",
15160 "value": "+"
15161 }
15162 ]
15163 },
15164 {
15165 "type": "SEQ",
15166 "members": [
15167 {
15168 "type": "FIELD",
15169 "name": "operator",
15170 "content": {
15171 "type": "STRING",
15172 "value": "-"
15173 }
15174 },
15175 {
15176 "type": "STRING",
15177 "value": "..."
15178 },
15179 {
15180 "type": "STRING",
15181 "value": "-"
15182 }
15183 ]
15184 },
15185 {
15186 "type": "SEQ",
15187 "members": [
15188 {
15189 "type": "FIELD",
15190 "name": "operator",
15191 "content": {
15192 "type": "STRING",
15193 "value": "*"
15194 }
15195 },
15196 {
15197 "type": "STRING",
15198 "value": "..."
15199 },
15200 {
15201 "type": "STRING",
15202 "value": "*"
15203 }
15204 ]
15205 },
15206 {
15207 "type": "SEQ",
15208 "members": [
15209 {
15210 "type": "FIELD",
15211 "name": "operator",
15212 "content": {
15213 "type": "STRING",
15214 "value": "/"
15215 }
15216 },
15217 {
15218 "type": "STRING",
15219 "value": "..."
15220 },
15221 {
15222 "type": "STRING",
15223 "value": "/"
15224 }
15225 ]
15226 },
15227 {
15228 "type": "SEQ",
15229 "members": [
15230 {
15231 "type": "FIELD",
15232 "name": "operator",
15233 "content": {
15234 "type": "STRING",
15235 "value": "%"
15236 }
15237 },
15238 {
15239 "type": "STRING",
15240 "value": "..."
15241 },
15242 {
15243 "type": "STRING",
15244 "value": "%"
15245 }
15246 ]
15247 },
15248 {
15249 "type": "SEQ",
15250 "members": [
15251 {
15252 "type": "FIELD",
15253 "name": "operator",
15254 "content": {
15255 "type": "STRING",
15256 "value": "^"
15257 }
15258 },
15259 {
15260 "type": "STRING",
15261 "value": "..."
15262 },
15263 {
15264 "type": "STRING",
15265 "value": "^"
15266 }
15267 ]
15268 },
15269 {
15270 "type": "SEQ",
15271 "members": [
15272 {
15273 "type": "FIELD",
15274 "name": "operator",
15275 "content": {
15276 "type": "STRING",
15277 "value": "&"
15278 }
15279 },
15280 {
15281 "type": "STRING",
15282 "value": "..."
15283 },
15284 {
15285 "type": "STRING",
15286 "value": "&"
15287 }
15288 ]
15289 },
15290 {
15291 "type": "SEQ",
15292 "members": [
15293 {
15294 "type": "FIELD",
15295 "name": "operator",
15296 "content": {
15297 "type": "STRING",
15298 "value": "|"
15299 }
15300 },
15301 {
15302 "type": "STRING",
15303 "value": "..."
15304 },
15305 {
15306 "type": "STRING",
15307 "value": "|"
15308 }
15309 ]
15310 },
15311 {
15312 "type": "SEQ",
15313 "members": [
15314 {
15315 "type": "FIELD",
15316 "name": "operator",
15317 "content": {
15318 "type": "STRING",
15319 "value": "="
15320 }
15321 },
15322 {
15323 "type": "STRING",
15324 "value": "..."
15325 },
15326 {
15327 "type": "STRING",
15328 "value": "="
15329 }
15330 ]
15331 },
15332 {
15333 "type": "SEQ",
15334 "members": [
15335 {
15336 "type": "FIELD",
15337 "name": "operator",
15338 "content": {
15339 "type": "STRING",
15340 "value": "<"
15341 }
15342 },
15343 {
15344 "type": "STRING",
15345 "value": "..."
15346 },
15347 {
15348 "type": "STRING",
15349 "value": "<"
15350 }
15351 ]
15352 },
15353 {
15354 "type": "SEQ",
15355 "members": [
15356 {
15357 "type": "FIELD",
15358 "name": "operator",
15359 "content": {
15360 "type": "STRING",
15361 "value": ">"
15362 }
15363 },
15364 {
15365 "type": "STRING",
15366 "value": "..."
15367 },
15368 {
15369 "type": "STRING",
15370 "value": ">"
15371 }
15372 ]
15373 },
15374 {
15375 "type": "SEQ",
15376 "members": [
15377 {
15378 "type": "FIELD",
15379 "name": "operator",
15380 "content": {
15381 "type": "STRING",
15382 "value": "<<"
15383 }
15384 },
15385 {
15386 "type": "STRING",
15387 "value": "..."
15388 },
15389 {
15390 "type": "STRING",
15391 "value": "<<"
15392 }
15393 ]
15394 },
15395 {
15396 "type": "SEQ",
15397 "members": [
15398 {
15399 "type": "FIELD",
15400 "name": "operator",
15401 "content": {
15402 "type": "STRING",
15403 "value": ">>"
15404 }
15405 },
15406 {
15407 "type": "STRING",
15408 "value": "..."
15409 },
15410 {
15411 "type": "STRING",
15412 "value": ">>"
15413 }
15414 ]
15415 },
15416 {
15417 "type": "SEQ",
15418 "members": [
15419 {
15420 "type": "FIELD",
15421 "name": "operator",
15422 "content": {
15423 "type": "STRING",
15424 "value": "+="
15425 }
15426 },
15427 {
15428 "type": "STRING",
15429 "value": "..."
15430 },
15431 {
15432 "type": "STRING",
15433 "value": "+="
15434 }
15435 ]
15436 },
15437 {
15438 "type": "SEQ",
15439 "members": [
15440 {
15441 "type": "FIELD",
15442 "name": "operator",
15443 "content": {
15444 "type": "STRING",
15445 "value": "-="
15446 }
15447 },
15448 {
15449 "type": "STRING",
15450 "value": "..."
15451 },
15452 {
15453 "type": "STRING",
15454 "value": "-="
15455 }
15456 ]
15457 },
15458 {
15459 "type": "SEQ",
15460 "members": [
15461 {
15462 "type": "FIELD",
15463 "name": "operator",
15464 "content": {
15465 "type": "STRING",
15466 "value": "*="
15467 }
15468 },
15469 {
15470 "type": "STRING",
15471 "value": "..."
15472 },
15473 {
15474 "type": "STRING",
15475 "value": "*="
15476 }
15477 ]
15478 },
15479 {
15480 "type": "SEQ",
15481 "members": [
15482 {
15483 "type": "FIELD",
15484 "name": "operator",
15485 "content": {
15486 "type": "STRING",
15487 "value": "/="
15488 }
15489 },
15490 {
15491 "type": "STRING",
15492 "value": "..."
15493 },
15494 {
15495 "type": "STRING",
15496 "value": "/="
15497 }
15498 ]
15499 },
15500 {
15501 "type": "SEQ",
15502 "members": [
15503 {
15504 "type": "FIELD",
15505 "name": "operator",
15506 "content": {
15507 "type": "STRING",
15508 "value": "%="
15509 }
15510 },
15511 {
15512 "type": "STRING",
15513 "value": "..."
15514 },
15515 {
15516 "type": "STRING",
15517 "value": "%="
15518 }
15519 ]
15520 },
15521 {
15522 "type": "SEQ",
15523 "members": [
15524 {
15525 "type": "FIELD",
15526 "name": "operator",
15527 "content": {
15528 "type": "STRING",
15529 "value": "^="
15530 }
15531 },
15532 {
15533 "type": "STRING",
15534 "value": "..."
15535 },
15536 {
15537 "type": "STRING",
15538 "value": "^="
15539 }
15540 ]
15541 },
15542 {
15543 "type": "SEQ",
15544 "members": [
15545 {
15546 "type": "FIELD",
15547 "name": "operator",
15548 "content": {
15549 "type": "STRING",
15550 "value": "&="
15551 }
15552 },
15553 {
15554 "type": "STRING",
15555 "value": "..."
15556 },
15557 {
15558 "type": "STRING",
15559 "value": "&="
15560 }
15561 ]
15562 },
15563 {
15564 "type": "SEQ",
15565 "members": [
15566 {
15567 "type": "FIELD",
15568 "name": "operator",
15569 "content": {
15570 "type": "STRING",
15571 "value": "|="
15572 }
15573 },
15574 {
15575 "type": "STRING",
15576 "value": "..."
15577 },
15578 {
15579 "type": "STRING",
15580 "value": "|="
15581 }
15582 ]
15583 },
15584 {
15585 "type": "SEQ",
15586 "members": [
15587 {
15588 "type": "FIELD",
15589 "name": "operator",
15590 "content": {
15591 "type": "STRING",
15592 "value": ">>="
15593 }
15594 },
15595 {
15596 "type": "STRING",
15597 "value": "..."
15598 },
15599 {
15600 "type": "STRING",
15601 "value": ">>="
15602 }
15603 ]
15604 },
15605 {
15606 "type": "SEQ",
15607 "members": [
15608 {
15609 "type": "FIELD",
15610 "name": "operator",
15611 "content": {
15612 "type": "STRING",
15613 "value": "<<="
15614 }
15615 },
15616 {
15617 "type": "STRING",
15618 "value": "..."
15619 },
15620 {
15621 "type": "STRING",
15622 "value": "<<="
15623 }
15624 ]
15625 },
15626 {
15627 "type": "SEQ",
15628 "members": [
15629 {
15630 "type": "FIELD",
15631 "name": "operator",
15632 "content": {
15633 "type": "STRING",
15634 "value": "=="
15635 }
15636 },
15637 {
15638 "type": "STRING",
15639 "value": "..."
15640 },
15641 {
15642 "type": "STRING",
15643 "value": "=="
15644 }
15645 ]
15646 },
15647 {
15648 "type": "SEQ",
15649 "members": [
15650 {
15651 "type": "FIELD",
15652 "name": "operator",
15653 "content": {
15654 "type": "STRING",
15655 "value": "!="
15656 }
15657 },
15658 {
15659 "type": "STRING",
15660 "value": "..."
15661 },
15662 {
15663 "type": "STRING",
15664 "value": "!="
15665 }
15666 ]
15667 },
15668 {
15669 "type": "SEQ",
15670 "members": [
15671 {
15672 "type": "FIELD",
15673 "name": "operator",
15674 "content": {
15675 "type": "STRING",
15676 "value": "<="
15677 }
15678 },
15679 {
15680 "type": "STRING",
15681 "value": "..."
15682 },
15683 {
15684 "type": "STRING",
15685 "value": "<="
15686 }
15687 ]
15688 },
15689 {
15690 "type": "SEQ",
15691 "members": [
15692 {
15693 "type": "FIELD",
15694 "name": "operator",
15695 "content": {
15696 "type": "STRING",
15697 "value": ">="
15698 }
15699 },
15700 {
15701 "type": "STRING",
15702 "value": "..."
15703 },
15704 {
15705 "type": "STRING",
15706 "value": ">="
15707 }
15708 ]
15709 },
15710 {
15711 "type": "SEQ",
15712 "members": [
15713 {
15714 "type": "FIELD",
15715 "name": "operator",
15716 "content": {
15717 "type": "STRING",
15718 "value": "&&"
15719 }
15720 },
15721 {
15722 "type": "STRING",
15723 "value": "..."
15724 },
15725 {
15726 "type": "STRING",
15727 "value": "&&"
15728 }
15729 ]
15730 },
15731 {
15732 "type": "SEQ",
15733 "members": [
15734 {
15735 "type": "FIELD",
15736 "name": "operator",
15737 "content": {
15738 "type": "STRING",
15739 "value": "||"
15740 }
15741 },
15742 {
15743 "type": "STRING",
15744 "value": "..."
15745 },
15746 {
15747 "type": "STRING",
15748 "value": "||"
15749 }
15750 ]
15751 },
15752 {
15753 "type": "SEQ",
15754 "members": [
15755 {
15756 "type": "FIELD",
15757 "name": "operator",
15758 "content": {
15759 "type": "STRING",
15760 "value": ","
15761 }
15762 },
15763 {
15764 "type": "STRING",
15765 "value": "..."
15766 },
15767 {
15768 "type": "STRING",
15769 "value": ","
15770 }
15771 ]
15772 },
15773 {
15774 "type": "SEQ",
15775 "members": [
15776 {
15777 "type": "FIELD",
15778 "name": "operator",
15779 "content": {
15780 "type": "STRING",
15781 "value": ".*"
15782 }
15783 },
15784 {
15785 "type": "STRING",
15786 "value": "..."
15787 },
15788 {
15789 "type": "STRING",
15790 "value": ".*"
15791 }
15792 ]
15793 },
15794 {
15795 "type": "SEQ",
15796 "members": [
15797 {
15798 "type": "FIELD",
15799 "name": "operator",
15800 "content": {
15801 "type": "STRING",
15802 "value": "->*"
15803 }
15804 },
15805 {
15806 "type": "STRING",
15807 "value": "..."
15808 },
15809 {
15810 "type": "STRING",
15811 "value": "->*"
15812 }
15813 ]
15814 },
15815 {
15816 "type": "SEQ",
15817 "members": [
15818 {
15819 "type": "FIELD",
15820 "name": "operator",
15821 "content": {
15822 "type": "STRING",
15823 "value": "or"
15824 }
15825 },
15826 {
15827 "type": "STRING",
15828 "value": "..."
15829 },
15830 {
15831 "type": "STRING",
15832 "value": "or"
15833 }
15834 ]
15835 },
15836 {
15837 "type": "SEQ",
15838 "members": [
15839 {
15840 "type": "FIELD",
15841 "name": "operator",
15842 "content": {
15843 "type": "STRING",
15844 "value": "and"
15845 }
15846 },
15847 {
15848 "type": "STRING",
15849 "value": "..."
15850 },
15851 {
15852 "type": "STRING",
15853 "value": "and"
15854 }
15855 ]
15856 },
15857 {
15858 "type": "SEQ",
15859 "members": [
15860 {
15861 "type": "FIELD",
15862 "name": "operator",
15863 "content": {
15864 "type": "STRING",
15865 "value": "bitor"
15866 }
15867 },
15868 {
15869 "type": "STRING",
15870 "value": "..."
15871 },
15872 {
15873 "type": "STRING",
15874 "value": "bitor"
15875 }
15876 ]
15877 },
15878 {
15879 "type": "SEQ",
15880 "members": [
15881 {
15882 "type": "FIELD",
15883 "name": "operator",
15884 "content": {
15885 "type": "STRING",
15886 "value": "xor"
15887 }
15888 },
15889 {
15890 "type": "STRING",
15891 "value": "..."
15892 },
15893 {
15894 "type": "STRING",
15895 "value": "xor"
15896 }
15897 ]
15898 },
15899 {
15900 "type": "SEQ",
15901 "members": [
15902 {
15903 "type": "FIELD",
15904 "name": "operator",
15905 "content": {
15906 "type": "STRING",
15907 "value": "bitand"
15908 }
15909 },
15910 {
15911 "type": "STRING",
15912 "value": "..."
15913 },
15914 {
15915 "type": "STRING",
15916 "value": "bitand"
15917 }
15918 ]
15919 },
15920 {
15921 "type": "SEQ",
15922 "members": [
15923 {
15924 "type": "FIELD",
15925 "name": "operator",
15926 "content": {
15927 "type": "STRING",
15928 "value": "not_eq"
15929 }
15930 },
15931 {
15932 "type": "STRING",
15933 "value": "..."
15934 },
15935 {
15936 "type": "STRING",
15937 "value": "not_eq"
15938 }
15939 ]
15940 }
15941 ]
15942 },
15943 "_unary_left_fold": {
15944 "type": "SEQ",
15945 "members": [
15946 {
15947 "type": "FIELD",
15948 "name": "left",
15949 "content": {
15950 "type": "STRING",
15951 "value": "..."
15952 }
15953 },
15954 {
15955 "type": "FIELD",
15956 "name": "operator",
15957 "content": {
15958 "type": "SYMBOL",
15959 "name": "_fold_operator"
15960 }
15961 },
15962 {
15963 "type": "FIELD",
15964 "name": "right",
15965 "content": {
15966 "type": "SYMBOL",
15967 "name": "expression"
15968 }
15969 }
15970 ]
15971 },
15972 "_unary_right_fold": {
15973 "type": "SEQ",
15974 "members": [
15975 {
15976 "type": "FIELD",
15977 "name": "left",
15978 "content": {
15979 "type": "SYMBOL",
15980 "name": "expression"
15981 }
15982 },
15983 {
15984 "type": "FIELD",
15985 "name": "operator",
15986 "content": {
15987 "type": "SYMBOL",
15988 "name": "_fold_operator"
15989 }
15990 },
15991 {
15992 "type": "FIELD",
15993 "name": "right",
15994 "content": {
15995 "type": "STRING",
15996 "value": "..."
15997 }
15998 }
15999 ]
16000 },
16001 "_binary_fold": {
16002 "type": "SEQ",
16003 "members": [
16004 {
16005 "type": "FIELD",
16006 "name": "left",
16007 "content": {
16008 "type": "SYMBOL",
16009 "name": "expression"
16010 }
16011 },
16012 {
16013 "type": "SYMBOL",
16014 "name": "_binary_fold_operator"
16015 },
16016 {
16017 "type": "FIELD",
16018 "name": "right",
16019 "content": {
16020 "type": "SYMBOL",
16021 "name": "expression"
16022 }
16023 }
16024 ]
16025 },
16026 "fold_expression": {
16027 "type": "SEQ",
16028 "members": [
16029 {
16030 "type": "STRING",
16031 "value": "("
16032 },
16033 {
16034 "type": "CHOICE",
16035 "members": [
16036 {
16037 "type": "SYMBOL",
16038 "name": "_unary_right_fold"
16039 },
16040 {
16041 "type": "SYMBOL",
16042 "name": "_unary_left_fold"
16043 },
16044 {
16045 "type": "SYMBOL",
16046 "name": "_binary_fold"
16047 }
16048 ]
16049 },
16050 {
16051 "type": "STRING",
16052 "value": ")"
16053 }
16054 ]
16055 },
16056 "parameter_pack_expansion": {
16057 "type": "PREC",
16058 "value": -1,
16059 "content": {
16060 "type": "SEQ",
16061 "members": [
16062 {
16063 "type": "FIELD",
16064 "name": "pattern",
16065 "content": {
16066 "type": "SYMBOL",
16067 "name": "expression"
16068 }
16069 },
16070 {
16071 "type": "STRING",
16072 "value": "..."
16073 }
16074 ]
16075 }
16076 },
16077 "type_parameter_pack_expansion": {
16078 "type": "SEQ",
16079 "members": [
16080 {
16081 "type": "FIELD",
16082 "name": "pattern",
16083 "content": {
16084 "type": "SYMBOL",
16085 "name": "type_descriptor"
16086 }
16087 },
16088 {
16089 "type": "STRING",
16090 "value": "..."
16091 }
16092 ]
16093 },
16094 "destructor_name": {
16095 "type": "PREC",
16096 "value": 1,
16097 "content": {
16098 "type": "SEQ",
16099 "members": [
16100 {
16101 "type": "STRING",
16102 "value": "~"
16103 },
16104 {
16105 "type": "SYMBOL",
16106 "name": "identifier"
16107 }
16108 ]
16109 }
16110 },
16111 "dependent_identifier": {
16112 "type": "SEQ",
16113 "members": [
16114 {
16115 "type": "STRING",
16116 "value": "template"
16117 },
16118 {
16119 "type": "SYMBOL",
16120 "name": "template_function"
16121 }
16122 ]
16123 },
16124 "dependent_field_identifier": {
16125 "type": "SEQ",
16126 "members": [
16127 {
16128 "type": "STRING",
16129 "value": "template"
16130 },
16131 {
16132 "type": "SYMBOL",
16133 "name": "template_method"
16134 }
16135 ]
16136 },
16137 "dependent_type_identifier": {
16138 "type": "SEQ",
16139 "members": [
16140 {
16141 "type": "STRING",
16142 "value": "template"
16143 },
16144 {
16145 "type": "SYMBOL",
16146 "name": "template_type"
16147 }
16148 ]
16149 },
16150 "_scope_resolution": {
16151 "type": "PREC",
16152 "value": 1,
16153 "content": {
16154 "type": "SEQ",
16155 "members": [
16156 {
16157 "type": "FIELD",
16158 "name": "scope",
16159 "content": {
16160 "type": "CHOICE",
16161 "members": [
16162 {
16163 "type": "CHOICE",
16164 "members": [
16165 {
16166 "type": "SYMBOL",
16167 "name": "_namespace_identifier"
16168 },
16169 {
16170 "type": "SYMBOL",
16171 "name": "template_type"
16172 },
16173 {
16174 "type": "SYMBOL",
16175 "name": "decltype"
16176 },
16177 {
16178 "type": "ALIAS",
16179 "content": {
16180 "type": "SYMBOL",
16181 "name": "dependent_type_identifier"
16182 },
16183 "named": true,
16184 "value": "dependent_name"
16185 }
16186 ]
16187 },
16188 {
16189 "type": "BLANK"
16190 }
16191 ]
16192 }
16193 },
16194 {
16195 "type": "STRING",
16196 "value": "::"
16197 }
16198 ]
16199 }
16200 },
16201 "qualified_field_identifier": {
16202 "type": "SEQ",
16203 "members": [
16204 {
16205 "type": "SYMBOL",
16206 "name": "_scope_resolution"
16207 },
16208 {
16209 "type": "FIELD",
16210 "name": "name",
16211 "content": {
16212 "type": "CHOICE",
16213 "members": [
16214 {
16215 "type": "ALIAS",
16216 "content": {
16217 "type": "SYMBOL",
16218 "name": "dependent_field_identifier"
16219 },
16220 "named": true,
16221 "value": "dependent_name"
16222 },
16223 {
16224 "type": "ALIAS",
16225 "content": {
16226 "type": "SYMBOL",
16227 "name": "qualified_field_identifier"
16228 },
16229 "named": true,
16230 "value": "qualified_identifier"
16231 },
16232 {
16233 "type": "SYMBOL",
16234 "name": "template_method"
16235 },
16236 {
16237 "type": "PREC_DYNAMIC",
16238 "value": 1,
16239 "content": {
16240 "type": "SYMBOL",
16241 "name": "_field_identifier"
16242 }
16243 }
16244 ]
16245 }
16246 }
16247 ]
16248 },
16249 "qualified_identifier": {
16250 "type": "SEQ",
16251 "members": [
16252 {
16253 "type": "SYMBOL",
16254 "name": "_scope_resolution"
16255 },
16256 {
16257 "type": "FIELD",
16258 "name": "name",
16259 "content": {
16260 "type": "CHOICE",
16261 "members": [
16262 {
16263 "type": "ALIAS",
16264 "content": {
16265 "type": "SYMBOL",
16266 "name": "dependent_identifier"
16267 },
16268 "named": true,
16269 "value": "dependent_name"
16270 },
16271 {
16272 "type": "SYMBOL",
16273 "name": "qualified_identifier"
16274 },
16275 {
16276 "type": "SYMBOL",
16277 "name": "template_function"
16278 },
16279 {
16280 "type": "SEQ",
16281 "members": [
16282 {
16283 "type": "CHOICE",
16284 "members": [
16285 {
16286 "type": "STRING",
16287 "value": "template"
16288 },
16289 {
16290 "type": "BLANK"
16291 }
16292 ]
16293 },
16294 {
16295 "type": "SYMBOL",
16296 "name": "identifier"
16297 }
16298 ]
16299 },
16300 {
16301 "type": "SYMBOL",
16302 "name": "operator_name"
16303 },
16304 {
16305 "type": "SYMBOL",
16306 "name": "destructor_name"
16307 },
16308 {
16309 "type": "SYMBOL",
16310 "name": "pointer_type_declarator"
16311 }
16312 ]
16313 }
16314 }
16315 ]
16316 },
16317 "qualified_type_identifier": {
16318 "type": "SEQ",
16319 "members": [
16320 {
16321 "type": "SYMBOL",
16322 "name": "_scope_resolution"
16323 },
16324 {
16325 "type": "FIELD",
16326 "name": "name",
16327 "content": {
16328 "type": "CHOICE",
16329 "members": [
16330 {
16331 "type": "ALIAS",
16332 "content": {
16333 "type": "SYMBOL",
16334 "name": "dependent_type_identifier"
16335 },
16336 "named": true,
16337 "value": "dependent_name"
16338 },
16339 {
16340 "type": "ALIAS",
16341 "content": {
16342 "type": "SYMBOL",
16343 "name": "qualified_type_identifier"
16344 },
16345 "named": true,
16346 "value": "qualified_identifier"
16347 },
16348 {
16349 "type": "SYMBOL",
16350 "name": "template_type"
16351 },
16352 {
16353 "type": "SYMBOL",
16354 "name": "_type_identifier"
16355 }
16356 ]
16357 }
16358 }
16359 ]
16360 },
16361 "qualified_operator_cast_identifier": {
16362 "type": "SEQ",
16363 "members": [
16364 {
16365 "type": "SYMBOL",
16366 "name": "_scope_resolution"
16367 },
16368 {
16369 "type": "FIELD",
16370 "name": "name",
16371 "content": {
16372 "type": "CHOICE",
16373 "members": [
16374 {
16375 "type": "ALIAS",
16376 "content": {
16377 "type": "SYMBOL",
16378 "name": "qualified_operator_cast_identifier"
16379 },
16380 "named": true,
16381 "value": "qualified_identifier"
16382 },
16383 {
16384 "type": "SYMBOL",
16385 "name": "operator_cast"
16386 }
16387 ]
16388 }
16389 }
16390 ]
16391 },
16392 "_assignment_expression_lhs": {
16393 "type": "SEQ",
16394 "members": [
16395 {
16396 "type": "FIELD",
16397 "name": "left",
16398 "content": {
16399 "type": "SYMBOL",
16400 "name": "expression"
16401 }
16402 },
16403 {
16404 "type": "FIELD",
16405 "name": "operator",
16406 "content": {
16407 "type": "CHOICE",
16408 "members": [
16409 {
16410 "type": "STRING",
16411 "value": "="
16412 },
16413 {
16414 "type": "STRING",
16415 "value": "*="
16416 },
16417 {
16418 "type": "STRING",
16419 "value": "/="
16420 },
16421 {
16422 "type": "STRING",
16423 "value": "%="
16424 },
16425 {
16426 "type": "STRING",
16427 "value": "+="
16428 },
16429 {
16430 "type": "STRING",
16431 "value": "-="
16432 },
16433 {
16434 "type": "STRING",
16435 "value": "<<="
16436 },
16437 {
16438 "type": "STRING",
16439 "value": ">>="
16440 },
16441 {
16442 "type": "STRING",
16443 "value": "&="
16444 },
16445 {
16446 "type": "STRING",
16447 "value": "^="
16448 },
16449 {
16450 "type": "STRING",
16451 "value": "|="
16452 },
16453 {
16454 "type": "STRING",
16455 "value": "and_eq"
16456 },
16457 {
16458 "type": "STRING",
16459 "value": "or_eq"
16460 },
16461 {
16462 "type": "STRING",
16463 "value": "xor_eq"
16464 }
16465 ]
16466 }
16467 },
16468 {
16469 "type": "FIELD",
16470 "name": "right",
16471 "content": {
16472 "type": "CHOICE",
16473 "members": [
16474 {
16475 "type": "SYMBOL",
16476 "name": "expression"
16477 },
16478 {
16479 "type": "SYMBOL",
16480 "name": "initializer_list"
16481 }
16482 ]
16483 }
16484 }
16485 ]
16486 },
16487 "operator_name": {
16488 "type": "PREC",
16489 "value": 1,
16490 "content": {
16491 "type": "SEQ",
16492 "members": [
16493 {
16494 "type": "STRING",
16495 "value": "operator"
16496 },
16497 {
16498 "type": "CHOICE",
16499 "members": [
16500 {
16501 "type": "STRING",
16502 "value": "co_await"
16503 },
16504 {
16505 "type": "STRING",
16506 "value": "+"
16507 },
16508 {
16509 "type": "STRING",
16510 "value": "-"
16511 },
16512 {
16513 "type": "STRING",
16514 "value": "*"
16515 },
16516 {
16517 "type": "STRING",
16518 "value": "/"
16519 },
16520 {
16521 "type": "STRING",
16522 "value": "%"
16523 },
16524 {
16525 "type": "STRING",
16526 "value": "^"
16527 },
16528 {
16529 "type": "STRING",
16530 "value": "&"
16531 },
16532 {
16533 "type": "STRING",
16534 "value": "|"
16535 },
16536 {
16537 "type": "STRING",
16538 "value": "~"
16539 },
16540 {
16541 "type": "STRING",
16542 "value": "!"
16543 },
16544 {
16545 "type": "STRING",
16546 "value": "="
16547 },
16548 {
16549 "type": "STRING",
16550 "value": "<"
16551 },
16552 {
16553 "type": "STRING",
16554 "value": ">"
16555 },
16556 {
16557 "type": "STRING",
16558 "value": "+="
16559 },
16560 {
16561 "type": "STRING",
16562 "value": "-="
16563 },
16564 {
16565 "type": "STRING",
16566 "value": "*="
16567 },
16568 {
16569 "type": "STRING",
16570 "value": "/="
16571 },
16572 {
16573 "type": "STRING",
16574 "value": "%="
16575 },
16576 {
16577 "type": "STRING",
16578 "value": "^="
16579 },
16580 {
16581 "type": "STRING",
16582 "value": "&="
16583 },
16584 {
16585 "type": "STRING",
16586 "value": "|="
16587 },
16588 {
16589 "type": "STRING",
16590 "value": "<<"
16591 },
16592 {
16593 "type": "STRING",
16594 "value": ">>"
16595 },
16596 {
16597 "type": "STRING",
16598 "value": ">>="
16599 },
16600 {
16601 "type": "STRING",
16602 "value": "<<="
16603 },
16604 {
16605 "type": "STRING",
16606 "value": "=="
16607 },
16608 {
16609 "type": "STRING",
16610 "value": "!="
16611 },
16612 {
16613 "type": "STRING",
16614 "value": "<="
16615 },
16616 {
16617 "type": "STRING",
16618 "value": ">="
16619 },
16620 {
16621 "type": "STRING",
16622 "value": "<=>"
16623 },
16624 {
16625 "type": "STRING",
16626 "value": "&&"
16627 },
16628 {
16629 "type": "STRING",
16630 "value": "||"
16631 },
16632 {
16633 "type": "STRING",
16634 "value": "++"
16635 },
16636 {
16637 "type": "STRING",
16638 "value": "--"
16639 },
16640 {
16641 "type": "STRING",
16642 "value": ","
16643 },
16644 {
16645 "type": "STRING",
16646 "value": "->*"
16647 },
16648 {
16649 "type": "STRING",
16650 "value": "->"
16651 },
16652 {
16653 "type": "STRING",
16654 "value": "()"
16655 },
16656 {
16657 "type": "STRING",
16658 "value": "[]"
16659 },
16660 {
16661 "type": "STRING",
16662 "value": "xor"
16663 },
16664 {
16665 "type": "STRING",
16666 "value": "bitand"
16667 },
16668 {
16669 "type": "STRING",
16670 "value": "bitor"
16671 },
16672 {
16673 "type": "STRING",
16674 "value": "compl"
16675 },
16676 {
16677 "type": "STRING",
16678 "value": "not"
16679 },
16680 {
16681 "type": "STRING",
16682 "value": "xor_eq"
16683 },
16684 {
16685 "type": "STRING",
16686 "value": "and_eq"
16687 },
16688 {
16689 "type": "STRING",
16690 "value": "or_eq"
16691 },
16692 {
16693 "type": "STRING",
16694 "value": "not_eq"
16695 },
16696 {
16697 "type": "STRING",
16698 "value": "and"
16699 },
16700 {
16701 "type": "STRING",
16702 "value": "or"
16703 },
16704 {
16705 "type": "SEQ",
16706 "members": [
16707 {
16708 "type": "CHOICE",
16709 "members": [
16710 {
16711 "type": "STRING",
16712 "value": "new"
16713 },
16714 {
16715 "type": "STRING",
16716 "value": "delete"
16717 }
16718 ]
16719 },
16720 {
16721 "type": "CHOICE",
16722 "members": [
16723 {
16724 "type": "STRING",
16725 "value": "[]"
16726 },
16727 {
16728 "type": "BLANK"
16729 }
16730 ]
16731 }
16732 ]
16733 },
16734 {
16735 "type": "SEQ",
16736 "members": [
16737 {
16738 "type": "STRING",
16739 "value": "\"\""
16740 },
16741 {
16742 "type": "SYMBOL",
16743 "name": "identifier"
16744 }
16745 ]
16746 }
16747 ]
16748 }
16749 ]
16750 }
16751 },
16752 "this": {
16753 "type": "STRING",
16754 "value": "this"
16755 },
16756 "literal_suffix": {
16757 "type": "IMMEDIATE_TOKEN",
16758 "content": {
16759 "type": "PATTERN",
16760 "value": "[a-zA-Z_]\\w*"
16761 }
16762 },
16763 "user_defined_literal": {
16764 "type": "SEQ",
16765 "members": [
16766 {
16767 "type": "CHOICE",
16768 "members": [
16769 {
16770 "type": "SYMBOL",
16771 "name": "number_literal"
16772 },
16773 {
16774 "type": "SYMBOL",
16775 "name": "char_literal"
16776 },
16777 {
16778 "type": "SYMBOL",
16779 "name": "string_literal"
16780 },
16781 {
16782 "type": "SYMBOL",
16783 "name": "raw_string_literal"
16784 },
16785 {
16786 "type": "SYMBOL",
16787 "name": "concatenated_string"
16788 }
16789 ]
16790 },
16791 {
16792 "type": "SYMBOL",
16793 "name": "literal_suffix"
16794 }
16795 ]
16796 },
16797 "_namespace_identifier": {
16798 "type": "ALIAS",
16799 "content": {
16800 "type": "SYMBOL",
16801 "name": "identifier"
16802 },
16803 "named": true,
16804 "value": "namespace_identifier"
16805 },
16806 "kernel_call_expression": {
16807 "type": "SEQ",
16808 "members": [
16809 {
16810 "type": "FIELD",
16811 "name": "function",
16812 "content": {
16813 "type": "SYMBOL",
16814 "name": "expression"
16815 }
16816 },
16817 {
16818 "type": "SYMBOL",
16819 "name": "kernel_call_syntax"
16820 },
16821 {
16822 "type": "FIELD",
16823 "name": "arguments",
16824 "content": {
16825 "type": "SYMBOL",
16826 "name": "argument_list"
16827 }
16828 }
16829 ]
16830 },
16831 "kernel_call_syntax": {
16832 "type": "SEQ",
16833 "members": [
16834 {
16835 "type": "ALIAS",
16836 "content": {
16837 "type": "TOKEN",
16838 "content": {
16839 "type": "SEQ",
16840 "members": [
16841 {
16842 "type": "STRING",
16843 "value": "<"
16844 },
16845 {
16846 "type": "PATTERN",
16847 "value": "\\s*"
16848 },
16849 {
16850 "type": "STRING",
16851 "value": "<"
16852 },
16853 {
16854 "type": "PATTERN",
16855 "value": "\\s*"
16856 },
16857 {
16858 "type": "STRING",
16859 "value": "<"
16860 }
16861 ]
16862 }
16863 },
16864 "named": false,
16865 "value": "<<<"
16866 },
16867 {
16868 "type": "SYMBOL",
16869 "name": "expression"
16870 },
16871 {
16872 "type": "REPEAT",
16873 "content": {
16874 "type": "SEQ",
16875 "members": [
16876 {
16877 "type": "STRING",
16878 "value": ","
16879 },
16880 {
16881 "type": "SYMBOL",
16882 "name": "expression"
16883 }
16884 ]
16885 }
16886 },
16887 {
16888 "type": "ALIAS",
16889 "content": {
16890 "type": "TOKEN",
16891 "content": {
16892 "type": "SEQ",
16893 "members": [
16894 {
16895 "type": "STRING",
16896 "value": ">"
16897 },
16898 {
16899 "type": "PATTERN",
16900 "value": "\\s*"
16901 },
16902 {
16903 "type": "STRING",
16904 "value": ">"
16905 },
16906 {
16907 "type": "PATTERN",
16908 "value": "\\s*"
16909 },
16910 {
16911 "type": "STRING",
16912 "value": ">"
16913 }
16914 ]
16915 }
16916 },
16917 "named": false,
16918 "value": ">>>"
16919 }
16920 ]
16921 },
16922 "launch_bounds": {
16923 "type": "SEQ",
16924 "members": [
16925 {
16926 "type": "STRING",
16927 "value": "__launch_bounds__"
16928 },
16929 {
16930 "type": "STRING",
16931 "value": "("
16932 },
16933 {
16934 "type": "SYMBOL",
16935 "name": "expression"
16936 },
16937 {
16938 "type": "CHOICE",
16939 "members": [
16940 {
16941 "type": "SEQ",
16942 "members": [
16943 {
16944 "type": "STRING",
16945 "value": ","
16946 },
16947 {
16948 "type": "SYMBOL",
16949 "name": "expression"
16950 }
16951 ]
16952 },
16953 {
16954 "type": "BLANK"
16955 }
16956 ]
16957 },
16958 {
16959 "type": "STRING",
16960 "value": ")"
16961 }
16962 ]
16963 }
16964 },
16965 "extras": [
16966 {
16967 "type": "PATTERN",
16968 "value": "\\s|\\\\\\r?\\n"
16969 },
16970 {
16971 "type": "SYMBOL",
16972 "name": "comment"
16973 }
16974 ],
16975 "conflicts": [
16976 [
16977 "type_specifier",
16978 "_declarator"
16979 ],
16980 [
16981 "type_specifier",
16982 "expression"
16983 ],
16984 [
16985 "sized_type_specifier"
16986 ],
16987 [
16988 "attributed_statement"
16989 ],
16990 [
16991 "_declaration_modifiers",
16992 "attributed_statement"
16993 ],
16994 [
16995 "_top_level_item",
16996 "_top_level_statement"
16997 ],
16998 [
16999 "_block_item",
17000 "statement"
17001 ],
17002 [
17003 "template_function",
17004 "template_type"
17005 ],
17006 [
17007 "template_function",
17008 "template_type",
17009 "expression"
17010 ],
17011 [
17012 "template_function",
17013 "template_type",
17014 "qualified_identifier"
17015 ],
17016 [
17017 "template_type",
17018 "qualified_type_identifier"
17019 ],
17020 [
17021 "qualified_type_identifier",
17022 "qualified_identifier"
17023 ],
17024 [
17025 "comma_expression",
17026 "initializer_list"
17027 ],
17028 [
17029 "expression",
17030 "_declarator"
17031 ],
17032 [
17033 "expression",
17034 "structured_binding_declarator"
17035 ],
17036 [
17037 "expression",
17038 "_declarator",
17039 "type_specifier"
17040 ],
17041 [
17042 "parameter_list",
17043 "argument_list"
17044 ],
17045 [
17046 "type_specifier",
17047 "call_expression"
17048 ],
17049 [
17050 "_declaration_specifiers",
17051 "_constructor_specifiers"
17052 ],
17053 [
17054 "_binary_fold_operator",
17055 "_fold_operator"
17056 ],
17057 [
17058 "_function_declarator_seq"
17059 ],
17060 [
17061 "type_specifier",
17062 "sized_type_specifier"
17063 ],
17064 [
17065 "initializer_pair",
17066 "comma_expression"
17067 ],
17068 [
17069 "expression_statement",
17070 "_for_statement_body"
17071 ],
17072 [
17073 "init_statement",
17074 "_for_statement_body"
17075 ],
17076 [
17077 "field_expression",
17078 "template_method",
17079 "template_type"
17080 ],
17081 [
17082 "qualified_field_identifier",
17083 "template_method",
17084 "template_type"
17085 ]
17086 ],
17087 "precedences": [
17088 [
17089 {
17090 "type": "SYMBOL",
17091 "name": "argument_list"
17092 },
17093 {
17094 "type": "SYMBOL",
17095 "name": "type_qualifier"
17096 }
17097 ],
17098 [
17099 {
17100 "type": "SYMBOL",
17101 "name": "_expression_not_binary"
17102 },
17103 {
17104 "type": "SYMBOL",
17105 "name": "_class_name"
17106 }
17107 ]
17108 ],
17109 "externals": [
17110 {
17111 "type": "SYMBOL",
17112 "name": "raw_string_delimiter"
17113 },
17114 {
17115 "type": "SYMBOL",
17116 "name": "raw_string_content"
17117 }
17118 ],
17119 "inline": [
17120 "_type_identifier",
17121 "_field_identifier",
17122 "_statement_identifier",
17123 "_non_case_statement",
17124 "_assignment_left_expression",
17125 "_expression_not_binary",
17126 "_namespace_identifier"
17127 ],
17128 "supertypes": [
17129 "expression",
17130 "statement",
17131 "type_specifier",
17132 "_declarator",
17133 "_field_declarator",
17134 "_type_declarator",
17135 "_abstract_declarator"
17136 ]
17137}