1{
2 "0": "c",
3 "name": "glsl",
4 "word": "identifier",
5 "rules": {
6 "translation_unit": {
7 "type": "REPEAT",
8 "content": {
9 "type": "SYMBOL",
10 "name": "_top_level_item"
11 }
12 },
13 "_top_level_item": {
14 "type": "CHOICE",
15 "members": [
16 {
17 "type": "SYMBOL",
18 "name": "function_definition"
19 },
20 {
21 "type": "SYMBOL",
22 "name": "linkage_specification"
23 },
24 {
25 "type": "SYMBOL",
26 "name": "declaration"
27 },
28 {
29 "type": "SYMBOL",
30 "name": "_top_level_statement"
31 },
32 {
33 "type": "SYMBOL",
34 "name": "attributed_statement"
35 },
36 {
37 "type": "SYMBOL",
38 "name": "type_definition"
39 },
40 {
41 "type": "SYMBOL",
42 "name": "_empty_declaration"
43 },
44 {
45 "type": "SYMBOL",
46 "name": "preproc_if"
47 },
48 {
49 "type": "SYMBOL",
50 "name": "preproc_ifdef"
51 },
52 {
53 "type": "SYMBOL",
54 "name": "preproc_include"
55 },
56 {
57 "type": "SYMBOL",
58 "name": "preproc_def"
59 },
60 {
61 "type": "SYMBOL",
62 "name": "preproc_function_def"
63 },
64 {
65 "type": "SYMBOL",
66 "name": "preproc_call"
67 },
68 {
69 "type": "SYMBOL",
70 "name": "preproc_extension"
71 }
72 ]
73 },
74 "_block_item": {
75 "type": "CHOICE",
76 "members": [
77 {
78 "type": "SYMBOL",
79 "name": "function_definition"
80 },
81 {
82 "type": "SYMBOL",
83 "name": "linkage_specification"
84 },
85 {
86 "type": "SYMBOL",
87 "name": "declaration"
88 },
89 {
90 "type": "SYMBOL",
91 "name": "statement"
92 },
93 {
94 "type": "SYMBOL",
95 "name": "attributed_statement"
96 },
97 {
98 "type": "SYMBOL",
99 "name": "type_definition"
100 },
101 {
102 "type": "SYMBOL",
103 "name": "_empty_declaration"
104 },
105 {
106 "type": "SYMBOL",
107 "name": "preproc_if"
108 },
109 {
110 "type": "SYMBOL",
111 "name": "preproc_ifdef"
112 },
113 {
114 "type": "SYMBOL",
115 "name": "preproc_include"
116 },
117 {
118 "type": "SYMBOL",
119 "name": "preproc_def"
120 },
121 {
122 "type": "SYMBOL",
123 "name": "preproc_function_def"
124 },
125 {
126 "type": "SYMBOL",
127 "name": "preproc_call"
128 },
129 {
130 "type": "SYMBOL",
131 "name": "preproc_extension"
132 }
133 ]
134 },
135 "preproc_include": {
136 "type": "SEQ",
137 "members": [
138 {
139 "type": "ALIAS",
140 "content": {
141 "type": "PATTERN",
142 "value": "#[ \t]*include"
143 },
144 "named": false,
145 "value": "#include"
146 },
147 {
148 "type": "FIELD",
149 "name": "path",
150 "content": {
151 "type": "CHOICE",
152 "members": [
153 {
154 "type": "SYMBOL",
155 "name": "string_literal"
156 },
157 {
158 "type": "SYMBOL",
159 "name": "system_lib_string"
160 },
161 {
162 "type": "SYMBOL",
163 "name": "identifier"
164 },
165 {
166 "type": "ALIAS",
167 "content": {
168 "type": "SYMBOL",
169 "name": "preproc_call_expression"
170 },
171 "named": true,
172 "value": "call_expression"
173 }
174 ]
175 }
176 },
177 {
178 "type": "IMMEDIATE_TOKEN",
179 "content": {
180 "type": "PATTERN",
181 "value": "\\r?\\n"
182 }
183 }
184 ]
185 },
186 "preproc_def": {
187 "type": "SEQ",
188 "members": [
189 {
190 "type": "ALIAS",
191 "content": {
192 "type": "PATTERN",
193 "value": "#[ \t]*define"
194 },
195 "named": false,
196 "value": "#define"
197 },
198 {
199 "type": "FIELD",
200 "name": "name",
201 "content": {
202 "type": "SYMBOL",
203 "name": "identifier"
204 }
205 },
206 {
207 "type": "FIELD",
208 "name": "value",
209 "content": {
210 "type": "CHOICE",
211 "members": [
212 {
213 "type": "SYMBOL",
214 "name": "preproc_arg"
215 },
216 {
217 "type": "BLANK"
218 }
219 ]
220 }
221 },
222 {
223 "type": "IMMEDIATE_TOKEN",
224 "content": {
225 "type": "PATTERN",
226 "value": "\\r?\\n"
227 }
228 }
229 ]
230 },
231 "preproc_function_def": {
232 "type": "SEQ",
233 "members": [
234 {
235 "type": "ALIAS",
236 "content": {
237 "type": "PATTERN",
238 "value": "#[ \t]*define"
239 },
240 "named": false,
241 "value": "#define"
242 },
243 {
244 "type": "FIELD",
245 "name": "name",
246 "content": {
247 "type": "SYMBOL",
248 "name": "identifier"
249 }
250 },
251 {
252 "type": "FIELD",
253 "name": "parameters",
254 "content": {
255 "type": "SYMBOL",
256 "name": "preproc_params"
257 }
258 },
259 {
260 "type": "FIELD",
261 "name": "value",
262 "content": {
263 "type": "CHOICE",
264 "members": [
265 {
266 "type": "SYMBOL",
267 "name": "preproc_arg"
268 },
269 {
270 "type": "BLANK"
271 }
272 ]
273 }
274 },
275 {
276 "type": "IMMEDIATE_TOKEN",
277 "content": {
278 "type": "PATTERN",
279 "value": "\\r?\\n"
280 }
281 }
282 ]
283 },
284 "preproc_params": {
285 "type": "SEQ",
286 "members": [
287 {
288 "type": "IMMEDIATE_TOKEN",
289 "content": {
290 "type": "STRING",
291 "value": "("
292 }
293 },
294 {
295 "type": "CHOICE",
296 "members": [
297 {
298 "type": "SEQ",
299 "members": [
300 {
301 "type": "CHOICE",
302 "members": [
303 {
304 "type": "SYMBOL",
305 "name": "identifier"
306 },
307 {
308 "type": "STRING",
309 "value": "..."
310 }
311 ]
312 },
313 {
314 "type": "REPEAT",
315 "content": {
316 "type": "SEQ",
317 "members": [
318 {
319 "type": "STRING",
320 "value": ","
321 },
322 {
323 "type": "CHOICE",
324 "members": [
325 {
326 "type": "SYMBOL",
327 "name": "identifier"
328 },
329 {
330 "type": "STRING",
331 "value": "..."
332 }
333 ]
334 }
335 ]
336 }
337 }
338 ]
339 },
340 {
341 "type": "BLANK"
342 }
343 ]
344 },
345 {
346 "type": "STRING",
347 "value": ")"
348 }
349 ]
350 },
351 "preproc_call": {
352 "type": "SEQ",
353 "members": [
354 {
355 "type": "FIELD",
356 "name": "directive",
357 "content": {
358 "type": "SYMBOL",
359 "name": "preproc_directive"
360 }
361 },
362 {
363 "type": "FIELD",
364 "name": "argument",
365 "content": {
366 "type": "CHOICE",
367 "members": [
368 {
369 "type": "SYMBOL",
370 "name": "preproc_arg"
371 },
372 {
373 "type": "BLANK"
374 }
375 ]
376 }
377 },
378 {
379 "type": "IMMEDIATE_TOKEN",
380 "content": {
381 "type": "PATTERN",
382 "value": "\\r?\\n"
383 }
384 }
385 ]
386 },
387 "preproc_if": {
388 "type": "PREC",
389 "value": 0,
390 "content": {
391 "type": "SEQ",
392 "members": [
393 {
394 "type": "ALIAS",
395 "content": {
396 "type": "PATTERN",
397 "value": "#[ \t]*if"
398 },
399 "named": false,
400 "value": "#if"
401 },
402 {
403 "type": "FIELD",
404 "name": "condition",
405 "content": {
406 "type": "SYMBOL",
407 "name": "_preproc_expression"
408 }
409 },
410 {
411 "type": "STRING",
412 "value": "\n"
413 },
414 {
415 "type": "REPEAT",
416 "content": {
417 "type": "SYMBOL",
418 "name": "_block_item"
419 }
420 },
421 {
422 "type": "FIELD",
423 "name": "alternative",
424 "content": {
425 "type": "CHOICE",
426 "members": [
427 {
428 "type": "CHOICE",
429 "members": [
430 {
431 "type": "SYMBOL",
432 "name": "preproc_else"
433 },
434 {
435 "type": "SYMBOL",
436 "name": "preproc_elif"
437 },
438 {
439 "type": "SYMBOL",
440 "name": "preproc_elifdef"
441 }
442 ]
443 },
444 {
445 "type": "BLANK"
446 }
447 ]
448 }
449 },
450 {
451 "type": "ALIAS",
452 "content": {
453 "type": "PATTERN",
454 "value": "#[ \t]*endif"
455 },
456 "named": false,
457 "value": "#endif"
458 }
459 ]
460 }
461 },
462 "preproc_ifdef": {
463 "type": "PREC",
464 "value": 0,
465 "content": {
466 "type": "SEQ",
467 "members": [
468 {
469 "type": "CHOICE",
470 "members": [
471 {
472 "type": "ALIAS",
473 "content": {
474 "type": "PATTERN",
475 "value": "#[ \t]*ifdef"
476 },
477 "named": false,
478 "value": "#ifdef"
479 },
480 {
481 "type": "ALIAS",
482 "content": {
483 "type": "PATTERN",
484 "value": "#[ \t]*ifndef"
485 },
486 "named": false,
487 "value": "#ifndef"
488 }
489 ]
490 },
491 {
492 "type": "FIELD",
493 "name": "name",
494 "content": {
495 "type": "SYMBOL",
496 "name": "identifier"
497 }
498 },
499 {
500 "type": "REPEAT",
501 "content": {
502 "type": "SYMBOL",
503 "name": "_block_item"
504 }
505 },
506 {
507 "type": "FIELD",
508 "name": "alternative",
509 "content": {
510 "type": "CHOICE",
511 "members": [
512 {
513 "type": "CHOICE",
514 "members": [
515 {
516 "type": "SYMBOL",
517 "name": "preproc_else"
518 },
519 {
520 "type": "SYMBOL",
521 "name": "preproc_elif"
522 },
523 {
524 "type": "SYMBOL",
525 "name": "preproc_elifdef"
526 }
527 ]
528 },
529 {
530 "type": "BLANK"
531 }
532 ]
533 }
534 },
535 {
536 "type": "ALIAS",
537 "content": {
538 "type": "PATTERN",
539 "value": "#[ \t]*endif"
540 },
541 "named": false,
542 "value": "#endif"
543 }
544 ]
545 }
546 },
547 "preproc_else": {
548 "type": "PREC",
549 "value": 0,
550 "content": {
551 "type": "SEQ",
552 "members": [
553 {
554 "type": "ALIAS",
555 "content": {
556 "type": "PATTERN",
557 "value": "#[ \t]*else"
558 },
559 "named": false,
560 "value": "#else"
561 },
562 {
563 "type": "REPEAT",
564 "content": {
565 "type": "SYMBOL",
566 "name": "_block_item"
567 }
568 }
569 ]
570 }
571 },
572 "preproc_elif": {
573 "type": "PREC",
574 "value": 0,
575 "content": {
576 "type": "SEQ",
577 "members": [
578 {
579 "type": "ALIAS",
580 "content": {
581 "type": "PATTERN",
582 "value": "#[ \t]*elif"
583 },
584 "named": false,
585 "value": "#elif"
586 },
587 {
588 "type": "FIELD",
589 "name": "condition",
590 "content": {
591 "type": "SYMBOL",
592 "name": "_preproc_expression"
593 }
594 },
595 {
596 "type": "STRING",
597 "value": "\n"
598 },
599 {
600 "type": "REPEAT",
601 "content": {
602 "type": "SYMBOL",
603 "name": "_block_item"
604 }
605 },
606 {
607 "type": "FIELD",
608 "name": "alternative",
609 "content": {
610 "type": "CHOICE",
611 "members": [
612 {
613 "type": "CHOICE",
614 "members": [
615 {
616 "type": "SYMBOL",
617 "name": "preproc_else"
618 },
619 {
620 "type": "SYMBOL",
621 "name": "preproc_elif"
622 },
623 {
624 "type": "SYMBOL",
625 "name": "preproc_elifdef"
626 }
627 ]
628 },
629 {
630 "type": "BLANK"
631 }
632 ]
633 }
634 }
635 ]
636 }
637 },
638 "preproc_elifdef": {
639 "type": "PREC",
640 "value": 0,
641 "content": {
642 "type": "SEQ",
643 "members": [
644 {
645 "type": "CHOICE",
646 "members": [
647 {
648 "type": "ALIAS",
649 "content": {
650 "type": "PATTERN",
651 "value": "#[ \t]*elifdef"
652 },
653 "named": false,
654 "value": "#elifdef"
655 },
656 {
657 "type": "ALIAS",
658 "content": {
659 "type": "PATTERN",
660 "value": "#[ \t]*elifndef"
661 },
662 "named": false,
663 "value": "#elifndef"
664 }
665 ]
666 },
667 {
668 "type": "FIELD",
669 "name": "name",
670 "content": {
671 "type": "SYMBOL",
672 "name": "identifier"
673 }
674 },
675 {
676 "type": "REPEAT",
677 "content": {
678 "type": "SYMBOL",
679 "name": "_block_item"
680 }
681 },
682 {
683 "type": "FIELD",
684 "name": "alternative",
685 "content": {
686 "type": "CHOICE",
687 "members": [
688 {
689 "type": "CHOICE",
690 "members": [
691 {
692 "type": "SYMBOL",
693 "name": "preproc_else"
694 },
695 {
696 "type": "SYMBOL",
697 "name": "preproc_elif"
698 },
699 {
700 "type": "SYMBOL",
701 "name": "preproc_elifdef"
702 }
703 ]
704 },
705 {
706 "type": "BLANK"
707 }
708 ]
709 }
710 }
711 ]
712 }
713 },
714 "preproc_if_in_field_declaration_list": {
715 "type": "PREC",
716 "value": 0,
717 "content": {
718 "type": "SEQ",
719 "members": [
720 {
721 "type": "ALIAS",
722 "content": {
723 "type": "PATTERN",
724 "value": "#[ \t]*if"
725 },
726 "named": false,
727 "value": "#if"
728 },
729 {
730 "type": "FIELD",
731 "name": "condition",
732 "content": {
733 "type": "SYMBOL",
734 "name": "_preproc_expression"
735 }
736 },
737 {
738 "type": "STRING",
739 "value": "\n"
740 },
741 {
742 "type": "REPEAT",
743 "content": {
744 "type": "SYMBOL",
745 "name": "_field_declaration_list_item"
746 }
747 },
748 {
749 "type": "FIELD",
750 "name": "alternative",
751 "content": {
752 "type": "CHOICE",
753 "members": [
754 {
755 "type": "CHOICE",
756 "members": [
757 {
758 "type": "ALIAS",
759 "content": {
760 "type": "SYMBOL",
761 "name": "preproc_else_in_field_declaration_list"
762 },
763 "named": true,
764 "value": "preproc_else"
765 },
766 {
767 "type": "ALIAS",
768 "content": {
769 "type": "SYMBOL",
770 "name": "preproc_elif_in_field_declaration_list"
771 },
772 "named": true,
773 "value": "preproc_elif"
774 },
775 {
776 "type": "ALIAS",
777 "content": {
778 "type": "SYMBOL",
779 "name": "preproc_elifdef_in_field_declaration_list"
780 },
781 "named": true,
782 "value": "preproc_elifdef"
783 }
784 ]
785 },
786 {
787 "type": "BLANK"
788 }
789 ]
790 }
791 },
792 {
793 "type": "ALIAS",
794 "content": {
795 "type": "PATTERN",
796 "value": "#[ \t]*endif"
797 },
798 "named": false,
799 "value": "#endif"
800 }
801 ]
802 }
803 },
804 "preproc_ifdef_in_field_declaration_list": {
805 "type": "PREC",
806 "value": 0,
807 "content": {
808 "type": "SEQ",
809 "members": [
810 {
811 "type": "CHOICE",
812 "members": [
813 {
814 "type": "ALIAS",
815 "content": {
816 "type": "PATTERN",
817 "value": "#[ \t]*ifdef"
818 },
819 "named": false,
820 "value": "#ifdef"
821 },
822 {
823 "type": "ALIAS",
824 "content": {
825 "type": "PATTERN",
826 "value": "#[ \t]*ifndef"
827 },
828 "named": false,
829 "value": "#ifndef"
830 }
831 ]
832 },
833 {
834 "type": "FIELD",
835 "name": "name",
836 "content": {
837 "type": "SYMBOL",
838 "name": "identifier"
839 }
840 },
841 {
842 "type": "REPEAT",
843 "content": {
844 "type": "SYMBOL",
845 "name": "_field_declaration_list_item"
846 }
847 },
848 {
849 "type": "FIELD",
850 "name": "alternative",
851 "content": {
852 "type": "CHOICE",
853 "members": [
854 {
855 "type": "CHOICE",
856 "members": [
857 {
858 "type": "ALIAS",
859 "content": {
860 "type": "SYMBOL",
861 "name": "preproc_else_in_field_declaration_list"
862 },
863 "named": true,
864 "value": "preproc_else"
865 },
866 {
867 "type": "ALIAS",
868 "content": {
869 "type": "SYMBOL",
870 "name": "preproc_elif_in_field_declaration_list"
871 },
872 "named": true,
873 "value": "preproc_elif"
874 },
875 {
876 "type": "ALIAS",
877 "content": {
878 "type": "SYMBOL",
879 "name": "preproc_elifdef_in_field_declaration_list"
880 },
881 "named": true,
882 "value": "preproc_elifdef"
883 }
884 ]
885 },
886 {
887 "type": "BLANK"
888 }
889 ]
890 }
891 },
892 {
893 "type": "ALIAS",
894 "content": {
895 "type": "PATTERN",
896 "value": "#[ \t]*endif"
897 },
898 "named": false,
899 "value": "#endif"
900 }
901 ]
902 }
903 },
904 "preproc_else_in_field_declaration_list": {
905 "type": "PREC",
906 "value": 0,
907 "content": {
908 "type": "SEQ",
909 "members": [
910 {
911 "type": "ALIAS",
912 "content": {
913 "type": "PATTERN",
914 "value": "#[ \t]*else"
915 },
916 "named": false,
917 "value": "#else"
918 },
919 {
920 "type": "REPEAT",
921 "content": {
922 "type": "SYMBOL",
923 "name": "_field_declaration_list_item"
924 }
925 }
926 ]
927 }
928 },
929 "preproc_elif_in_field_declaration_list": {
930 "type": "PREC",
931 "value": 0,
932 "content": {
933 "type": "SEQ",
934 "members": [
935 {
936 "type": "ALIAS",
937 "content": {
938 "type": "PATTERN",
939 "value": "#[ \t]*elif"
940 },
941 "named": false,
942 "value": "#elif"
943 },
944 {
945 "type": "FIELD",
946 "name": "condition",
947 "content": {
948 "type": "SYMBOL",
949 "name": "_preproc_expression"
950 }
951 },
952 {
953 "type": "STRING",
954 "value": "\n"
955 },
956 {
957 "type": "REPEAT",
958 "content": {
959 "type": "SYMBOL",
960 "name": "_field_declaration_list_item"
961 }
962 },
963 {
964 "type": "FIELD",
965 "name": "alternative",
966 "content": {
967 "type": "CHOICE",
968 "members": [
969 {
970 "type": "CHOICE",
971 "members": [
972 {
973 "type": "ALIAS",
974 "content": {
975 "type": "SYMBOL",
976 "name": "preproc_else_in_field_declaration_list"
977 },
978 "named": true,
979 "value": "preproc_else"
980 },
981 {
982 "type": "ALIAS",
983 "content": {
984 "type": "SYMBOL",
985 "name": "preproc_elif_in_field_declaration_list"
986 },
987 "named": true,
988 "value": "preproc_elif"
989 },
990 {
991 "type": "ALIAS",
992 "content": {
993 "type": "SYMBOL",
994 "name": "preproc_elifdef_in_field_declaration_list"
995 },
996 "named": true,
997 "value": "preproc_elifdef"
998 }
999 ]
1000 },
1001 {
1002 "type": "BLANK"
1003 }
1004 ]
1005 }
1006 }
1007 ]
1008 }
1009 },
1010 "preproc_elifdef_in_field_declaration_list": {
1011 "type": "PREC",
1012 "value": 0,
1013 "content": {
1014 "type": "SEQ",
1015 "members": [
1016 {
1017 "type": "CHOICE",
1018 "members": [
1019 {
1020 "type": "ALIAS",
1021 "content": {
1022 "type": "PATTERN",
1023 "value": "#[ \t]*elifdef"
1024 },
1025 "named": false,
1026 "value": "#elifdef"
1027 },
1028 {
1029 "type": "ALIAS",
1030 "content": {
1031 "type": "PATTERN",
1032 "value": "#[ \t]*elifndef"
1033 },
1034 "named": false,
1035 "value": "#elifndef"
1036 }
1037 ]
1038 },
1039 {
1040 "type": "FIELD",
1041 "name": "name",
1042 "content": {
1043 "type": "SYMBOL",
1044 "name": "identifier"
1045 }
1046 },
1047 {
1048 "type": "REPEAT",
1049 "content": {
1050 "type": "SYMBOL",
1051 "name": "_field_declaration_list_item"
1052 }
1053 },
1054 {
1055 "type": "FIELD",
1056 "name": "alternative",
1057 "content": {
1058 "type": "CHOICE",
1059 "members": [
1060 {
1061 "type": "CHOICE",
1062 "members": [
1063 {
1064 "type": "ALIAS",
1065 "content": {
1066 "type": "SYMBOL",
1067 "name": "preproc_else_in_field_declaration_list"
1068 },
1069 "named": true,
1070 "value": "preproc_else"
1071 },
1072 {
1073 "type": "ALIAS",
1074 "content": {
1075 "type": "SYMBOL",
1076 "name": "preproc_elif_in_field_declaration_list"
1077 },
1078 "named": true,
1079 "value": "preproc_elif"
1080 },
1081 {
1082 "type": "ALIAS",
1083 "content": {
1084 "type": "SYMBOL",
1085 "name": "preproc_elifdef_in_field_declaration_list"
1086 },
1087 "named": true,
1088 "value": "preproc_elifdef"
1089 }
1090 ]
1091 },
1092 {
1093 "type": "BLANK"
1094 }
1095 ]
1096 }
1097 }
1098 ]
1099 }
1100 },
1101 "preproc_if_in_enumerator_list": {
1102 "type": "PREC",
1103 "value": 0,
1104 "content": {
1105 "type": "SEQ",
1106 "members": [
1107 {
1108 "type": "ALIAS",
1109 "content": {
1110 "type": "PATTERN",
1111 "value": "#[ \t]*if"
1112 },
1113 "named": false,
1114 "value": "#if"
1115 },
1116 {
1117 "type": "FIELD",
1118 "name": "condition",
1119 "content": {
1120 "type": "SYMBOL",
1121 "name": "_preproc_expression"
1122 }
1123 },
1124 {
1125 "type": "STRING",
1126 "value": "\n"
1127 },
1128 {
1129 "type": "REPEAT",
1130 "content": {
1131 "type": "SEQ",
1132 "members": [
1133 {
1134 "type": "SYMBOL",
1135 "name": "enumerator"
1136 },
1137 {
1138 "type": "STRING",
1139 "value": ","
1140 }
1141 ]
1142 }
1143 },
1144 {
1145 "type": "FIELD",
1146 "name": "alternative",
1147 "content": {
1148 "type": "CHOICE",
1149 "members": [
1150 {
1151 "type": "CHOICE",
1152 "members": [
1153 {
1154 "type": "ALIAS",
1155 "content": {
1156 "type": "SYMBOL",
1157 "name": "preproc_else_in_enumerator_list"
1158 },
1159 "named": true,
1160 "value": "preproc_else"
1161 },
1162 {
1163 "type": "ALIAS",
1164 "content": {
1165 "type": "SYMBOL",
1166 "name": "preproc_elif_in_enumerator_list"
1167 },
1168 "named": true,
1169 "value": "preproc_elif"
1170 },
1171 {
1172 "type": "ALIAS",
1173 "content": {
1174 "type": "SYMBOL",
1175 "name": "preproc_elifdef_in_enumerator_list"
1176 },
1177 "named": true,
1178 "value": "preproc_elifdef"
1179 }
1180 ]
1181 },
1182 {
1183 "type": "BLANK"
1184 }
1185 ]
1186 }
1187 },
1188 {
1189 "type": "ALIAS",
1190 "content": {
1191 "type": "PATTERN",
1192 "value": "#[ \t]*endif"
1193 },
1194 "named": false,
1195 "value": "#endif"
1196 }
1197 ]
1198 }
1199 },
1200 "preproc_ifdef_in_enumerator_list": {
1201 "type": "PREC",
1202 "value": 0,
1203 "content": {
1204 "type": "SEQ",
1205 "members": [
1206 {
1207 "type": "CHOICE",
1208 "members": [
1209 {
1210 "type": "ALIAS",
1211 "content": {
1212 "type": "PATTERN",
1213 "value": "#[ \t]*ifdef"
1214 },
1215 "named": false,
1216 "value": "#ifdef"
1217 },
1218 {
1219 "type": "ALIAS",
1220 "content": {
1221 "type": "PATTERN",
1222 "value": "#[ \t]*ifndef"
1223 },
1224 "named": false,
1225 "value": "#ifndef"
1226 }
1227 ]
1228 },
1229 {
1230 "type": "FIELD",
1231 "name": "name",
1232 "content": {
1233 "type": "SYMBOL",
1234 "name": "identifier"
1235 }
1236 },
1237 {
1238 "type": "REPEAT",
1239 "content": {
1240 "type": "SEQ",
1241 "members": [
1242 {
1243 "type": "SYMBOL",
1244 "name": "enumerator"
1245 },
1246 {
1247 "type": "STRING",
1248 "value": ","
1249 }
1250 ]
1251 }
1252 },
1253 {
1254 "type": "FIELD",
1255 "name": "alternative",
1256 "content": {
1257 "type": "CHOICE",
1258 "members": [
1259 {
1260 "type": "CHOICE",
1261 "members": [
1262 {
1263 "type": "ALIAS",
1264 "content": {
1265 "type": "SYMBOL",
1266 "name": "preproc_else_in_enumerator_list"
1267 },
1268 "named": true,
1269 "value": "preproc_else"
1270 },
1271 {
1272 "type": "ALIAS",
1273 "content": {
1274 "type": "SYMBOL",
1275 "name": "preproc_elif_in_enumerator_list"
1276 },
1277 "named": true,
1278 "value": "preproc_elif"
1279 },
1280 {
1281 "type": "ALIAS",
1282 "content": {
1283 "type": "SYMBOL",
1284 "name": "preproc_elifdef_in_enumerator_list"
1285 },
1286 "named": true,
1287 "value": "preproc_elifdef"
1288 }
1289 ]
1290 },
1291 {
1292 "type": "BLANK"
1293 }
1294 ]
1295 }
1296 },
1297 {
1298 "type": "ALIAS",
1299 "content": {
1300 "type": "PATTERN",
1301 "value": "#[ \t]*endif"
1302 },
1303 "named": false,
1304 "value": "#endif"
1305 }
1306 ]
1307 }
1308 },
1309 "preproc_else_in_enumerator_list": {
1310 "type": "PREC",
1311 "value": 0,
1312 "content": {
1313 "type": "SEQ",
1314 "members": [
1315 {
1316 "type": "ALIAS",
1317 "content": {
1318 "type": "PATTERN",
1319 "value": "#[ \t]*else"
1320 },
1321 "named": false,
1322 "value": "#else"
1323 },
1324 {
1325 "type": "REPEAT",
1326 "content": {
1327 "type": "SEQ",
1328 "members": [
1329 {
1330 "type": "SYMBOL",
1331 "name": "enumerator"
1332 },
1333 {
1334 "type": "STRING",
1335 "value": ","
1336 }
1337 ]
1338 }
1339 }
1340 ]
1341 }
1342 },
1343 "preproc_elif_in_enumerator_list": {
1344 "type": "PREC",
1345 "value": 0,
1346 "content": {
1347 "type": "SEQ",
1348 "members": [
1349 {
1350 "type": "ALIAS",
1351 "content": {
1352 "type": "PATTERN",
1353 "value": "#[ \t]*elif"
1354 },
1355 "named": false,
1356 "value": "#elif"
1357 },
1358 {
1359 "type": "FIELD",
1360 "name": "condition",
1361 "content": {
1362 "type": "SYMBOL",
1363 "name": "_preproc_expression"
1364 }
1365 },
1366 {
1367 "type": "STRING",
1368 "value": "\n"
1369 },
1370 {
1371 "type": "REPEAT",
1372 "content": {
1373 "type": "SEQ",
1374 "members": [
1375 {
1376 "type": "SYMBOL",
1377 "name": "enumerator"
1378 },
1379 {
1380 "type": "STRING",
1381 "value": ","
1382 }
1383 ]
1384 }
1385 },
1386 {
1387 "type": "FIELD",
1388 "name": "alternative",
1389 "content": {
1390 "type": "CHOICE",
1391 "members": [
1392 {
1393 "type": "CHOICE",
1394 "members": [
1395 {
1396 "type": "ALIAS",
1397 "content": {
1398 "type": "SYMBOL",
1399 "name": "preproc_else_in_enumerator_list"
1400 },
1401 "named": true,
1402 "value": "preproc_else"
1403 },
1404 {
1405 "type": "ALIAS",
1406 "content": {
1407 "type": "SYMBOL",
1408 "name": "preproc_elif_in_enumerator_list"
1409 },
1410 "named": true,
1411 "value": "preproc_elif"
1412 },
1413 {
1414 "type": "ALIAS",
1415 "content": {
1416 "type": "SYMBOL",
1417 "name": "preproc_elifdef_in_enumerator_list"
1418 },
1419 "named": true,
1420 "value": "preproc_elifdef"
1421 }
1422 ]
1423 },
1424 {
1425 "type": "BLANK"
1426 }
1427 ]
1428 }
1429 }
1430 ]
1431 }
1432 },
1433 "preproc_elifdef_in_enumerator_list": {
1434 "type": "PREC",
1435 "value": 0,
1436 "content": {
1437 "type": "SEQ",
1438 "members": [
1439 {
1440 "type": "CHOICE",
1441 "members": [
1442 {
1443 "type": "ALIAS",
1444 "content": {
1445 "type": "PATTERN",
1446 "value": "#[ \t]*elifdef"
1447 },
1448 "named": false,
1449 "value": "#elifdef"
1450 },
1451 {
1452 "type": "ALIAS",
1453 "content": {
1454 "type": "PATTERN",
1455 "value": "#[ \t]*elifndef"
1456 },
1457 "named": false,
1458 "value": "#elifndef"
1459 }
1460 ]
1461 },
1462 {
1463 "type": "FIELD",
1464 "name": "name",
1465 "content": {
1466 "type": "SYMBOL",
1467 "name": "identifier"
1468 }
1469 },
1470 {
1471 "type": "REPEAT",
1472 "content": {
1473 "type": "SEQ",
1474 "members": [
1475 {
1476 "type": "SYMBOL",
1477 "name": "enumerator"
1478 },
1479 {
1480 "type": "STRING",
1481 "value": ","
1482 }
1483 ]
1484 }
1485 },
1486 {
1487 "type": "FIELD",
1488 "name": "alternative",
1489 "content": {
1490 "type": "CHOICE",
1491 "members": [
1492 {
1493 "type": "CHOICE",
1494 "members": [
1495 {
1496 "type": "ALIAS",
1497 "content": {
1498 "type": "SYMBOL",
1499 "name": "preproc_else_in_enumerator_list"
1500 },
1501 "named": true,
1502 "value": "preproc_else"
1503 },
1504 {
1505 "type": "ALIAS",
1506 "content": {
1507 "type": "SYMBOL",
1508 "name": "preproc_elif_in_enumerator_list"
1509 },
1510 "named": true,
1511 "value": "preproc_elif"
1512 },
1513 {
1514 "type": "ALIAS",
1515 "content": {
1516 "type": "SYMBOL",
1517 "name": "preproc_elifdef_in_enumerator_list"
1518 },
1519 "named": true,
1520 "value": "preproc_elifdef"
1521 }
1522 ]
1523 },
1524 {
1525 "type": "BLANK"
1526 }
1527 ]
1528 }
1529 }
1530 ]
1531 }
1532 },
1533 "preproc_if_in_enumerator_list_no_comma": {
1534 "type": "PREC",
1535 "value": -1,
1536 "content": {
1537 "type": "SEQ",
1538 "members": [
1539 {
1540 "type": "ALIAS",
1541 "content": {
1542 "type": "PATTERN",
1543 "value": "#[ \t]*if"
1544 },
1545 "named": false,
1546 "value": "#if"
1547 },
1548 {
1549 "type": "FIELD",
1550 "name": "condition",
1551 "content": {
1552 "type": "SYMBOL",
1553 "name": "_preproc_expression"
1554 }
1555 },
1556 {
1557 "type": "STRING",
1558 "value": "\n"
1559 },
1560 {
1561 "type": "REPEAT",
1562 "content": {
1563 "type": "SYMBOL",
1564 "name": "enumerator"
1565 }
1566 },
1567 {
1568 "type": "FIELD",
1569 "name": "alternative",
1570 "content": {
1571 "type": "CHOICE",
1572 "members": [
1573 {
1574 "type": "CHOICE",
1575 "members": [
1576 {
1577 "type": "ALIAS",
1578 "content": {
1579 "type": "SYMBOL",
1580 "name": "preproc_else_in_enumerator_list_no_comma"
1581 },
1582 "named": true,
1583 "value": "preproc_else"
1584 },
1585 {
1586 "type": "ALIAS",
1587 "content": {
1588 "type": "SYMBOL",
1589 "name": "preproc_elif_in_enumerator_list_no_comma"
1590 },
1591 "named": true,
1592 "value": "preproc_elif"
1593 },
1594 {
1595 "type": "ALIAS",
1596 "content": {
1597 "type": "SYMBOL",
1598 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1599 },
1600 "named": true,
1601 "value": "preproc_elifdef"
1602 }
1603 ]
1604 },
1605 {
1606 "type": "BLANK"
1607 }
1608 ]
1609 }
1610 },
1611 {
1612 "type": "ALIAS",
1613 "content": {
1614 "type": "PATTERN",
1615 "value": "#[ \t]*endif"
1616 },
1617 "named": false,
1618 "value": "#endif"
1619 }
1620 ]
1621 }
1622 },
1623 "preproc_ifdef_in_enumerator_list_no_comma": {
1624 "type": "PREC",
1625 "value": -1,
1626 "content": {
1627 "type": "SEQ",
1628 "members": [
1629 {
1630 "type": "CHOICE",
1631 "members": [
1632 {
1633 "type": "ALIAS",
1634 "content": {
1635 "type": "PATTERN",
1636 "value": "#[ \t]*ifdef"
1637 },
1638 "named": false,
1639 "value": "#ifdef"
1640 },
1641 {
1642 "type": "ALIAS",
1643 "content": {
1644 "type": "PATTERN",
1645 "value": "#[ \t]*ifndef"
1646 },
1647 "named": false,
1648 "value": "#ifndef"
1649 }
1650 ]
1651 },
1652 {
1653 "type": "FIELD",
1654 "name": "name",
1655 "content": {
1656 "type": "SYMBOL",
1657 "name": "identifier"
1658 }
1659 },
1660 {
1661 "type": "REPEAT",
1662 "content": {
1663 "type": "SYMBOL",
1664 "name": "enumerator"
1665 }
1666 },
1667 {
1668 "type": "FIELD",
1669 "name": "alternative",
1670 "content": {
1671 "type": "CHOICE",
1672 "members": [
1673 {
1674 "type": "CHOICE",
1675 "members": [
1676 {
1677 "type": "ALIAS",
1678 "content": {
1679 "type": "SYMBOL",
1680 "name": "preproc_else_in_enumerator_list_no_comma"
1681 },
1682 "named": true,
1683 "value": "preproc_else"
1684 },
1685 {
1686 "type": "ALIAS",
1687 "content": {
1688 "type": "SYMBOL",
1689 "name": "preproc_elif_in_enumerator_list_no_comma"
1690 },
1691 "named": true,
1692 "value": "preproc_elif"
1693 },
1694 {
1695 "type": "ALIAS",
1696 "content": {
1697 "type": "SYMBOL",
1698 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1699 },
1700 "named": true,
1701 "value": "preproc_elifdef"
1702 }
1703 ]
1704 },
1705 {
1706 "type": "BLANK"
1707 }
1708 ]
1709 }
1710 },
1711 {
1712 "type": "ALIAS",
1713 "content": {
1714 "type": "PATTERN",
1715 "value": "#[ \t]*endif"
1716 },
1717 "named": false,
1718 "value": "#endif"
1719 }
1720 ]
1721 }
1722 },
1723 "preproc_else_in_enumerator_list_no_comma": {
1724 "type": "PREC",
1725 "value": -1,
1726 "content": {
1727 "type": "SEQ",
1728 "members": [
1729 {
1730 "type": "ALIAS",
1731 "content": {
1732 "type": "PATTERN",
1733 "value": "#[ \t]*else"
1734 },
1735 "named": false,
1736 "value": "#else"
1737 },
1738 {
1739 "type": "REPEAT",
1740 "content": {
1741 "type": "SYMBOL",
1742 "name": "enumerator"
1743 }
1744 }
1745 ]
1746 }
1747 },
1748 "preproc_elif_in_enumerator_list_no_comma": {
1749 "type": "PREC",
1750 "value": -1,
1751 "content": {
1752 "type": "SEQ",
1753 "members": [
1754 {
1755 "type": "ALIAS",
1756 "content": {
1757 "type": "PATTERN",
1758 "value": "#[ \t]*elif"
1759 },
1760 "named": false,
1761 "value": "#elif"
1762 },
1763 {
1764 "type": "FIELD",
1765 "name": "condition",
1766 "content": {
1767 "type": "SYMBOL",
1768 "name": "_preproc_expression"
1769 }
1770 },
1771 {
1772 "type": "STRING",
1773 "value": "\n"
1774 },
1775 {
1776 "type": "REPEAT",
1777 "content": {
1778 "type": "SYMBOL",
1779 "name": "enumerator"
1780 }
1781 },
1782 {
1783 "type": "FIELD",
1784 "name": "alternative",
1785 "content": {
1786 "type": "CHOICE",
1787 "members": [
1788 {
1789 "type": "CHOICE",
1790 "members": [
1791 {
1792 "type": "ALIAS",
1793 "content": {
1794 "type": "SYMBOL",
1795 "name": "preproc_else_in_enumerator_list_no_comma"
1796 },
1797 "named": true,
1798 "value": "preproc_else"
1799 },
1800 {
1801 "type": "ALIAS",
1802 "content": {
1803 "type": "SYMBOL",
1804 "name": "preproc_elif_in_enumerator_list_no_comma"
1805 },
1806 "named": true,
1807 "value": "preproc_elif"
1808 },
1809 {
1810 "type": "ALIAS",
1811 "content": {
1812 "type": "SYMBOL",
1813 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1814 },
1815 "named": true,
1816 "value": "preproc_elifdef"
1817 }
1818 ]
1819 },
1820 {
1821 "type": "BLANK"
1822 }
1823 ]
1824 }
1825 }
1826 ]
1827 }
1828 },
1829 "preproc_elifdef_in_enumerator_list_no_comma": {
1830 "type": "PREC",
1831 "value": -1,
1832 "content": {
1833 "type": "SEQ",
1834 "members": [
1835 {
1836 "type": "CHOICE",
1837 "members": [
1838 {
1839 "type": "ALIAS",
1840 "content": {
1841 "type": "PATTERN",
1842 "value": "#[ \t]*elifdef"
1843 },
1844 "named": false,
1845 "value": "#elifdef"
1846 },
1847 {
1848 "type": "ALIAS",
1849 "content": {
1850 "type": "PATTERN",
1851 "value": "#[ \t]*elifndef"
1852 },
1853 "named": false,
1854 "value": "#elifndef"
1855 }
1856 ]
1857 },
1858 {
1859 "type": "FIELD",
1860 "name": "name",
1861 "content": {
1862 "type": "SYMBOL",
1863 "name": "identifier"
1864 }
1865 },
1866 {
1867 "type": "REPEAT",
1868 "content": {
1869 "type": "SYMBOL",
1870 "name": "enumerator"
1871 }
1872 },
1873 {
1874 "type": "FIELD",
1875 "name": "alternative",
1876 "content": {
1877 "type": "CHOICE",
1878 "members": [
1879 {
1880 "type": "CHOICE",
1881 "members": [
1882 {
1883 "type": "ALIAS",
1884 "content": {
1885 "type": "SYMBOL",
1886 "name": "preproc_else_in_enumerator_list_no_comma"
1887 },
1888 "named": true,
1889 "value": "preproc_else"
1890 },
1891 {
1892 "type": "ALIAS",
1893 "content": {
1894 "type": "SYMBOL",
1895 "name": "preproc_elif_in_enumerator_list_no_comma"
1896 },
1897 "named": true,
1898 "value": "preproc_elif"
1899 },
1900 {
1901 "type": "ALIAS",
1902 "content": {
1903 "type": "SYMBOL",
1904 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1905 },
1906 "named": true,
1907 "value": "preproc_elifdef"
1908 }
1909 ]
1910 },
1911 {
1912 "type": "BLANK"
1913 }
1914 ]
1915 }
1916 }
1917 ]
1918 }
1919 },
1920 "preproc_arg": {
1921 "type": "TOKEN",
1922 "content": {
1923 "type": "PREC",
1924 "value": -1,
1925 "content": {
1926 "type": "PATTERN",
1927 "value": "\\S([^/\\n]|\\/[^*]|\\\\\\r?\\n)*"
1928 }
1929 }
1930 },
1931 "preproc_directive": {
1932 "type": "PATTERN",
1933 "value": "#[ \\t]*[a-zA-Z0-9]\\w*"
1934 },
1935 "_preproc_expression": {
1936 "type": "CHOICE",
1937 "members": [
1938 {
1939 "type": "SYMBOL",
1940 "name": "identifier"
1941 },
1942 {
1943 "type": "ALIAS",
1944 "content": {
1945 "type": "SYMBOL",
1946 "name": "preproc_call_expression"
1947 },
1948 "named": true,
1949 "value": "call_expression"
1950 },
1951 {
1952 "type": "SYMBOL",
1953 "name": "number_literal"
1954 },
1955 {
1956 "type": "SYMBOL",
1957 "name": "char_literal"
1958 },
1959 {
1960 "type": "SYMBOL",
1961 "name": "preproc_defined"
1962 },
1963 {
1964 "type": "ALIAS",
1965 "content": {
1966 "type": "SYMBOL",
1967 "name": "preproc_unary_expression"
1968 },
1969 "named": true,
1970 "value": "unary_expression"
1971 },
1972 {
1973 "type": "ALIAS",
1974 "content": {
1975 "type": "SYMBOL",
1976 "name": "preproc_binary_expression"
1977 },
1978 "named": true,
1979 "value": "binary_expression"
1980 },
1981 {
1982 "type": "ALIAS",
1983 "content": {
1984 "type": "SYMBOL",
1985 "name": "preproc_parenthesized_expression"
1986 },
1987 "named": true,
1988 "value": "parenthesized_expression"
1989 }
1990 ]
1991 },
1992 "preproc_parenthesized_expression": {
1993 "type": "SEQ",
1994 "members": [
1995 {
1996 "type": "STRING",
1997 "value": "("
1998 },
1999 {
2000 "type": "SYMBOL",
2001 "name": "_preproc_expression"
2002 },
2003 {
2004 "type": "STRING",
2005 "value": ")"
2006 }
2007 ]
2008 },
2009 "preproc_defined": {
2010 "type": "CHOICE",
2011 "members": [
2012 {
2013 "type": "PREC",
2014 "value": 15,
2015 "content": {
2016 "type": "SEQ",
2017 "members": [
2018 {
2019 "type": "STRING",
2020 "value": "defined"
2021 },
2022 {
2023 "type": "STRING",
2024 "value": "("
2025 },
2026 {
2027 "type": "SYMBOL",
2028 "name": "identifier"
2029 },
2030 {
2031 "type": "STRING",
2032 "value": ")"
2033 }
2034 ]
2035 }
2036 },
2037 {
2038 "type": "SEQ",
2039 "members": [
2040 {
2041 "type": "STRING",
2042 "value": "defined"
2043 },
2044 {
2045 "type": "SYMBOL",
2046 "name": "identifier"
2047 }
2048 ]
2049 }
2050 ]
2051 },
2052 "preproc_unary_expression": {
2053 "type": "PREC_LEFT",
2054 "value": 14,
2055 "content": {
2056 "type": "SEQ",
2057 "members": [
2058 {
2059 "type": "FIELD",
2060 "name": "operator",
2061 "content": {
2062 "type": "CHOICE",
2063 "members": [
2064 {
2065 "type": "STRING",
2066 "value": "!"
2067 },
2068 {
2069 "type": "STRING",
2070 "value": "~"
2071 },
2072 {
2073 "type": "STRING",
2074 "value": "-"
2075 },
2076 {
2077 "type": "STRING",
2078 "value": "+"
2079 }
2080 ]
2081 }
2082 },
2083 {
2084 "type": "FIELD",
2085 "name": "argument",
2086 "content": {
2087 "type": "SYMBOL",
2088 "name": "_preproc_expression"
2089 }
2090 }
2091 ]
2092 }
2093 },
2094 "preproc_call_expression": {
2095 "type": "PREC",
2096 "value": 15,
2097 "content": {
2098 "type": "SEQ",
2099 "members": [
2100 {
2101 "type": "FIELD",
2102 "name": "function",
2103 "content": {
2104 "type": "SYMBOL",
2105 "name": "identifier"
2106 }
2107 },
2108 {
2109 "type": "FIELD",
2110 "name": "arguments",
2111 "content": {
2112 "type": "ALIAS",
2113 "content": {
2114 "type": "SYMBOL",
2115 "name": "preproc_argument_list"
2116 },
2117 "named": true,
2118 "value": "argument_list"
2119 }
2120 }
2121 ]
2122 }
2123 },
2124 "preproc_argument_list": {
2125 "type": "SEQ",
2126 "members": [
2127 {
2128 "type": "STRING",
2129 "value": "("
2130 },
2131 {
2132 "type": "CHOICE",
2133 "members": [
2134 {
2135 "type": "SEQ",
2136 "members": [
2137 {
2138 "type": "SYMBOL",
2139 "name": "_preproc_expression"
2140 },
2141 {
2142 "type": "REPEAT",
2143 "content": {
2144 "type": "SEQ",
2145 "members": [
2146 {
2147 "type": "STRING",
2148 "value": ","
2149 },
2150 {
2151 "type": "SYMBOL",
2152 "name": "_preproc_expression"
2153 }
2154 ]
2155 }
2156 }
2157 ]
2158 },
2159 {
2160 "type": "BLANK"
2161 }
2162 ]
2163 },
2164 {
2165 "type": "STRING",
2166 "value": ")"
2167 }
2168 ]
2169 },
2170 "preproc_binary_expression": {
2171 "type": "CHOICE",
2172 "members": [
2173 {
2174 "type": "PREC_LEFT",
2175 "value": 10,
2176 "content": {
2177 "type": "SEQ",
2178 "members": [
2179 {
2180 "type": "FIELD",
2181 "name": "left",
2182 "content": {
2183 "type": "SYMBOL",
2184 "name": "_preproc_expression"
2185 }
2186 },
2187 {
2188 "type": "FIELD",
2189 "name": "operator",
2190 "content": {
2191 "type": "STRING",
2192 "value": "+"
2193 }
2194 },
2195 {
2196 "type": "FIELD",
2197 "name": "right",
2198 "content": {
2199 "type": "SYMBOL",
2200 "name": "_preproc_expression"
2201 }
2202 }
2203 ]
2204 }
2205 },
2206 {
2207 "type": "PREC_LEFT",
2208 "value": 10,
2209 "content": {
2210 "type": "SEQ",
2211 "members": [
2212 {
2213 "type": "FIELD",
2214 "name": "left",
2215 "content": {
2216 "type": "SYMBOL",
2217 "name": "_preproc_expression"
2218 }
2219 },
2220 {
2221 "type": "FIELD",
2222 "name": "operator",
2223 "content": {
2224 "type": "STRING",
2225 "value": "-"
2226 }
2227 },
2228 {
2229 "type": "FIELD",
2230 "name": "right",
2231 "content": {
2232 "type": "SYMBOL",
2233 "name": "_preproc_expression"
2234 }
2235 }
2236 ]
2237 }
2238 },
2239 {
2240 "type": "PREC_LEFT",
2241 "value": 11,
2242 "content": {
2243 "type": "SEQ",
2244 "members": [
2245 {
2246 "type": "FIELD",
2247 "name": "left",
2248 "content": {
2249 "type": "SYMBOL",
2250 "name": "_preproc_expression"
2251 }
2252 },
2253 {
2254 "type": "FIELD",
2255 "name": "operator",
2256 "content": {
2257 "type": "STRING",
2258 "value": "*"
2259 }
2260 },
2261 {
2262 "type": "FIELD",
2263 "name": "right",
2264 "content": {
2265 "type": "SYMBOL",
2266 "name": "_preproc_expression"
2267 }
2268 }
2269 ]
2270 }
2271 },
2272 {
2273 "type": "PREC_LEFT",
2274 "value": 11,
2275 "content": {
2276 "type": "SEQ",
2277 "members": [
2278 {
2279 "type": "FIELD",
2280 "name": "left",
2281 "content": {
2282 "type": "SYMBOL",
2283 "name": "_preproc_expression"
2284 }
2285 },
2286 {
2287 "type": "FIELD",
2288 "name": "operator",
2289 "content": {
2290 "type": "STRING",
2291 "value": "/"
2292 }
2293 },
2294 {
2295 "type": "FIELD",
2296 "name": "right",
2297 "content": {
2298 "type": "SYMBOL",
2299 "name": "_preproc_expression"
2300 }
2301 }
2302 ]
2303 }
2304 },
2305 {
2306 "type": "PREC_LEFT",
2307 "value": 11,
2308 "content": {
2309 "type": "SEQ",
2310 "members": [
2311 {
2312 "type": "FIELD",
2313 "name": "left",
2314 "content": {
2315 "type": "SYMBOL",
2316 "name": "_preproc_expression"
2317 }
2318 },
2319 {
2320 "type": "FIELD",
2321 "name": "operator",
2322 "content": {
2323 "type": "STRING",
2324 "value": "%"
2325 }
2326 },
2327 {
2328 "type": "FIELD",
2329 "name": "right",
2330 "content": {
2331 "type": "SYMBOL",
2332 "name": "_preproc_expression"
2333 }
2334 }
2335 ]
2336 }
2337 },
2338 {
2339 "type": "PREC_LEFT",
2340 "value": 1,
2341 "content": {
2342 "type": "SEQ",
2343 "members": [
2344 {
2345 "type": "FIELD",
2346 "name": "left",
2347 "content": {
2348 "type": "SYMBOL",
2349 "name": "_preproc_expression"
2350 }
2351 },
2352 {
2353 "type": "FIELD",
2354 "name": "operator",
2355 "content": {
2356 "type": "STRING",
2357 "value": "||"
2358 }
2359 },
2360 {
2361 "type": "FIELD",
2362 "name": "right",
2363 "content": {
2364 "type": "SYMBOL",
2365 "name": "_preproc_expression"
2366 }
2367 }
2368 ]
2369 }
2370 },
2371 {
2372 "type": "PREC_LEFT",
2373 "value": 2,
2374 "content": {
2375 "type": "SEQ",
2376 "members": [
2377 {
2378 "type": "FIELD",
2379 "name": "left",
2380 "content": {
2381 "type": "SYMBOL",
2382 "name": "_preproc_expression"
2383 }
2384 },
2385 {
2386 "type": "FIELD",
2387 "name": "operator",
2388 "content": {
2389 "type": "STRING",
2390 "value": "&&"
2391 }
2392 },
2393 {
2394 "type": "FIELD",
2395 "name": "right",
2396 "content": {
2397 "type": "SYMBOL",
2398 "name": "_preproc_expression"
2399 }
2400 }
2401 ]
2402 }
2403 },
2404 {
2405 "type": "PREC_LEFT",
2406 "value": 3,
2407 "content": {
2408 "type": "SEQ",
2409 "members": [
2410 {
2411 "type": "FIELD",
2412 "name": "left",
2413 "content": {
2414 "type": "SYMBOL",
2415 "name": "_preproc_expression"
2416 }
2417 },
2418 {
2419 "type": "FIELD",
2420 "name": "operator",
2421 "content": {
2422 "type": "STRING",
2423 "value": "|"
2424 }
2425 },
2426 {
2427 "type": "FIELD",
2428 "name": "right",
2429 "content": {
2430 "type": "SYMBOL",
2431 "name": "_preproc_expression"
2432 }
2433 }
2434 ]
2435 }
2436 },
2437 {
2438 "type": "PREC_LEFT",
2439 "value": 4,
2440 "content": {
2441 "type": "SEQ",
2442 "members": [
2443 {
2444 "type": "FIELD",
2445 "name": "left",
2446 "content": {
2447 "type": "SYMBOL",
2448 "name": "_preproc_expression"
2449 }
2450 },
2451 {
2452 "type": "FIELD",
2453 "name": "operator",
2454 "content": {
2455 "type": "STRING",
2456 "value": "^"
2457 }
2458 },
2459 {
2460 "type": "FIELD",
2461 "name": "right",
2462 "content": {
2463 "type": "SYMBOL",
2464 "name": "_preproc_expression"
2465 }
2466 }
2467 ]
2468 }
2469 },
2470 {
2471 "type": "PREC_LEFT",
2472 "value": 5,
2473 "content": {
2474 "type": "SEQ",
2475 "members": [
2476 {
2477 "type": "FIELD",
2478 "name": "left",
2479 "content": {
2480 "type": "SYMBOL",
2481 "name": "_preproc_expression"
2482 }
2483 },
2484 {
2485 "type": "FIELD",
2486 "name": "operator",
2487 "content": {
2488 "type": "STRING",
2489 "value": "&"
2490 }
2491 },
2492 {
2493 "type": "FIELD",
2494 "name": "right",
2495 "content": {
2496 "type": "SYMBOL",
2497 "name": "_preproc_expression"
2498 }
2499 }
2500 ]
2501 }
2502 },
2503 {
2504 "type": "PREC_LEFT",
2505 "value": 6,
2506 "content": {
2507 "type": "SEQ",
2508 "members": [
2509 {
2510 "type": "FIELD",
2511 "name": "left",
2512 "content": {
2513 "type": "SYMBOL",
2514 "name": "_preproc_expression"
2515 }
2516 },
2517 {
2518 "type": "FIELD",
2519 "name": "operator",
2520 "content": {
2521 "type": "STRING",
2522 "value": "=="
2523 }
2524 },
2525 {
2526 "type": "FIELD",
2527 "name": "right",
2528 "content": {
2529 "type": "SYMBOL",
2530 "name": "_preproc_expression"
2531 }
2532 }
2533 ]
2534 }
2535 },
2536 {
2537 "type": "PREC_LEFT",
2538 "value": 6,
2539 "content": {
2540 "type": "SEQ",
2541 "members": [
2542 {
2543 "type": "FIELD",
2544 "name": "left",
2545 "content": {
2546 "type": "SYMBOL",
2547 "name": "_preproc_expression"
2548 }
2549 },
2550 {
2551 "type": "FIELD",
2552 "name": "operator",
2553 "content": {
2554 "type": "STRING",
2555 "value": "!="
2556 }
2557 },
2558 {
2559 "type": "FIELD",
2560 "name": "right",
2561 "content": {
2562 "type": "SYMBOL",
2563 "name": "_preproc_expression"
2564 }
2565 }
2566 ]
2567 }
2568 },
2569 {
2570 "type": "PREC_LEFT",
2571 "value": 7,
2572 "content": {
2573 "type": "SEQ",
2574 "members": [
2575 {
2576 "type": "FIELD",
2577 "name": "left",
2578 "content": {
2579 "type": "SYMBOL",
2580 "name": "_preproc_expression"
2581 }
2582 },
2583 {
2584 "type": "FIELD",
2585 "name": "operator",
2586 "content": {
2587 "type": "STRING",
2588 "value": ">"
2589 }
2590 },
2591 {
2592 "type": "FIELD",
2593 "name": "right",
2594 "content": {
2595 "type": "SYMBOL",
2596 "name": "_preproc_expression"
2597 }
2598 }
2599 ]
2600 }
2601 },
2602 {
2603 "type": "PREC_LEFT",
2604 "value": 7,
2605 "content": {
2606 "type": "SEQ",
2607 "members": [
2608 {
2609 "type": "FIELD",
2610 "name": "left",
2611 "content": {
2612 "type": "SYMBOL",
2613 "name": "_preproc_expression"
2614 }
2615 },
2616 {
2617 "type": "FIELD",
2618 "name": "operator",
2619 "content": {
2620 "type": "STRING",
2621 "value": ">="
2622 }
2623 },
2624 {
2625 "type": "FIELD",
2626 "name": "right",
2627 "content": {
2628 "type": "SYMBOL",
2629 "name": "_preproc_expression"
2630 }
2631 }
2632 ]
2633 }
2634 },
2635 {
2636 "type": "PREC_LEFT",
2637 "value": 7,
2638 "content": {
2639 "type": "SEQ",
2640 "members": [
2641 {
2642 "type": "FIELD",
2643 "name": "left",
2644 "content": {
2645 "type": "SYMBOL",
2646 "name": "_preproc_expression"
2647 }
2648 },
2649 {
2650 "type": "FIELD",
2651 "name": "operator",
2652 "content": {
2653 "type": "STRING",
2654 "value": "<="
2655 }
2656 },
2657 {
2658 "type": "FIELD",
2659 "name": "right",
2660 "content": {
2661 "type": "SYMBOL",
2662 "name": "_preproc_expression"
2663 }
2664 }
2665 ]
2666 }
2667 },
2668 {
2669 "type": "PREC_LEFT",
2670 "value": 7,
2671 "content": {
2672 "type": "SEQ",
2673 "members": [
2674 {
2675 "type": "FIELD",
2676 "name": "left",
2677 "content": {
2678 "type": "SYMBOL",
2679 "name": "_preproc_expression"
2680 }
2681 },
2682 {
2683 "type": "FIELD",
2684 "name": "operator",
2685 "content": {
2686 "type": "STRING",
2687 "value": "<"
2688 }
2689 },
2690 {
2691 "type": "FIELD",
2692 "name": "right",
2693 "content": {
2694 "type": "SYMBOL",
2695 "name": "_preproc_expression"
2696 }
2697 }
2698 ]
2699 }
2700 },
2701 {
2702 "type": "PREC_LEFT",
2703 "value": 9,
2704 "content": {
2705 "type": "SEQ",
2706 "members": [
2707 {
2708 "type": "FIELD",
2709 "name": "left",
2710 "content": {
2711 "type": "SYMBOL",
2712 "name": "_preproc_expression"
2713 }
2714 },
2715 {
2716 "type": "FIELD",
2717 "name": "operator",
2718 "content": {
2719 "type": "STRING",
2720 "value": "<<"
2721 }
2722 },
2723 {
2724 "type": "FIELD",
2725 "name": "right",
2726 "content": {
2727 "type": "SYMBOL",
2728 "name": "_preproc_expression"
2729 }
2730 }
2731 ]
2732 }
2733 },
2734 {
2735 "type": "PREC_LEFT",
2736 "value": 9,
2737 "content": {
2738 "type": "SEQ",
2739 "members": [
2740 {
2741 "type": "FIELD",
2742 "name": "left",
2743 "content": {
2744 "type": "SYMBOL",
2745 "name": "_preproc_expression"
2746 }
2747 },
2748 {
2749 "type": "FIELD",
2750 "name": "operator",
2751 "content": {
2752 "type": "STRING",
2753 "value": ">>"
2754 }
2755 },
2756 {
2757 "type": "FIELD",
2758 "name": "right",
2759 "content": {
2760 "type": "SYMBOL",
2761 "name": "_preproc_expression"
2762 }
2763 }
2764 ]
2765 }
2766 }
2767 ]
2768 },
2769 "function_definition": {
2770 "type": "SEQ",
2771 "members": [
2772 {
2773 "type": "CHOICE",
2774 "members": [
2775 {
2776 "type": "SEQ",
2777 "members": [
2778 {
2779 "type": "STRING",
2780 "value": "subroutine"
2781 },
2782 {
2783 "type": "CHOICE",
2784 "members": [
2785 {
2786 "type": "SEQ",
2787 "members": [
2788 {
2789 "type": "STRING",
2790 "value": "("
2791 },
2792 {
2793 "type": "CHOICE",
2794 "members": [
2795 {
2796 "type": "SYMBOL",
2797 "name": "identifier"
2798 },
2799 {
2800 "type": "BLANK"
2801 }
2802 ]
2803 },
2804 {
2805 "type": "REPEAT",
2806 "content": {
2807 "type": "SEQ",
2808 "members": [
2809 {
2810 "type": "STRING",
2811 "value": ","
2812 },
2813 {
2814 "type": "SYMBOL",
2815 "name": "identifier"
2816 }
2817 ]
2818 }
2819 },
2820 {
2821 "type": "STRING",
2822 "value": ")"
2823 }
2824 ]
2825 },
2826 {
2827 "type": "BLANK"
2828 }
2829 ]
2830 }
2831 ]
2832 },
2833 {
2834 "type": "BLANK"
2835 }
2836 ]
2837 },
2838 {
2839 "type": "SEQ",
2840 "members": [
2841 {
2842 "type": "CHOICE",
2843 "members": [
2844 {
2845 "type": "SYMBOL",
2846 "name": "ms_call_modifier"
2847 },
2848 {
2849 "type": "BLANK"
2850 }
2851 ]
2852 },
2853 {
2854 "type": "SYMBOL",
2855 "name": "_declaration_specifiers"
2856 },
2857 {
2858 "type": "CHOICE",
2859 "members": [
2860 {
2861 "type": "SYMBOL",
2862 "name": "ms_call_modifier"
2863 },
2864 {
2865 "type": "BLANK"
2866 }
2867 ]
2868 },
2869 {
2870 "type": "FIELD",
2871 "name": "declarator",
2872 "content": {
2873 "type": "SYMBOL",
2874 "name": "_declarator"
2875 }
2876 },
2877 {
2878 "type": "FIELD",
2879 "name": "body",
2880 "content": {
2881 "type": "SYMBOL",
2882 "name": "compound_statement"
2883 }
2884 }
2885 ]
2886 }
2887 ]
2888 },
2889 "_old_style_function_definition": {
2890 "type": "SEQ",
2891 "members": [
2892 {
2893 "type": "CHOICE",
2894 "members": [
2895 {
2896 "type": "SYMBOL",
2897 "name": "ms_call_modifier"
2898 },
2899 {
2900 "type": "BLANK"
2901 }
2902 ]
2903 },
2904 {
2905 "type": "SYMBOL",
2906 "name": "_declaration_specifiers"
2907 },
2908 {
2909 "type": "FIELD",
2910 "name": "declarator",
2911 "content": {
2912 "type": "ALIAS",
2913 "content": {
2914 "type": "SYMBOL",
2915 "name": "_old_style_function_declarator"
2916 },
2917 "named": true,
2918 "value": "function_declarator"
2919 }
2920 },
2921 {
2922 "type": "REPEAT",
2923 "content": {
2924 "type": "SYMBOL",
2925 "name": "declaration"
2926 }
2927 },
2928 {
2929 "type": "FIELD",
2930 "name": "body",
2931 "content": {
2932 "type": "SYMBOL",
2933 "name": "compound_statement"
2934 }
2935 }
2936 ]
2937 },
2938 "declaration": {
2939 "type": "CHOICE",
2940 "members": [
2941 {
2942 "type": "SEQ",
2943 "members": [
2944 {
2945 "type": "CHOICE",
2946 "members": [
2947 {
2948 "type": "STRING",
2949 "value": "invariant"
2950 },
2951 {
2952 "type": "STRING",
2953 "value": "precise"
2954 }
2955 ]
2956 },
2957 {
2958 "type": "SYMBOL",
2959 "name": "identifier"
2960 },
2961 {
2962 "type": "STRING",
2963 "value": ";"
2964 }
2965 ]
2966 },
2967 {
2968 "type": "SEQ",
2969 "members": [
2970 {
2971 "type": "REPEAT",
2972 "content": {
2973 "type": "CHOICE",
2974 "members": [
2975 {
2976 "type": "STRING",
2977 "value": "in"
2978 },
2979 {
2980 "type": "STRING",
2981 "value": "out"
2982 },
2983 {
2984 "type": "STRING",
2985 "value": "inout"
2986 },
2987 {
2988 "type": "STRING",
2989 "value": "uniform"
2990 },
2991 {
2992 "type": "STRING",
2993 "value": "shared"
2994 },
2995 {
2996 "type": "STRING",
2997 "value": "attribute"
2998 },
2999 {
3000 "type": "STRING",
3001 "value": "varying"
3002 },
3003 {
3004 "type": "STRING",
3005 "value": "buffer"
3006 },
3007 {
3008 "type": "STRING",
3009 "value": "coherent"
3010 },
3011 {
3012 "type": "STRING",
3013 "value": "readonly"
3014 },
3015 {
3016 "type": "STRING",
3017 "value": "writeonly"
3018 },
3019 {
3020 "type": "STRING",
3021 "value": "precision"
3022 },
3023 {
3024 "type": "STRING",
3025 "value": "highp"
3026 },
3027 {
3028 "type": "STRING",
3029 "value": "mediump"
3030 },
3031 {
3032 "type": "STRING",
3033 "value": "lowp"
3034 },
3035 {
3036 "type": "STRING",
3037 "value": "subroutine"
3038 },
3039 {
3040 "type": "STRING",
3041 "value": "centroid"
3042 },
3043 {
3044 "type": "STRING",
3045 "value": "sample"
3046 },
3047 {
3048 "type": "STRING",
3049 "value": "patch"
3050 },
3051 {
3052 "type": "STRING",
3053 "value": "smooth"
3054 },
3055 {
3056 "type": "STRING",
3057 "value": "flat"
3058 },
3059 {
3060 "type": "STRING",
3061 "value": "noperspective"
3062 },
3063 {
3064 "type": "STRING",
3065 "value": "invariant"
3066 },
3067 {
3068 "type": "STRING",
3069 "value": "precise"
3070 },
3071 {
3072 "type": "SYMBOL",
3073 "name": "extension_storage_class"
3074 },
3075 {
3076 "type": "SYMBOL",
3077 "name": "layout_specification"
3078 }
3079 ]
3080 }
3081 },
3082 {
3083 "type": "CHOICE",
3084 "members": [
3085 {
3086 "type": "SEQ",
3087 "members": [
3088 {
3089 "type": "SYMBOL",
3090 "name": "identifier"
3091 },
3092 {
3093 "type": "SYMBOL",
3094 "name": "field_declaration_list"
3095 },
3096 {
3097 "type": "CHOICE",
3098 "members": [
3099 {
3100 "type": "CHOICE",
3101 "members": [
3102 {
3103 "type": "SYMBOL",
3104 "name": "identifier"
3105 },
3106 {
3107 "type": "SYMBOL",
3108 "name": "array_declarator"
3109 }
3110 ]
3111 },
3112 {
3113 "type": "BLANK"
3114 }
3115 ]
3116 },
3117 {
3118 "type": "STRING",
3119 "value": ";"
3120 }
3121 ]
3122 },
3123 {
3124 "type": "SEQ",
3125 "members": [
3126 {
3127 "type": "SYMBOL",
3128 "name": "_declaration_specifiers"
3129 },
3130 {
3131 "type": "SEQ",
3132 "members": [
3133 {
3134 "type": "FIELD",
3135 "name": "declarator",
3136 "content": {
3137 "type": "CHOICE",
3138 "members": [
3139 {
3140 "type": "SEQ",
3141 "members": [
3142 {
3143 "type": "CHOICE",
3144 "members": [
3145 {
3146 "type": "SYMBOL",
3147 "name": "ms_call_modifier"
3148 },
3149 {
3150 "type": "BLANK"
3151 }
3152 ]
3153 },
3154 {
3155 "type": "SYMBOL",
3156 "name": "_declaration_declarator"
3157 },
3158 {
3159 "type": "CHOICE",
3160 "members": [
3161 {
3162 "type": "SYMBOL",
3163 "name": "gnu_asm_expression"
3164 },
3165 {
3166 "type": "BLANK"
3167 }
3168 ]
3169 }
3170 ]
3171 },
3172 {
3173 "type": "SYMBOL",
3174 "name": "init_declarator"
3175 }
3176 ]
3177 }
3178 },
3179 {
3180 "type": "REPEAT",
3181 "content": {
3182 "type": "SEQ",
3183 "members": [
3184 {
3185 "type": "STRING",
3186 "value": ","
3187 },
3188 {
3189 "type": "FIELD",
3190 "name": "declarator",
3191 "content": {
3192 "type": "CHOICE",
3193 "members": [
3194 {
3195 "type": "SEQ",
3196 "members": [
3197 {
3198 "type": "CHOICE",
3199 "members": [
3200 {
3201 "type": "SYMBOL",
3202 "name": "ms_call_modifier"
3203 },
3204 {
3205 "type": "BLANK"
3206 }
3207 ]
3208 },
3209 {
3210 "type": "SYMBOL",
3211 "name": "_declaration_declarator"
3212 },
3213 {
3214 "type": "CHOICE",
3215 "members": [
3216 {
3217 "type": "SYMBOL",
3218 "name": "gnu_asm_expression"
3219 },
3220 {
3221 "type": "BLANK"
3222 }
3223 ]
3224 }
3225 ]
3226 },
3227 {
3228 "type": "SYMBOL",
3229 "name": "init_declarator"
3230 }
3231 ]
3232 }
3233 }
3234 ]
3235 }
3236 }
3237 ]
3238 },
3239 {
3240 "type": "STRING",
3241 "value": ";"
3242 }
3243 ]
3244 }
3245 ]
3246 }
3247 ]
3248 }
3249 ]
3250 },
3251 "type_definition": {
3252 "type": "SEQ",
3253 "members": [
3254 {
3255 "type": "CHOICE",
3256 "members": [
3257 {
3258 "type": "STRING",
3259 "value": "__extension__"
3260 },
3261 {
3262 "type": "BLANK"
3263 }
3264 ]
3265 },
3266 {
3267 "type": "STRING",
3268 "value": "typedef"
3269 },
3270 {
3271 "type": "SYMBOL",
3272 "name": "_type_definition_type"
3273 },
3274 {
3275 "type": "SYMBOL",
3276 "name": "_type_definition_declarators"
3277 },
3278 {
3279 "type": "REPEAT",
3280 "content": {
3281 "type": "SYMBOL",
3282 "name": "attribute_specifier"
3283 }
3284 },
3285 {
3286 "type": "STRING",
3287 "value": ";"
3288 }
3289 ]
3290 },
3291 "_type_definition_type": {
3292 "type": "SEQ",
3293 "members": [
3294 {
3295 "type": "REPEAT",
3296 "content": {
3297 "type": "SYMBOL",
3298 "name": "type_qualifier"
3299 }
3300 },
3301 {
3302 "type": "FIELD",
3303 "name": "type",
3304 "content": {
3305 "type": "SYMBOL",
3306 "name": "type_specifier"
3307 }
3308 },
3309 {
3310 "type": "REPEAT",
3311 "content": {
3312 "type": "SYMBOL",
3313 "name": "type_qualifier"
3314 }
3315 }
3316 ]
3317 },
3318 "_type_definition_declarators": {
3319 "type": "SEQ",
3320 "members": [
3321 {
3322 "type": "FIELD",
3323 "name": "declarator",
3324 "content": {
3325 "type": "SYMBOL",
3326 "name": "_type_declarator"
3327 }
3328 },
3329 {
3330 "type": "REPEAT",
3331 "content": {
3332 "type": "SEQ",
3333 "members": [
3334 {
3335 "type": "STRING",
3336 "value": ","
3337 },
3338 {
3339 "type": "FIELD",
3340 "name": "declarator",
3341 "content": {
3342 "type": "SYMBOL",
3343 "name": "_type_declarator"
3344 }
3345 }
3346 ]
3347 }
3348 }
3349 ]
3350 },
3351 "_declaration_modifiers": {
3352 "type": "CHOICE",
3353 "members": [
3354 {
3355 "type": "SYMBOL",
3356 "name": "storage_class_specifier"
3357 },
3358 {
3359 "type": "SYMBOL",
3360 "name": "type_qualifier"
3361 },
3362 {
3363 "type": "SYMBOL",
3364 "name": "attribute_specifier"
3365 },
3366 {
3367 "type": "SYMBOL",
3368 "name": "attribute_declaration"
3369 },
3370 {
3371 "type": "SYMBOL",
3372 "name": "ms_declspec_modifier"
3373 }
3374 ]
3375 },
3376 "_declaration_specifiers": {
3377 "type": "PREC_RIGHT",
3378 "value": 0,
3379 "content": {
3380 "type": "SEQ",
3381 "members": [
3382 {
3383 "type": "REPEAT",
3384 "content": {
3385 "type": "SYMBOL",
3386 "name": "_declaration_modifiers"
3387 }
3388 },
3389 {
3390 "type": "FIELD",
3391 "name": "type",
3392 "content": {
3393 "type": "SYMBOL",
3394 "name": "type_specifier"
3395 }
3396 },
3397 {
3398 "type": "REPEAT",
3399 "content": {
3400 "type": "SYMBOL",
3401 "name": "_declaration_modifiers"
3402 }
3403 }
3404 ]
3405 }
3406 },
3407 "linkage_specification": {
3408 "type": "SEQ",
3409 "members": [
3410 {
3411 "type": "STRING",
3412 "value": "extern"
3413 },
3414 {
3415 "type": "FIELD",
3416 "name": "value",
3417 "content": {
3418 "type": "SYMBOL",
3419 "name": "string_literal"
3420 }
3421 },
3422 {
3423 "type": "FIELD",
3424 "name": "body",
3425 "content": {
3426 "type": "CHOICE",
3427 "members": [
3428 {
3429 "type": "SYMBOL",
3430 "name": "function_definition"
3431 },
3432 {
3433 "type": "SYMBOL",
3434 "name": "declaration"
3435 },
3436 {
3437 "type": "SYMBOL",
3438 "name": "declaration_list"
3439 }
3440 ]
3441 }
3442 }
3443 ]
3444 },
3445 "attribute_specifier": {
3446 "type": "SEQ",
3447 "members": [
3448 {
3449 "type": "STRING",
3450 "value": "__attribute__"
3451 },
3452 {
3453 "type": "STRING",
3454 "value": "("
3455 },
3456 {
3457 "type": "SYMBOL",
3458 "name": "argument_list"
3459 },
3460 {
3461 "type": "STRING",
3462 "value": ")"
3463 }
3464 ]
3465 },
3466 "attribute": {
3467 "type": "SEQ",
3468 "members": [
3469 {
3470 "type": "CHOICE",
3471 "members": [
3472 {
3473 "type": "SEQ",
3474 "members": [
3475 {
3476 "type": "FIELD",
3477 "name": "prefix",
3478 "content": {
3479 "type": "SYMBOL",
3480 "name": "identifier"
3481 }
3482 },
3483 {
3484 "type": "STRING",
3485 "value": "::"
3486 }
3487 ]
3488 },
3489 {
3490 "type": "BLANK"
3491 }
3492 ]
3493 },
3494 {
3495 "type": "FIELD",
3496 "name": "name",
3497 "content": {
3498 "type": "SYMBOL",
3499 "name": "identifier"
3500 }
3501 },
3502 {
3503 "type": "CHOICE",
3504 "members": [
3505 {
3506 "type": "SYMBOL",
3507 "name": "argument_list"
3508 },
3509 {
3510 "type": "BLANK"
3511 }
3512 ]
3513 }
3514 ]
3515 },
3516 "attribute_declaration": {
3517 "type": "SEQ",
3518 "members": [
3519 {
3520 "type": "STRING",
3521 "value": "[["
3522 },
3523 {
3524 "type": "SEQ",
3525 "members": [
3526 {
3527 "type": "SYMBOL",
3528 "name": "attribute"
3529 },
3530 {
3531 "type": "REPEAT",
3532 "content": {
3533 "type": "SEQ",
3534 "members": [
3535 {
3536 "type": "STRING",
3537 "value": ","
3538 },
3539 {
3540 "type": "SYMBOL",
3541 "name": "attribute"
3542 }
3543 ]
3544 }
3545 }
3546 ]
3547 },
3548 {
3549 "type": "STRING",
3550 "value": "]]"
3551 }
3552 ]
3553 },
3554 "ms_declspec_modifier": {
3555 "type": "SEQ",
3556 "members": [
3557 {
3558 "type": "STRING",
3559 "value": "__declspec"
3560 },
3561 {
3562 "type": "STRING",
3563 "value": "("
3564 },
3565 {
3566 "type": "SYMBOL",
3567 "name": "identifier"
3568 },
3569 {
3570 "type": "STRING",
3571 "value": ")"
3572 }
3573 ]
3574 },
3575 "ms_based_modifier": {
3576 "type": "SEQ",
3577 "members": [
3578 {
3579 "type": "STRING",
3580 "value": "__based"
3581 },
3582 {
3583 "type": "SYMBOL",
3584 "name": "argument_list"
3585 }
3586 ]
3587 },
3588 "ms_call_modifier": {
3589 "type": "CHOICE",
3590 "members": [
3591 {
3592 "type": "STRING",
3593 "value": "__cdecl"
3594 },
3595 {
3596 "type": "STRING",
3597 "value": "__clrcall"
3598 },
3599 {
3600 "type": "STRING",
3601 "value": "__stdcall"
3602 },
3603 {
3604 "type": "STRING",
3605 "value": "__fastcall"
3606 },
3607 {
3608 "type": "STRING",
3609 "value": "__thiscall"
3610 },
3611 {
3612 "type": "STRING",
3613 "value": "__vectorcall"
3614 }
3615 ]
3616 },
3617 "ms_restrict_modifier": {
3618 "type": "STRING",
3619 "value": "__restrict"
3620 },
3621 "ms_unsigned_ptr_modifier": {
3622 "type": "STRING",
3623 "value": "__uptr"
3624 },
3625 "ms_signed_ptr_modifier": {
3626 "type": "STRING",
3627 "value": "__sptr"
3628 },
3629 "ms_unaligned_ptr_modifier": {
3630 "type": "CHOICE",
3631 "members": [
3632 {
3633 "type": "STRING",
3634 "value": "_unaligned"
3635 },
3636 {
3637 "type": "STRING",
3638 "value": "__unaligned"
3639 }
3640 ]
3641 },
3642 "ms_pointer_modifier": {
3643 "type": "CHOICE",
3644 "members": [
3645 {
3646 "type": "SYMBOL",
3647 "name": "ms_unaligned_ptr_modifier"
3648 },
3649 {
3650 "type": "SYMBOL",
3651 "name": "ms_restrict_modifier"
3652 },
3653 {
3654 "type": "SYMBOL",
3655 "name": "ms_unsigned_ptr_modifier"
3656 },
3657 {
3658 "type": "SYMBOL",
3659 "name": "ms_signed_ptr_modifier"
3660 }
3661 ]
3662 },
3663 "declaration_list": {
3664 "type": "SEQ",
3665 "members": [
3666 {
3667 "type": "STRING",
3668 "value": "{"
3669 },
3670 {
3671 "type": "REPEAT",
3672 "content": {
3673 "type": "SYMBOL",
3674 "name": "_block_item"
3675 }
3676 },
3677 {
3678 "type": "STRING",
3679 "value": "}"
3680 }
3681 ]
3682 },
3683 "_declarator": {
3684 "type": "CHOICE",
3685 "members": [
3686 {
3687 "type": "SYMBOL",
3688 "name": "attributed_declarator"
3689 },
3690 {
3691 "type": "SYMBOL",
3692 "name": "pointer_declarator"
3693 },
3694 {
3695 "type": "SYMBOL",
3696 "name": "function_declarator"
3697 },
3698 {
3699 "type": "SYMBOL",
3700 "name": "array_declarator"
3701 },
3702 {
3703 "type": "SYMBOL",
3704 "name": "parenthesized_declarator"
3705 },
3706 {
3707 "type": "SYMBOL",
3708 "name": "identifier"
3709 }
3710 ]
3711 },
3712 "_declaration_declarator": {
3713 "type": "CHOICE",
3714 "members": [
3715 {
3716 "type": "SYMBOL",
3717 "name": "attributed_declarator"
3718 },
3719 {
3720 "type": "SYMBOL",
3721 "name": "pointer_declarator"
3722 },
3723 {
3724 "type": "ALIAS",
3725 "content": {
3726 "type": "SYMBOL",
3727 "name": "_function_declaration_declarator"
3728 },
3729 "named": true,
3730 "value": "function_declarator"
3731 },
3732 {
3733 "type": "SYMBOL",
3734 "name": "array_declarator"
3735 },
3736 {
3737 "type": "SYMBOL",
3738 "name": "parenthesized_declarator"
3739 },
3740 {
3741 "type": "SYMBOL",
3742 "name": "identifier"
3743 }
3744 ]
3745 },
3746 "_field_declarator": {
3747 "type": "CHOICE",
3748 "members": [
3749 {
3750 "type": "ALIAS",
3751 "content": {
3752 "type": "SYMBOL",
3753 "name": "attributed_field_declarator"
3754 },
3755 "named": true,
3756 "value": "attributed_declarator"
3757 },
3758 {
3759 "type": "ALIAS",
3760 "content": {
3761 "type": "SYMBOL",
3762 "name": "pointer_field_declarator"
3763 },
3764 "named": true,
3765 "value": "pointer_declarator"
3766 },
3767 {
3768 "type": "ALIAS",
3769 "content": {
3770 "type": "SYMBOL",
3771 "name": "function_field_declarator"
3772 },
3773 "named": true,
3774 "value": "function_declarator"
3775 },
3776 {
3777 "type": "ALIAS",
3778 "content": {
3779 "type": "SYMBOL",
3780 "name": "array_field_declarator"
3781 },
3782 "named": true,
3783 "value": "array_declarator"
3784 },
3785 {
3786 "type": "ALIAS",
3787 "content": {
3788 "type": "SYMBOL",
3789 "name": "parenthesized_field_declarator"
3790 },
3791 "named": true,
3792 "value": "parenthesized_declarator"
3793 },
3794 {
3795 "type": "SYMBOL",
3796 "name": "_field_identifier"
3797 }
3798 ]
3799 },
3800 "_type_declarator": {
3801 "type": "CHOICE",
3802 "members": [
3803 {
3804 "type": "ALIAS",
3805 "content": {
3806 "type": "SYMBOL",
3807 "name": "attributed_type_declarator"
3808 },
3809 "named": true,
3810 "value": "attributed_declarator"
3811 },
3812 {
3813 "type": "ALIAS",
3814 "content": {
3815 "type": "SYMBOL",
3816 "name": "pointer_type_declarator"
3817 },
3818 "named": true,
3819 "value": "pointer_declarator"
3820 },
3821 {
3822 "type": "ALIAS",
3823 "content": {
3824 "type": "SYMBOL",
3825 "name": "function_type_declarator"
3826 },
3827 "named": true,
3828 "value": "function_declarator"
3829 },
3830 {
3831 "type": "ALIAS",
3832 "content": {
3833 "type": "SYMBOL",
3834 "name": "array_type_declarator"
3835 },
3836 "named": true,
3837 "value": "array_declarator"
3838 },
3839 {
3840 "type": "ALIAS",
3841 "content": {
3842 "type": "SYMBOL",
3843 "name": "parenthesized_type_declarator"
3844 },
3845 "named": true,
3846 "value": "parenthesized_declarator"
3847 },
3848 {
3849 "type": "SYMBOL",
3850 "name": "_type_identifier"
3851 },
3852 {
3853 "type": "ALIAS",
3854 "content": {
3855 "type": "CHOICE",
3856 "members": [
3857 {
3858 "type": "STRING",
3859 "value": "signed"
3860 },
3861 {
3862 "type": "STRING",
3863 "value": "unsigned"
3864 },
3865 {
3866 "type": "STRING",
3867 "value": "long"
3868 },
3869 {
3870 "type": "STRING",
3871 "value": "short"
3872 }
3873 ]
3874 },
3875 "named": true,
3876 "value": "primitive_type"
3877 },
3878 {
3879 "type": "SYMBOL",
3880 "name": "primitive_type"
3881 }
3882 ]
3883 },
3884 "_abstract_declarator": {
3885 "type": "CHOICE",
3886 "members": [
3887 {
3888 "type": "SYMBOL",
3889 "name": "abstract_pointer_declarator"
3890 },
3891 {
3892 "type": "SYMBOL",
3893 "name": "abstract_function_declarator"
3894 },
3895 {
3896 "type": "SYMBOL",
3897 "name": "abstract_array_declarator"
3898 },
3899 {
3900 "type": "SYMBOL",
3901 "name": "abstract_parenthesized_declarator"
3902 }
3903 ]
3904 },
3905 "parenthesized_declarator": {
3906 "type": "PREC_DYNAMIC",
3907 "value": -10,
3908 "content": {
3909 "type": "SEQ",
3910 "members": [
3911 {
3912 "type": "STRING",
3913 "value": "("
3914 },
3915 {
3916 "type": "CHOICE",
3917 "members": [
3918 {
3919 "type": "SYMBOL",
3920 "name": "ms_call_modifier"
3921 },
3922 {
3923 "type": "BLANK"
3924 }
3925 ]
3926 },
3927 {
3928 "type": "SYMBOL",
3929 "name": "_declarator"
3930 },
3931 {
3932 "type": "STRING",
3933 "value": ")"
3934 }
3935 ]
3936 }
3937 },
3938 "parenthesized_field_declarator": {
3939 "type": "PREC_DYNAMIC",
3940 "value": -10,
3941 "content": {
3942 "type": "SEQ",
3943 "members": [
3944 {
3945 "type": "STRING",
3946 "value": "("
3947 },
3948 {
3949 "type": "CHOICE",
3950 "members": [
3951 {
3952 "type": "SYMBOL",
3953 "name": "ms_call_modifier"
3954 },
3955 {
3956 "type": "BLANK"
3957 }
3958 ]
3959 },
3960 {
3961 "type": "SYMBOL",
3962 "name": "_field_declarator"
3963 },
3964 {
3965 "type": "STRING",
3966 "value": ")"
3967 }
3968 ]
3969 }
3970 },
3971 "parenthesized_type_declarator": {
3972 "type": "PREC_DYNAMIC",
3973 "value": -10,
3974 "content": {
3975 "type": "SEQ",
3976 "members": [
3977 {
3978 "type": "STRING",
3979 "value": "("
3980 },
3981 {
3982 "type": "CHOICE",
3983 "members": [
3984 {
3985 "type": "SYMBOL",
3986 "name": "ms_call_modifier"
3987 },
3988 {
3989 "type": "BLANK"
3990 }
3991 ]
3992 },
3993 {
3994 "type": "SYMBOL",
3995 "name": "_type_declarator"
3996 },
3997 {
3998 "type": "STRING",
3999 "value": ")"
4000 }
4001 ]
4002 }
4003 },
4004 "abstract_parenthesized_declarator": {
4005 "type": "PREC",
4006 "value": 1,
4007 "content": {
4008 "type": "SEQ",
4009 "members": [
4010 {
4011 "type": "STRING",
4012 "value": "("
4013 },
4014 {
4015 "type": "CHOICE",
4016 "members": [
4017 {
4018 "type": "SYMBOL",
4019 "name": "ms_call_modifier"
4020 },
4021 {
4022 "type": "BLANK"
4023 }
4024 ]
4025 },
4026 {
4027 "type": "SYMBOL",
4028 "name": "_abstract_declarator"
4029 },
4030 {
4031 "type": "STRING",
4032 "value": ")"
4033 }
4034 ]
4035 }
4036 },
4037 "attributed_declarator": {
4038 "type": "PREC_RIGHT",
4039 "value": 0,
4040 "content": {
4041 "type": "SEQ",
4042 "members": [
4043 {
4044 "type": "SYMBOL",
4045 "name": "_declarator"
4046 },
4047 {
4048 "type": "REPEAT1",
4049 "content": {
4050 "type": "SYMBOL",
4051 "name": "attribute_declaration"
4052 }
4053 }
4054 ]
4055 }
4056 },
4057 "attributed_field_declarator": {
4058 "type": "PREC_RIGHT",
4059 "value": 0,
4060 "content": {
4061 "type": "SEQ",
4062 "members": [
4063 {
4064 "type": "SYMBOL",
4065 "name": "_field_declarator"
4066 },
4067 {
4068 "type": "REPEAT1",
4069 "content": {
4070 "type": "SYMBOL",
4071 "name": "attribute_declaration"
4072 }
4073 }
4074 ]
4075 }
4076 },
4077 "attributed_type_declarator": {
4078 "type": "PREC_RIGHT",
4079 "value": 0,
4080 "content": {
4081 "type": "SEQ",
4082 "members": [
4083 {
4084 "type": "SYMBOL",
4085 "name": "_type_declarator"
4086 },
4087 {
4088 "type": "REPEAT1",
4089 "content": {
4090 "type": "SYMBOL",
4091 "name": "attribute_declaration"
4092 }
4093 }
4094 ]
4095 }
4096 },
4097 "pointer_declarator": {
4098 "type": "PREC_DYNAMIC",
4099 "value": 1,
4100 "content": {
4101 "type": "PREC_RIGHT",
4102 "value": 0,
4103 "content": {
4104 "type": "SEQ",
4105 "members": [
4106 {
4107 "type": "CHOICE",
4108 "members": [
4109 {
4110 "type": "SYMBOL",
4111 "name": "ms_based_modifier"
4112 },
4113 {
4114 "type": "BLANK"
4115 }
4116 ]
4117 },
4118 {
4119 "type": "STRING",
4120 "value": "*"
4121 },
4122 {
4123 "type": "REPEAT",
4124 "content": {
4125 "type": "SYMBOL",
4126 "name": "ms_pointer_modifier"
4127 }
4128 },
4129 {
4130 "type": "REPEAT",
4131 "content": {
4132 "type": "SYMBOL",
4133 "name": "type_qualifier"
4134 }
4135 },
4136 {
4137 "type": "FIELD",
4138 "name": "declarator",
4139 "content": {
4140 "type": "SYMBOL",
4141 "name": "_declarator"
4142 }
4143 }
4144 ]
4145 }
4146 }
4147 },
4148 "pointer_field_declarator": {
4149 "type": "PREC_DYNAMIC",
4150 "value": 1,
4151 "content": {
4152 "type": "PREC_RIGHT",
4153 "value": 0,
4154 "content": {
4155 "type": "SEQ",
4156 "members": [
4157 {
4158 "type": "CHOICE",
4159 "members": [
4160 {
4161 "type": "SYMBOL",
4162 "name": "ms_based_modifier"
4163 },
4164 {
4165 "type": "BLANK"
4166 }
4167 ]
4168 },
4169 {
4170 "type": "STRING",
4171 "value": "*"
4172 },
4173 {
4174 "type": "REPEAT",
4175 "content": {
4176 "type": "SYMBOL",
4177 "name": "ms_pointer_modifier"
4178 }
4179 },
4180 {
4181 "type": "REPEAT",
4182 "content": {
4183 "type": "SYMBOL",
4184 "name": "type_qualifier"
4185 }
4186 },
4187 {
4188 "type": "FIELD",
4189 "name": "declarator",
4190 "content": {
4191 "type": "SYMBOL",
4192 "name": "_field_declarator"
4193 }
4194 }
4195 ]
4196 }
4197 }
4198 },
4199 "pointer_type_declarator": {
4200 "type": "PREC_DYNAMIC",
4201 "value": 1,
4202 "content": {
4203 "type": "PREC_RIGHT",
4204 "value": 0,
4205 "content": {
4206 "type": "SEQ",
4207 "members": [
4208 {
4209 "type": "CHOICE",
4210 "members": [
4211 {
4212 "type": "SYMBOL",
4213 "name": "ms_based_modifier"
4214 },
4215 {
4216 "type": "BLANK"
4217 }
4218 ]
4219 },
4220 {
4221 "type": "STRING",
4222 "value": "*"
4223 },
4224 {
4225 "type": "REPEAT",
4226 "content": {
4227 "type": "SYMBOL",
4228 "name": "ms_pointer_modifier"
4229 }
4230 },
4231 {
4232 "type": "REPEAT",
4233 "content": {
4234 "type": "SYMBOL",
4235 "name": "type_qualifier"
4236 }
4237 },
4238 {
4239 "type": "FIELD",
4240 "name": "declarator",
4241 "content": {
4242 "type": "SYMBOL",
4243 "name": "_type_declarator"
4244 }
4245 }
4246 ]
4247 }
4248 }
4249 },
4250 "abstract_pointer_declarator": {
4251 "type": "PREC_DYNAMIC",
4252 "value": 1,
4253 "content": {
4254 "type": "PREC_RIGHT",
4255 "value": 0,
4256 "content": {
4257 "type": "SEQ",
4258 "members": [
4259 {
4260 "type": "STRING",
4261 "value": "*"
4262 },
4263 {
4264 "type": "REPEAT",
4265 "content": {
4266 "type": "SYMBOL",
4267 "name": "ms_pointer_modifier"
4268 }
4269 },
4270 {
4271 "type": "REPEAT",
4272 "content": {
4273 "type": "SYMBOL",
4274 "name": "type_qualifier"
4275 }
4276 },
4277 {
4278 "type": "FIELD",
4279 "name": "declarator",
4280 "content": {
4281 "type": "CHOICE",
4282 "members": [
4283 {
4284 "type": "SYMBOL",
4285 "name": "_abstract_declarator"
4286 },
4287 {
4288 "type": "BLANK"
4289 }
4290 ]
4291 }
4292 }
4293 ]
4294 }
4295 }
4296 },
4297 "function_declarator": {
4298 "type": "PREC_RIGHT",
4299 "value": 1,
4300 "content": {
4301 "type": "SEQ",
4302 "members": [
4303 {
4304 "type": "FIELD",
4305 "name": "declarator",
4306 "content": {
4307 "type": "SYMBOL",
4308 "name": "_declarator"
4309 }
4310 },
4311 {
4312 "type": "FIELD",
4313 "name": "parameters",
4314 "content": {
4315 "type": "SYMBOL",
4316 "name": "parameter_list"
4317 }
4318 },
4319 {
4320 "type": "CHOICE",
4321 "members": [
4322 {
4323 "type": "SYMBOL",
4324 "name": "gnu_asm_expression"
4325 },
4326 {
4327 "type": "BLANK"
4328 }
4329 ]
4330 },
4331 {
4332 "type": "REPEAT",
4333 "content": {
4334 "type": "CHOICE",
4335 "members": [
4336 {
4337 "type": "SYMBOL",
4338 "name": "attribute_specifier"
4339 },
4340 {
4341 "type": "SYMBOL",
4342 "name": "identifier"
4343 },
4344 {
4345 "type": "ALIAS",
4346 "content": {
4347 "type": "SYMBOL",
4348 "name": "preproc_call_expression"
4349 },
4350 "named": true,
4351 "value": "call_expression"
4352 }
4353 ]
4354 }
4355 }
4356 ]
4357 }
4358 },
4359 "_function_declaration_declarator": {
4360 "type": "PREC_RIGHT",
4361 "value": 1,
4362 "content": {
4363 "type": "SEQ",
4364 "members": [
4365 {
4366 "type": "FIELD",
4367 "name": "declarator",
4368 "content": {
4369 "type": "SYMBOL",
4370 "name": "_declarator"
4371 }
4372 },
4373 {
4374 "type": "FIELD",
4375 "name": "parameters",
4376 "content": {
4377 "type": "SYMBOL",
4378 "name": "parameter_list"
4379 }
4380 },
4381 {
4382 "type": "CHOICE",
4383 "members": [
4384 {
4385 "type": "SYMBOL",
4386 "name": "gnu_asm_expression"
4387 },
4388 {
4389 "type": "BLANK"
4390 }
4391 ]
4392 },
4393 {
4394 "type": "REPEAT",
4395 "content": {
4396 "type": "SYMBOL",
4397 "name": "attribute_specifier"
4398 }
4399 }
4400 ]
4401 }
4402 },
4403 "function_field_declarator": {
4404 "type": "PREC",
4405 "value": 1,
4406 "content": {
4407 "type": "SEQ",
4408 "members": [
4409 {
4410 "type": "FIELD",
4411 "name": "declarator",
4412 "content": {
4413 "type": "SYMBOL",
4414 "name": "_field_declarator"
4415 }
4416 },
4417 {
4418 "type": "FIELD",
4419 "name": "parameters",
4420 "content": {
4421 "type": "SYMBOL",
4422 "name": "parameter_list"
4423 }
4424 }
4425 ]
4426 }
4427 },
4428 "function_type_declarator": {
4429 "type": "PREC",
4430 "value": 1,
4431 "content": {
4432 "type": "SEQ",
4433 "members": [
4434 {
4435 "type": "FIELD",
4436 "name": "declarator",
4437 "content": {
4438 "type": "SYMBOL",
4439 "name": "_type_declarator"
4440 }
4441 },
4442 {
4443 "type": "FIELD",
4444 "name": "parameters",
4445 "content": {
4446 "type": "SYMBOL",
4447 "name": "parameter_list"
4448 }
4449 }
4450 ]
4451 }
4452 },
4453 "abstract_function_declarator": {
4454 "type": "PREC",
4455 "value": 1,
4456 "content": {
4457 "type": "SEQ",
4458 "members": [
4459 {
4460 "type": "FIELD",
4461 "name": "declarator",
4462 "content": {
4463 "type": "CHOICE",
4464 "members": [
4465 {
4466 "type": "SYMBOL",
4467 "name": "_abstract_declarator"
4468 },
4469 {
4470 "type": "BLANK"
4471 }
4472 ]
4473 }
4474 },
4475 {
4476 "type": "FIELD",
4477 "name": "parameters",
4478 "content": {
4479 "type": "SYMBOL",
4480 "name": "parameter_list"
4481 }
4482 }
4483 ]
4484 }
4485 },
4486 "_old_style_function_declarator": {
4487 "type": "SEQ",
4488 "members": [
4489 {
4490 "type": "FIELD",
4491 "name": "declarator",
4492 "content": {
4493 "type": "SYMBOL",
4494 "name": "_declarator"
4495 }
4496 },
4497 {
4498 "type": "FIELD",
4499 "name": "parameters",
4500 "content": {
4501 "type": "ALIAS",
4502 "content": {
4503 "type": "SYMBOL",
4504 "name": "_old_style_parameter_list"
4505 },
4506 "named": true,
4507 "value": "parameter_list"
4508 }
4509 }
4510 ]
4511 },
4512 "array_declarator": {
4513 "type": "PREC",
4514 "value": 1,
4515 "content": {
4516 "type": "SEQ",
4517 "members": [
4518 {
4519 "type": "FIELD",
4520 "name": "declarator",
4521 "content": {
4522 "type": "SYMBOL",
4523 "name": "_declarator"
4524 }
4525 },
4526 {
4527 "type": "STRING",
4528 "value": "["
4529 },
4530 {
4531 "type": "REPEAT",
4532 "content": {
4533 "type": "CHOICE",
4534 "members": [
4535 {
4536 "type": "SYMBOL",
4537 "name": "type_qualifier"
4538 },
4539 {
4540 "type": "STRING",
4541 "value": "static"
4542 }
4543 ]
4544 }
4545 },
4546 {
4547 "type": "FIELD",
4548 "name": "size",
4549 "content": {
4550 "type": "CHOICE",
4551 "members": [
4552 {
4553 "type": "CHOICE",
4554 "members": [
4555 {
4556 "type": "SYMBOL",
4557 "name": "expression"
4558 },
4559 {
4560 "type": "STRING",
4561 "value": "*"
4562 }
4563 ]
4564 },
4565 {
4566 "type": "BLANK"
4567 }
4568 ]
4569 }
4570 },
4571 {
4572 "type": "STRING",
4573 "value": "]"
4574 }
4575 ]
4576 }
4577 },
4578 "array_field_declarator": {
4579 "type": "PREC",
4580 "value": 1,
4581 "content": {
4582 "type": "SEQ",
4583 "members": [
4584 {
4585 "type": "FIELD",
4586 "name": "declarator",
4587 "content": {
4588 "type": "SYMBOL",
4589 "name": "_field_declarator"
4590 }
4591 },
4592 {
4593 "type": "STRING",
4594 "value": "["
4595 },
4596 {
4597 "type": "REPEAT",
4598 "content": {
4599 "type": "CHOICE",
4600 "members": [
4601 {
4602 "type": "SYMBOL",
4603 "name": "type_qualifier"
4604 },
4605 {
4606 "type": "STRING",
4607 "value": "static"
4608 }
4609 ]
4610 }
4611 },
4612 {
4613 "type": "FIELD",
4614 "name": "size",
4615 "content": {
4616 "type": "CHOICE",
4617 "members": [
4618 {
4619 "type": "CHOICE",
4620 "members": [
4621 {
4622 "type": "SYMBOL",
4623 "name": "expression"
4624 },
4625 {
4626 "type": "STRING",
4627 "value": "*"
4628 }
4629 ]
4630 },
4631 {
4632 "type": "BLANK"
4633 }
4634 ]
4635 }
4636 },
4637 {
4638 "type": "STRING",
4639 "value": "]"
4640 }
4641 ]
4642 }
4643 },
4644 "array_type_declarator": {
4645 "type": "PREC",
4646 "value": 1,
4647 "content": {
4648 "type": "SEQ",
4649 "members": [
4650 {
4651 "type": "FIELD",
4652 "name": "declarator",
4653 "content": {
4654 "type": "SYMBOL",
4655 "name": "_type_declarator"
4656 }
4657 },
4658 {
4659 "type": "STRING",
4660 "value": "["
4661 },
4662 {
4663 "type": "REPEAT",
4664 "content": {
4665 "type": "CHOICE",
4666 "members": [
4667 {
4668 "type": "SYMBOL",
4669 "name": "type_qualifier"
4670 },
4671 {
4672 "type": "STRING",
4673 "value": "static"
4674 }
4675 ]
4676 }
4677 },
4678 {
4679 "type": "FIELD",
4680 "name": "size",
4681 "content": {
4682 "type": "CHOICE",
4683 "members": [
4684 {
4685 "type": "CHOICE",
4686 "members": [
4687 {
4688 "type": "SYMBOL",
4689 "name": "expression"
4690 },
4691 {
4692 "type": "STRING",
4693 "value": "*"
4694 }
4695 ]
4696 },
4697 {
4698 "type": "BLANK"
4699 }
4700 ]
4701 }
4702 },
4703 {
4704 "type": "STRING",
4705 "value": "]"
4706 }
4707 ]
4708 }
4709 },
4710 "abstract_array_declarator": {
4711 "type": "PREC",
4712 "value": 1,
4713 "content": {
4714 "type": "SEQ",
4715 "members": [
4716 {
4717 "type": "FIELD",
4718 "name": "declarator",
4719 "content": {
4720 "type": "CHOICE",
4721 "members": [
4722 {
4723 "type": "SYMBOL",
4724 "name": "_abstract_declarator"
4725 },
4726 {
4727 "type": "BLANK"
4728 }
4729 ]
4730 }
4731 },
4732 {
4733 "type": "STRING",
4734 "value": "["
4735 },
4736 {
4737 "type": "REPEAT",
4738 "content": {
4739 "type": "CHOICE",
4740 "members": [
4741 {
4742 "type": "SYMBOL",
4743 "name": "type_qualifier"
4744 },
4745 {
4746 "type": "STRING",
4747 "value": "static"
4748 }
4749 ]
4750 }
4751 },
4752 {
4753 "type": "FIELD",
4754 "name": "size",
4755 "content": {
4756 "type": "CHOICE",
4757 "members": [
4758 {
4759 "type": "CHOICE",
4760 "members": [
4761 {
4762 "type": "SYMBOL",
4763 "name": "expression"
4764 },
4765 {
4766 "type": "STRING",
4767 "value": "*"
4768 }
4769 ]
4770 },
4771 {
4772 "type": "BLANK"
4773 }
4774 ]
4775 }
4776 },
4777 {
4778 "type": "STRING",
4779 "value": "]"
4780 }
4781 ]
4782 }
4783 },
4784 "init_declarator": {
4785 "type": "SEQ",
4786 "members": [
4787 {
4788 "type": "FIELD",
4789 "name": "declarator",
4790 "content": {
4791 "type": "SYMBOL",
4792 "name": "_declarator"
4793 }
4794 },
4795 {
4796 "type": "STRING",
4797 "value": "="
4798 },
4799 {
4800 "type": "FIELD",
4801 "name": "value",
4802 "content": {
4803 "type": "CHOICE",
4804 "members": [
4805 {
4806 "type": "SYMBOL",
4807 "name": "initializer_list"
4808 },
4809 {
4810 "type": "SYMBOL",
4811 "name": "expression"
4812 }
4813 ]
4814 }
4815 }
4816 ]
4817 },
4818 "compound_statement": {
4819 "type": "SEQ",
4820 "members": [
4821 {
4822 "type": "STRING",
4823 "value": "{"
4824 },
4825 {
4826 "type": "REPEAT",
4827 "content": {
4828 "type": "SYMBOL",
4829 "name": "_block_item"
4830 }
4831 },
4832 {
4833 "type": "STRING",
4834 "value": "}"
4835 }
4836 ]
4837 },
4838 "storage_class_specifier": {
4839 "type": "CHOICE",
4840 "members": [
4841 {
4842 "type": "STRING",
4843 "value": "extern"
4844 },
4845 {
4846 "type": "STRING",
4847 "value": "static"
4848 },
4849 {
4850 "type": "STRING",
4851 "value": "auto"
4852 },
4853 {
4854 "type": "STRING",
4855 "value": "register"
4856 },
4857 {
4858 "type": "STRING",
4859 "value": "inline"
4860 },
4861 {
4862 "type": "STRING",
4863 "value": "__inline"
4864 },
4865 {
4866 "type": "STRING",
4867 "value": "__inline__"
4868 },
4869 {
4870 "type": "STRING",
4871 "value": "__forceinline"
4872 },
4873 {
4874 "type": "STRING",
4875 "value": "thread_local"
4876 },
4877 {
4878 "type": "STRING",
4879 "value": "__thread"
4880 }
4881 ]
4882 },
4883 "type_qualifier": {
4884 "type": "CHOICE",
4885 "members": [
4886 {
4887 "type": "STRING",
4888 "value": "const"
4889 },
4890 {
4891 "type": "STRING",
4892 "value": "constexpr"
4893 },
4894 {
4895 "type": "STRING",
4896 "value": "volatile"
4897 },
4898 {
4899 "type": "STRING",
4900 "value": "restrict"
4901 },
4902 {
4903 "type": "STRING",
4904 "value": "__restrict__"
4905 },
4906 {
4907 "type": "STRING",
4908 "value": "__extension__"
4909 },
4910 {
4911 "type": "STRING",
4912 "value": "_Atomic"
4913 },
4914 {
4915 "type": "STRING",
4916 "value": "_Noreturn"
4917 },
4918 {
4919 "type": "STRING",
4920 "value": "noreturn"
4921 },
4922 {
4923 "type": "SYMBOL",
4924 "name": "alignas_qualifier"
4925 }
4926 ]
4927 },
4928 "alignas_qualifier": {
4929 "type": "SEQ",
4930 "members": [
4931 {
4932 "type": "CHOICE",
4933 "members": [
4934 {
4935 "type": "STRING",
4936 "value": "alignas"
4937 },
4938 {
4939 "type": "STRING",
4940 "value": "_Alignas"
4941 }
4942 ]
4943 },
4944 {
4945 "type": "STRING",
4946 "value": "("
4947 },
4948 {
4949 "type": "CHOICE",
4950 "members": [
4951 {
4952 "type": "SYMBOL",
4953 "name": "expression"
4954 },
4955 {
4956 "type": "SYMBOL",
4957 "name": "type_descriptor"
4958 }
4959 ]
4960 },
4961 {
4962 "type": "STRING",
4963 "value": ")"
4964 }
4965 ]
4966 },
4967 "type_specifier": {
4968 "type": "CHOICE",
4969 "members": [
4970 {
4971 "type": "SYMBOL",
4972 "name": "struct_specifier"
4973 },
4974 {
4975 "type": "SYMBOL",
4976 "name": "union_specifier"
4977 },
4978 {
4979 "type": "SYMBOL",
4980 "name": "enum_specifier"
4981 },
4982 {
4983 "type": "SYMBOL",
4984 "name": "macro_type_specifier"
4985 },
4986 {
4987 "type": "SYMBOL",
4988 "name": "sized_type_specifier"
4989 },
4990 {
4991 "type": "SYMBOL",
4992 "name": "primitive_type"
4993 },
4994 {
4995 "type": "SYMBOL",
4996 "name": "_type_identifier"
4997 }
4998 ]
4999 },
5000 "sized_type_specifier": {
5001 "type": "CHOICE",
5002 "members": [
5003 {
5004 "type": "SEQ",
5005 "members": [
5006 {
5007 "type": "REPEAT",
5008 "content": {
5009 "type": "CHOICE",
5010 "members": [
5011 {
5012 "type": "STRING",
5013 "value": "signed"
5014 },
5015 {
5016 "type": "STRING",
5017 "value": "unsigned"
5018 },
5019 {
5020 "type": "STRING",
5021 "value": "long"
5022 },
5023 {
5024 "type": "STRING",
5025 "value": "short"
5026 }
5027 ]
5028 }
5029 },
5030 {
5031 "type": "FIELD",
5032 "name": "type",
5033 "content": {
5034 "type": "CHOICE",
5035 "members": [
5036 {
5037 "type": "CHOICE",
5038 "members": [
5039 {
5040 "type": "PREC_DYNAMIC",
5041 "value": -1,
5042 "content": {
5043 "type": "SYMBOL",
5044 "name": "_type_identifier"
5045 }
5046 },
5047 {
5048 "type": "SYMBOL",
5049 "name": "primitive_type"
5050 }
5051 ]
5052 },
5053 {
5054 "type": "BLANK"
5055 }
5056 ]
5057 }
5058 },
5059 {
5060 "type": "REPEAT1",
5061 "content": {
5062 "type": "CHOICE",
5063 "members": [
5064 {
5065 "type": "STRING",
5066 "value": "signed"
5067 },
5068 {
5069 "type": "STRING",
5070 "value": "unsigned"
5071 },
5072 {
5073 "type": "STRING",
5074 "value": "long"
5075 },
5076 {
5077 "type": "STRING",
5078 "value": "short"
5079 }
5080 ]
5081 }
5082 }
5083 ]
5084 },
5085 {
5086 "type": "SEQ",
5087 "members": [
5088 {
5089 "type": "REPEAT1",
5090 "content": {
5091 "type": "CHOICE",
5092 "members": [
5093 {
5094 "type": "STRING",
5095 "value": "signed"
5096 },
5097 {
5098 "type": "STRING",
5099 "value": "unsigned"
5100 },
5101 {
5102 "type": "STRING",
5103 "value": "long"
5104 },
5105 {
5106 "type": "STRING",
5107 "value": "short"
5108 }
5109 ]
5110 }
5111 },
5112 {
5113 "type": "FIELD",
5114 "name": "type",
5115 "content": {
5116 "type": "CHOICE",
5117 "members": [
5118 {
5119 "type": "CHOICE",
5120 "members": [
5121 {
5122 "type": "PREC_DYNAMIC",
5123 "value": -1,
5124 "content": {
5125 "type": "SYMBOL",
5126 "name": "_type_identifier"
5127 }
5128 },
5129 {
5130 "type": "SYMBOL",
5131 "name": "primitive_type"
5132 }
5133 ]
5134 },
5135 {
5136 "type": "BLANK"
5137 }
5138 ]
5139 }
5140 },
5141 {
5142 "type": "REPEAT",
5143 "content": {
5144 "type": "CHOICE",
5145 "members": [
5146 {
5147 "type": "STRING",
5148 "value": "signed"
5149 },
5150 {
5151 "type": "STRING",
5152 "value": "unsigned"
5153 },
5154 {
5155 "type": "STRING",
5156 "value": "long"
5157 },
5158 {
5159 "type": "STRING",
5160 "value": "short"
5161 }
5162 ]
5163 }
5164 }
5165 ]
5166 }
5167 ]
5168 },
5169 "primitive_type": {
5170 "type": "TOKEN",
5171 "content": {
5172 "type": "CHOICE",
5173 "members": [
5174 {
5175 "type": "STRING",
5176 "value": "bool"
5177 },
5178 {
5179 "type": "STRING",
5180 "value": "char"
5181 },
5182 {
5183 "type": "STRING",
5184 "value": "int"
5185 },
5186 {
5187 "type": "STRING",
5188 "value": "float"
5189 },
5190 {
5191 "type": "STRING",
5192 "value": "double"
5193 },
5194 {
5195 "type": "STRING",
5196 "value": "void"
5197 },
5198 {
5199 "type": "STRING",
5200 "value": "size_t"
5201 },
5202 {
5203 "type": "STRING",
5204 "value": "ssize_t"
5205 },
5206 {
5207 "type": "STRING",
5208 "value": "ptrdiff_t"
5209 },
5210 {
5211 "type": "STRING",
5212 "value": "intptr_t"
5213 },
5214 {
5215 "type": "STRING",
5216 "value": "uintptr_t"
5217 },
5218 {
5219 "type": "STRING",
5220 "value": "charptr_t"
5221 },
5222 {
5223 "type": "STRING",
5224 "value": "nullptr_t"
5225 },
5226 {
5227 "type": "STRING",
5228 "value": "max_align_t"
5229 },
5230 {
5231 "type": "STRING",
5232 "value": "int8_t"
5233 },
5234 {
5235 "type": "STRING",
5236 "value": "int16_t"
5237 },
5238 {
5239 "type": "STRING",
5240 "value": "int32_t"
5241 },
5242 {
5243 "type": "STRING",
5244 "value": "int64_t"
5245 },
5246 {
5247 "type": "STRING",
5248 "value": "uint8_t"
5249 },
5250 {
5251 "type": "STRING",
5252 "value": "uint16_t"
5253 },
5254 {
5255 "type": "STRING",
5256 "value": "uint32_t"
5257 },
5258 {
5259 "type": "STRING",
5260 "value": "uint64_t"
5261 },
5262 {
5263 "type": "STRING",
5264 "value": "char8_t"
5265 },
5266 {
5267 "type": "STRING",
5268 "value": "char16_t"
5269 },
5270 {
5271 "type": "STRING",
5272 "value": "char32_t"
5273 },
5274 {
5275 "type": "STRING",
5276 "value": "char64_t"
5277 }
5278 ]
5279 }
5280 },
5281 "enum_specifier": {
5282 "type": "SEQ",
5283 "members": [
5284 {
5285 "type": "STRING",
5286 "value": "enum"
5287 },
5288 {
5289 "type": "CHOICE",
5290 "members": [
5291 {
5292 "type": "SEQ",
5293 "members": [
5294 {
5295 "type": "FIELD",
5296 "name": "name",
5297 "content": {
5298 "type": "SYMBOL",
5299 "name": "_type_identifier"
5300 }
5301 },
5302 {
5303 "type": "CHOICE",
5304 "members": [
5305 {
5306 "type": "SEQ",
5307 "members": [
5308 {
5309 "type": "STRING",
5310 "value": ":"
5311 },
5312 {
5313 "type": "FIELD",
5314 "name": "underlying_type",
5315 "content": {
5316 "type": "SYMBOL",
5317 "name": "primitive_type"
5318 }
5319 }
5320 ]
5321 },
5322 {
5323 "type": "BLANK"
5324 }
5325 ]
5326 },
5327 {
5328 "type": "FIELD",
5329 "name": "body",
5330 "content": {
5331 "type": "CHOICE",
5332 "members": [
5333 {
5334 "type": "SYMBOL",
5335 "name": "enumerator_list"
5336 },
5337 {
5338 "type": "BLANK"
5339 }
5340 ]
5341 }
5342 }
5343 ]
5344 },
5345 {
5346 "type": "FIELD",
5347 "name": "body",
5348 "content": {
5349 "type": "SYMBOL",
5350 "name": "enumerator_list"
5351 }
5352 }
5353 ]
5354 },
5355 {
5356 "type": "CHOICE",
5357 "members": [
5358 {
5359 "type": "SYMBOL",
5360 "name": "attribute_specifier"
5361 },
5362 {
5363 "type": "BLANK"
5364 }
5365 ]
5366 }
5367 ]
5368 },
5369 "enumerator_list": {
5370 "type": "SEQ",
5371 "members": [
5372 {
5373 "type": "STRING",
5374 "value": "{"
5375 },
5376 {
5377 "type": "REPEAT",
5378 "content": {
5379 "type": "CHOICE",
5380 "members": [
5381 {
5382 "type": "SEQ",
5383 "members": [
5384 {
5385 "type": "SYMBOL",
5386 "name": "enumerator"
5387 },
5388 {
5389 "type": "STRING",
5390 "value": ","
5391 }
5392 ]
5393 },
5394 {
5395 "type": "ALIAS",
5396 "content": {
5397 "type": "SYMBOL",
5398 "name": "preproc_if_in_enumerator_list"
5399 },
5400 "named": true,
5401 "value": "preproc_if"
5402 },
5403 {
5404 "type": "ALIAS",
5405 "content": {
5406 "type": "SYMBOL",
5407 "name": "preproc_ifdef_in_enumerator_list"
5408 },
5409 "named": true,
5410 "value": "preproc_ifdef"
5411 },
5412 {
5413 "type": "SEQ",
5414 "members": [
5415 {
5416 "type": "SYMBOL",
5417 "name": "preproc_call"
5418 },
5419 {
5420 "type": "STRING",
5421 "value": ","
5422 }
5423 ]
5424 }
5425 ]
5426 }
5427 },
5428 {
5429 "type": "CHOICE",
5430 "members": [
5431 {
5432 "type": "SEQ",
5433 "members": [
5434 {
5435 "type": "CHOICE",
5436 "members": [
5437 {
5438 "type": "SYMBOL",
5439 "name": "enumerator"
5440 },
5441 {
5442 "type": "ALIAS",
5443 "content": {
5444 "type": "SYMBOL",
5445 "name": "preproc_if_in_enumerator_list_no_comma"
5446 },
5447 "named": true,
5448 "value": "preproc_if"
5449 },
5450 {
5451 "type": "ALIAS",
5452 "content": {
5453 "type": "SYMBOL",
5454 "name": "preproc_ifdef_in_enumerator_list_no_comma"
5455 },
5456 "named": true,
5457 "value": "preproc_ifdef"
5458 },
5459 {
5460 "type": "SYMBOL",
5461 "name": "preproc_call"
5462 }
5463 ]
5464 }
5465 ]
5466 },
5467 {
5468 "type": "BLANK"
5469 }
5470 ]
5471 },
5472 {
5473 "type": "STRING",
5474 "value": "}"
5475 }
5476 ]
5477 },
5478 "struct_specifier": {
5479 "type": "PREC_RIGHT",
5480 "value": 0,
5481 "content": {
5482 "type": "SEQ",
5483 "members": [
5484 {
5485 "type": "STRING",
5486 "value": "struct"
5487 },
5488 {
5489 "type": "CHOICE",
5490 "members": [
5491 {
5492 "type": "SYMBOL",
5493 "name": "attribute_specifier"
5494 },
5495 {
5496 "type": "BLANK"
5497 }
5498 ]
5499 },
5500 {
5501 "type": "CHOICE",
5502 "members": [
5503 {
5504 "type": "SYMBOL",
5505 "name": "ms_declspec_modifier"
5506 },
5507 {
5508 "type": "BLANK"
5509 }
5510 ]
5511 },
5512 {
5513 "type": "CHOICE",
5514 "members": [
5515 {
5516 "type": "SEQ",
5517 "members": [
5518 {
5519 "type": "FIELD",
5520 "name": "name",
5521 "content": {
5522 "type": "SYMBOL",
5523 "name": "_type_identifier"
5524 }
5525 },
5526 {
5527 "type": "FIELD",
5528 "name": "body",
5529 "content": {
5530 "type": "CHOICE",
5531 "members": [
5532 {
5533 "type": "SYMBOL",
5534 "name": "field_declaration_list"
5535 },
5536 {
5537 "type": "BLANK"
5538 }
5539 ]
5540 }
5541 }
5542 ]
5543 },
5544 {
5545 "type": "FIELD",
5546 "name": "body",
5547 "content": {
5548 "type": "SYMBOL",
5549 "name": "field_declaration_list"
5550 }
5551 }
5552 ]
5553 },
5554 {
5555 "type": "CHOICE",
5556 "members": [
5557 {
5558 "type": "SYMBOL",
5559 "name": "attribute_specifier"
5560 },
5561 {
5562 "type": "BLANK"
5563 }
5564 ]
5565 }
5566 ]
5567 }
5568 },
5569 "union_specifier": {
5570 "type": "PREC_RIGHT",
5571 "value": 0,
5572 "content": {
5573 "type": "SEQ",
5574 "members": [
5575 {
5576 "type": "STRING",
5577 "value": "union"
5578 },
5579 {
5580 "type": "CHOICE",
5581 "members": [
5582 {
5583 "type": "SYMBOL",
5584 "name": "ms_declspec_modifier"
5585 },
5586 {
5587 "type": "BLANK"
5588 }
5589 ]
5590 },
5591 {
5592 "type": "CHOICE",
5593 "members": [
5594 {
5595 "type": "SEQ",
5596 "members": [
5597 {
5598 "type": "FIELD",
5599 "name": "name",
5600 "content": {
5601 "type": "SYMBOL",
5602 "name": "_type_identifier"
5603 }
5604 },
5605 {
5606 "type": "FIELD",
5607 "name": "body",
5608 "content": {
5609 "type": "CHOICE",
5610 "members": [
5611 {
5612 "type": "SYMBOL",
5613 "name": "field_declaration_list"
5614 },
5615 {
5616 "type": "BLANK"
5617 }
5618 ]
5619 }
5620 }
5621 ]
5622 },
5623 {
5624 "type": "FIELD",
5625 "name": "body",
5626 "content": {
5627 "type": "SYMBOL",
5628 "name": "field_declaration_list"
5629 }
5630 }
5631 ]
5632 },
5633 {
5634 "type": "CHOICE",
5635 "members": [
5636 {
5637 "type": "SYMBOL",
5638 "name": "attribute_specifier"
5639 },
5640 {
5641 "type": "BLANK"
5642 }
5643 ]
5644 }
5645 ]
5646 }
5647 },
5648 "field_declaration_list": {
5649 "type": "SEQ",
5650 "members": [
5651 {
5652 "type": "STRING",
5653 "value": "{"
5654 },
5655 {
5656 "type": "REPEAT",
5657 "content": {
5658 "type": "SYMBOL",
5659 "name": "_field_declaration_list_item"
5660 }
5661 },
5662 {
5663 "type": "STRING",
5664 "value": "}"
5665 }
5666 ]
5667 },
5668 "_field_declaration_list_item": {
5669 "type": "CHOICE",
5670 "members": [
5671 {
5672 "type": "SYMBOL",
5673 "name": "field_declaration"
5674 },
5675 {
5676 "type": "SYMBOL",
5677 "name": "preproc_def"
5678 },
5679 {
5680 "type": "SYMBOL",
5681 "name": "preproc_function_def"
5682 },
5683 {
5684 "type": "SYMBOL",
5685 "name": "preproc_call"
5686 },
5687 {
5688 "type": "ALIAS",
5689 "content": {
5690 "type": "SYMBOL",
5691 "name": "preproc_if_in_field_declaration_list"
5692 },
5693 "named": true,
5694 "value": "preproc_if"
5695 },
5696 {
5697 "type": "ALIAS",
5698 "content": {
5699 "type": "SYMBOL",
5700 "name": "preproc_ifdef_in_field_declaration_list"
5701 },
5702 "named": true,
5703 "value": "preproc_ifdef"
5704 }
5705 ]
5706 },
5707 "field_declaration": {
5708 "type": "SEQ",
5709 "members": [
5710 {
5711 "type": "REPEAT",
5712 "content": {
5713 "type": "CHOICE",
5714 "members": [
5715 {
5716 "type": "STRING",
5717 "value": "in"
5718 },
5719 {
5720 "type": "STRING",
5721 "value": "out"
5722 },
5723 {
5724 "type": "STRING",
5725 "value": "inout"
5726 },
5727 {
5728 "type": "STRING",
5729 "value": "uniform"
5730 },
5731 {
5732 "type": "STRING",
5733 "value": "shared"
5734 },
5735 {
5736 "type": "STRING",
5737 "value": "attribute"
5738 },
5739 {
5740 "type": "STRING",
5741 "value": "varying"
5742 },
5743 {
5744 "type": "STRING",
5745 "value": "buffer"
5746 },
5747 {
5748 "type": "STRING",
5749 "value": "coherent"
5750 },
5751 {
5752 "type": "STRING",
5753 "value": "readonly"
5754 },
5755 {
5756 "type": "STRING",
5757 "value": "writeonly"
5758 },
5759 {
5760 "type": "STRING",
5761 "value": "precision"
5762 },
5763 {
5764 "type": "STRING",
5765 "value": "highp"
5766 },
5767 {
5768 "type": "STRING",
5769 "value": "mediump"
5770 },
5771 {
5772 "type": "STRING",
5773 "value": "lowp"
5774 },
5775 {
5776 "type": "STRING",
5777 "value": "subroutine"
5778 },
5779 {
5780 "type": "STRING",
5781 "value": "centroid"
5782 },
5783 {
5784 "type": "STRING",
5785 "value": "sample"
5786 },
5787 {
5788 "type": "STRING",
5789 "value": "patch"
5790 },
5791 {
5792 "type": "STRING",
5793 "value": "smooth"
5794 },
5795 {
5796 "type": "STRING",
5797 "value": "flat"
5798 },
5799 {
5800 "type": "STRING",
5801 "value": "noperspective"
5802 },
5803 {
5804 "type": "STRING",
5805 "value": "invariant"
5806 },
5807 {
5808 "type": "STRING",
5809 "value": "precise"
5810 },
5811 {
5812 "type": "SYMBOL",
5813 "name": "extension_storage_class"
5814 },
5815 {
5816 "type": "SYMBOL",
5817 "name": "layout_specification"
5818 }
5819 ]
5820 }
5821 },
5822 {
5823 "type": "SEQ",
5824 "members": [
5825 {
5826 "type": "SYMBOL",
5827 "name": "_declaration_specifiers"
5828 },
5829 {
5830 "type": "CHOICE",
5831 "members": [
5832 {
5833 "type": "SYMBOL",
5834 "name": "_field_declaration_declarator"
5835 },
5836 {
5837 "type": "BLANK"
5838 }
5839 ]
5840 },
5841 {
5842 "type": "CHOICE",
5843 "members": [
5844 {
5845 "type": "SYMBOL",
5846 "name": "attribute_specifier"
5847 },
5848 {
5849 "type": "BLANK"
5850 }
5851 ]
5852 },
5853 {
5854 "type": "STRING",
5855 "value": ";"
5856 }
5857 ]
5858 }
5859 ]
5860 },
5861 "_field_declaration_declarator": {
5862 "type": "SEQ",
5863 "members": [
5864 {
5865 "type": "SEQ",
5866 "members": [
5867 {
5868 "type": "FIELD",
5869 "name": "declarator",
5870 "content": {
5871 "type": "SYMBOL",
5872 "name": "_field_declarator"
5873 }
5874 },
5875 {
5876 "type": "CHOICE",
5877 "members": [
5878 {
5879 "type": "SYMBOL",
5880 "name": "bitfield_clause"
5881 },
5882 {
5883 "type": "BLANK"
5884 }
5885 ]
5886 }
5887 ]
5888 },
5889 {
5890 "type": "REPEAT",
5891 "content": {
5892 "type": "SEQ",
5893 "members": [
5894 {
5895 "type": "STRING",
5896 "value": ","
5897 },
5898 {
5899 "type": "SEQ",
5900 "members": [
5901 {
5902 "type": "FIELD",
5903 "name": "declarator",
5904 "content": {
5905 "type": "SYMBOL",
5906 "name": "_field_declarator"
5907 }
5908 },
5909 {
5910 "type": "CHOICE",
5911 "members": [
5912 {
5913 "type": "SYMBOL",
5914 "name": "bitfield_clause"
5915 },
5916 {
5917 "type": "BLANK"
5918 }
5919 ]
5920 }
5921 ]
5922 }
5923 ]
5924 }
5925 }
5926 ]
5927 },
5928 "bitfield_clause": {
5929 "type": "SEQ",
5930 "members": [
5931 {
5932 "type": "STRING",
5933 "value": ":"
5934 },
5935 {
5936 "type": "SYMBOL",
5937 "name": "expression"
5938 }
5939 ]
5940 },
5941 "enumerator": {
5942 "type": "SEQ",
5943 "members": [
5944 {
5945 "type": "FIELD",
5946 "name": "name",
5947 "content": {
5948 "type": "SYMBOL",
5949 "name": "identifier"
5950 }
5951 },
5952 {
5953 "type": "CHOICE",
5954 "members": [
5955 {
5956 "type": "SEQ",
5957 "members": [
5958 {
5959 "type": "STRING",
5960 "value": "="
5961 },
5962 {
5963 "type": "FIELD",
5964 "name": "value",
5965 "content": {
5966 "type": "SYMBOL",
5967 "name": "expression"
5968 }
5969 }
5970 ]
5971 },
5972 {
5973 "type": "BLANK"
5974 }
5975 ]
5976 }
5977 ]
5978 },
5979 "variadic_parameter": {
5980 "type": "STRING",
5981 "value": "..."
5982 },
5983 "parameter_list": {
5984 "type": "SEQ",
5985 "members": [
5986 {
5987 "type": "STRING",
5988 "value": "("
5989 },
5990 {
5991 "type": "CHOICE",
5992 "members": [
5993 {
5994 "type": "SEQ",
5995 "members": [
5996 {
5997 "type": "CHOICE",
5998 "members": [
5999 {
6000 "type": "SYMBOL",
6001 "name": "parameter_declaration"
6002 },
6003 {
6004 "type": "SYMBOL",
6005 "name": "variadic_parameter"
6006 }
6007 ]
6008 },
6009 {
6010 "type": "REPEAT",
6011 "content": {
6012 "type": "SEQ",
6013 "members": [
6014 {
6015 "type": "STRING",
6016 "value": ","
6017 },
6018 {
6019 "type": "CHOICE",
6020 "members": [
6021 {
6022 "type": "SYMBOL",
6023 "name": "parameter_declaration"
6024 },
6025 {
6026 "type": "SYMBOL",
6027 "name": "variadic_parameter"
6028 }
6029 ]
6030 }
6031 ]
6032 }
6033 }
6034 ]
6035 },
6036 {
6037 "type": "BLANK"
6038 }
6039 ]
6040 },
6041 {
6042 "type": "STRING",
6043 "value": ")"
6044 }
6045 ]
6046 },
6047 "_old_style_parameter_list": {
6048 "type": "SEQ",
6049 "members": [
6050 {
6051 "type": "STRING",
6052 "value": "("
6053 },
6054 {
6055 "type": "CHOICE",
6056 "members": [
6057 {
6058 "type": "SEQ",
6059 "members": [
6060 {
6061 "type": "CHOICE",
6062 "members": [
6063 {
6064 "type": "SYMBOL",
6065 "name": "identifier"
6066 },
6067 {
6068 "type": "SYMBOL",
6069 "name": "variadic_parameter"
6070 }
6071 ]
6072 },
6073 {
6074 "type": "REPEAT",
6075 "content": {
6076 "type": "SEQ",
6077 "members": [
6078 {
6079 "type": "STRING",
6080 "value": ","
6081 },
6082 {
6083 "type": "CHOICE",
6084 "members": [
6085 {
6086 "type": "SYMBOL",
6087 "name": "identifier"
6088 },
6089 {
6090 "type": "SYMBOL",
6091 "name": "variadic_parameter"
6092 }
6093 ]
6094 }
6095 ]
6096 }
6097 }
6098 ]
6099 },
6100 {
6101 "type": "BLANK"
6102 }
6103 ]
6104 },
6105 {
6106 "type": "STRING",
6107 "value": ")"
6108 }
6109 ]
6110 },
6111 "parameter_declaration": {
6112 "type": "SEQ",
6113 "members": [
6114 {
6115 "type": "REPEAT",
6116 "content": {
6117 "type": "CHOICE",
6118 "members": [
6119 {
6120 "type": "STRING",
6121 "value": "in"
6122 },
6123 {
6124 "type": "STRING",
6125 "value": "out"
6126 },
6127 {
6128 "type": "STRING",
6129 "value": "inout"
6130 },
6131 {
6132 "type": "STRING",
6133 "value": "uniform"
6134 },
6135 {
6136 "type": "STRING",
6137 "value": "shared"
6138 },
6139 {
6140 "type": "STRING",
6141 "value": "attribute"
6142 },
6143 {
6144 "type": "STRING",
6145 "value": "varying"
6146 },
6147 {
6148 "type": "STRING",
6149 "value": "buffer"
6150 },
6151 {
6152 "type": "STRING",
6153 "value": "coherent"
6154 },
6155 {
6156 "type": "STRING",
6157 "value": "readonly"
6158 },
6159 {
6160 "type": "STRING",
6161 "value": "writeonly"
6162 },
6163 {
6164 "type": "STRING",
6165 "value": "centroid"
6166 },
6167 {
6168 "type": "STRING",
6169 "value": "sample"
6170 },
6171 {
6172 "type": "STRING",
6173 "value": "patch"
6174 },
6175 {
6176 "type": "STRING",
6177 "value": "smooth"
6178 },
6179 {
6180 "type": "STRING",
6181 "value": "flat"
6182 },
6183 {
6184 "type": "STRING",
6185 "value": "noperspective"
6186 },
6187 {
6188 "type": "STRING",
6189 "value": "precise"
6190 },
6191 {
6192 "type": "SYMBOL",
6193 "name": "layout_specification"
6194 }
6195 ]
6196 }
6197 },
6198 {
6199 "type": "SEQ",
6200 "members": [
6201 {
6202 "type": "SYMBOL",
6203 "name": "_declaration_specifiers"
6204 },
6205 {
6206 "type": "CHOICE",
6207 "members": [
6208 {
6209 "type": "FIELD",
6210 "name": "declarator",
6211 "content": {
6212 "type": "CHOICE",
6213 "members": [
6214 {
6215 "type": "SYMBOL",
6216 "name": "_declarator"
6217 },
6218 {
6219 "type": "SYMBOL",
6220 "name": "_abstract_declarator"
6221 }
6222 ]
6223 }
6224 },
6225 {
6226 "type": "BLANK"
6227 }
6228 ]
6229 }
6230 ]
6231 }
6232 ]
6233 },
6234 "attributed_statement": {
6235 "type": "SEQ",
6236 "members": [
6237 {
6238 "type": "REPEAT1",
6239 "content": {
6240 "type": "SYMBOL",
6241 "name": "attribute_declaration"
6242 }
6243 },
6244 {
6245 "type": "SYMBOL",
6246 "name": "statement"
6247 }
6248 ]
6249 },
6250 "statement": {
6251 "type": "CHOICE",
6252 "members": [
6253 {
6254 "type": "SYMBOL",
6255 "name": "case_statement"
6256 },
6257 {
6258 "type": "SYMBOL",
6259 "name": "_non_case_statement"
6260 }
6261 ]
6262 },
6263 "_non_case_statement": {
6264 "type": "CHOICE",
6265 "members": [
6266 {
6267 "type": "SYMBOL",
6268 "name": "attributed_statement"
6269 },
6270 {
6271 "type": "SYMBOL",
6272 "name": "labeled_statement"
6273 },
6274 {
6275 "type": "SYMBOL",
6276 "name": "compound_statement"
6277 },
6278 {
6279 "type": "SYMBOL",
6280 "name": "expression_statement"
6281 },
6282 {
6283 "type": "SYMBOL",
6284 "name": "if_statement"
6285 },
6286 {
6287 "type": "SYMBOL",
6288 "name": "switch_statement"
6289 },
6290 {
6291 "type": "SYMBOL",
6292 "name": "do_statement"
6293 },
6294 {
6295 "type": "SYMBOL",
6296 "name": "while_statement"
6297 },
6298 {
6299 "type": "SYMBOL",
6300 "name": "for_statement"
6301 },
6302 {
6303 "type": "SYMBOL",
6304 "name": "return_statement"
6305 },
6306 {
6307 "type": "SYMBOL",
6308 "name": "break_statement"
6309 },
6310 {
6311 "type": "SYMBOL",
6312 "name": "continue_statement"
6313 },
6314 {
6315 "type": "SYMBOL",
6316 "name": "goto_statement"
6317 },
6318 {
6319 "type": "SYMBOL",
6320 "name": "seh_try_statement"
6321 },
6322 {
6323 "type": "SYMBOL",
6324 "name": "seh_leave_statement"
6325 }
6326 ]
6327 },
6328 "_top_level_statement": {
6329 "type": "CHOICE",
6330 "members": [
6331 {
6332 "type": "SYMBOL",
6333 "name": "case_statement"
6334 },
6335 {
6336 "type": "SYMBOL",
6337 "name": "attributed_statement"
6338 },
6339 {
6340 "type": "SYMBOL",
6341 "name": "labeled_statement"
6342 },
6343 {
6344 "type": "SYMBOL",
6345 "name": "compound_statement"
6346 },
6347 {
6348 "type": "ALIAS",
6349 "content": {
6350 "type": "SYMBOL",
6351 "name": "_top_level_expression_statement"
6352 },
6353 "named": true,
6354 "value": "expression_statement"
6355 },
6356 {
6357 "type": "SYMBOL",
6358 "name": "if_statement"
6359 },
6360 {
6361 "type": "SYMBOL",
6362 "name": "switch_statement"
6363 },
6364 {
6365 "type": "SYMBOL",
6366 "name": "do_statement"
6367 },
6368 {
6369 "type": "SYMBOL",
6370 "name": "while_statement"
6371 },
6372 {
6373 "type": "SYMBOL",
6374 "name": "for_statement"
6375 },
6376 {
6377 "type": "SYMBOL",
6378 "name": "return_statement"
6379 },
6380 {
6381 "type": "SYMBOL",
6382 "name": "break_statement"
6383 },
6384 {
6385 "type": "SYMBOL",
6386 "name": "continue_statement"
6387 },
6388 {
6389 "type": "SYMBOL",
6390 "name": "goto_statement"
6391 }
6392 ]
6393 },
6394 "labeled_statement": {
6395 "type": "SEQ",
6396 "members": [
6397 {
6398 "type": "FIELD",
6399 "name": "label",
6400 "content": {
6401 "type": "SYMBOL",
6402 "name": "_statement_identifier"
6403 }
6404 },
6405 {
6406 "type": "STRING",
6407 "value": ":"
6408 },
6409 {
6410 "type": "SYMBOL",
6411 "name": "statement"
6412 }
6413 ]
6414 },
6415 "_top_level_expression_statement": {
6416 "type": "SEQ",
6417 "members": [
6418 {
6419 "type": "SYMBOL",
6420 "name": "_expression_not_binary"
6421 },
6422 {
6423 "type": "STRING",
6424 "value": ";"
6425 }
6426 ]
6427 },
6428 "expression_statement": {
6429 "type": "SEQ",
6430 "members": [
6431 {
6432 "type": "CHOICE",
6433 "members": [
6434 {
6435 "type": "CHOICE",
6436 "members": [
6437 {
6438 "type": "SYMBOL",
6439 "name": "expression"
6440 },
6441 {
6442 "type": "SYMBOL",
6443 "name": "comma_expression"
6444 }
6445 ]
6446 },
6447 {
6448 "type": "BLANK"
6449 }
6450 ]
6451 },
6452 {
6453 "type": "STRING",
6454 "value": ";"
6455 }
6456 ]
6457 },
6458 "if_statement": {
6459 "type": "PREC_RIGHT",
6460 "value": 0,
6461 "content": {
6462 "type": "SEQ",
6463 "members": [
6464 {
6465 "type": "STRING",
6466 "value": "if"
6467 },
6468 {
6469 "type": "FIELD",
6470 "name": "condition",
6471 "content": {
6472 "type": "SYMBOL",
6473 "name": "parenthesized_expression"
6474 }
6475 },
6476 {
6477 "type": "FIELD",
6478 "name": "consequence",
6479 "content": {
6480 "type": "SYMBOL",
6481 "name": "statement"
6482 }
6483 },
6484 {
6485 "type": "CHOICE",
6486 "members": [
6487 {
6488 "type": "FIELD",
6489 "name": "alternative",
6490 "content": {
6491 "type": "SYMBOL",
6492 "name": "else_clause"
6493 }
6494 },
6495 {
6496 "type": "BLANK"
6497 }
6498 ]
6499 }
6500 ]
6501 }
6502 },
6503 "else_clause": {
6504 "type": "SEQ",
6505 "members": [
6506 {
6507 "type": "STRING",
6508 "value": "else"
6509 },
6510 {
6511 "type": "SYMBOL",
6512 "name": "statement"
6513 }
6514 ]
6515 },
6516 "switch_statement": {
6517 "type": "SEQ",
6518 "members": [
6519 {
6520 "type": "STRING",
6521 "value": "switch"
6522 },
6523 {
6524 "type": "FIELD",
6525 "name": "condition",
6526 "content": {
6527 "type": "SYMBOL",
6528 "name": "parenthesized_expression"
6529 }
6530 },
6531 {
6532 "type": "FIELD",
6533 "name": "body",
6534 "content": {
6535 "type": "SYMBOL",
6536 "name": "compound_statement"
6537 }
6538 }
6539 ]
6540 },
6541 "case_statement": {
6542 "type": "PREC_RIGHT",
6543 "value": 0,
6544 "content": {
6545 "type": "SEQ",
6546 "members": [
6547 {
6548 "type": "CHOICE",
6549 "members": [
6550 {
6551 "type": "SEQ",
6552 "members": [
6553 {
6554 "type": "STRING",
6555 "value": "case"
6556 },
6557 {
6558 "type": "FIELD",
6559 "name": "value",
6560 "content": {
6561 "type": "SYMBOL",
6562 "name": "expression"
6563 }
6564 }
6565 ]
6566 },
6567 {
6568 "type": "STRING",
6569 "value": "default"
6570 }
6571 ]
6572 },
6573 {
6574 "type": "STRING",
6575 "value": ":"
6576 },
6577 {
6578 "type": "REPEAT",
6579 "content": {
6580 "type": "CHOICE",
6581 "members": [
6582 {
6583 "type": "SYMBOL",
6584 "name": "_non_case_statement"
6585 },
6586 {
6587 "type": "SYMBOL",
6588 "name": "declaration"
6589 },
6590 {
6591 "type": "SYMBOL",
6592 "name": "type_definition"
6593 }
6594 ]
6595 }
6596 }
6597 ]
6598 }
6599 },
6600 "while_statement": {
6601 "type": "SEQ",
6602 "members": [
6603 {
6604 "type": "STRING",
6605 "value": "while"
6606 },
6607 {
6608 "type": "FIELD",
6609 "name": "condition",
6610 "content": {
6611 "type": "SYMBOL",
6612 "name": "parenthesized_expression"
6613 }
6614 },
6615 {
6616 "type": "FIELD",
6617 "name": "body",
6618 "content": {
6619 "type": "SYMBOL",
6620 "name": "statement"
6621 }
6622 }
6623 ]
6624 },
6625 "do_statement": {
6626 "type": "SEQ",
6627 "members": [
6628 {
6629 "type": "STRING",
6630 "value": "do"
6631 },
6632 {
6633 "type": "FIELD",
6634 "name": "body",
6635 "content": {
6636 "type": "SYMBOL",
6637 "name": "statement"
6638 }
6639 },
6640 {
6641 "type": "STRING",
6642 "value": "while"
6643 },
6644 {
6645 "type": "FIELD",
6646 "name": "condition",
6647 "content": {
6648 "type": "SYMBOL",
6649 "name": "parenthesized_expression"
6650 }
6651 },
6652 {
6653 "type": "STRING",
6654 "value": ";"
6655 }
6656 ]
6657 },
6658 "for_statement": {
6659 "type": "SEQ",
6660 "members": [
6661 {
6662 "type": "STRING",
6663 "value": "for"
6664 },
6665 {
6666 "type": "STRING",
6667 "value": "("
6668 },
6669 {
6670 "type": "SYMBOL",
6671 "name": "_for_statement_body"
6672 },
6673 {
6674 "type": "STRING",
6675 "value": ")"
6676 },
6677 {
6678 "type": "FIELD",
6679 "name": "body",
6680 "content": {
6681 "type": "SYMBOL",
6682 "name": "statement"
6683 }
6684 }
6685 ]
6686 },
6687 "_for_statement_body": {
6688 "type": "SEQ",
6689 "members": [
6690 {
6691 "type": "CHOICE",
6692 "members": [
6693 {
6694 "type": "FIELD",
6695 "name": "initializer",
6696 "content": {
6697 "type": "SYMBOL",
6698 "name": "declaration"
6699 }
6700 },
6701 {
6702 "type": "SEQ",
6703 "members": [
6704 {
6705 "type": "FIELD",
6706 "name": "initializer",
6707 "content": {
6708 "type": "CHOICE",
6709 "members": [
6710 {
6711 "type": "CHOICE",
6712 "members": [
6713 {
6714 "type": "SYMBOL",
6715 "name": "expression"
6716 },
6717 {
6718 "type": "SYMBOL",
6719 "name": "comma_expression"
6720 }
6721 ]
6722 },
6723 {
6724 "type": "BLANK"
6725 }
6726 ]
6727 }
6728 },
6729 {
6730 "type": "STRING",
6731 "value": ";"
6732 }
6733 ]
6734 }
6735 ]
6736 },
6737 {
6738 "type": "FIELD",
6739 "name": "condition",
6740 "content": {
6741 "type": "CHOICE",
6742 "members": [
6743 {
6744 "type": "CHOICE",
6745 "members": [
6746 {
6747 "type": "SYMBOL",
6748 "name": "expression"
6749 },
6750 {
6751 "type": "SYMBOL",
6752 "name": "comma_expression"
6753 }
6754 ]
6755 },
6756 {
6757 "type": "BLANK"
6758 }
6759 ]
6760 }
6761 },
6762 {
6763 "type": "STRING",
6764 "value": ";"
6765 },
6766 {
6767 "type": "FIELD",
6768 "name": "update",
6769 "content": {
6770 "type": "CHOICE",
6771 "members": [
6772 {
6773 "type": "CHOICE",
6774 "members": [
6775 {
6776 "type": "SYMBOL",
6777 "name": "expression"
6778 },
6779 {
6780 "type": "SYMBOL",
6781 "name": "comma_expression"
6782 }
6783 ]
6784 },
6785 {
6786 "type": "BLANK"
6787 }
6788 ]
6789 }
6790 }
6791 ]
6792 },
6793 "return_statement": {
6794 "type": "SEQ",
6795 "members": [
6796 {
6797 "type": "STRING",
6798 "value": "return"
6799 },
6800 {
6801 "type": "CHOICE",
6802 "members": [
6803 {
6804 "type": "CHOICE",
6805 "members": [
6806 {
6807 "type": "SYMBOL",
6808 "name": "expression"
6809 },
6810 {
6811 "type": "SYMBOL",
6812 "name": "comma_expression"
6813 }
6814 ]
6815 },
6816 {
6817 "type": "BLANK"
6818 }
6819 ]
6820 },
6821 {
6822 "type": "STRING",
6823 "value": ";"
6824 }
6825 ]
6826 },
6827 "break_statement": {
6828 "type": "SEQ",
6829 "members": [
6830 {
6831 "type": "STRING",
6832 "value": "break"
6833 },
6834 {
6835 "type": "STRING",
6836 "value": ";"
6837 }
6838 ]
6839 },
6840 "continue_statement": {
6841 "type": "SEQ",
6842 "members": [
6843 {
6844 "type": "STRING",
6845 "value": "continue"
6846 },
6847 {
6848 "type": "STRING",
6849 "value": ";"
6850 }
6851 ]
6852 },
6853 "goto_statement": {
6854 "type": "SEQ",
6855 "members": [
6856 {
6857 "type": "STRING",
6858 "value": "goto"
6859 },
6860 {
6861 "type": "FIELD",
6862 "name": "label",
6863 "content": {
6864 "type": "SYMBOL",
6865 "name": "_statement_identifier"
6866 }
6867 },
6868 {
6869 "type": "STRING",
6870 "value": ";"
6871 }
6872 ]
6873 },
6874 "seh_try_statement": {
6875 "type": "SEQ",
6876 "members": [
6877 {
6878 "type": "STRING",
6879 "value": "__try"
6880 },
6881 {
6882 "type": "FIELD",
6883 "name": "body",
6884 "content": {
6885 "type": "SYMBOL",
6886 "name": "compound_statement"
6887 }
6888 },
6889 {
6890 "type": "CHOICE",
6891 "members": [
6892 {
6893 "type": "SYMBOL",
6894 "name": "seh_except_clause"
6895 },
6896 {
6897 "type": "SYMBOL",
6898 "name": "seh_finally_clause"
6899 }
6900 ]
6901 }
6902 ]
6903 },
6904 "seh_except_clause": {
6905 "type": "SEQ",
6906 "members": [
6907 {
6908 "type": "STRING",
6909 "value": "__except"
6910 },
6911 {
6912 "type": "FIELD",
6913 "name": "filter",
6914 "content": {
6915 "type": "SYMBOL",
6916 "name": "parenthesized_expression"
6917 }
6918 },
6919 {
6920 "type": "FIELD",
6921 "name": "body",
6922 "content": {
6923 "type": "SYMBOL",
6924 "name": "compound_statement"
6925 }
6926 }
6927 ]
6928 },
6929 "seh_finally_clause": {
6930 "type": "SEQ",
6931 "members": [
6932 {
6933 "type": "STRING",
6934 "value": "__finally"
6935 },
6936 {
6937 "type": "FIELD",
6938 "name": "body",
6939 "content": {
6940 "type": "SYMBOL",
6941 "name": "compound_statement"
6942 }
6943 }
6944 ]
6945 },
6946 "seh_leave_statement": {
6947 "type": "SEQ",
6948 "members": [
6949 {
6950 "type": "STRING",
6951 "value": "__leave"
6952 },
6953 {
6954 "type": "STRING",
6955 "value": ";"
6956 }
6957 ]
6958 },
6959 "expression": {
6960 "type": "CHOICE",
6961 "members": [
6962 {
6963 "type": "SYMBOL",
6964 "name": "_expression_not_binary"
6965 },
6966 {
6967 "type": "SYMBOL",
6968 "name": "binary_expression"
6969 }
6970 ]
6971 },
6972 "_expression_not_binary": {
6973 "type": "CHOICE",
6974 "members": [
6975 {
6976 "type": "SYMBOL",
6977 "name": "conditional_expression"
6978 },
6979 {
6980 "type": "SYMBOL",
6981 "name": "assignment_expression"
6982 },
6983 {
6984 "type": "SYMBOL",
6985 "name": "unary_expression"
6986 },
6987 {
6988 "type": "SYMBOL",
6989 "name": "update_expression"
6990 },
6991 {
6992 "type": "SYMBOL",
6993 "name": "cast_expression"
6994 },
6995 {
6996 "type": "SYMBOL",
6997 "name": "pointer_expression"
6998 },
6999 {
7000 "type": "SYMBOL",
7001 "name": "sizeof_expression"
7002 },
7003 {
7004 "type": "SYMBOL",
7005 "name": "alignof_expression"
7006 },
7007 {
7008 "type": "SYMBOL",
7009 "name": "offsetof_expression"
7010 },
7011 {
7012 "type": "SYMBOL",
7013 "name": "generic_expression"
7014 },
7015 {
7016 "type": "SYMBOL",
7017 "name": "subscript_expression"
7018 },
7019 {
7020 "type": "SYMBOL",
7021 "name": "call_expression"
7022 },
7023 {
7024 "type": "SYMBOL",
7025 "name": "field_expression"
7026 },
7027 {
7028 "type": "SYMBOL",
7029 "name": "compound_literal_expression"
7030 },
7031 {
7032 "type": "SYMBOL",
7033 "name": "identifier"
7034 },
7035 {
7036 "type": "SYMBOL",
7037 "name": "number_literal"
7038 },
7039 {
7040 "type": "SYMBOL",
7041 "name": "_string"
7042 },
7043 {
7044 "type": "SYMBOL",
7045 "name": "true"
7046 },
7047 {
7048 "type": "SYMBOL",
7049 "name": "false"
7050 },
7051 {
7052 "type": "SYMBOL",
7053 "name": "null"
7054 },
7055 {
7056 "type": "SYMBOL",
7057 "name": "char_literal"
7058 },
7059 {
7060 "type": "SYMBOL",
7061 "name": "parenthesized_expression"
7062 },
7063 {
7064 "type": "SYMBOL",
7065 "name": "gnu_asm_expression"
7066 }
7067 ]
7068 },
7069 "_string": {
7070 "type": "PREC_LEFT",
7071 "value": 0,
7072 "content": {
7073 "type": "CHOICE",
7074 "members": [
7075 {
7076 "type": "SYMBOL",
7077 "name": "string_literal"
7078 },
7079 {
7080 "type": "SYMBOL",
7081 "name": "concatenated_string"
7082 }
7083 ]
7084 }
7085 },
7086 "comma_expression": {
7087 "type": "SEQ",
7088 "members": [
7089 {
7090 "type": "FIELD",
7091 "name": "left",
7092 "content": {
7093 "type": "SYMBOL",
7094 "name": "expression"
7095 }
7096 },
7097 {
7098 "type": "STRING",
7099 "value": ","
7100 },
7101 {
7102 "type": "FIELD",
7103 "name": "right",
7104 "content": {
7105 "type": "CHOICE",
7106 "members": [
7107 {
7108 "type": "SYMBOL",
7109 "name": "expression"
7110 },
7111 {
7112 "type": "SYMBOL",
7113 "name": "comma_expression"
7114 }
7115 ]
7116 }
7117 }
7118 ]
7119 },
7120 "conditional_expression": {
7121 "type": "PREC_RIGHT",
7122 "value": -1,
7123 "content": {
7124 "type": "SEQ",
7125 "members": [
7126 {
7127 "type": "FIELD",
7128 "name": "condition",
7129 "content": {
7130 "type": "SYMBOL",
7131 "name": "expression"
7132 }
7133 },
7134 {
7135 "type": "STRING",
7136 "value": "?"
7137 },
7138 {
7139 "type": "CHOICE",
7140 "members": [
7141 {
7142 "type": "FIELD",
7143 "name": "consequence",
7144 "content": {
7145 "type": "CHOICE",
7146 "members": [
7147 {
7148 "type": "SYMBOL",
7149 "name": "expression"
7150 },
7151 {
7152 "type": "SYMBOL",
7153 "name": "comma_expression"
7154 }
7155 ]
7156 }
7157 },
7158 {
7159 "type": "BLANK"
7160 }
7161 ]
7162 },
7163 {
7164 "type": "STRING",
7165 "value": ":"
7166 },
7167 {
7168 "type": "FIELD",
7169 "name": "alternative",
7170 "content": {
7171 "type": "SYMBOL",
7172 "name": "expression"
7173 }
7174 }
7175 ]
7176 }
7177 },
7178 "_assignment_left_expression": {
7179 "type": "CHOICE",
7180 "members": [
7181 {
7182 "type": "SYMBOL",
7183 "name": "identifier"
7184 },
7185 {
7186 "type": "SYMBOL",
7187 "name": "call_expression"
7188 },
7189 {
7190 "type": "SYMBOL",
7191 "name": "field_expression"
7192 },
7193 {
7194 "type": "SYMBOL",
7195 "name": "pointer_expression"
7196 },
7197 {
7198 "type": "SYMBOL",
7199 "name": "subscript_expression"
7200 },
7201 {
7202 "type": "SYMBOL",
7203 "name": "parenthesized_expression"
7204 }
7205 ]
7206 },
7207 "assignment_expression": {
7208 "type": "PREC_RIGHT",
7209 "value": -2,
7210 "content": {
7211 "type": "SEQ",
7212 "members": [
7213 {
7214 "type": "FIELD",
7215 "name": "left",
7216 "content": {
7217 "type": "SYMBOL",
7218 "name": "_assignment_left_expression"
7219 }
7220 },
7221 {
7222 "type": "FIELD",
7223 "name": "operator",
7224 "content": {
7225 "type": "CHOICE",
7226 "members": [
7227 {
7228 "type": "STRING",
7229 "value": "="
7230 },
7231 {
7232 "type": "STRING",
7233 "value": "*="
7234 },
7235 {
7236 "type": "STRING",
7237 "value": "/="
7238 },
7239 {
7240 "type": "STRING",
7241 "value": "%="
7242 },
7243 {
7244 "type": "STRING",
7245 "value": "+="
7246 },
7247 {
7248 "type": "STRING",
7249 "value": "-="
7250 },
7251 {
7252 "type": "STRING",
7253 "value": "<<="
7254 },
7255 {
7256 "type": "STRING",
7257 "value": ">>="
7258 },
7259 {
7260 "type": "STRING",
7261 "value": "&="
7262 },
7263 {
7264 "type": "STRING",
7265 "value": "^="
7266 },
7267 {
7268 "type": "STRING",
7269 "value": "|="
7270 }
7271 ]
7272 }
7273 },
7274 {
7275 "type": "FIELD",
7276 "name": "right",
7277 "content": {
7278 "type": "SYMBOL",
7279 "name": "expression"
7280 }
7281 }
7282 ]
7283 }
7284 },
7285 "pointer_expression": {
7286 "type": "PREC_LEFT",
7287 "value": 12,
7288 "content": {
7289 "type": "SEQ",
7290 "members": [
7291 {
7292 "type": "FIELD",
7293 "name": "operator",
7294 "content": {
7295 "type": "CHOICE",
7296 "members": [
7297 {
7298 "type": "STRING",
7299 "value": "*"
7300 },
7301 {
7302 "type": "STRING",
7303 "value": "&"
7304 }
7305 ]
7306 }
7307 },
7308 {
7309 "type": "FIELD",
7310 "name": "argument",
7311 "content": {
7312 "type": "SYMBOL",
7313 "name": "expression"
7314 }
7315 }
7316 ]
7317 }
7318 },
7319 "unary_expression": {
7320 "type": "PREC_LEFT",
7321 "value": 14,
7322 "content": {
7323 "type": "SEQ",
7324 "members": [
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 }
7349 },
7350 {
7351 "type": "FIELD",
7352 "name": "argument",
7353 "content": {
7354 "type": "SYMBOL",
7355 "name": "expression"
7356 }
7357 }
7358 ]
7359 }
7360 },
7361 "binary_expression": {
7362 "type": "CHOICE",
7363 "members": [
7364 {
7365 "type": "PREC_LEFT",
7366 "value": 10,
7367 "content": {
7368 "type": "SEQ",
7369 "members": [
7370 {
7371 "type": "FIELD",
7372 "name": "left",
7373 "content": {
7374 "type": "SYMBOL",
7375 "name": "expression"
7376 }
7377 },
7378 {
7379 "type": "FIELD",
7380 "name": "operator",
7381 "content": {
7382 "type": "STRING",
7383 "value": "+"
7384 }
7385 },
7386 {
7387 "type": "FIELD",
7388 "name": "right",
7389 "content": {
7390 "type": "SYMBOL",
7391 "name": "expression"
7392 }
7393 }
7394 ]
7395 }
7396 },
7397 {
7398 "type": "PREC_LEFT",
7399 "value": 10,
7400 "content": {
7401 "type": "SEQ",
7402 "members": [
7403 {
7404 "type": "FIELD",
7405 "name": "left",
7406 "content": {
7407 "type": "SYMBOL",
7408 "name": "expression"
7409 }
7410 },
7411 {
7412 "type": "FIELD",
7413 "name": "operator",
7414 "content": {
7415 "type": "STRING",
7416 "value": "-"
7417 }
7418 },
7419 {
7420 "type": "FIELD",
7421 "name": "right",
7422 "content": {
7423 "type": "SYMBOL",
7424 "name": "expression"
7425 }
7426 }
7427 ]
7428 }
7429 },
7430 {
7431 "type": "PREC_LEFT",
7432 "value": 11,
7433 "content": {
7434 "type": "SEQ",
7435 "members": [
7436 {
7437 "type": "FIELD",
7438 "name": "left",
7439 "content": {
7440 "type": "SYMBOL",
7441 "name": "expression"
7442 }
7443 },
7444 {
7445 "type": "FIELD",
7446 "name": "operator",
7447 "content": {
7448 "type": "STRING",
7449 "value": "*"
7450 }
7451 },
7452 {
7453 "type": "FIELD",
7454 "name": "right",
7455 "content": {
7456 "type": "SYMBOL",
7457 "name": "expression"
7458 }
7459 }
7460 ]
7461 }
7462 },
7463 {
7464 "type": "PREC_LEFT",
7465 "value": 11,
7466 "content": {
7467 "type": "SEQ",
7468 "members": [
7469 {
7470 "type": "FIELD",
7471 "name": "left",
7472 "content": {
7473 "type": "SYMBOL",
7474 "name": "expression"
7475 }
7476 },
7477 {
7478 "type": "FIELD",
7479 "name": "operator",
7480 "content": {
7481 "type": "STRING",
7482 "value": "/"
7483 }
7484 },
7485 {
7486 "type": "FIELD",
7487 "name": "right",
7488 "content": {
7489 "type": "SYMBOL",
7490 "name": "expression"
7491 }
7492 }
7493 ]
7494 }
7495 },
7496 {
7497 "type": "PREC_LEFT",
7498 "value": 11,
7499 "content": {
7500 "type": "SEQ",
7501 "members": [
7502 {
7503 "type": "FIELD",
7504 "name": "left",
7505 "content": {
7506 "type": "SYMBOL",
7507 "name": "expression"
7508 }
7509 },
7510 {
7511 "type": "FIELD",
7512 "name": "operator",
7513 "content": {
7514 "type": "STRING",
7515 "value": "%"
7516 }
7517 },
7518 {
7519 "type": "FIELD",
7520 "name": "right",
7521 "content": {
7522 "type": "SYMBOL",
7523 "name": "expression"
7524 }
7525 }
7526 ]
7527 }
7528 },
7529 {
7530 "type": "PREC_LEFT",
7531 "value": 1,
7532 "content": {
7533 "type": "SEQ",
7534 "members": [
7535 {
7536 "type": "FIELD",
7537 "name": "left",
7538 "content": {
7539 "type": "SYMBOL",
7540 "name": "expression"
7541 }
7542 },
7543 {
7544 "type": "FIELD",
7545 "name": "operator",
7546 "content": {
7547 "type": "STRING",
7548 "value": "||"
7549 }
7550 },
7551 {
7552 "type": "FIELD",
7553 "name": "right",
7554 "content": {
7555 "type": "SYMBOL",
7556 "name": "expression"
7557 }
7558 }
7559 ]
7560 }
7561 },
7562 {
7563 "type": "PREC_LEFT",
7564 "value": 2,
7565 "content": {
7566 "type": "SEQ",
7567 "members": [
7568 {
7569 "type": "FIELD",
7570 "name": "left",
7571 "content": {
7572 "type": "SYMBOL",
7573 "name": "expression"
7574 }
7575 },
7576 {
7577 "type": "FIELD",
7578 "name": "operator",
7579 "content": {
7580 "type": "STRING",
7581 "value": "&&"
7582 }
7583 },
7584 {
7585 "type": "FIELD",
7586 "name": "right",
7587 "content": {
7588 "type": "SYMBOL",
7589 "name": "expression"
7590 }
7591 }
7592 ]
7593 }
7594 },
7595 {
7596 "type": "PREC_LEFT",
7597 "value": 3,
7598 "content": {
7599 "type": "SEQ",
7600 "members": [
7601 {
7602 "type": "FIELD",
7603 "name": "left",
7604 "content": {
7605 "type": "SYMBOL",
7606 "name": "expression"
7607 }
7608 },
7609 {
7610 "type": "FIELD",
7611 "name": "operator",
7612 "content": {
7613 "type": "STRING",
7614 "value": "|"
7615 }
7616 },
7617 {
7618 "type": "FIELD",
7619 "name": "right",
7620 "content": {
7621 "type": "SYMBOL",
7622 "name": "expression"
7623 }
7624 }
7625 ]
7626 }
7627 },
7628 {
7629 "type": "PREC_LEFT",
7630 "value": 4,
7631 "content": {
7632 "type": "SEQ",
7633 "members": [
7634 {
7635 "type": "FIELD",
7636 "name": "left",
7637 "content": {
7638 "type": "SYMBOL",
7639 "name": "expression"
7640 }
7641 },
7642 {
7643 "type": "FIELD",
7644 "name": "operator",
7645 "content": {
7646 "type": "STRING",
7647 "value": "^"
7648 }
7649 },
7650 {
7651 "type": "FIELD",
7652 "name": "right",
7653 "content": {
7654 "type": "SYMBOL",
7655 "name": "expression"
7656 }
7657 }
7658 ]
7659 }
7660 },
7661 {
7662 "type": "PREC_LEFT",
7663 "value": 5,
7664 "content": {
7665 "type": "SEQ",
7666 "members": [
7667 {
7668 "type": "FIELD",
7669 "name": "left",
7670 "content": {
7671 "type": "SYMBOL",
7672 "name": "expression"
7673 }
7674 },
7675 {
7676 "type": "FIELD",
7677 "name": "operator",
7678 "content": {
7679 "type": "STRING",
7680 "value": "&"
7681 }
7682 },
7683 {
7684 "type": "FIELD",
7685 "name": "right",
7686 "content": {
7687 "type": "SYMBOL",
7688 "name": "expression"
7689 }
7690 }
7691 ]
7692 }
7693 },
7694 {
7695 "type": "PREC_LEFT",
7696 "value": 6,
7697 "content": {
7698 "type": "SEQ",
7699 "members": [
7700 {
7701 "type": "FIELD",
7702 "name": "left",
7703 "content": {
7704 "type": "SYMBOL",
7705 "name": "expression"
7706 }
7707 },
7708 {
7709 "type": "FIELD",
7710 "name": "operator",
7711 "content": {
7712 "type": "STRING",
7713 "value": "=="
7714 }
7715 },
7716 {
7717 "type": "FIELD",
7718 "name": "right",
7719 "content": {
7720 "type": "SYMBOL",
7721 "name": "expression"
7722 }
7723 }
7724 ]
7725 }
7726 },
7727 {
7728 "type": "PREC_LEFT",
7729 "value": 6,
7730 "content": {
7731 "type": "SEQ",
7732 "members": [
7733 {
7734 "type": "FIELD",
7735 "name": "left",
7736 "content": {
7737 "type": "SYMBOL",
7738 "name": "expression"
7739 }
7740 },
7741 {
7742 "type": "FIELD",
7743 "name": "operator",
7744 "content": {
7745 "type": "STRING",
7746 "value": "!="
7747 }
7748 },
7749 {
7750 "type": "FIELD",
7751 "name": "right",
7752 "content": {
7753 "type": "SYMBOL",
7754 "name": "expression"
7755 }
7756 }
7757 ]
7758 }
7759 },
7760 {
7761 "type": "PREC_LEFT",
7762 "value": 7,
7763 "content": {
7764 "type": "SEQ",
7765 "members": [
7766 {
7767 "type": "FIELD",
7768 "name": "left",
7769 "content": {
7770 "type": "SYMBOL",
7771 "name": "expression"
7772 }
7773 },
7774 {
7775 "type": "FIELD",
7776 "name": "operator",
7777 "content": {
7778 "type": "STRING",
7779 "value": ">"
7780 }
7781 },
7782 {
7783 "type": "FIELD",
7784 "name": "right",
7785 "content": {
7786 "type": "SYMBOL",
7787 "name": "expression"
7788 }
7789 }
7790 ]
7791 }
7792 },
7793 {
7794 "type": "PREC_LEFT",
7795 "value": 7,
7796 "content": {
7797 "type": "SEQ",
7798 "members": [
7799 {
7800 "type": "FIELD",
7801 "name": "left",
7802 "content": {
7803 "type": "SYMBOL",
7804 "name": "expression"
7805 }
7806 },
7807 {
7808 "type": "FIELD",
7809 "name": "operator",
7810 "content": {
7811 "type": "STRING",
7812 "value": ">="
7813 }
7814 },
7815 {
7816 "type": "FIELD",
7817 "name": "right",
7818 "content": {
7819 "type": "SYMBOL",
7820 "name": "expression"
7821 }
7822 }
7823 ]
7824 }
7825 },
7826 {
7827 "type": "PREC_LEFT",
7828 "value": 7,
7829 "content": {
7830 "type": "SEQ",
7831 "members": [
7832 {
7833 "type": "FIELD",
7834 "name": "left",
7835 "content": {
7836 "type": "SYMBOL",
7837 "name": "expression"
7838 }
7839 },
7840 {
7841 "type": "FIELD",
7842 "name": "operator",
7843 "content": {
7844 "type": "STRING",
7845 "value": "<="
7846 }
7847 },
7848 {
7849 "type": "FIELD",
7850 "name": "right",
7851 "content": {
7852 "type": "SYMBOL",
7853 "name": "expression"
7854 }
7855 }
7856 ]
7857 }
7858 },
7859 {
7860 "type": "PREC_LEFT",
7861 "value": 7,
7862 "content": {
7863 "type": "SEQ",
7864 "members": [
7865 {
7866 "type": "FIELD",
7867 "name": "left",
7868 "content": {
7869 "type": "SYMBOL",
7870 "name": "expression"
7871 }
7872 },
7873 {
7874 "type": "FIELD",
7875 "name": "operator",
7876 "content": {
7877 "type": "STRING",
7878 "value": "<"
7879 }
7880 },
7881 {
7882 "type": "FIELD",
7883 "name": "right",
7884 "content": {
7885 "type": "SYMBOL",
7886 "name": "expression"
7887 }
7888 }
7889 ]
7890 }
7891 },
7892 {
7893 "type": "PREC_LEFT",
7894 "value": 9,
7895 "content": {
7896 "type": "SEQ",
7897 "members": [
7898 {
7899 "type": "FIELD",
7900 "name": "left",
7901 "content": {
7902 "type": "SYMBOL",
7903 "name": "expression"
7904 }
7905 },
7906 {
7907 "type": "FIELD",
7908 "name": "operator",
7909 "content": {
7910 "type": "STRING",
7911 "value": "<<"
7912 }
7913 },
7914 {
7915 "type": "FIELD",
7916 "name": "right",
7917 "content": {
7918 "type": "SYMBOL",
7919 "name": "expression"
7920 }
7921 }
7922 ]
7923 }
7924 },
7925 {
7926 "type": "PREC_LEFT",
7927 "value": 9,
7928 "content": {
7929 "type": "SEQ",
7930 "members": [
7931 {
7932 "type": "FIELD",
7933 "name": "left",
7934 "content": {
7935 "type": "SYMBOL",
7936 "name": "expression"
7937 }
7938 },
7939 {
7940 "type": "FIELD",
7941 "name": "operator",
7942 "content": {
7943 "type": "STRING",
7944 "value": ">>"
7945 }
7946 },
7947 {
7948 "type": "FIELD",
7949 "name": "right",
7950 "content": {
7951 "type": "SYMBOL",
7952 "name": "expression"
7953 }
7954 }
7955 ]
7956 }
7957 }
7958 ]
7959 },
7960 "update_expression": {
7961 "type": "PREC_RIGHT",
7962 "value": 14,
7963 "content": {
7964 "type": "CHOICE",
7965 "members": [
7966 {
7967 "type": "SEQ",
7968 "members": [
7969 {
7970 "type": "FIELD",
7971 "name": "operator",
7972 "content": {
7973 "type": "CHOICE",
7974 "members": [
7975 {
7976 "type": "STRING",
7977 "value": "--"
7978 },
7979 {
7980 "type": "STRING",
7981 "value": "++"
7982 }
7983 ]
7984 }
7985 },
7986 {
7987 "type": "FIELD",
7988 "name": "argument",
7989 "content": {
7990 "type": "SYMBOL",
7991 "name": "expression"
7992 }
7993 }
7994 ]
7995 },
7996 {
7997 "type": "SEQ",
7998 "members": [
7999 {
8000 "type": "FIELD",
8001 "name": "argument",
8002 "content": {
8003 "type": "SYMBOL",
8004 "name": "expression"
8005 }
8006 },
8007 {
8008 "type": "FIELD",
8009 "name": "operator",
8010 "content": {
8011 "type": "CHOICE",
8012 "members": [
8013 {
8014 "type": "STRING",
8015 "value": "--"
8016 },
8017 {
8018 "type": "STRING",
8019 "value": "++"
8020 }
8021 ]
8022 }
8023 }
8024 ]
8025 }
8026 ]
8027 }
8028 },
8029 "cast_expression": {
8030 "type": "PREC",
8031 "value": 12,
8032 "content": {
8033 "type": "SEQ",
8034 "members": [
8035 {
8036 "type": "STRING",
8037 "value": "("
8038 },
8039 {
8040 "type": "FIELD",
8041 "name": "type",
8042 "content": {
8043 "type": "SYMBOL",
8044 "name": "type_descriptor"
8045 }
8046 },
8047 {
8048 "type": "STRING",
8049 "value": ")"
8050 },
8051 {
8052 "type": "FIELD",
8053 "name": "value",
8054 "content": {
8055 "type": "SYMBOL",
8056 "name": "expression"
8057 }
8058 }
8059 ]
8060 }
8061 },
8062 "type_descriptor": {
8063 "type": "SEQ",
8064 "members": [
8065 {
8066 "type": "REPEAT",
8067 "content": {
8068 "type": "SYMBOL",
8069 "name": "type_qualifier"
8070 }
8071 },
8072 {
8073 "type": "FIELD",
8074 "name": "type",
8075 "content": {
8076 "type": "SYMBOL",
8077 "name": "type_specifier"
8078 }
8079 },
8080 {
8081 "type": "REPEAT",
8082 "content": {
8083 "type": "SYMBOL",
8084 "name": "type_qualifier"
8085 }
8086 },
8087 {
8088 "type": "FIELD",
8089 "name": "declarator",
8090 "content": {
8091 "type": "CHOICE",
8092 "members": [
8093 {
8094 "type": "SYMBOL",
8095 "name": "_abstract_declarator"
8096 },
8097 {
8098 "type": "BLANK"
8099 }
8100 ]
8101 }
8102 }
8103 ]
8104 },
8105 "sizeof_expression": {
8106 "type": "PREC",
8107 "value": 13,
8108 "content": {
8109 "type": "SEQ",
8110 "members": [
8111 {
8112 "type": "STRING",
8113 "value": "sizeof"
8114 },
8115 {
8116 "type": "CHOICE",
8117 "members": [
8118 {
8119 "type": "FIELD",
8120 "name": "value",
8121 "content": {
8122 "type": "SYMBOL",
8123 "name": "expression"
8124 }
8125 },
8126 {
8127 "type": "SEQ",
8128 "members": [
8129 {
8130 "type": "STRING",
8131 "value": "("
8132 },
8133 {
8134 "type": "FIELD",
8135 "name": "type",
8136 "content": {
8137 "type": "SYMBOL",
8138 "name": "type_descriptor"
8139 }
8140 },
8141 {
8142 "type": "STRING",
8143 "value": ")"
8144 }
8145 ]
8146 }
8147 ]
8148 }
8149 ]
8150 }
8151 },
8152 "alignof_expression": {
8153 "type": "PREC",
8154 "value": 13,
8155 "content": {
8156 "type": "SEQ",
8157 "members": [
8158 {
8159 "type": "CHOICE",
8160 "members": [
8161 {
8162 "type": "STRING",
8163 "value": "__alignof__"
8164 },
8165 {
8166 "type": "STRING",
8167 "value": "__alignof"
8168 },
8169 {
8170 "type": "STRING",
8171 "value": "_alignof"
8172 },
8173 {
8174 "type": "STRING",
8175 "value": "alignof"
8176 },
8177 {
8178 "type": "STRING",
8179 "value": "_Alignof"
8180 }
8181 ]
8182 },
8183 {
8184 "type": "SEQ",
8185 "members": [
8186 {
8187 "type": "STRING",
8188 "value": "("
8189 },
8190 {
8191 "type": "FIELD",
8192 "name": "type",
8193 "content": {
8194 "type": "SYMBOL",
8195 "name": "type_descriptor"
8196 }
8197 },
8198 {
8199 "type": "STRING",
8200 "value": ")"
8201 }
8202 ]
8203 }
8204 ]
8205 }
8206 },
8207 "offsetof_expression": {
8208 "type": "PREC",
8209 "value": 8,
8210 "content": {
8211 "type": "SEQ",
8212 "members": [
8213 {
8214 "type": "STRING",
8215 "value": "offsetof"
8216 },
8217 {
8218 "type": "SEQ",
8219 "members": [
8220 {
8221 "type": "STRING",
8222 "value": "("
8223 },
8224 {
8225 "type": "FIELD",
8226 "name": "type",
8227 "content": {
8228 "type": "SYMBOL",
8229 "name": "type_descriptor"
8230 }
8231 },
8232 {
8233 "type": "STRING",
8234 "value": ","
8235 },
8236 {
8237 "type": "FIELD",
8238 "name": "member",
8239 "content": {
8240 "type": "SYMBOL",
8241 "name": "_field_identifier"
8242 }
8243 },
8244 {
8245 "type": "STRING",
8246 "value": ")"
8247 }
8248 ]
8249 }
8250 ]
8251 }
8252 },
8253 "generic_expression": {
8254 "type": "PREC",
8255 "value": 15,
8256 "content": {
8257 "type": "SEQ",
8258 "members": [
8259 {
8260 "type": "STRING",
8261 "value": "_Generic"
8262 },
8263 {
8264 "type": "STRING",
8265 "value": "("
8266 },
8267 {
8268 "type": "SYMBOL",
8269 "name": "expression"
8270 },
8271 {
8272 "type": "STRING",
8273 "value": ","
8274 },
8275 {
8276 "type": "SEQ",
8277 "members": [
8278 {
8279 "type": "SEQ",
8280 "members": [
8281 {
8282 "type": "SYMBOL",
8283 "name": "type_descriptor"
8284 },
8285 {
8286 "type": "STRING",
8287 "value": ":"
8288 },
8289 {
8290 "type": "SYMBOL",
8291 "name": "expression"
8292 }
8293 ]
8294 },
8295 {
8296 "type": "REPEAT",
8297 "content": {
8298 "type": "SEQ",
8299 "members": [
8300 {
8301 "type": "STRING",
8302 "value": ","
8303 },
8304 {
8305 "type": "SEQ",
8306 "members": [
8307 {
8308 "type": "SYMBOL",
8309 "name": "type_descriptor"
8310 },
8311 {
8312 "type": "STRING",
8313 "value": ":"
8314 },
8315 {
8316 "type": "SYMBOL",
8317 "name": "expression"
8318 }
8319 ]
8320 }
8321 ]
8322 }
8323 }
8324 ]
8325 },
8326 {
8327 "type": "STRING",
8328 "value": ")"
8329 }
8330 ]
8331 }
8332 },
8333 "subscript_expression": {
8334 "type": "PREC",
8335 "value": 17,
8336 "content": {
8337 "type": "SEQ",
8338 "members": [
8339 {
8340 "type": "FIELD",
8341 "name": "argument",
8342 "content": {
8343 "type": "SYMBOL",
8344 "name": "expression"
8345 }
8346 },
8347 {
8348 "type": "STRING",
8349 "value": "["
8350 },
8351 {
8352 "type": "FIELD",
8353 "name": "index",
8354 "content": {
8355 "type": "SYMBOL",
8356 "name": "expression"
8357 }
8358 },
8359 {
8360 "type": "STRING",
8361 "value": "]"
8362 }
8363 ]
8364 }
8365 },
8366 "call_expression": {
8367 "type": "PREC",
8368 "value": 15,
8369 "content": {
8370 "type": "SEQ",
8371 "members": [
8372 {
8373 "type": "FIELD",
8374 "name": "function",
8375 "content": {
8376 "type": "SYMBOL",
8377 "name": "expression"
8378 }
8379 },
8380 {
8381 "type": "FIELD",
8382 "name": "arguments",
8383 "content": {
8384 "type": "SYMBOL",
8385 "name": "argument_list"
8386 }
8387 }
8388 ]
8389 }
8390 },
8391 "gnu_asm_expression": {
8392 "type": "PREC",
8393 "value": 15,
8394 "content": {
8395 "type": "SEQ",
8396 "members": [
8397 {
8398 "type": "CHOICE",
8399 "members": [
8400 {
8401 "type": "STRING",
8402 "value": "asm"
8403 },
8404 {
8405 "type": "STRING",
8406 "value": "__asm__"
8407 }
8408 ]
8409 },
8410 {
8411 "type": "REPEAT",
8412 "content": {
8413 "type": "SYMBOL",
8414 "name": "gnu_asm_qualifier"
8415 }
8416 },
8417 {
8418 "type": "STRING",
8419 "value": "("
8420 },
8421 {
8422 "type": "FIELD",
8423 "name": "assembly_code",
8424 "content": {
8425 "type": "SYMBOL",
8426 "name": "_string"
8427 }
8428 },
8429 {
8430 "type": "CHOICE",
8431 "members": [
8432 {
8433 "type": "SEQ",
8434 "members": [
8435 {
8436 "type": "FIELD",
8437 "name": "output_operands",
8438 "content": {
8439 "type": "SYMBOL",
8440 "name": "gnu_asm_output_operand_list"
8441 }
8442 },
8443 {
8444 "type": "CHOICE",
8445 "members": [
8446 {
8447 "type": "SEQ",
8448 "members": [
8449 {
8450 "type": "FIELD",
8451 "name": "input_operands",
8452 "content": {
8453 "type": "SYMBOL",
8454 "name": "gnu_asm_input_operand_list"
8455 }
8456 },
8457 {
8458 "type": "CHOICE",
8459 "members": [
8460 {
8461 "type": "SEQ",
8462 "members": [
8463 {
8464 "type": "FIELD",
8465 "name": "clobbers",
8466 "content": {
8467 "type": "SYMBOL",
8468 "name": "gnu_asm_clobber_list"
8469 }
8470 },
8471 {
8472 "type": "CHOICE",
8473 "members": [
8474 {
8475 "type": "FIELD",
8476 "name": "goto_labels",
8477 "content": {
8478 "type": "SYMBOL",
8479 "name": "gnu_asm_goto_list"
8480 }
8481 },
8482 {
8483 "type": "BLANK"
8484 }
8485 ]
8486 }
8487 ]
8488 },
8489 {
8490 "type": "BLANK"
8491 }
8492 ]
8493 }
8494 ]
8495 },
8496 {
8497 "type": "BLANK"
8498 }
8499 ]
8500 }
8501 ]
8502 },
8503 {
8504 "type": "BLANK"
8505 }
8506 ]
8507 },
8508 {
8509 "type": "STRING",
8510 "value": ")"
8511 }
8512 ]
8513 }
8514 },
8515 "gnu_asm_qualifier": {
8516 "type": "CHOICE",
8517 "members": [
8518 {
8519 "type": "STRING",
8520 "value": "volatile"
8521 },
8522 {
8523 "type": "STRING",
8524 "value": "inline"
8525 },
8526 {
8527 "type": "STRING",
8528 "value": "goto"
8529 }
8530 ]
8531 },
8532 "gnu_asm_output_operand_list": {
8533 "type": "SEQ",
8534 "members": [
8535 {
8536 "type": "STRING",
8537 "value": ":"
8538 },
8539 {
8540 "type": "CHOICE",
8541 "members": [
8542 {
8543 "type": "SEQ",
8544 "members": [
8545 {
8546 "type": "FIELD",
8547 "name": "operand",
8548 "content": {
8549 "type": "SYMBOL",
8550 "name": "gnu_asm_output_operand"
8551 }
8552 },
8553 {
8554 "type": "REPEAT",
8555 "content": {
8556 "type": "SEQ",
8557 "members": [
8558 {
8559 "type": "STRING",
8560 "value": ","
8561 },
8562 {
8563 "type": "FIELD",
8564 "name": "operand",
8565 "content": {
8566 "type": "SYMBOL",
8567 "name": "gnu_asm_output_operand"
8568 }
8569 }
8570 ]
8571 }
8572 }
8573 ]
8574 },
8575 {
8576 "type": "BLANK"
8577 }
8578 ]
8579 }
8580 ]
8581 },
8582 "gnu_asm_output_operand": {
8583 "type": "SEQ",
8584 "members": [
8585 {
8586 "type": "CHOICE",
8587 "members": [
8588 {
8589 "type": "SEQ",
8590 "members": [
8591 {
8592 "type": "STRING",
8593 "value": "["
8594 },
8595 {
8596 "type": "FIELD",
8597 "name": "symbol",
8598 "content": {
8599 "type": "SYMBOL",
8600 "name": "identifier"
8601 }
8602 },
8603 {
8604 "type": "STRING",
8605 "value": "]"
8606 }
8607 ]
8608 },
8609 {
8610 "type": "BLANK"
8611 }
8612 ]
8613 },
8614 {
8615 "type": "FIELD",
8616 "name": "constraint",
8617 "content": {
8618 "type": "SYMBOL",
8619 "name": "string_literal"
8620 }
8621 },
8622 {
8623 "type": "STRING",
8624 "value": "("
8625 },
8626 {
8627 "type": "FIELD",
8628 "name": "value",
8629 "content": {
8630 "type": "SYMBOL",
8631 "name": "identifier"
8632 }
8633 },
8634 {
8635 "type": "STRING",
8636 "value": ")"
8637 }
8638 ]
8639 },
8640 "gnu_asm_input_operand_list": {
8641 "type": "SEQ",
8642 "members": [
8643 {
8644 "type": "STRING",
8645 "value": ":"
8646 },
8647 {
8648 "type": "CHOICE",
8649 "members": [
8650 {
8651 "type": "SEQ",
8652 "members": [
8653 {
8654 "type": "FIELD",
8655 "name": "operand",
8656 "content": {
8657 "type": "SYMBOL",
8658 "name": "gnu_asm_input_operand"
8659 }
8660 },
8661 {
8662 "type": "REPEAT",
8663 "content": {
8664 "type": "SEQ",
8665 "members": [
8666 {
8667 "type": "STRING",
8668 "value": ","
8669 },
8670 {
8671 "type": "FIELD",
8672 "name": "operand",
8673 "content": {
8674 "type": "SYMBOL",
8675 "name": "gnu_asm_input_operand"
8676 }
8677 }
8678 ]
8679 }
8680 }
8681 ]
8682 },
8683 {
8684 "type": "BLANK"
8685 }
8686 ]
8687 }
8688 ]
8689 },
8690 "gnu_asm_input_operand": {
8691 "type": "SEQ",
8692 "members": [
8693 {
8694 "type": "CHOICE",
8695 "members": [
8696 {
8697 "type": "SEQ",
8698 "members": [
8699 {
8700 "type": "STRING",
8701 "value": "["
8702 },
8703 {
8704 "type": "FIELD",
8705 "name": "symbol",
8706 "content": {
8707 "type": "SYMBOL",
8708 "name": "identifier"
8709 }
8710 },
8711 {
8712 "type": "STRING",
8713 "value": "]"
8714 }
8715 ]
8716 },
8717 {
8718 "type": "BLANK"
8719 }
8720 ]
8721 },
8722 {
8723 "type": "FIELD",
8724 "name": "constraint",
8725 "content": {
8726 "type": "SYMBOL",
8727 "name": "string_literal"
8728 }
8729 },
8730 {
8731 "type": "STRING",
8732 "value": "("
8733 },
8734 {
8735 "type": "FIELD",
8736 "name": "value",
8737 "content": {
8738 "type": "SYMBOL",
8739 "name": "expression"
8740 }
8741 },
8742 {
8743 "type": "STRING",
8744 "value": ")"
8745 }
8746 ]
8747 },
8748 "gnu_asm_clobber_list": {
8749 "type": "SEQ",
8750 "members": [
8751 {
8752 "type": "STRING",
8753 "value": ":"
8754 },
8755 {
8756 "type": "CHOICE",
8757 "members": [
8758 {
8759 "type": "SEQ",
8760 "members": [
8761 {
8762 "type": "FIELD",
8763 "name": "register",
8764 "content": {
8765 "type": "SYMBOL",
8766 "name": "_string"
8767 }
8768 },
8769 {
8770 "type": "REPEAT",
8771 "content": {
8772 "type": "SEQ",
8773 "members": [
8774 {
8775 "type": "STRING",
8776 "value": ","
8777 },
8778 {
8779 "type": "FIELD",
8780 "name": "register",
8781 "content": {
8782 "type": "SYMBOL",
8783 "name": "_string"
8784 }
8785 }
8786 ]
8787 }
8788 }
8789 ]
8790 },
8791 {
8792 "type": "BLANK"
8793 }
8794 ]
8795 }
8796 ]
8797 },
8798 "gnu_asm_goto_list": {
8799 "type": "SEQ",
8800 "members": [
8801 {
8802 "type": "STRING",
8803 "value": ":"
8804 },
8805 {
8806 "type": "CHOICE",
8807 "members": [
8808 {
8809 "type": "SEQ",
8810 "members": [
8811 {
8812 "type": "FIELD",
8813 "name": "label",
8814 "content": {
8815 "type": "SYMBOL",
8816 "name": "identifier"
8817 }
8818 },
8819 {
8820 "type": "REPEAT",
8821 "content": {
8822 "type": "SEQ",
8823 "members": [
8824 {
8825 "type": "STRING",
8826 "value": ","
8827 },
8828 {
8829 "type": "FIELD",
8830 "name": "label",
8831 "content": {
8832 "type": "SYMBOL",
8833 "name": "identifier"
8834 }
8835 }
8836 ]
8837 }
8838 }
8839 ]
8840 },
8841 {
8842 "type": "BLANK"
8843 }
8844 ]
8845 }
8846 ]
8847 },
8848 "argument_list": {
8849 "type": "SEQ",
8850 "members": [
8851 {
8852 "type": "STRING",
8853 "value": "("
8854 },
8855 {
8856 "type": "CHOICE",
8857 "members": [
8858 {
8859 "type": "SEQ",
8860 "members": [
8861 {
8862 "type": "CHOICE",
8863 "members": [
8864 {
8865 "type": "SEQ",
8866 "members": [
8867 {
8868 "type": "CHOICE",
8869 "members": [
8870 {
8871 "type": "STRING",
8872 "value": "__extension__"
8873 },
8874 {
8875 "type": "BLANK"
8876 }
8877 ]
8878 },
8879 {
8880 "type": "SYMBOL",
8881 "name": "expression"
8882 }
8883 ]
8884 },
8885 {
8886 "type": "SYMBOL",
8887 "name": "compound_statement"
8888 }
8889 ]
8890 },
8891 {
8892 "type": "REPEAT",
8893 "content": {
8894 "type": "SEQ",
8895 "members": [
8896 {
8897 "type": "STRING",
8898 "value": ","
8899 },
8900 {
8901 "type": "CHOICE",
8902 "members": [
8903 {
8904 "type": "SEQ",
8905 "members": [
8906 {
8907 "type": "CHOICE",
8908 "members": [
8909 {
8910 "type": "STRING",
8911 "value": "__extension__"
8912 },
8913 {
8914 "type": "BLANK"
8915 }
8916 ]
8917 },
8918 {
8919 "type": "SYMBOL",
8920 "name": "expression"
8921 }
8922 ]
8923 },
8924 {
8925 "type": "SYMBOL",
8926 "name": "compound_statement"
8927 }
8928 ]
8929 }
8930 ]
8931 }
8932 }
8933 ]
8934 },
8935 {
8936 "type": "BLANK"
8937 }
8938 ]
8939 },
8940 {
8941 "type": "STRING",
8942 "value": ")"
8943 }
8944 ]
8945 },
8946 "field_expression": {
8947 "type": "SEQ",
8948 "members": [
8949 {
8950 "type": "PREC",
8951 "value": 16,
8952 "content": {
8953 "type": "SEQ",
8954 "members": [
8955 {
8956 "type": "FIELD",
8957 "name": "argument",
8958 "content": {
8959 "type": "SYMBOL",
8960 "name": "expression"
8961 }
8962 },
8963 {
8964 "type": "FIELD",
8965 "name": "operator",
8966 "content": {
8967 "type": "CHOICE",
8968 "members": [
8969 {
8970 "type": "STRING",
8971 "value": "."
8972 },
8973 {
8974 "type": "STRING",
8975 "value": "->"
8976 }
8977 ]
8978 }
8979 }
8980 ]
8981 }
8982 },
8983 {
8984 "type": "FIELD",
8985 "name": "field",
8986 "content": {
8987 "type": "SYMBOL",
8988 "name": "_field_identifier"
8989 }
8990 }
8991 ]
8992 },
8993 "compound_literal_expression": {
8994 "type": "SEQ",
8995 "members": [
8996 {
8997 "type": "STRING",
8998 "value": "("
8999 },
9000 {
9001 "type": "FIELD",
9002 "name": "type",
9003 "content": {
9004 "type": "SYMBOL",
9005 "name": "type_descriptor"
9006 }
9007 },
9008 {
9009 "type": "STRING",
9010 "value": ")"
9011 },
9012 {
9013 "type": "FIELD",
9014 "name": "value",
9015 "content": {
9016 "type": "SYMBOL",
9017 "name": "initializer_list"
9018 }
9019 }
9020 ]
9021 },
9022 "parenthesized_expression": {
9023 "type": "SEQ",
9024 "members": [
9025 {
9026 "type": "STRING",
9027 "value": "("
9028 },
9029 {
9030 "type": "CHOICE",
9031 "members": [
9032 {
9033 "type": "SYMBOL",
9034 "name": "expression"
9035 },
9036 {
9037 "type": "SYMBOL",
9038 "name": "comma_expression"
9039 }
9040 ]
9041 },
9042 {
9043 "type": "STRING",
9044 "value": ")"
9045 }
9046 ]
9047 },
9048 "initializer_list": {
9049 "type": "SEQ",
9050 "members": [
9051 {
9052 "type": "STRING",
9053 "value": "{"
9054 },
9055 {
9056 "type": "CHOICE",
9057 "members": [
9058 {
9059 "type": "SEQ",
9060 "members": [
9061 {
9062 "type": "CHOICE",
9063 "members": [
9064 {
9065 "type": "SYMBOL",
9066 "name": "initializer_pair"
9067 },
9068 {
9069 "type": "SYMBOL",
9070 "name": "expression"
9071 },
9072 {
9073 "type": "SYMBOL",
9074 "name": "initializer_list"
9075 }
9076 ]
9077 },
9078 {
9079 "type": "REPEAT",
9080 "content": {
9081 "type": "SEQ",
9082 "members": [
9083 {
9084 "type": "STRING",
9085 "value": ","
9086 },
9087 {
9088 "type": "CHOICE",
9089 "members": [
9090 {
9091 "type": "SYMBOL",
9092 "name": "initializer_pair"
9093 },
9094 {
9095 "type": "SYMBOL",
9096 "name": "expression"
9097 },
9098 {
9099 "type": "SYMBOL",
9100 "name": "initializer_list"
9101 }
9102 ]
9103 }
9104 ]
9105 }
9106 }
9107 ]
9108 },
9109 {
9110 "type": "BLANK"
9111 }
9112 ]
9113 },
9114 {
9115 "type": "CHOICE",
9116 "members": [
9117 {
9118 "type": "STRING",
9119 "value": ","
9120 },
9121 {
9122 "type": "BLANK"
9123 }
9124 ]
9125 },
9126 {
9127 "type": "STRING",
9128 "value": "}"
9129 }
9130 ]
9131 },
9132 "initializer_pair": {
9133 "type": "CHOICE",
9134 "members": [
9135 {
9136 "type": "SEQ",
9137 "members": [
9138 {
9139 "type": "FIELD",
9140 "name": "designator",
9141 "content": {
9142 "type": "REPEAT1",
9143 "content": {
9144 "type": "CHOICE",
9145 "members": [
9146 {
9147 "type": "SYMBOL",
9148 "name": "subscript_designator"
9149 },
9150 {
9151 "type": "SYMBOL",
9152 "name": "field_designator"
9153 },
9154 {
9155 "type": "SYMBOL",
9156 "name": "subscript_range_designator"
9157 }
9158 ]
9159 }
9160 }
9161 },
9162 {
9163 "type": "STRING",
9164 "value": "="
9165 },
9166 {
9167 "type": "FIELD",
9168 "name": "value",
9169 "content": {
9170 "type": "CHOICE",
9171 "members": [
9172 {
9173 "type": "SYMBOL",
9174 "name": "expression"
9175 },
9176 {
9177 "type": "SYMBOL",
9178 "name": "initializer_list"
9179 }
9180 ]
9181 }
9182 }
9183 ]
9184 },
9185 {
9186 "type": "SEQ",
9187 "members": [
9188 {
9189 "type": "FIELD",
9190 "name": "designator",
9191 "content": {
9192 "type": "SYMBOL",
9193 "name": "_field_identifier"
9194 }
9195 },
9196 {
9197 "type": "STRING",
9198 "value": ":"
9199 },
9200 {
9201 "type": "FIELD",
9202 "name": "value",
9203 "content": {
9204 "type": "CHOICE",
9205 "members": [
9206 {
9207 "type": "SYMBOL",
9208 "name": "expression"
9209 },
9210 {
9211 "type": "SYMBOL",
9212 "name": "initializer_list"
9213 }
9214 ]
9215 }
9216 }
9217 ]
9218 }
9219 ]
9220 },
9221 "subscript_designator": {
9222 "type": "SEQ",
9223 "members": [
9224 {
9225 "type": "STRING",
9226 "value": "["
9227 },
9228 {
9229 "type": "SYMBOL",
9230 "name": "expression"
9231 },
9232 {
9233 "type": "STRING",
9234 "value": "]"
9235 }
9236 ]
9237 },
9238 "subscript_range_designator": {
9239 "type": "SEQ",
9240 "members": [
9241 {
9242 "type": "STRING",
9243 "value": "["
9244 },
9245 {
9246 "type": "FIELD",
9247 "name": "start",
9248 "content": {
9249 "type": "SYMBOL",
9250 "name": "expression"
9251 }
9252 },
9253 {
9254 "type": "STRING",
9255 "value": "..."
9256 },
9257 {
9258 "type": "FIELD",
9259 "name": "end",
9260 "content": {
9261 "type": "SYMBOL",
9262 "name": "expression"
9263 }
9264 },
9265 {
9266 "type": "STRING",
9267 "value": "]"
9268 }
9269 ]
9270 },
9271 "field_designator": {
9272 "type": "SEQ",
9273 "members": [
9274 {
9275 "type": "STRING",
9276 "value": "."
9277 },
9278 {
9279 "type": "SYMBOL",
9280 "name": "_field_identifier"
9281 }
9282 ]
9283 },
9284 "number_literal": {
9285 "type": "TOKEN",
9286 "content": {
9287 "type": "SEQ",
9288 "members": [
9289 {
9290 "type": "CHOICE",
9291 "members": [
9292 {
9293 "type": "PATTERN",
9294 "value": "[-\\+]"
9295 },
9296 {
9297 "type": "BLANK"
9298 }
9299 ]
9300 },
9301 {
9302 "type": "CHOICE",
9303 "members": [
9304 {
9305 "type": "CHOICE",
9306 "members": [
9307 {
9308 "type": "PATTERN",
9309 "value": "0[xX]"
9310 },
9311 {
9312 "type": "PATTERN",
9313 "value": "0[bB]"
9314 }
9315 ]
9316 },
9317 {
9318 "type": "BLANK"
9319 }
9320 ]
9321 },
9322 {
9323 "type": "CHOICE",
9324 "members": [
9325 {
9326 "type": "SEQ",
9327 "members": [
9328 {
9329 "type": "CHOICE",
9330 "members": [
9331 {
9332 "type": "SEQ",
9333 "members": [
9334 {
9335 "type": "REPEAT1",
9336 "content": {
9337 "type": "PATTERN",
9338 "value": "[0-9]"
9339 }
9340 },
9341 {
9342 "type": "REPEAT",
9343 "content": {
9344 "type": "SEQ",
9345 "members": [
9346 {
9347 "type": "STRING",
9348 "value": "'"
9349 },
9350 {
9351 "type": "REPEAT1",
9352 "content": {
9353 "type": "PATTERN",
9354 "value": "[0-9]"
9355 }
9356 }
9357 ]
9358 }
9359 }
9360 ]
9361 },
9362 {
9363 "type": "SEQ",
9364 "members": [
9365 {
9366 "type": "PATTERN",
9367 "value": "0[bB]"
9368 },
9369 {
9370 "type": "SEQ",
9371 "members": [
9372 {
9373 "type": "REPEAT1",
9374 "content": {
9375 "type": "PATTERN",
9376 "value": "[0-9]"
9377 }
9378 },
9379 {
9380 "type": "REPEAT",
9381 "content": {
9382 "type": "SEQ",
9383 "members": [
9384 {
9385 "type": "STRING",
9386 "value": "'"
9387 },
9388 {
9389 "type": "REPEAT1",
9390 "content": {
9391 "type": "PATTERN",
9392 "value": "[0-9]"
9393 }
9394 }
9395 ]
9396 }
9397 }
9398 ]
9399 }
9400 ]
9401 },
9402 {
9403 "type": "SEQ",
9404 "members": [
9405 {
9406 "type": "PATTERN",
9407 "value": "0[xX]"
9408 },
9409 {
9410 "type": "SEQ",
9411 "members": [
9412 {
9413 "type": "REPEAT1",
9414 "content": {
9415 "type": "PATTERN",
9416 "value": "[0-9a-fA-F]"
9417 }
9418 },
9419 {
9420 "type": "REPEAT",
9421 "content": {
9422 "type": "SEQ",
9423 "members": [
9424 {
9425 "type": "STRING",
9426 "value": "'"
9427 },
9428 {
9429 "type": "REPEAT1",
9430 "content": {
9431 "type": "PATTERN",
9432 "value": "[0-9a-fA-F]"
9433 }
9434 }
9435 ]
9436 }
9437 }
9438 ]
9439 }
9440 ]
9441 }
9442 ]
9443 },
9444 {
9445 "type": "CHOICE",
9446 "members": [
9447 {
9448 "type": "SEQ",
9449 "members": [
9450 {
9451 "type": "STRING",
9452 "value": "."
9453 },
9454 {
9455 "type": "CHOICE",
9456 "members": [
9457 {
9458 "type": "SEQ",
9459 "members": [
9460 {
9461 "type": "REPEAT1",
9462 "content": {
9463 "type": "PATTERN",
9464 "value": "[0-9a-fA-F]"
9465 }
9466 },
9467 {
9468 "type": "REPEAT",
9469 "content": {
9470 "type": "SEQ",
9471 "members": [
9472 {
9473 "type": "STRING",
9474 "value": "'"
9475 },
9476 {
9477 "type": "REPEAT1",
9478 "content": {
9479 "type": "PATTERN",
9480 "value": "[0-9a-fA-F]"
9481 }
9482 }
9483 ]
9484 }
9485 }
9486 ]
9487 },
9488 {
9489 "type": "BLANK"
9490 }
9491 ]
9492 }
9493 ]
9494 },
9495 {
9496 "type": "BLANK"
9497 }
9498 ]
9499 }
9500 ]
9501 },
9502 {
9503 "type": "SEQ",
9504 "members": [
9505 {
9506 "type": "STRING",
9507 "value": "."
9508 },
9509 {
9510 "type": "SEQ",
9511 "members": [
9512 {
9513 "type": "REPEAT1",
9514 "content": {
9515 "type": "PATTERN",
9516 "value": "[0-9]"
9517 }
9518 },
9519 {
9520 "type": "REPEAT",
9521 "content": {
9522 "type": "SEQ",
9523 "members": [
9524 {
9525 "type": "STRING",
9526 "value": "'"
9527 },
9528 {
9529 "type": "REPEAT1",
9530 "content": {
9531 "type": "PATTERN",
9532 "value": "[0-9]"
9533 }
9534 }
9535 ]
9536 }
9537 }
9538 ]
9539 }
9540 ]
9541 }
9542 ]
9543 },
9544 {
9545 "type": "CHOICE",
9546 "members": [
9547 {
9548 "type": "SEQ",
9549 "members": [
9550 {
9551 "type": "PATTERN",
9552 "value": "[eEpP]"
9553 },
9554 {
9555 "type": "CHOICE",
9556 "members": [
9557 {
9558 "type": "SEQ",
9559 "members": [
9560 {
9561 "type": "CHOICE",
9562 "members": [
9563 {
9564 "type": "PATTERN",
9565 "value": "[-\\+]"
9566 },
9567 {
9568 "type": "BLANK"
9569 }
9570 ]
9571 },
9572 {
9573 "type": "SEQ",
9574 "members": [
9575 {
9576 "type": "REPEAT1",
9577 "content": {
9578 "type": "PATTERN",
9579 "value": "[0-9a-fA-F]"
9580 }
9581 },
9582 {
9583 "type": "REPEAT",
9584 "content": {
9585 "type": "SEQ",
9586 "members": [
9587 {
9588 "type": "STRING",
9589 "value": "'"
9590 },
9591 {
9592 "type": "REPEAT1",
9593 "content": {
9594 "type": "PATTERN",
9595 "value": "[0-9a-fA-F]"
9596 }
9597 }
9598 ]
9599 }
9600 }
9601 ]
9602 }
9603 ]
9604 },
9605 {
9606 "type": "BLANK"
9607 }
9608 ]
9609 }
9610 ]
9611 },
9612 {
9613 "type": "BLANK"
9614 }
9615 ]
9616 },
9617 {
9618 "type": "PATTERN",
9619 "value": "[uUlLwWfFbBdD]*"
9620 }
9621 ]
9622 }
9623 },
9624 "char_literal": {
9625 "type": "SEQ",
9626 "members": [
9627 {
9628 "type": "CHOICE",
9629 "members": [
9630 {
9631 "type": "STRING",
9632 "value": "L'"
9633 },
9634 {
9635 "type": "STRING",
9636 "value": "u'"
9637 },
9638 {
9639 "type": "STRING",
9640 "value": "U'"
9641 },
9642 {
9643 "type": "STRING",
9644 "value": "u8'"
9645 },
9646 {
9647 "type": "STRING",
9648 "value": "'"
9649 }
9650 ]
9651 },
9652 {
9653 "type": "REPEAT1",
9654 "content": {
9655 "type": "CHOICE",
9656 "members": [
9657 {
9658 "type": "SYMBOL",
9659 "name": "escape_sequence"
9660 },
9661 {
9662 "type": "ALIAS",
9663 "content": {
9664 "type": "IMMEDIATE_TOKEN",
9665 "content": {
9666 "type": "PATTERN",
9667 "value": "[^\\n']"
9668 }
9669 },
9670 "named": true,
9671 "value": "character"
9672 }
9673 ]
9674 }
9675 },
9676 {
9677 "type": "STRING",
9678 "value": "'"
9679 }
9680 ]
9681 },
9682 "concatenated_string": {
9683 "type": "PREC_RIGHT",
9684 "value": 0,
9685 "content": {
9686 "type": "SEQ",
9687 "members": [
9688 {
9689 "type": "CHOICE",
9690 "members": [
9691 {
9692 "type": "SEQ",
9693 "members": [
9694 {
9695 "type": "SYMBOL",
9696 "name": "identifier"
9697 },
9698 {
9699 "type": "SYMBOL",
9700 "name": "string_literal"
9701 }
9702 ]
9703 },
9704 {
9705 "type": "SEQ",
9706 "members": [
9707 {
9708 "type": "SYMBOL",
9709 "name": "string_literal"
9710 },
9711 {
9712 "type": "SYMBOL",
9713 "name": "string_literal"
9714 }
9715 ]
9716 },
9717 {
9718 "type": "SEQ",
9719 "members": [
9720 {
9721 "type": "SYMBOL",
9722 "name": "string_literal"
9723 },
9724 {
9725 "type": "SYMBOL",
9726 "name": "identifier"
9727 }
9728 ]
9729 }
9730 ]
9731 },
9732 {
9733 "type": "REPEAT",
9734 "content": {
9735 "type": "CHOICE",
9736 "members": [
9737 {
9738 "type": "SYMBOL",
9739 "name": "string_literal"
9740 },
9741 {
9742 "type": "SYMBOL",
9743 "name": "identifier"
9744 }
9745 ]
9746 }
9747 }
9748 ]
9749 }
9750 },
9751 "string_literal": {
9752 "type": "SEQ",
9753 "members": [
9754 {
9755 "type": "CHOICE",
9756 "members": [
9757 {
9758 "type": "STRING",
9759 "value": "L\""
9760 },
9761 {
9762 "type": "STRING",
9763 "value": "u\""
9764 },
9765 {
9766 "type": "STRING",
9767 "value": "U\""
9768 },
9769 {
9770 "type": "STRING",
9771 "value": "u8\""
9772 },
9773 {
9774 "type": "STRING",
9775 "value": "\""
9776 }
9777 ]
9778 },
9779 {
9780 "type": "REPEAT",
9781 "content": {
9782 "type": "CHOICE",
9783 "members": [
9784 {
9785 "type": "ALIAS",
9786 "content": {
9787 "type": "IMMEDIATE_TOKEN",
9788 "content": {
9789 "type": "PREC",
9790 "value": 1,
9791 "content": {
9792 "type": "PATTERN",
9793 "value": "[^\\\\\"\\n]+"
9794 }
9795 }
9796 },
9797 "named": true,
9798 "value": "string_content"
9799 },
9800 {
9801 "type": "SYMBOL",
9802 "name": "escape_sequence"
9803 }
9804 ]
9805 }
9806 },
9807 {
9808 "type": "STRING",
9809 "value": "\""
9810 }
9811 ]
9812 },
9813 "escape_sequence": {
9814 "type": "TOKEN",
9815 "content": {
9816 "type": "PREC",
9817 "value": 1,
9818 "content": {
9819 "type": "SEQ",
9820 "members": [
9821 {
9822 "type": "STRING",
9823 "value": "\\"
9824 },
9825 {
9826 "type": "CHOICE",
9827 "members": [
9828 {
9829 "type": "PATTERN",
9830 "value": "[^xuU]"
9831 },
9832 {
9833 "type": "PATTERN",
9834 "value": "\\d{2,3}"
9835 },
9836 {
9837 "type": "PATTERN",
9838 "value": "x[0-9a-fA-F]{2,}"
9839 },
9840 {
9841 "type": "PATTERN",
9842 "value": "u[0-9a-fA-F]{4}"
9843 },
9844 {
9845 "type": "PATTERN",
9846 "value": "U[0-9a-fA-F]{8}"
9847 }
9848 ]
9849 }
9850 ]
9851 }
9852 }
9853 },
9854 "system_lib_string": {
9855 "type": "TOKEN",
9856 "content": {
9857 "type": "SEQ",
9858 "members": [
9859 {
9860 "type": "STRING",
9861 "value": "<"
9862 },
9863 {
9864 "type": "REPEAT",
9865 "content": {
9866 "type": "CHOICE",
9867 "members": [
9868 {
9869 "type": "PATTERN",
9870 "value": "[^>\\n]"
9871 },
9872 {
9873 "type": "STRING",
9874 "value": "\\>"
9875 }
9876 ]
9877 }
9878 },
9879 {
9880 "type": "STRING",
9881 "value": ">"
9882 }
9883 ]
9884 }
9885 },
9886 "true": {
9887 "type": "TOKEN",
9888 "content": {
9889 "type": "CHOICE",
9890 "members": [
9891 {
9892 "type": "STRING",
9893 "value": "TRUE"
9894 },
9895 {
9896 "type": "STRING",
9897 "value": "true"
9898 }
9899 ]
9900 }
9901 },
9902 "false": {
9903 "type": "TOKEN",
9904 "content": {
9905 "type": "CHOICE",
9906 "members": [
9907 {
9908 "type": "STRING",
9909 "value": "FALSE"
9910 },
9911 {
9912 "type": "STRING",
9913 "value": "false"
9914 }
9915 ]
9916 }
9917 },
9918 "null": {
9919 "type": "CHOICE",
9920 "members": [
9921 {
9922 "type": "STRING",
9923 "value": "NULL"
9924 },
9925 {
9926 "type": "STRING",
9927 "value": "nullptr"
9928 }
9929 ]
9930 },
9931 "identifier": {
9932 "type": "PATTERN",
9933 "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})*"
9934 },
9935 "_type_identifier": {
9936 "type": "ALIAS",
9937 "content": {
9938 "type": "SYMBOL",
9939 "name": "identifier"
9940 },
9941 "named": true,
9942 "value": "type_identifier"
9943 },
9944 "_field_identifier": {
9945 "type": "ALIAS",
9946 "content": {
9947 "type": "SYMBOL",
9948 "name": "identifier"
9949 },
9950 "named": true,
9951 "value": "field_identifier"
9952 },
9953 "_statement_identifier": {
9954 "type": "ALIAS",
9955 "content": {
9956 "type": "SYMBOL",
9957 "name": "identifier"
9958 },
9959 "named": true,
9960 "value": "statement_identifier"
9961 },
9962 "_empty_declaration": {
9963 "type": "SEQ",
9964 "members": [
9965 {
9966 "type": "SYMBOL",
9967 "name": "type_specifier"
9968 },
9969 {
9970 "type": "STRING",
9971 "value": ";"
9972 }
9973 ]
9974 },
9975 "macro_type_specifier": {
9976 "type": "PREC_DYNAMIC",
9977 "value": -1,
9978 "content": {
9979 "type": "SEQ",
9980 "members": [
9981 {
9982 "type": "FIELD",
9983 "name": "name",
9984 "content": {
9985 "type": "SYMBOL",
9986 "name": "identifier"
9987 }
9988 },
9989 {
9990 "type": "STRING",
9991 "value": "("
9992 },
9993 {
9994 "type": "FIELD",
9995 "name": "type",
9996 "content": {
9997 "type": "SYMBOL",
9998 "name": "type_descriptor"
9999 }
10000 },
10001 {
10002 "type": "STRING",
10003 "value": ")"
10004 }
10005 ]
10006 }
10007 },
10008 "comment": {
10009 "type": "TOKEN",
10010 "content": {
10011 "type": "CHOICE",
10012 "members": [
10013 {
10014 "type": "SEQ",
10015 "members": [
10016 {
10017 "type": "STRING",
10018 "value": "//"
10019 },
10020 {
10021 "type": "PATTERN",
10022 "value": "(\\\\+(.|\\r?\\n)|[^\\\\\\n])*"
10023 }
10024 ]
10025 },
10026 {
10027 "type": "SEQ",
10028 "members": [
10029 {
10030 "type": "STRING",
10031 "value": "/*"
10032 },
10033 {
10034 "type": "PATTERN",
10035 "value": "[^*]*\\*+([^/*][^*]*\\*+)*"
10036 },
10037 {
10038 "type": "STRING",
10039 "value": "/"
10040 }
10041 ]
10042 }
10043 ]
10044 }
10045 },
10046 "preproc_extension": {
10047 "type": "SEQ",
10048 "members": [
10049 {
10050 "type": "FIELD",
10051 "name": "directive",
10052 "content": {
10053 "type": "SYMBOL",
10054 "name": "preproc_directive"
10055 }
10056 },
10057 {
10058 "type": "FIELD",
10059 "name": "extension",
10060 "content": {
10061 "type": "SYMBOL",
10062 "name": "identifier"
10063 }
10064 },
10065 {
10066 "type": "IMMEDIATE_TOKEN",
10067 "content": {
10068 "type": "PATTERN",
10069 "value": "[ \\t]*:[ \\t]*"
10070 }
10071 },
10072 {
10073 "type": "FIELD",
10074 "name": "behavior",
10075 "content": {
10076 "type": "SYMBOL",
10077 "name": "extension_behavior"
10078 }
10079 },
10080 {
10081 "type": "IMMEDIATE_TOKEN",
10082 "content": {
10083 "type": "PATTERN",
10084 "value": "\\r?\\n"
10085 }
10086 }
10087 ]
10088 },
10089 "extension_behavior": {
10090 "type": "CHOICE",
10091 "members": [
10092 {
10093 "type": "STRING",
10094 "value": "require"
10095 },
10096 {
10097 "type": "STRING",
10098 "value": "enable"
10099 },
10100 {
10101 "type": "STRING",
10102 "value": "warn"
10103 },
10104 {
10105 "type": "STRING",
10106 "value": "disable"
10107 }
10108 ]
10109 },
10110 "extension_storage_class": {
10111 "type": "CHOICE",
10112 "members": [
10113 {
10114 "type": "STRING",
10115 "value": "rayPayloadEXT"
10116 },
10117 {
10118 "type": "STRING",
10119 "value": "rayPayloadInEXT"
10120 },
10121 {
10122 "type": "STRING",
10123 "value": "hitAttributeEXT"
10124 },
10125 {
10126 "type": "STRING",
10127 "value": "callableDataEXT"
10128 },
10129 {
10130 "type": "STRING",
10131 "value": "callableDataInEXT"
10132 },
10133 {
10134 "type": "STRING",
10135 "value": "shaderRecordEXT"
10136 },
10137 {
10138 "type": "STRING",
10139 "value": "rayPayloadNV"
10140 },
10141 {
10142 "type": "STRING",
10143 "value": "rayPayloadInNV"
10144 },
10145 {
10146 "type": "STRING",
10147 "value": "hitAttributeNV"
10148 },
10149 {
10150 "type": "STRING",
10151 "value": "callableDataNV"
10152 },
10153 {
10154 "type": "STRING",
10155 "value": "callableDataInNV"
10156 },
10157 {
10158 "type": "STRING",
10159 "value": "shaderRecordNV"
10160 }
10161 ]
10162 },
10163 "layout_specification": {
10164 "type": "SEQ",
10165 "members": [
10166 {
10167 "type": "STRING",
10168 "value": "layout"
10169 },
10170 {
10171 "type": "SYMBOL",
10172 "name": "layout_qualifiers"
10173 }
10174 ]
10175 },
10176 "layout_qualifiers": {
10177 "type": "SEQ",
10178 "members": [
10179 {
10180 "type": "STRING",
10181 "value": "("
10182 },
10183 {
10184 "type": "SYMBOL",
10185 "name": "qualifier"
10186 },
10187 {
10188 "type": "REPEAT",
10189 "content": {
10190 "type": "SEQ",
10191 "members": [
10192 {
10193 "type": "STRING",
10194 "value": ","
10195 },
10196 {
10197 "type": "SYMBOL",
10198 "name": "qualifier"
10199 }
10200 ]
10201 }
10202 },
10203 {
10204 "type": "STRING",
10205 "value": ")"
10206 }
10207 ]
10208 },
10209 "qualifier": {
10210 "type": "CHOICE",
10211 "members": [
10212 {
10213 "type": "STRING",
10214 "value": "shared"
10215 },
10216 {
10217 "type": "SYMBOL",
10218 "name": "identifier"
10219 },
10220 {
10221 "type": "SEQ",
10222 "members": [
10223 {
10224 "type": "SYMBOL",
10225 "name": "identifier"
10226 },
10227 {
10228 "type": "STRING",
10229 "value": "="
10230 },
10231 {
10232 "type": "SYMBOL",
10233 "name": "expression"
10234 }
10235 ]
10236 }
10237 ]
10238 }
10239 },
10240 "extras": [
10241 {
10242 "type": "PATTERN",
10243 "value": "\\s|\\\\\\r?\\n"
10244 },
10245 {
10246 "type": "SYMBOL",
10247 "name": "comment"
10248 }
10249 ],
10250 "conflicts": [
10251 [
10252 "type_specifier",
10253 "_declarator"
10254 ],
10255 [
10256 "type_specifier",
10257 "_declarator",
10258 "macro_type_specifier"
10259 ],
10260 [
10261 "type_specifier",
10262 "expression"
10263 ],
10264 [
10265 "type_specifier",
10266 "expression",
10267 "macro_type_specifier"
10268 ],
10269 [
10270 "type_specifier",
10271 "macro_type_specifier"
10272 ],
10273 [
10274 "type_specifier",
10275 "sized_type_specifier"
10276 ],
10277 [
10278 "sized_type_specifier"
10279 ],
10280 [
10281 "attributed_statement"
10282 ],
10283 [
10284 "_declaration_modifiers",
10285 "attributed_statement"
10286 ],
10287 [
10288 "enum_specifier"
10289 ],
10290 [
10291 "type_specifier",
10292 "_old_style_parameter_list"
10293 ],
10294 [
10295 "parameter_list",
10296 "_old_style_parameter_list"
10297 ],
10298 [
10299 "function_declarator",
10300 "_function_declaration_declarator"
10301 ],
10302 [
10303 "_block_item",
10304 "statement"
10305 ],
10306 [
10307 "_top_level_item",
10308 "_top_level_statement"
10309 ],
10310 [
10311 "type_specifier",
10312 "_top_level_expression_statement"
10313 ],
10314 [
10315 "function_definition",
10316 "declaration"
10317 ],
10318 [
10319 "declaration"
10320 ]
10321 ],
10322 "precedences": [],
10323 "externals": [],
10324 "inline": [
10325 "_type_identifier",
10326 "_field_identifier",
10327 "_statement_identifier",
10328 "_non_case_statement",
10329 "_assignment_left_expression",
10330 "_expression_not_binary"
10331 ],
10332 "supertypes": [
10333 "expression",
10334 "statement",
10335 "type_specifier",
10336 "_declarator",
10337 "_field_declarator",
10338 "_type_declarator",
10339 "_abstract_declarator"
10340 ]
10341}