aboutsummaryrefslogtreecommitdiff
path: root/vendor/tree-sitter-lua/src/grammar.json
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tree-sitter-lua/src/grammar.json')
-rw-r--r--vendor/tree-sitter-lua/src/grammar.json3098
1 files changed, 3098 insertions, 0 deletions
diff --git a/vendor/tree-sitter-lua/src/grammar.json b/vendor/tree-sitter-lua/src/grammar.json
new file mode 100644
index 0000000..1bae017
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/grammar.json
@@ -0,0 +1,3098 @@
1{
2 "name": "lua",
3 "word": "identifier",
4 "rules": {
5 "chunk": {
6 "type": "SEQ",
7 "members": [
8 {
9 "type": "CHOICE",
10 "members": [
11 {
12 "type": "SYMBOL",
13 "name": "hash_bang_line"
14 },
15 {
16 "type": "BLANK"
17 }
18 ]
19 },
20 {
21 "type": "REPEAT",
22 "content": {
23 "type": "SYMBOL",
24 "name": "statement"
25 }
26 },
27 {
28 "type": "CHOICE",
29 "members": [
30 {
31 "type": "SYMBOL",
32 "name": "return_statement"
33 },
34 {
35 "type": "BLANK"
36 }
37 ]
38 }
39 ]
40 },
41 "hash_bang_line": {
42 "type": "PATTERN",
43 "value": "#.*"
44 },
45 "_block": {
46 "type": "CHOICE",
47 "members": [
48 {
49 "type": "SEQ",
50 "members": [
51 {
52 "type": "REPEAT1",
53 "content": {
54 "type": "SYMBOL",
55 "name": "statement"
56 }
57 },
58 {
59 "type": "CHOICE",
60 "members": [
61 {
62 "type": "SYMBOL",
63 "name": "return_statement"
64 },
65 {
66 "type": "BLANK"
67 }
68 ]
69 }
70 ]
71 },
72 {
73 "type": "SEQ",
74 "members": [
75 {
76 "type": "REPEAT",
77 "content": {
78 "type": "SYMBOL",
79 "name": "statement"
80 }
81 },
82 {
83 "type": "SYMBOL",
84 "name": "return_statement"
85 }
86 ]
87 }
88 ]
89 },
90 "statement": {
91 "type": "CHOICE",
92 "members": [
93 {
94 "type": "SYMBOL",
95 "name": "empty_statement"
96 },
97 {
98 "type": "SYMBOL",
99 "name": "assignment_statement"
100 },
101 {
102 "type": "SYMBOL",
103 "name": "function_call"
104 },
105 {
106 "type": "SYMBOL",
107 "name": "label_statement"
108 },
109 {
110 "type": "SYMBOL",
111 "name": "break_statement"
112 },
113 {
114 "type": "SYMBOL",
115 "name": "goto_statement"
116 },
117 {
118 "type": "SYMBOL",
119 "name": "do_statement"
120 },
121 {
122 "type": "SYMBOL",
123 "name": "while_statement"
124 },
125 {
126 "type": "SYMBOL",
127 "name": "repeat_statement"
128 },
129 {
130 "type": "SYMBOL",
131 "name": "if_statement"
132 },
133 {
134 "type": "SYMBOL",
135 "name": "for_statement"
136 },
137 {
138 "type": "SYMBOL",
139 "name": "declaration"
140 }
141 ]
142 },
143 "return_statement": {
144 "type": "SEQ",
145 "members": [
146 {
147 "type": "STRING",
148 "value": "return"
149 },
150 {
151 "type": "CHOICE",
152 "members": [
153 {
154 "type": "ALIAS",
155 "content": {
156 "type": "SYMBOL",
157 "name": "_expression_list"
158 },
159 "named": true,
160 "value": "expression_list"
161 },
162 {
163 "type": "BLANK"
164 }
165 ]
166 },
167 {
168 "type": "CHOICE",
169 "members": [
170 {
171 "type": "STRING",
172 "value": ";"
173 },
174 {
175 "type": "BLANK"
176 }
177 ]
178 }
179 ]
180 },
181 "empty_statement": {
182 "type": "STRING",
183 "value": ";"
184 },
185 "assignment_statement": {
186 "type": "SEQ",
187 "members": [
188 {
189 "type": "ALIAS",
190 "content": {
191 "type": "SYMBOL",
192 "name": "_variable_assignment_varlist"
193 },
194 "named": true,
195 "value": "variable_list"
196 },
197 {
198 "type": "STRING",
199 "value": "="
200 },
201 {
202 "type": "ALIAS",
203 "content": {
204 "type": "SYMBOL",
205 "name": "_variable_assignment_explist"
206 },
207 "named": true,
208 "value": "expression_list"
209 }
210 ]
211 },
212 "_variable_assignment_varlist": {
213 "type": "SEQ",
214 "members": [
215 {
216 "type": "FIELD",
217 "name": "name",
218 "content": {
219 "type": "SYMBOL",
220 "name": "variable"
221 }
222 },
223 {
224 "type": "REPEAT",
225 "content": {
226 "type": "SEQ",
227 "members": [
228 {
229 "type": "STRING",
230 "value": ","
231 },
232 {
233 "type": "FIELD",
234 "name": "name",
235 "content": {
236 "type": "SYMBOL",
237 "name": "variable"
238 }
239 }
240 ]
241 }
242 }
243 ]
244 },
245 "_variable_assignment_explist": {
246 "type": "SEQ",
247 "members": [
248 {
249 "type": "FIELD",
250 "name": "value",
251 "content": {
252 "type": "SYMBOL",
253 "name": "expression"
254 }
255 },
256 {
257 "type": "REPEAT",
258 "content": {
259 "type": "SEQ",
260 "members": [
261 {
262 "type": "STRING",
263 "value": ","
264 },
265 {
266 "type": "FIELD",
267 "name": "value",
268 "content": {
269 "type": "SYMBOL",
270 "name": "expression"
271 }
272 }
273 ]
274 }
275 }
276 ]
277 },
278 "label_statement": {
279 "type": "SEQ",
280 "members": [
281 {
282 "type": "STRING",
283 "value": "::"
284 },
285 {
286 "type": "SYMBOL",
287 "name": "identifier"
288 },
289 {
290 "type": "STRING",
291 "value": "::"
292 }
293 ]
294 },
295 "break_statement": {
296 "type": "STRING",
297 "value": "break"
298 },
299 "goto_statement": {
300 "type": "SEQ",
301 "members": [
302 {
303 "type": "STRING",
304 "value": "goto"
305 },
306 {
307 "type": "SYMBOL",
308 "name": "identifier"
309 }
310 ]
311 },
312 "do_statement": {
313 "type": "SEQ",
314 "members": [
315 {
316 "type": "STRING",
317 "value": "do"
318 },
319 {
320 "type": "FIELD",
321 "name": "body",
322 "content": {
323 "type": "ALIAS",
324 "content": {
325 "type": "CHOICE",
326 "members": [
327 {
328 "type": "SYMBOL",
329 "name": "_block"
330 },
331 {
332 "type": "BLANK"
333 }
334 ]
335 },
336 "named": true,
337 "value": "block"
338 }
339 },
340 {
341 "type": "STRING",
342 "value": "end"
343 }
344 ]
345 },
346 "while_statement": {
347 "type": "SEQ",
348 "members": [
349 {
350 "type": "STRING",
351 "value": "while"
352 },
353 {
354 "type": "FIELD",
355 "name": "condition",
356 "content": {
357 "type": "SYMBOL",
358 "name": "expression"
359 }
360 },
361 {
362 "type": "STRING",
363 "value": "do"
364 },
365 {
366 "type": "FIELD",
367 "name": "body",
368 "content": {
369 "type": "ALIAS",
370 "content": {
371 "type": "CHOICE",
372 "members": [
373 {
374 "type": "SYMBOL",
375 "name": "_block"
376 },
377 {
378 "type": "BLANK"
379 }
380 ]
381 },
382 "named": true,
383 "value": "block"
384 }
385 },
386 {
387 "type": "STRING",
388 "value": "end"
389 }
390 ]
391 },
392 "repeat_statement": {
393 "type": "SEQ",
394 "members": [
395 {
396 "type": "STRING",
397 "value": "repeat"
398 },
399 {
400 "type": "FIELD",
401 "name": "body",
402 "content": {
403 "type": "ALIAS",
404 "content": {
405 "type": "CHOICE",
406 "members": [
407 {
408 "type": "SYMBOL",
409 "name": "_block"
410 },
411 {
412 "type": "BLANK"
413 }
414 ]
415 },
416 "named": true,
417 "value": "block"
418 }
419 },
420 {
421 "type": "STRING",
422 "value": "until"
423 },
424 {
425 "type": "FIELD",
426 "name": "condition",
427 "content": {
428 "type": "SYMBOL",
429 "name": "expression"
430 }
431 }
432 ]
433 },
434 "if_statement": {
435 "type": "SEQ",
436 "members": [
437 {
438 "type": "STRING",
439 "value": "if"
440 },
441 {
442 "type": "FIELD",
443 "name": "condition",
444 "content": {
445 "type": "SYMBOL",
446 "name": "expression"
447 }
448 },
449 {
450 "type": "STRING",
451 "value": "then"
452 },
453 {
454 "type": "FIELD",
455 "name": "consequence",
456 "content": {
457 "type": "ALIAS",
458 "content": {
459 "type": "CHOICE",
460 "members": [
461 {
462 "type": "SYMBOL",
463 "name": "_block"
464 },
465 {
466 "type": "BLANK"
467 }
468 ]
469 },
470 "named": true,
471 "value": "block"
472 }
473 },
474 {
475 "type": "REPEAT",
476 "content": {
477 "type": "FIELD",
478 "name": "alternative",
479 "content": {
480 "type": "SYMBOL",
481 "name": "elseif_statement"
482 }
483 }
484 },
485 {
486 "type": "CHOICE",
487 "members": [
488 {
489 "type": "FIELD",
490 "name": "alternative",
491 "content": {
492 "type": "SYMBOL",
493 "name": "else_statement"
494 }
495 },
496 {
497 "type": "BLANK"
498 }
499 ]
500 },
501 {
502 "type": "STRING",
503 "value": "end"
504 }
505 ]
506 },
507 "elseif_statement": {
508 "type": "SEQ",
509 "members": [
510 {
511 "type": "STRING",
512 "value": "elseif"
513 },
514 {
515 "type": "FIELD",
516 "name": "condition",
517 "content": {
518 "type": "SYMBOL",
519 "name": "expression"
520 }
521 },
522 {
523 "type": "STRING",
524 "value": "then"
525 },
526 {
527 "type": "FIELD",
528 "name": "consequence",
529 "content": {
530 "type": "ALIAS",
531 "content": {
532 "type": "CHOICE",
533 "members": [
534 {
535 "type": "SYMBOL",
536 "name": "_block"
537 },
538 {
539 "type": "BLANK"
540 }
541 ]
542 },
543 "named": true,
544 "value": "block"
545 }
546 }
547 ]
548 },
549 "else_statement": {
550 "type": "SEQ",
551 "members": [
552 {
553 "type": "STRING",
554 "value": "else"
555 },
556 {
557 "type": "FIELD",
558 "name": "body",
559 "content": {
560 "type": "ALIAS",
561 "content": {
562 "type": "CHOICE",
563 "members": [
564 {
565 "type": "SYMBOL",
566 "name": "_block"
567 },
568 {
569 "type": "BLANK"
570 }
571 ]
572 },
573 "named": true,
574 "value": "block"
575 }
576 }
577 ]
578 },
579 "for_statement": {
580 "type": "SEQ",
581 "members": [
582 {
583 "type": "STRING",
584 "value": "for"
585 },
586 {
587 "type": "FIELD",
588 "name": "clause",
589 "content": {
590 "type": "CHOICE",
591 "members": [
592 {
593 "type": "SYMBOL",
594 "name": "for_generic_clause"
595 },
596 {
597 "type": "SYMBOL",
598 "name": "for_numeric_clause"
599 }
600 ]
601 }
602 },
603 {
604 "type": "STRING",
605 "value": "do"
606 },
607 {
608 "type": "FIELD",
609 "name": "body",
610 "content": {
611 "type": "ALIAS",
612 "content": {
613 "type": "CHOICE",
614 "members": [
615 {
616 "type": "SYMBOL",
617 "name": "_block"
618 },
619 {
620 "type": "BLANK"
621 }
622 ]
623 },
624 "named": true,
625 "value": "block"
626 }
627 },
628 {
629 "type": "STRING",
630 "value": "end"
631 }
632 ]
633 },
634 "for_generic_clause": {
635 "type": "SEQ",
636 "members": [
637 {
638 "type": "ALIAS",
639 "content": {
640 "type": "SYMBOL",
641 "name": "_name_list"
642 },
643 "named": true,
644 "value": "variable_list"
645 },
646 {
647 "type": "STRING",
648 "value": "in"
649 },
650 {
651 "type": "ALIAS",
652 "content": {
653 "type": "SYMBOL",
654 "name": "_expression_list"
655 },
656 "named": true,
657 "value": "expression_list"
658 }
659 ]
660 },
661 "for_numeric_clause": {
662 "type": "SEQ",
663 "members": [
664 {
665 "type": "FIELD",
666 "name": "name",
667 "content": {
668 "type": "SYMBOL",
669 "name": "identifier"
670 }
671 },
672 {
673 "type": "STRING",
674 "value": "="
675 },
676 {
677 "type": "FIELD",
678 "name": "start",
679 "content": {
680 "type": "SYMBOL",
681 "name": "expression"
682 }
683 },
684 {
685 "type": "STRING",
686 "value": ","
687 },
688 {
689 "type": "FIELD",
690 "name": "end",
691 "content": {
692 "type": "SYMBOL",
693 "name": "expression"
694 }
695 },
696 {
697 "type": "CHOICE",
698 "members": [
699 {
700 "type": "SEQ",
701 "members": [
702 {
703 "type": "STRING",
704 "value": ","
705 },
706 {
707 "type": "FIELD",
708 "name": "step",
709 "content": {
710 "type": "SYMBOL",
711 "name": "expression"
712 }
713 }
714 ]
715 },
716 {
717 "type": "BLANK"
718 }
719 ]
720 }
721 ]
722 },
723 "declaration": {
724 "type": "CHOICE",
725 "members": [
726 {
727 "type": "SYMBOL",
728 "name": "function_declaration"
729 },
730 {
731 "type": "FIELD",
732 "name": "local_declaration",
733 "content": {
734 "type": "ALIAS",
735 "content": {
736 "type": "SYMBOL",
737 "name": "_local_function_declaration"
738 },
739 "named": true,
740 "value": "function_declaration"
741 }
742 },
743 {
744 "type": "FIELD",
745 "name": "local_declaration",
746 "content": {
747 "type": "SYMBOL",
748 "name": "variable_declaration"
749 }
750 }
751 ]
752 },
753 "function_declaration": {
754 "type": "SEQ",
755 "members": [
756 {
757 "type": "STRING",
758 "value": "function"
759 },
760 {
761 "type": "FIELD",
762 "name": "name",
763 "content": {
764 "type": "SYMBOL",
765 "name": "_function_name"
766 }
767 },
768 {
769 "type": "SYMBOL",
770 "name": "_function_body"
771 }
772 ]
773 },
774 "_local_function_declaration": {
775 "type": "SEQ",
776 "members": [
777 {
778 "type": "STRING",
779 "value": "local"
780 },
781 {
782 "type": "STRING",
783 "value": "function"
784 },
785 {
786 "type": "FIELD",
787 "name": "name",
788 "content": {
789 "type": "SYMBOL",
790 "name": "identifier"
791 }
792 },
793 {
794 "type": "SYMBOL",
795 "name": "_function_body"
796 }
797 ]
798 },
799 "_function_name": {
800 "type": "CHOICE",
801 "members": [
802 {
803 "type": "SYMBOL",
804 "name": "_function_name_prefix_expression"
805 },
806 {
807 "type": "ALIAS",
808 "content": {
809 "type": "SYMBOL",
810 "name": "_function_name_method_index_expression"
811 },
812 "named": true,
813 "value": "method_index_expression"
814 }
815 ]
816 },
817 "_function_name_prefix_expression": {
818 "type": "CHOICE",
819 "members": [
820 {
821 "type": "SYMBOL",
822 "name": "identifier"
823 },
824 {
825 "type": "ALIAS",
826 "content": {
827 "type": "SYMBOL",
828 "name": "_function_name_dot_index_expression"
829 },
830 "named": true,
831 "value": "dot_index_expression"
832 }
833 ]
834 },
835 "_function_name_dot_index_expression": {
836 "type": "SEQ",
837 "members": [
838 {
839 "type": "FIELD",
840 "name": "table",
841 "content": {
842 "type": "SYMBOL",
843 "name": "_function_name_prefix_expression"
844 }
845 },
846 {
847 "type": "STRING",
848 "value": "."
849 },
850 {
851 "type": "FIELD",
852 "name": "field",
853 "content": {
854 "type": "SYMBOL",
855 "name": "identifier"
856 }
857 }
858 ]
859 },
860 "_function_name_method_index_expression": {
861 "type": "SEQ",
862 "members": [
863 {
864 "type": "FIELD",
865 "name": "table",
866 "content": {
867 "type": "SYMBOL",
868 "name": "_function_name_prefix_expression"
869 }
870 },
871 {
872 "type": "STRING",
873 "value": ":"
874 },
875 {
876 "type": "FIELD",
877 "name": "method",
878 "content": {
879 "type": "SYMBOL",
880 "name": "identifier"
881 }
882 }
883 ]
884 },
885 "variable_declaration": {
886 "type": "SEQ",
887 "members": [
888 {
889 "type": "STRING",
890 "value": "local"
891 },
892 {
893 "type": "CHOICE",
894 "members": [
895 {
896 "type": "ALIAS",
897 "content": {
898 "type": "SYMBOL",
899 "name": "_att_name_list"
900 },
901 "named": true,
902 "value": "variable_list"
903 },
904 {
905 "type": "ALIAS",
906 "content": {
907 "type": "SYMBOL",
908 "name": "_local_variable_assignment"
909 },
910 "named": true,
911 "value": "assignment_statement"
912 }
913 ]
914 }
915 ]
916 },
917 "_local_variable_assignment": {
918 "type": "SEQ",
919 "members": [
920 {
921 "type": "ALIAS",
922 "content": {
923 "type": "SYMBOL",
924 "name": "_att_name_list"
925 },
926 "named": true,
927 "value": "variable_list"
928 },
929 {
930 "type": "STRING",
931 "value": "="
932 },
933 {
934 "type": "ALIAS",
935 "content": {
936 "type": "SYMBOL",
937 "name": "_variable_assignment_explist"
938 },
939 "named": true,
940 "value": "expression_list"
941 }
942 ]
943 },
944 "_name_list": {
945 "type": "SEQ",
946 "members": [
947 {
948 "type": "FIELD",
949 "name": "name",
950 "content": {
951 "type": "SYMBOL",
952 "name": "identifier"
953 }
954 },
955 {
956 "type": "REPEAT",
957 "content": {
958 "type": "SEQ",
959 "members": [
960 {
961 "type": "STRING",
962 "value": ","
963 },
964 {
965 "type": "FIELD",
966 "name": "name",
967 "content": {
968 "type": "SYMBOL",
969 "name": "identifier"
970 }
971 }
972 ]
973 }
974 }
975 ]
976 },
977 "_att_name_list": {
978 "type": "SEQ",
979 "members": [
980 {
981 "type": "SEQ",
982 "members": [
983 {
984 "type": "FIELD",
985 "name": "name",
986 "content": {
987 "type": "SYMBOL",
988 "name": "identifier"
989 }
990 },
991 {
992 "type": "CHOICE",
993 "members": [
994 {
995 "type": "FIELD",
996 "name": "attribute",
997 "content": {
998 "type": "ALIAS",
999 "content": {
1000 "type": "SYMBOL",
1001 "name": "_attrib"
1002 },
1003 "named": true,
1004 "value": "attribute"
1005 }
1006 },
1007 {
1008 "type": "BLANK"
1009 }
1010 ]
1011 }
1012 ]
1013 },
1014 {
1015 "type": "REPEAT",
1016 "content": {
1017 "type": "SEQ",
1018 "members": [
1019 {
1020 "type": "STRING",
1021 "value": ","
1022 },
1023 {
1024 "type": "SEQ",
1025 "members": [
1026 {
1027 "type": "FIELD",
1028 "name": "name",
1029 "content": {
1030 "type": "SYMBOL",
1031 "name": "identifier"
1032 }
1033 },
1034 {
1035 "type": "CHOICE",
1036 "members": [
1037 {
1038 "type": "FIELD",
1039 "name": "attribute",
1040 "content": {
1041 "type": "ALIAS",
1042 "content": {
1043 "type": "SYMBOL",
1044 "name": "_attrib"
1045 },
1046 "named": true,
1047 "value": "attribute"
1048 }
1049 },
1050 {
1051 "type": "BLANK"
1052 }
1053 ]
1054 }
1055 ]
1056 }
1057 ]
1058 }
1059 }
1060 ]
1061 },
1062 "_attrib": {
1063 "type": "SEQ",
1064 "members": [
1065 {
1066 "type": "STRING",
1067 "value": "<"
1068 },
1069 {
1070 "type": "SYMBOL",
1071 "name": "identifier"
1072 },
1073 {
1074 "type": "STRING",
1075 "value": ">"
1076 }
1077 ]
1078 },
1079 "_expression_list": {
1080 "type": "SEQ",
1081 "members": [
1082 {
1083 "type": "SYMBOL",
1084 "name": "expression"
1085 },
1086 {
1087 "type": "REPEAT",
1088 "content": {
1089 "type": "SEQ",
1090 "members": [
1091 {
1092 "type": "STRING",
1093 "value": ","
1094 },
1095 {
1096 "type": "SYMBOL",
1097 "name": "expression"
1098 }
1099 ]
1100 }
1101 }
1102 ]
1103 },
1104 "expression": {
1105 "type": "CHOICE",
1106 "members": [
1107 {
1108 "type": "SYMBOL",
1109 "name": "nil"
1110 },
1111 {
1112 "type": "SYMBOL",
1113 "name": "false"
1114 },
1115 {
1116 "type": "SYMBOL",
1117 "name": "true"
1118 },
1119 {
1120 "type": "SYMBOL",
1121 "name": "number"
1122 },
1123 {
1124 "type": "SYMBOL",
1125 "name": "string"
1126 },
1127 {
1128 "type": "SYMBOL",
1129 "name": "vararg_expression"
1130 },
1131 {
1132 "type": "SYMBOL",
1133 "name": "function_definition"
1134 },
1135 {
1136 "type": "SYMBOL",
1137 "name": "variable"
1138 },
1139 {
1140 "type": "SYMBOL",
1141 "name": "function_call"
1142 },
1143 {
1144 "type": "SYMBOL",
1145 "name": "parenthesized_expression"
1146 },
1147 {
1148 "type": "SYMBOL",
1149 "name": "table_constructor"
1150 },
1151 {
1152 "type": "SYMBOL",
1153 "name": "binary_expression"
1154 },
1155 {
1156 "type": "SYMBOL",
1157 "name": "unary_expression"
1158 }
1159 ]
1160 },
1161 "nil": {
1162 "type": "STRING",
1163 "value": "nil"
1164 },
1165 "false": {
1166 "type": "STRING",
1167 "value": "false"
1168 },
1169 "true": {
1170 "type": "STRING",
1171 "value": "true"
1172 },
1173 "number": {
1174 "type": "TOKEN",
1175 "content": {
1176 "type": "CHOICE",
1177 "members": [
1178 {
1179 "type": "CHOICE",
1180 "members": [
1181 {
1182 "type": "SEQ",
1183 "members": [
1184 {
1185 "type": "PATTERN",
1186 "value": "[0-9]+"
1187 },
1188 {
1189 "type": "PATTERN",
1190 "value": "U?LL",
1191 "flags": "i"
1192 }
1193 ]
1194 },
1195 {
1196 "type": "SEQ",
1197 "members": [
1198 {
1199 "type": "CHOICE",
1200 "members": [
1201 {
1202 "type": "SEQ",
1203 "members": [
1204 {
1205 "type": "CHOICE",
1206 "members": [
1207 {
1208 "type": "PATTERN",
1209 "value": "[0-9]+"
1210 },
1211 {
1212 "type": "BLANK"
1213 }
1214 ]
1215 },
1216 {
1217 "type": "CHOICE",
1218 "members": [
1219 {
1220 "type": "STRING",
1221 "value": "."
1222 },
1223 {
1224 "type": "BLANK"
1225 }
1226 ]
1227 },
1228 {
1229 "type": "PATTERN",
1230 "value": "[0-9]+"
1231 }
1232 ]
1233 },
1234 {
1235 "type": "SEQ",
1236 "members": [
1237 {
1238 "type": "PATTERN",
1239 "value": "[0-9]+"
1240 },
1241 {
1242 "type": "CHOICE",
1243 "members": [
1244 {
1245 "type": "STRING",
1246 "value": "."
1247 },
1248 {
1249 "type": "BLANK"
1250 }
1251 ]
1252 },
1253 {
1254 "type": "CHOICE",
1255 "members": [
1256 {
1257 "type": "PATTERN",
1258 "value": "[0-9]+"
1259 },
1260 {
1261 "type": "BLANK"
1262 }
1263 ]
1264 }
1265 ]
1266 }
1267 ]
1268 },
1269 {
1270 "type": "CHOICE",
1271 "members": [
1272 {
1273 "type": "SEQ",
1274 "members": [
1275 {
1276 "type": "CHOICE",
1277 "members": [
1278 {
1279 "type": "STRING",
1280 "value": "e"
1281 },
1282 {
1283 "type": "STRING",
1284 "value": "E"
1285 }
1286 ]
1287 },
1288 {
1289 "type": "SEQ",
1290 "members": [
1291 {
1292 "type": "CHOICE",
1293 "members": [
1294 {
1295 "type": "CHOICE",
1296 "members": [
1297 {
1298 "type": "STRING",
1299 "value": "-"
1300 },
1301 {
1302 "type": "STRING",
1303 "value": "+"
1304 }
1305 ]
1306 },
1307 {
1308 "type": "BLANK"
1309 }
1310 ]
1311 },
1312 {
1313 "type": "PATTERN",
1314 "value": "[0-9]+"
1315 }
1316 ]
1317 }
1318 ]
1319 },
1320 {
1321 "type": "BLANK"
1322 }
1323 ]
1324 },
1325 {
1326 "type": "CHOICE",
1327 "members": [
1328 {
1329 "type": "CHOICE",
1330 "members": [
1331 {
1332 "type": "STRING",
1333 "value": "i"
1334 },
1335 {
1336 "type": "STRING",
1337 "value": "I"
1338 }
1339 ]
1340 },
1341 {
1342 "type": "BLANK"
1343 }
1344 ]
1345 }
1346 ]
1347 }
1348 ]
1349 },
1350 {
1351 "type": "SEQ",
1352 "members": [
1353 {
1354 "type": "CHOICE",
1355 "members": [
1356 {
1357 "type": "STRING",
1358 "value": "0x"
1359 },
1360 {
1361 "type": "STRING",
1362 "value": "0X"
1363 }
1364 ]
1365 },
1366 {
1367 "type": "CHOICE",
1368 "members": [
1369 {
1370 "type": "SEQ",
1371 "members": [
1372 {
1373 "type": "PATTERN",
1374 "value": "[a-fA-F0-9]+"
1375 },
1376 {
1377 "type": "PATTERN",
1378 "value": "U?LL",
1379 "flags": "i"
1380 }
1381 ]
1382 },
1383 {
1384 "type": "SEQ",
1385 "members": [
1386 {
1387 "type": "CHOICE",
1388 "members": [
1389 {
1390 "type": "SEQ",
1391 "members": [
1392 {
1393 "type": "CHOICE",
1394 "members": [
1395 {
1396 "type": "PATTERN",
1397 "value": "[a-fA-F0-9]+"
1398 },
1399 {
1400 "type": "BLANK"
1401 }
1402 ]
1403 },
1404 {
1405 "type": "CHOICE",
1406 "members": [
1407 {
1408 "type": "STRING",
1409 "value": "."
1410 },
1411 {
1412 "type": "BLANK"
1413 }
1414 ]
1415 },
1416 {
1417 "type": "PATTERN",
1418 "value": "[a-fA-F0-9]+"
1419 }
1420 ]
1421 },
1422 {
1423 "type": "SEQ",
1424 "members": [
1425 {
1426 "type": "PATTERN",
1427 "value": "[a-fA-F0-9]+"
1428 },
1429 {
1430 "type": "CHOICE",
1431 "members": [
1432 {
1433 "type": "STRING",
1434 "value": "."
1435 },
1436 {
1437 "type": "BLANK"
1438 }
1439 ]
1440 },
1441 {
1442 "type": "CHOICE",
1443 "members": [
1444 {
1445 "type": "PATTERN",
1446 "value": "[a-fA-F0-9]+"
1447 },
1448 {
1449 "type": "BLANK"
1450 }
1451 ]
1452 }
1453 ]
1454 }
1455 ]
1456 },
1457 {
1458 "type": "CHOICE",
1459 "members": [
1460 {
1461 "type": "SEQ",
1462 "members": [
1463 {
1464 "type": "CHOICE",
1465 "members": [
1466 {
1467 "type": "STRING",
1468 "value": "p"
1469 },
1470 {
1471 "type": "STRING",
1472 "value": "P"
1473 }
1474 ]
1475 },
1476 {
1477 "type": "SEQ",
1478 "members": [
1479 {
1480 "type": "CHOICE",
1481 "members": [
1482 {
1483 "type": "CHOICE",
1484 "members": [
1485 {
1486 "type": "STRING",
1487 "value": "-"
1488 },
1489 {
1490 "type": "STRING",
1491 "value": "+"
1492 }
1493 ]
1494 },
1495 {
1496 "type": "BLANK"
1497 }
1498 ]
1499 },
1500 {
1501 "type": "PATTERN",
1502 "value": "[0-9]+"
1503 }
1504 ]
1505 }
1506 ]
1507 },
1508 {
1509 "type": "BLANK"
1510 }
1511 ]
1512 },
1513 {
1514 "type": "CHOICE",
1515 "members": [
1516 {
1517 "type": "CHOICE",
1518 "members": [
1519 {
1520 "type": "STRING",
1521 "value": "i"
1522 },
1523 {
1524 "type": "STRING",
1525 "value": "I"
1526 }
1527 ]
1528 },
1529 {
1530 "type": "BLANK"
1531 }
1532 ]
1533 }
1534 ]
1535 }
1536 ]
1537 }
1538 ]
1539 }
1540 ]
1541 }
1542 },
1543 "string": {
1544 "type": "CHOICE",
1545 "members": [
1546 {
1547 "type": "SYMBOL",
1548 "name": "_quote_string"
1549 },
1550 {
1551 "type": "SYMBOL",
1552 "name": "_block_string"
1553 }
1554 ]
1555 },
1556 "_quote_string": {
1557 "type": "CHOICE",
1558 "members": [
1559 {
1560 "type": "SEQ",
1561 "members": [
1562 {
1563 "type": "FIELD",
1564 "name": "start",
1565 "content": {
1566 "type": "ALIAS",
1567 "content": {
1568 "type": "STRING",
1569 "value": "\""
1570 },
1571 "named": false,
1572 "value": "\""
1573 }
1574 },
1575 {
1576 "type": "FIELD",
1577 "name": "content",
1578 "content": {
1579 "type": "CHOICE",
1580 "members": [
1581 {
1582 "type": "ALIAS",
1583 "content": {
1584 "type": "SYMBOL",
1585 "name": "_doublequote_string_content"
1586 },
1587 "named": true,
1588 "value": "string_content"
1589 },
1590 {
1591 "type": "BLANK"
1592 }
1593 ]
1594 }
1595 },
1596 {
1597 "type": "FIELD",
1598 "name": "end",
1599 "content": {
1600 "type": "ALIAS",
1601 "content": {
1602 "type": "STRING",
1603 "value": "\""
1604 },
1605 "named": false,
1606 "value": "\""
1607 }
1608 }
1609 ]
1610 },
1611 {
1612 "type": "SEQ",
1613 "members": [
1614 {
1615 "type": "FIELD",
1616 "name": "start",
1617 "content": {
1618 "type": "ALIAS",
1619 "content": {
1620 "type": "STRING",
1621 "value": "'"
1622 },
1623 "named": false,
1624 "value": "'"
1625 }
1626 },
1627 {
1628 "type": "FIELD",
1629 "name": "content",
1630 "content": {
1631 "type": "CHOICE",
1632 "members": [
1633 {
1634 "type": "ALIAS",
1635 "content": {
1636 "type": "SYMBOL",
1637 "name": "_singlequote_string_content"
1638 },
1639 "named": true,
1640 "value": "string_content"
1641 },
1642 {
1643 "type": "BLANK"
1644 }
1645 ]
1646 }
1647 },
1648 {
1649 "type": "FIELD",
1650 "name": "end",
1651 "content": {
1652 "type": "ALIAS",
1653 "content": {
1654 "type": "STRING",
1655 "value": "'"
1656 },
1657 "named": false,
1658 "value": "'"
1659 }
1660 }
1661 ]
1662 }
1663 ]
1664 },
1665 "_doublequote_string_content": {
1666 "type": "REPEAT1",
1667 "content": {
1668 "type": "CHOICE",
1669 "members": [
1670 {
1671 "type": "IMMEDIATE_TOKEN",
1672 "content": {
1673 "type": "PREC",
1674 "value": 1,
1675 "content": {
1676 "type": "PATTERN",
1677 "value": "[^\"\\\\]+"
1678 }
1679 }
1680 },
1681 {
1682 "type": "SYMBOL",
1683 "name": "escape_sequence"
1684 }
1685 ]
1686 }
1687 },
1688 "_singlequote_string_content": {
1689 "type": "REPEAT1",
1690 "content": {
1691 "type": "CHOICE",
1692 "members": [
1693 {
1694 "type": "IMMEDIATE_TOKEN",
1695 "content": {
1696 "type": "PREC",
1697 "value": 1,
1698 "content": {
1699 "type": "PATTERN",
1700 "value": "[^'\\\\]+"
1701 }
1702 }
1703 },
1704 {
1705 "type": "SYMBOL",
1706 "name": "escape_sequence"
1707 }
1708 ]
1709 }
1710 },
1711 "_block_string": {
1712 "type": "SEQ",
1713 "members": [
1714 {
1715 "type": "FIELD",
1716 "name": "start",
1717 "content": {
1718 "type": "ALIAS",
1719 "content": {
1720 "type": "SYMBOL",
1721 "name": "_block_string_start"
1722 },
1723 "named": false,
1724 "value": "[["
1725 }
1726 },
1727 {
1728 "type": "FIELD",
1729 "name": "content",
1730 "content": {
1731 "type": "ALIAS",
1732 "content": {
1733 "type": "SYMBOL",
1734 "name": "_block_string_content"
1735 },
1736 "named": true,
1737 "value": "string_content"
1738 }
1739 },
1740 {
1741 "type": "FIELD",
1742 "name": "end",
1743 "content": {
1744 "type": "ALIAS",
1745 "content": {
1746 "type": "SYMBOL",
1747 "name": "_block_string_end"
1748 },
1749 "named": false,
1750 "value": "]]"
1751 }
1752 }
1753 ]
1754 },
1755 "escape_sequence": {
1756 "type": "IMMEDIATE_TOKEN",
1757 "content": {
1758 "type": "SEQ",
1759 "members": [
1760 {
1761 "type": "STRING",
1762 "value": "\\"
1763 },
1764 {
1765 "type": "CHOICE",
1766 "members": [
1767 {
1768 "type": "PATTERN",
1769 "value": "[\\nabfnrtv\\\\'\"]"
1770 },
1771 {
1772 "type": "PATTERN",
1773 "value": "z\\s*"
1774 },
1775 {
1776 "type": "PATTERN",
1777 "value": "[0-9]{1,3}"
1778 },
1779 {
1780 "type": "PATTERN",
1781 "value": "x[0-9a-fA-F]{2}"
1782 },
1783 {
1784 "type": "PATTERN",
1785 "value": "u\\{[0-9a-fA-F]+\\}"
1786 }
1787 ]
1788 }
1789 ]
1790 }
1791 },
1792 "vararg_expression": {
1793 "type": "STRING",
1794 "value": "..."
1795 },
1796 "function_definition": {
1797 "type": "SEQ",
1798 "members": [
1799 {
1800 "type": "STRING",
1801 "value": "function"
1802 },
1803 {
1804 "type": "SYMBOL",
1805 "name": "_function_body"
1806 }
1807 ]
1808 },
1809 "_function_body": {
1810 "type": "SEQ",
1811 "members": [
1812 {
1813 "type": "FIELD",
1814 "name": "parameters",
1815 "content": {
1816 "type": "SYMBOL",
1817 "name": "parameters"
1818 }
1819 },
1820 {
1821 "type": "FIELD",
1822 "name": "body",
1823 "content": {
1824 "type": "ALIAS",
1825 "content": {
1826 "type": "CHOICE",
1827 "members": [
1828 {
1829 "type": "SYMBOL",
1830 "name": "_block"
1831 },
1832 {
1833 "type": "BLANK"
1834 }
1835 ]
1836 },
1837 "named": true,
1838 "value": "block"
1839 }
1840 },
1841 {
1842 "type": "STRING",
1843 "value": "end"
1844 }
1845 ]
1846 },
1847 "parameters": {
1848 "type": "SEQ",
1849 "members": [
1850 {
1851 "type": "STRING",
1852 "value": "("
1853 },
1854 {
1855 "type": "CHOICE",
1856 "members": [
1857 {
1858 "type": "SYMBOL",
1859 "name": "_parameter_list"
1860 },
1861 {
1862 "type": "BLANK"
1863 }
1864 ]
1865 },
1866 {
1867 "type": "STRING",
1868 "value": ")"
1869 }
1870 ]
1871 },
1872 "_parameter_list": {
1873 "type": "CHOICE",
1874 "members": [
1875 {
1876 "type": "SEQ",
1877 "members": [
1878 {
1879 "type": "SEQ",
1880 "members": [
1881 {
1882 "type": "FIELD",
1883 "name": "name",
1884 "content": {
1885 "type": "SYMBOL",
1886 "name": "identifier"
1887 }
1888 },
1889 {
1890 "type": "REPEAT",
1891 "content": {
1892 "type": "SEQ",
1893 "members": [
1894 {
1895 "type": "STRING",
1896 "value": ","
1897 },
1898 {
1899 "type": "FIELD",
1900 "name": "name",
1901 "content": {
1902 "type": "SYMBOL",
1903 "name": "identifier"
1904 }
1905 }
1906 ]
1907 }
1908 }
1909 ]
1910 },
1911 {
1912 "type": "CHOICE",
1913 "members": [
1914 {
1915 "type": "SEQ",
1916 "members": [
1917 {
1918 "type": "STRING",
1919 "value": ","
1920 },
1921 {
1922 "type": "SYMBOL",
1923 "name": "vararg_expression"
1924 }
1925 ]
1926 },
1927 {
1928 "type": "BLANK"
1929 }
1930 ]
1931 }
1932 ]
1933 },
1934 {
1935 "type": "SYMBOL",
1936 "name": "vararg_expression"
1937 }
1938 ]
1939 },
1940 "_prefix_expression": {
1941 "type": "PREC",
1942 "value": 1,
1943 "content": {
1944 "type": "CHOICE",
1945 "members": [
1946 {
1947 "type": "SYMBOL",
1948 "name": "variable"
1949 },
1950 {
1951 "type": "SYMBOL",
1952 "name": "function_call"
1953 },
1954 {
1955 "type": "SYMBOL",
1956 "name": "parenthesized_expression"
1957 }
1958 ]
1959 }
1960 },
1961 "variable": {
1962 "type": "CHOICE",
1963 "members": [
1964 {
1965 "type": "SYMBOL",
1966 "name": "identifier"
1967 },
1968 {
1969 "type": "SYMBOL",
1970 "name": "bracket_index_expression"
1971 },
1972 {
1973 "type": "SYMBOL",
1974 "name": "dot_index_expression"
1975 }
1976 ]
1977 },
1978 "bracket_index_expression": {
1979 "type": "SEQ",
1980 "members": [
1981 {
1982 "type": "FIELD",
1983 "name": "table",
1984 "content": {
1985 "type": "SYMBOL",
1986 "name": "_prefix_expression"
1987 }
1988 },
1989 {
1990 "type": "STRING",
1991 "value": "["
1992 },
1993 {
1994 "type": "FIELD",
1995 "name": "field",
1996 "content": {
1997 "type": "SYMBOL",
1998 "name": "expression"
1999 }
2000 },
2001 {
2002 "type": "STRING",
2003 "value": "]"
2004 }
2005 ]
2006 },
2007 "dot_index_expression": {
2008 "type": "SEQ",
2009 "members": [
2010 {
2011 "type": "FIELD",
2012 "name": "table",
2013 "content": {
2014 "type": "SYMBOL",
2015 "name": "_prefix_expression"
2016 }
2017 },
2018 {
2019 "type": "STRING",
2020 "value": "."
2021 },
2022 {
2023 "type": "FIELD",
2024 "name": "field",
2025 "content": {
2026 "type": "SYMBOL",
2027 "name": "identifier"
2028 }
2029 }
2030 ]
2031 },
2032 "function_call": {
2033 "type": "SEQ",
2034 "members": [
2035 {
2036 "type": "FIELD",
2037 "name": "name",
2038 "content": {
2039 "type": "CHOICE",
2040 "members": [
2041 {
2042 "type": "SYMBOL",
2043 "name": "_prefix_expression"
2044 },
2045 {
2046 "type": "SYMBOL",
2047 "name": "method_index_expression"
2048 }
2049 ]
2050 }
2051 },
2052 {
2053 "type": "FIELD",
2054 "name": "arguments",
2055 "content": {
2056 "type": "SYMBOL",
2057 "name": "arguments"
2058 }
2059 }
2060 ]
2061 },
2062 "method_index_expression": {
2063 "type": "SEQ",
2064 "members": [
2065 {
2066 "type": "FIELD",
2067 "name": "table",
2068 "content": {
2069 "type": "SYMBOL",
2070 "name": "_prefix_expression"
2071 }
2072 },
2073 {
2074 "type": "STRING",
2075 "value": ":"
2076 },
2077 {
2078 "type": "FIELD",
2079 "name": "method",
2080 "content": {
2081 "type": "SYMBOL",
2082 "name": "identifier"
2083 }
2084 }
2085 ]
2086 },
2087 "arguments": {
2088 "type": "CHOICE",
2089 "members": [
2090 {
2091 "type": "SEQ",
2092 "members": [
2093 {
2094 "type": "STRING",
2095 "value": "("
2096 },
2097 {
2098 "type": "CHOICE",
2099 "members": [
2100 {
2101 "type": "SEQ",
2102 "members": [
2103 {
2104 "type": "SYMBOL",
2105 "name": "expression"
2106 },
2107 {
2108 "type": "REPEAT",
2109 "content": {
2110 "type": "SEQ",
2111 "members": [
2112 {
2113 "type": "STRING",
2114 "value": ","
2115 },
2116 {
2117 "type": "SYMBOL",
2118 "name": "expression"
2119 }
2120 ]
2121 }
2122 }
2123 ]
2124 },
2125 {
2126 "type": "BLANK"
2127 }
2128 ]
2129 },
2130 {
2131 "type": "STRING",
2132 "value": ")"
2133 }
2134 ]
2135 },
2136 {
2137 "type": "SYMBOL",
2138 "name": "table_constructor"
2139 },
2140 {
2141 "type": "SYMBOL",
2142 "name": "string"
2143 }
2144 ]
2145 },
2146 "parenthesized_expression": {
2147 "type": "SEQ",
2148 "members": [
2149 {
2150 "type": "STRING",
2151 "value": "("
2152 },
2153 {
2154 "type": "SYMBOL",
2155 "name": "expression"
2156 },
2157 {
2158 "type": "STRING",
2159 "value": ")"
2160 }
2161 ]
2162 },
2163 "table_constructor": {
2164 "type": "SEQ",
2165 "members": [
2166 {
2167 "type": "STRING",
2168 "value": "{"
2169 },
2170 {
2171 "type": "CHOICE",
2172 "members": [
2173 {
2174 "type": "SYMBOL",
2175 "name": "_field_list"
2176 },
2177 {
2178 "type": "BLANK"
2179 }
2180 ]
2181 },
2182 {
2183 "type": "STRING",
2184 "value": "}"
2185 }
2186 ]
2187 },
2188 "_field_list": {
2189 "type": "SEQ",
2190 "members": [
2191 {
2192 "type": "SYMBOL",
2193 "name": "field"
2194 },
2195 {
2196 "type": "REPEAT",
2197 "content": {
2198 "type": "SEQ",
2199 "members": [
2200 {
2201 "type": "SYMBOL",
2202 "name": "_field_sep"
2203 },
2204 {
2205 "type": "SYMBOL",
2206 "name": "field"
2207 }
2208 ]
2209 }
2210 },
2211 {
2212 "type": "CHOICE",
2213 "members": [
2214 {
2215 "type": "SYMBOL",
2216 "name": "_field_sep"
2217 },
2218 {
2219 "type": "BLANK"
2220 }
2221 ]
2222 }
2223 ]
2224 },
2225 "_field_sep": {
2226 "type": "CHOICE",
2227 "members": [
2228 {
2229 "type": "STRING",
2230 "value": ","
2231 },
2232 {
2233 "type": "STRING",
2234 "value": ";"
2235 }
2236 ]
2237 },
2238 "field": {
2239 "type": "CHOICE",
2240 "members": [
2241 {
2242 "type": "SEQ",
2243 "members": [
2244 {
2245 "type": "STRING",
2246 "value": "["
2247 },
2248 {
2249 "type": "FIELD",
2250 "name": "name",
2251 "content": {
2252 "type": "SYMBOL",
2253 "name": "expression"
2254 }
2255 },
2256 {
2257 "type": "STRING",
2258 "value": "]"
2259 },
2260 {
2261 "type": "STRING",
2262 "value": "="
2263 },
2264 {
2265 "type": "FIELD",
2266 "name": "value",
2267 "content": {
2268 "type": "SYMBOL",
2269 "name": "expression"
2270 }
2271 }
2272 ]
2273 },
2274 {
2275 "type": "SEQ",
2276 "members": [
2277 {
2278 "type": "FIELD",
2279 "name": "name",
2280 "content": {
2281 "type": "SYMBOL",
2282 "name": "identifier"
2283 }
2284 },
2285 {
2286 "type": "STRING",
2287 "value": "="
2288 },
2289 {
2290 "type": "FIELD",
2291 "name": "value",
2292 "content": {
2293 "type": "SYMBOL",
2294 "name": "expression"
2295 }
2296 }
2297 ]
2298 },
2299 {
2300 "type": "FIELD",
2301 "name": "value",
2302 "content": {
2303 "type": "SYMBOL",
2304 "name": "expression"
2305 }
2306 }
2307 ]
2308 },
2309 "binary_expression": {
2310 "type": "CHOICE",
2311 "members": [
2312 {
2313 "type": "PREC_LEFT",
2314 "value": 1,
2315 "content": {
2316 "type": "SEQ",
2317 "members": [
2318 {
2319 "type": "FIELD",
2320 "name": "left",
2321 "content": {
2322 "type": "SYMBOL",
2323 "name": "expression"
2324 }
2325 },
2326 {
2327 "type": "STRING",
2328 "value": "or"
2329 },
2330 {
2331 "type": "FIELD",
2332 "name": "right",
2333 "content": {
2334 "type": "SYMBOL",
2335 "name": "expression"
2336 }
2337 }
2338 ]
2339 }
2340 },
2341 {
2342 "type": "PREC_LEFT",
2343 "value": 2,
2344 "content": {
2345 "type": "SEQ",
2346 "members": [
2347 {
2348 "type": "FIELD",
2349 "name": "left",
2350 "content": {
2351 "type": "SYMBOL",
2352 "name": "expression"
2353 }
2354 },
2355 {
2356 "type": "STRING",
2357 "value": "and"
2358 },
2359 {
2360 "type": "FIELD",
2361 "name": "right",
2362 "content": {
2363 "type": "SYMBOL",
2364 "name": "expression"
2365 }
2366 }
2367 ]
2368 }
2369 },
2370 {
2371 "type": "PREC_LEFT",
2372 "value": 3,
2373 "content": {
2374 "type": "SEQ",
2375 "members": [
2376 {
2377 "type": "FIELD",
2378 "name": "left",
2379 "content": {
2380 "type": "SYMBOL",
2381 "name": "expression"
2382 }
2383 },
2384 {
2385 "type": "STRING",
2386 "value": "<"
2387 },
2388 {
2389 "type": "FIELD",
2390 "name": "right",
2391 "content": {
2392 "type": "SYMBOL",
2393 "name": "expression"
2394 }
2395 }
2396 ]
2397 }
2398 },
2399 {
2400 "type": "PREC_LEFT",
2401 "value": 3,
2402 "content": {
2403 "type": "SEQ",
2404 "members": [
2405 {
2406 "type": "FIELD",
2407 "name": "left",
2408 "content": {
2409 "type": "SYMBOL",
2410 "name": "expression"
2411 }
2412 },
2413 {
2414 "type": "STRING",
2415 "value": "<="
2416 },
2417 {
2418 "type": "FIELD",
2419 "name": "right",
2420 "content": {
2421 "type": "SYMBOL",
2422 "name": "expression"
2423 }
2424 }
2425 ]
2426 }
2427 },
2428 {
2429 "type": "PREC_LEFT",
2430 "value": 3,
2431 "content": {
2432 "type": "SEQ",
2433 "members": [
2434 {
2435 "type": "FIELD",
2436 "name": "left",
2437 "content": {
2438 "type": "SYMBOL",
2439 "name": "expression"
2440 }
2441 },
2442 {
2443 "type": "STRING",
2444 "value": "=="
2445 },
2446 {
2447 "type": "FIELD",
2448 "name": "right",
2449 "content": {
2450 "type": "SYMBOL",
2451 "name": "expression"
2452 }
2453 }
2454 ]
2455 }
2456 },
2457 {
2458 "type": "PREC_LEFT",
2459 "value": 3,
2460 "content": {
2461 "type": "SEQ",
2462 "members": [
2463 {
2464 "type": "FIELD",
2465 "name": "left",
2466 "content": {
2467 "type": "SYMBOL",
2468 "name": "expression"
2469 }
2470 },
2471 {
2472 "type": "STRING",
2473 "value": "~="
2474 },
2475 {
2476 "type": "FIELD",
2477 "name": "right",
2478 "content": {
2479 "type": "SYMBOL",
2480 "name": "expression"
2481 }
2482 }
2483 ]
2484 }
2485 },
2486 {
2487 "type": "PREC_LEFT",
2488 "value": 3,
2489 "content": {
2490 "type": "SEQ",
2491 "members": [
2492 {
2493 "type": "FIELD",
2494 "name": "left",
2495 "content": {
2496 "type": "SYMBOL",
2497 "name": "expression"
2498 }
2499 },
2500 {
2501 "type": "STRING",
2502 "value": ">="
2503 },
2504 {
2505 "type": "FIELD",
2506 "name": "right",
2507 "content": {
2508 "type": "SYMBOL",
2509 "name": "expression"
2510 }
2511 }
2512 ]
2513 }
2514 },
2515 {
2516 "type": "PREC_LEFT",
2517 "value": 3,
2518 "content": {
2519 "type": "SEQ",
2520 "members": [
2521 {
2522 "type": "FIELD",
2523 "name": "left",
2524 "content": {
2525 "type": "SYMBOL",
2526 "name": "expression"
2527 }
2528 },
2529 {
2530 "type": "STRING",
2531 "value": ">"
2532 },
2533 {
2534 "type": "FIELD",
2535 "name": "right",
2536 "content": {
2537 "type": "SYMBOL",
2538 "name": "expression"
2539 }
2540 }
2541 ]
2542 }
2543 },
2544 {
2545 "type": "PREC_LEFT",
2546 "value": 4,
2547 "content": {
2548 "type": "SEQ",
2549 "members": [
2550 {
2551 "type": "FIELD",
2552 "name": "left",
2553 "content": {
2554 "type": "SYMBOL",
2555 "name": "expression"
2556 }
2557 },
2558 {
2559 "type": "STRING",
2560 "value": "|"
2561 },
2562 {
2563 "type": "FIELD",
2564 "name": "right",
2565 "content": {
2566 "type": "SYMBOL",
2567 "name": "expression"
2568 }
2569 }
2570 ]
2571 }
2572 },
2573 {
2574 "type": "PREC_LEFT",
2575 "value": 5,
2576 "content": {
2577 "type": "SEQ",
2578 "members": [
2579 {
2580 "type": "FIELD",
2581 "name": "left",
2582 "content": {
2583 "type": "SYMBOL",
2584 "name": "expression"
2585 }
2586 },
2587 {
2588 "type": "STRING",
2589 "value": "~"
2590 },
2591 {
2592 "type": "FIELD",
2593 "name": "right",
2594 "content": {
2595 "type": "SYMBOL",
2596 "name": "expression"
2597 }
2598 }
2599 ]
2600 }
2601 },
2602 {
2603 "type": "PREC_LEFT",
2604 "value": 6,
2605 "content": {
2606 "type": "SEQ",
2607 "members": [
2608 {
2609 "type": "FIELD",
2610 "name": "left",
2611 "content": {
2612 "type": "SYMBOL",
2613 "name": "expression"
2614 }
2615 },
2616 {
2617 "type": "STRING",
2618 "value": "&"
2619 },
2620 {
2621 "type": "FIELD",
2622 "name": "right",
2623 "content": {
2624 "type": "SYMBOL",
2625 "name": "expression"
2626 }
2627 }
2628 ]
2629 }
2630 },
2631 {
2632 "type": "PREC_LEFT",
2633 "value": 7,
2634 "content": {
2635 "type": "SEQ",
2636 "members": [
2637 {
2638 "type": "FIELD",
2639 "name": "left",
2640 "content": {
2641 "type": "SYMBOL",
2642 "name": "expression"
2643 }
2644 },
2645 {
2646 "type": "STRING",
2647 "value": "<<"
2648 },
2649 {
2650 "type": "FIELD",
2651 "name": "right",
2652 "content": {
2653 "type": "SYMBOL",
2654 "name": "expression"
2655 }
2656 }
2657 ]
2658 }
2659 },
2660 {
2661 "type": "PREC_LEFT",
2662 "value": 7,
2663 "content": {
2664 "type": "SEQ",
2665 "members": [
2666 {
2667 "type": "FIELD",
2668 "name": "left",
2669 "content": {
2670 "type": "SYMBOL",
2671 "name": "expression"
2672 }
2673 },
2674 {
2675 "type": "STRING",
2676 "value": ">>"
2677 },
2678 {
2679 "type": "FIELD",
2680 "name": "right",
2681 "content": {
2682 "type": "SYMBOL",
2683 "name": "expression"
2684 }
2685 }
2686 ]
2687 }
2688 },
2689 {
2690 "type": "PREC_LEFT",
2691 "value": 9,
2692 "content": {
2693 "type": "SEQ",
2694 "members": [
2695 {
2696 "type": "FIELD",
2697 "name": "left",
2698 "content": {
2699 "type": "SYMBOL",
2700 "name": "expression"
2701 }
2702 },
2703 {
2704 "type": "STRING",
2705 "value": "+"
2706 },
2707 {
2708 "type": "FIELD",
2709 "name": "right",
2710 "content": {
2711 "type": "SYMBOL",
2712 "name": "expression"
2713 }
2714 }
2715 ]
2716 }
2717 },
2718 {
2719 "type": "PREC_LEFT",
2720 "value": 9,
2721 "content": {
2722 "type": "SEQ",
2723 "members": [
2724 {
2725 "type": "FIELD",
2726 "name": "left",
2727 "content": {
2728 "type": "SYMBOL",
2729 "name": "expression"
2730 }
2731 },
2732 {
2733 "type": "STRING",
2734 "value": "-"
2735 },
2736 {
2737 "type": "FIELD",
2738 "name": "right",
2739 "content": {
2740 "type": "SYMBOL",
2741 "name": "expression"
2742 }
2743 }
2744 ]
2745 }
2746 },
2747 {
2748 "type": "PREC_LEFT",
2749 "value": 10,
2750 "content": {
2751 "type": "SEQ",
2752 "members": [
2753 {
2754 "type": "FIELD",
2755 "name": "left",
2756 "content": {
2757 "type": "SYMBOL",
2758 "name": "expression"
2759 }
2760 },
2761 {
2762 "type": "STRING",
2763 "value": "*"
2764 },
2765 {
2766 "type": "FIELD",
2767 "name": "right",
2768 "content": {
2769 "type": "SYMBOL",
2770 "name": "expression"
2771 }
2772 }
2773 ]
2774 }
2775 },
2776 {
2777 "type": "PREC_LEFT",
2778 "value": 10,
2779 "content": {
2780 "type": "SEQ",
2781 "members": [
2782 {
2783 "type": "FIELD",
2784 "name": "left",
2785 "content": {
2786 "type": "SYMBOL",
2787 "name": "expression"
2788 }
2789 },
2790 {
2791 "type": "STRING",
2792 "value": "/"
2793 },
2794 {
2795 "type": "FIELD",
2796 "name": "right",
2797 "content": {
2798 "type": "SYMBOL",
2799 "name": "expression"
2800 }
2801 }
2802 ]
2803 }
2804 },
2805 {
2806 "type": "PREC_LEFT",
2807 "value": 10,
2808 "content": {
2809 "type": "SEQ",
2810 "members": [
2811 {
2812 "type": "FIELD",
2813 "name": "left",
2814 "content": {
2815 "type": "SYMBOL",
2816 "name": "expression"
2817 }
2818 },
2819 {
2820 "type": "STRING",
2821 "value": "//"
2822 },
2823 {
2824 "type": "FIELD",
2825 "name": "right",
2826 "content": {
2827 "type": "SYMBOL",
2828 "name": "expression"
2829 }
2830 }
2831 ]
2832 }
2833 },
2834 {
2835 "type": "PREC_LEFT",
2836 "value": 10,
2837 "content": {
2838 "type": "SEQ",
2839 "members": [
2840 {
2841 "type": "FIELD",
2842 "name": "left",
2843 "content": {
2844 "type": "SYMBOL",
2845 "name": "expression"
2846 }
2847 },
2848 {
2849 "type": "STRING",
2850 "value": "%"
2851 },
2852 {
2853 "type": "FIELD",
2854 "name": "right",
2855 "content": {
2856 "type": "SYMBOL",
2857 "name": "expression"
2858 }
2859 }
2860 ]
2861 }
2862 },
2863 {
2864 "type": "PREC_RIGHT",
2865 "value": 8,
2866 "content": {
2867 "type": "SEQ",
2868 "members": [
2869 {
2870 "type": "FIELD",
2871 "name": "left",
2872 "content": {
2873 "type": "SYMBOL",
2874 "name": "expression"
2875 }
2876 },
2877 {
2878 "type": "STRING",
2879 "value": ".."
2880 },
2881 {
2882 "type": "FIELD",
2883 "name": "right",
2884 "content": {
2885 "type": "SYMBOL",
2886 "name": "expression"
2887 }
2888 }
2889 ]
2890 }
2891 },
2892 {
2893 "type": "PREC_RIGHT",
2894 "value": 12,
2895 "content": {
2896 "type": "SEQ",
2897 "members": [
2898 {
2899 "type": "FIELD",
2900 "name": "left",
2901 "content": {
2902 "type": "SYMBOL",
2903 "name": "expression"
2904 }
2905 },
2906 {
2907 "type": "STRING",
2908 "value": "^"
2909 },
2910 {
2911 "type": "FIELD",
2912 "name": "right",
2913 "content": {
2914 "type": "SYMBOL",
2915 "name": "expression"
2916 }
2917 }
2918 ]
2919 }
2920 }
2921 ]
2922 },
2923 "unary_expression": {
2924 "type": "PREC_LEFT",
2925 "value": 11,
2926 "content": {
2927 "type": "SEQ",
2928 "members": [
2929 {
2930 "type": "CHOICE",
2931 "members": [
2932 {
2933 "type": "STRING",
2934 "value": "not"
2935 },
2936 {
2937 "type": "STRING",
2938 "value": "#"
2939 },
2940 {
2941 "type": "STRING",
2942 "value": "-"
2943 },
2944 {
2945 "type": "STRING",
2946 "value": "~"
2947 }
2948 ]
2949 },
2950 {
2951 "type": "FIELD",
2952 "name": "operand",
2953 "content": {
2954 "type": "SYMBOL",
2955 "name": "expression"
2956 }
2957 }
2958 ]
2959 }
2960 },
2961 "identifier": {
2962 "type": "TOKEN",
2963 "content": {
2964 "type": "SEQ",
2965 "members": [
2966 {
2967 "type": "PATTERN",
2968 "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"\\d]"
2969 },
2970 {
2971 "type": "PATTERN",
2972 "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"]*"
2973 }
2974 ]
2975 }
2976 },
2977 "comment": {
2978 "type": "CHOICE",
2979 "members": [
2980 {
2981 "type": "SEQ",
2982 "members": [
2983 {
2984 "type": "FIELD",
2985 "name": "start",
2986 "content": {
2987 "type": "STRING",
2988 "value": "--"
2989 }
2990 },
2991 {
2992 "type": "FIELD",
2993 "name": "content",
2994 "content": {
2995 "type": "ALIAS",
2996 "content": {
2997 "type": "PATTERN",
2998 "value": "[^\\r\\n]*"
2999 },
3000 "named": true,
3001 "value": "comment_content"
3002 }
3003 }
3004 ]
3005 },
3006 {
3007 "type": "SEQ",
3008 "members": [
3009 {
3010 "type": "FIELD",
3011 "name": "start",
3012 "content": {
3013 "type": "ALIAS",
3014 "content": {
3015 "type": "SYMBOL",
3016 "name": "_block_comment_start"
3017 },
3018 "named": false,
3019 "value": "[["
3020 }
3021 },
3022 {
3023 "type": "FIELD",
3024 "name": "content",
3025 "content": {
3026 "type": "ALIAS",
3027 "content": {
3028 "type": "SYMBOL",
3029 "name": "_block_comment_content"
3030 },
3031 "named": true,
3032 "value": "comment_content"
3033 }
3034 },
3035 {
3036 "type": "FIELD",
3037 "name": "end",
3038 "content": {
3039 "type": "ALIAS",
3040 "content": {
3041 "type": "SYMBOL",
3042 "name": "_block_comment_end"
3043 },
3044 "named": false,
3045 "value": "]]"
3046 }
3047 }
3048 ]
3049 }
3050 ]
3051 }
3052 },
3053 "extras": [
3054 {
3055 "type": "SYMBOL",
3056 "name": "comment"
3057 },
3058 {
3059 "type": "PATTERN",
3060 "value": "\\s"
3061 }
3062 ],
3063 "conflicts": [],
3064 "precedences": [],
3065 "externals": [
3066 {
3067 "type": "SYMBOL",
3068 "name": "_block_comment_start"
3069 },
3070 {
3071 "type": "SYMBOL",
3072 "name": "_block_comment_content"
3073 },
3074 {
3075 "type": "SYMBOL",
3076 "name": "_block_comment_end"
3077 },
3078 {
3079 "type": "SYMBOL",
3080 "name": "_block_string_start"
3081 },
3082 {
3083 "type": "SYMBOL",
3084 "name": "_block_string_content"
3085 },
3086 {
3087 "type": "SYMBOL",
3088 "name": "_block_string_end"
3089 }
3090 ],
3091 "inline": [],
3092 "supertypes": [
3093 "statement",
3094 "expression",
3095 "declaration",
3096 "variable"
3097 ]
3098}