tree-sitter-ucode 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1543 @@
1
+ {
2
+ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
3
+ "name": "ucdocs",
4
+ "rules": {
5
+ "document": {
6
+ "type": "SEQ",
7
+ "members": [
8
+ {
9
+ "type": "SYMBOL",
10
+ "name": "_begin"
11
+ },
12
+ {
13
+ "type": "CHOICE",
14
+ "members": [
15
+ {
16
+ "type": "ALIAS",
17
+ "content": {
18
+ "type": "SYMBOL",
19
+ "name": "_free_description"
20
+ },
21
+ "named": true,
22
+ "value": "description"
23
+ },
24
+ {
25
+ "type": "BLANK"
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "type": "REPEAT",
31
+ "content": {
32
+ "type": "CHOICE",
33
+ "members": [
34
+ {
35
+ "type": "SYMBOL",
36
+ "name": "param_tag"
37
+ },
38
+ {
39
+ "type": "SYMBOL",
40
+ "name": "returns_tag"
41
+ },
42
+ {
43
+ "type": "SYMBOL",
44
+ "name": "template_tag"
45
+ },
46
+ {
47
+ "type": "SYMBOL",
48
+ "name": "typedef_tag"
49
+ },
50
+ {
51
+ "type": "SYMBOL",
52
+ "name": "type_tag"
53
+ },
54
+ {
55
+ "type": "SYMBOL",
56
+ "name": "throws_tag"
57
+ },
58
+ {
59
+ "type": "SYMBOL",
60
+ "name": "deprecated_tag"
61
+ },
62
+ {
63
+ "type": "SYMBOL",
64
+ "name": "since_tag"
65
+ },
66
+ {
67
+ "type": "SYMBOL",
68
+ "name": "see_tag"
69
+ },
70
+ {
71
+ "type": "SYMBOL",
72
+ "name": "example_tag"
73
+ },
74
+ {
75
+ "type": "SYMBOL",
76
+ "name": "default_tag"
77
+ },
78
+ {
79
+ "type": "SYMBOL",
80
+ "name": "function_tag"
81
+ },
82
+ {
83
+ "type": "SYMBOL",
84
+ "name": "module_tag"
85
+ },
86
+ {
87
+ "type": "SYMBOL",
88
+ "name": "unknown_tag"
89
+ }
90
+ ]
91
+ }
92
+ },
93
+ {
94
+ "type": "SYMBOL",
95
+ "name": "_end"
96
+ }
97
+ ]
98
+ },
99
+ "_begin": {
100
+ "type": "TOKEN",
101
+ "content": {
102
+ "type": "SEQ",
103
+ "members": [
104
+ {
105
+ "type": "STRING",
106
+ "value": "/"
107
+ },
108
+ {
109
+ "type": "PATTERN",
110
+ "value": "\\*+"
111
+ }
112
+ ]
113
+ }
114
+ },
115
+ "_end": {
116
+ "type": "TOKEN",
117
+ "content": {
118
+ "type": "SEQ",
119
+ "members": [
120
+ {
121
+ "type": "PATTERN",
122
+ "value": "\\**"
123
+ },
124
+ {
125
+ "type": "STRING",
126
+ "value": "/"
127
+ }
128
+ ]
129
+ }
130
+ },
131
+ "_typed_description": {
132
+ "type": "REPEAT1",
133
+ "content": {
134
+ "type": "CHOICE",
135
+ "members": [
136
+ {
137
+ "type": "SYMBOL",
138
+ "name": "_text"
139
+ },
140
+ {
141
+ "type": "SYMBOL",
142
+ "name": "inline_tag"
143
+ }
144
+ ]
145
+ }
146
+ },
147
+ "_free_description": {
148
+ "type": "REPEAT1",
149
+ "content": {
150
+ "type": "CHOICE",
151
+ "members": [
152
+ {
153
+ "type": "SYMBOL",
154
+ "name": "_text"
155
+ },
156
+ {
157
+ "type": "SYMBOL",
158
+ "name": "inline_tag"
159
+ },
160
+ {
161
+ "type": "SYMBOL",
162
+ "name": "_brace_text"
163
+ }
164
+ ]
165
+ }
166
+ },
167
+ "inline_tag": {
168
+ "type": "SEQ",
169
+ "members": [
170
+ {
171
+ "type": "STRING",
172
+ "value": "{"
173
+ },
174
+ {
175
+ "type": "SYMBOL",
176
+ "name": "tag_name"
177
+ },
178
+ {
179
+ "type": "CHOICE",
180
+ "members": [
181
+ {
182
+ "type": "ALIAS",
183
+ "content": {
184
+ "type": "SYMBOL",
185
+ "name": "_free_description"
186
+ },
187
+ "named": true,
188
+ "value": "description"
189
+ },
190
+ {
191
+ "type": "BLANK"
192
+ }
193
+ ]
194
+ },
195
+ {
196
+ "type": "STRING",
197
+ "value": "}"
198
+ }
199
+ ]
200
+ },
201
+ "_brace_text": {
202
+ "type": "SEQ",
203
+ "members": [
204
+ {
205
+ "type": "STRING",
206
+ "value": "{"
207
+ },
208
+ {
209
+ "type": "CHOICE",
210
+ "members": [
211
+ {
212
+ "type": "SEQ",
213
+ "members": [
214
+ {
215
+ "type": "PATTERN",
216
+ "value": "[^{}@]"
217
+ },
218
+ {
219
+ "type": "REPEAT",
220
+ "content": {
221
+ "type": "CHOICE",
222
+ "members": [
223
+ {
224
+ "type": "PATTERN",
225
+ "value": "[^{}]+"
226
+ },
227
+ {
228
+ "type": "SYMBOL",
229
+ "name": "_brace_text"
230
+ }
231
+ ]
232
+ }
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "type": "BLANK"
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "type": "STRING",
243
+ "value": "}"
244
+ }
245
+ ]
246
+ },
247
+ "param_tag": {
248
+ "type": "SEQ",
249
+ "members": [
250
+ {
251
+ "type": "STRING",
252
+ "value": "@param"
253
+ },
254
+ {
255
+ "type": "CHOICE",
256
+ "members": [
257
+ {
258
+ "type": "FIELD",
259
+ "name": "type",
260
+ "content": {
261
+ "type": "CHOICE",
262
+ "members": [
263
+ {
264
+ "type": "SYMBOL",
265
+ "name": "type_expression"
266
+ },
267
+ {
268
+ "type": "SYMBOL",
269
+ "name": "rest_type_expression"
270
+ }
271
+ ]
272
+ }
273
+ },
274
+ {
275
+ "type": "BLANK"
276
+ }
277
+ ]
278
+ },
279
+ {
280
+ "type": "CHOICE",
281
+ "members": [
282
+ {
283
+ "type": "FIELD",
284
+ "name": "name",
285
+ "content": {
286
+ "type": "CHOICE",
287
+ "members": [
288
+ {
289
+ "type": "SYMBOL",
290
+ "name": "identifier"
291
+ },
292
+ {
293
+ "type": "SYMBOL",
294
+ "name": "optional_param"
295
+ }
296
+ ]
297
+ }
298
+ },
299
+ {
300
+ "type": "BLANK"
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "type": "CHOICE",
306
+ "members": [
307
+ {
308
+ "type": "FIELD",
309
+ "name": "description",
310
+ "content": {
311
+ "type": "ALIAS",
312
+ "content": {
313
+ "type": "SYMBOL",
314
+ "name": "_typed_description"
315
+ },
316
+ "named": true,
317
+ "value": "description"
318
+ }
319
+ },
320
+ {
321
+ "type": "BLANK"
322
+ }
323
+ ]
324
+ }
325
+ ]
326
+ },
327
+ "optional_param": {
328
+ "type": "SEQ",
329
+ "members": [
330
+ {
331
+ "type": "STRING",
332
+ "value": "["
333
+ },
334
+ {
335
+ "type": "FIELD",
336
+ "name": "name",
337
+ "content": {
338
+ "type": "SYMBOL",
339
+ "name": "param_path"
340
+ }
341
+ },
342
+ {
343
+ "type": "CHOICE",
344
+ "members": [
345
+ {
346
+ "type": "SEQ",
347
+ "members": [
348
+ {
349
+ "type": "STRING",
350
+ "value": "="
351
+ },
352
+ {
353
+ "type": "FIELD",
354
+ "name": "default",
355
+ "content": {
356
+ "type": "SYMBOL",
357
+ "name": "default_value"
358
+ }
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ "type": "BLANK"
364
+ }
365
+ ]
366
+ },
367
+ {
368
+ "type": "STRING",
369
+ "value": "]"
370
+ }
371
+ ]
372
+ },
373
+ "param_path": {
374
+ "type": "SEQ",
375
+ "members": [
376
+ {
377
+ "type": "SYMBOL",
378
+ "name": "identifier"
379
+ },
380
+ {
381
+ "type": "REPEAT",
382
+ "content": {
383
+ "type": "SEQ",
384
+ "members": [
385
+ {
386
+ "type": "STRING",
387
+ "value": "."
388
+ },
389
+ {
390
+ "type": "SYMBOL",
391
+ "name": "identifier"
392
+ }
393
+ ]
394
+ }
395
+ }
396
+ ]
397
+ },
398
+ "default_value": {
399
+ "type": "TOKEN",
400
+ "content": {
401
+ "type": "CHOICE",
402
+ "members": [
403
+ {
404
+ "type": "PATTERN",
405
+ "value": "-?\\d+(\\.\\d+)?"
406
+ },
407
+ {
408
+ "type": "PATTERN",
409
+ "value": "[a-zA-Z_$][a-zA-Z0-9_$]*"
410
+ }
411
+ ]
412
+ }
413
+ },
414
+ "returns_tag": {
415
+ "type": "SEQ",
416
+ "members": [
417
+ {
418
+ "type": "CHOICE",
419
+ "members": [
420
+ {
421
+ "type": "STRING",
422
+ "value": "@returns"
423
+ },
424
+ {
425
+ "type": "STRING",
426
+ "value": "@return"
427
+ }
428
+ ]
429
+ },
430
+ {
431
+ "type": "CHOICE",
432
+ "members": [
433
+ {
434
+ "type": "FIELD",
435
+ "name": "type",
436
+ "content": {
437
+ "type": "SYMBOL",
438
+ "name": "type_expression"
439
+ }
440
+ },
441
+ {
442
+ "type": "BLANK"
443
+ }
444
+ ]
445
+ },
446
+ {
447
+ "type": "CHOICE",
448
+ "members": [
449
+ {
450
+ "type": "FIELD",
451
+ "name": "description",
452
+ "content": {
453
+ "type": "ALIAS",
454
+ "content": {
455
+ "type": "SYMBOL",
456
+ "name": "_typed_description"
457
+ },
458
+ "named": true,
459
+ "value": "description"
460
+ }
461
+ },
462
+ {
463
+ "type": "BLANK"
464
+ }
465
+ ]
466
+ }
467
+ ]
468
+ },
469
+ "template_tag": {
470
+ "type": "SEQ",
471
+ "members": [
472
+ {
473
+ "type": "STRING",
474
+ "value": "@template"
475
+ },
476
+ {
477
+ "type": "SEQ",
478
+ "members": [
479
+ {
480
+ "type": "ALIAS",
481
+ "content": {
482
+ "type": "SYMBOL",
483
+ "name": "type_identifier"
484
+ },
485
+ "named": true,
486
+ "value": "type_param"
487
+ },
488
+ {
489
+ "type": "REPEAT",
490
+ "content": {
491
+ "type": "SEQ",
492
+ "members": [
493
+ {
494
+ "type": "STRING",
495
+ "value": ","
496
+ },
497
+ {
498
+ "type": "ALIAS",
499
+ "content": {
500
+ "type": "SYMBOL",
501
+ "name": "type_identifier"
502
+ },
503
+ "named": true,
504
+ "value": "type_param"
505
+ }
506
+ ]
507
+ }
508
+ }
509
+ ]
510
+ }
511
+ ]
512
+ },
513
+ "typedef_tag": {
514
+ "type": "SEQ",
515
+ "members": [
516
+ {
517
+ "type": "STRING",
518
+ "value": "@typedef"
519
+ },
520
+ {
521
+ "type": "CHOICE",
522
+ "members": [
523
+ {
524
+ "type": "FIELD",
525
+ "name": "type",
526
+ "content": {
527
+ "type": "SYMBOL",
528
+ "name": "type_expression"
529
+ }
530
+ },
531
+ {
532
+ "type": "BLANK"
533
+ }
534
+ ]
535
+ },
536
+ {
537
+ "type": "FIELD",
538
+ "name": "name",
539
+ "content": {
540
+ "type": "SYMBOL",
541
+ "name": "type_identifier"
542
+ }
543
+ }
544
+ ]
545
+ },
546
+ "type_tag": {
547
+ "type": "SEQ",
548
+ "members": [
549
+ {
550
+ "type": "STRING",
551
+ "value": "@type"
552
+ },
553
+ {
554
+ "type": "FIELD",
555
+ "name": "type",
556
+ "content": {
557
+ "type": "SYMBOL",
558
+ "name": "type_expression"
559
+ }
560
+ }
561
+ ]
562
+ },
563
+ "throws_tag": {
564
+ "type": "SEQ",
565
+ "members": [
566
+ {
567
+ "type": "CHOICE",
568
+ "members": [
569
+ {
570
+ "type": "STRING",
571
+ "value": "@throws"
572
+ },
573
+ {
574
+ "type": "STRING",
575
+ "value": "@throw"
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "type": "CHOICE",
581
+ "members": [
582
+ {
583
+ "type": "FIELD",
584
+ "name": "type",
585
+ "content": {
586
+ "type": "SYMBOL",
587
+ "name": "type_expression"
588
+ }
589
+ },
590
+ {
591
+ "type": "BLANK"
592
+ }
593
+ ]
594
+ },
595
+ {
596
+ "type": "CHOICE",
597
+ "members": [
598
+ {
599
+ "type": "FIELD",
600
+ "name": "description",
601
+ "content": {
602
+ "type": "ALIAS",
603
+ "content": {
604
+ "type": "SYMBOL",
605
+ "name": "_typed_description"
606
+ },
607
+ "named": true,
608
+ "value": "description"
609
+ }
610
+ },
611
+ {
612
+ "type": "BLANK"
613
+ }
614
+ ]
615
+ }
616
+ ]
617
+ },
618
+ "deprecated_tag": {
619
+ "type": "SEQ",
620
+ "members": [
621
+ {
622
+ "type": "STRING",
623
+ "value": "@deprecated"
624
+ },
625
+ {
626
+ "type": "CHOICE",
627
+ "members": [
628
+ {
629
+ "type": "FIELD",
630
+ "name": "description",
631
+ "content": {
632
+ "type": "ALIAS",
633
+ "content": {
634
+ "type": "SYMBOL",
635
+ "name": "_free_description"
636
+ },
637
+ "named": true,
638
+ "value": "description"
639
+ }
640
+ },
641
+ {
642
+ "type": "BLANK"
643
+ }
644
+ ]
645
+ }
646
+ ]
647
+ },
648
+ "since_tag": {
649
+ "type": "SEQ",
650
+ "members": [
651
+ {
652
+ "type": "STRING",
653
+ "value": "@since"
654
+ },
655
+ {
656
+ "type": "CHOICE",
657
+ "members": [
658
+ {
659
+ "type": "FIELD",
660
+ "name": "description",
661
+ "content": {
662
+ "type": "ALIAS",
663
+ "content": {
664
+ "type": "SYMBOL",
665
+ "name": "_free_description"
666
+ },
667
+ "named": true,
668
+ "value": "description"
669
+ }
670
+ },
671
+ {
672
+ "type": "BLANK"
673
+ }
674
+ ]
675
+ }
676
+ ]
677
+ },
678
+ "see_tag": {
679
+ "type": "SEQ",
680
+ "members": [
681
+ {
682
+ "type": "STRING",
683
+ "value": "@see"
684
+ },
685
+ {
686
+ "type": "CHOICE",
687
+ "members": [
688
+ {
689
+ "type": "FIELD",
690
+ "name": "description",
691
+ "content": {
692
+ "type": "ALIAS",
693
+ "content": {
694
+ "type": "SYMBOL",
695
+ "name": "_free_description"
696
+ },
697
+ "named": true,
698
+ "value": "description"
699
+ }
700
+ },
701
+ {
702
+ "type": "BLANK"
703
+ }
704
+ ]
705
+ }
706
+ ]
707
+ },
708
+ "example_tag": {
709
+ "type": "SEQ",
710
+ "members": [
711
+ {
712
+ "type": "STRING",
713
+ "value": "@example"
714
+ },
715
+ {
716
+ "type": "CHOICE",
717
+ "members": [
718
+ {
719
+ "type": "FIELD",
720
+ "name": "description",
721
+ "content": {
722
+ "type": "ALIAS",
723
+ "content": {
724
+ "type": "SYMBOL",
725
+ "name": "_free_description"
726
+ },
727
+ "named": true,
728
+ "value": "description"
729
+ }
730
+ },
731
+ {
732
+ "type": "BLANK"
733
+ }
734
+ ]
735
+ }
736
+ ]
737
+ },
738
+ "default_tag": {
739
+ "type": "SEQ",
740
+ "members": [
741
+ {
742
+ "type": "STRING",
743
+ "value": "@default"
744
+ },
745
+ {
746
+ "type": "CHOICE",
747
+ "members": [
748
+ {
749
+ "type": "FIELD",
750
+ "name": "description",
751
+ "content": {
752
+ "type": "ALIAS",
753
+ "content": {
754
+ "type": "SYMBOL",
755
+ "name": "_free_description"
756
+ },
757
+ "named": true,
758
+ "value": "description"
759
+ }
760
+ },
761
+ {
762
+ "type": "BLANK"
763
+ }
764
+ ]
765
+ }
766
+ ]
767
+ },
768
+ "function_tag": {
769
+ "type": "SEQ",
770
+ "members": [
771
+ {
772
+ "type": "STRING",
773
+ "value": "@function"
774
+ },
775
+ {
776
+ "type": "CHOICE",
777
+ "members": [
778
+ {
779
+ "type": "FIELD",
780
+ "name": "namepath",
781
+ "content": {
782
+ "type": "SYMBOL",
783
+ "name": "namepath"
784
+ }
785
+ },
786
+ {
787
+ "type": "BLANK"
788
+ }
789
+ ]
790
+ }
791
+ ]
792
+ },
793
+ "module_tag": {
794
+ "type": "SEQ",
795
+ "members": [
796
+ {
797
+ "type": "STRING",
798
+ "value": "@module"
799
+ },
800
+ {
801
+ "type": "FIELD",
802
+ "name": "name",
803
+ "content": {
804
+ "type": "SYMBOL",
805
+ "name": "member_name"
806
+ }
807
+ }
808
+ ]
809
+ },
810
+ "namepath": {
811
+ "type": "SEQ",
812
+ "members": [
813
+ {
814
+ "type": "STRING",
815
+ "value": "module:"
816
+ },
817
+ {
818
+ "type": "FIELD",
819
+ "name": "path",
820
+ "content": {
821
+ "type": "SYMBOL",
822
+ "name": "module_path"
823
+ }
824
+ },
825
+ {
826
+ "type": "CHOICE",
827
+ "members": [
828
+ {
829
+ "type": "SEQ",
830
+ "members": [
831
+ {
832
+ "type": "STRING",
833
+ "value": "#"
834
+ },
835
+ {
836
+ "type": "FIELD",
837
+ "name": "member",
838
+ "content": {
839
+ "type": "SYMBOL",
840
+ "name": "member_name"
841
+ }
842
+ }
843
+ ]
844
+ },
845
+ {
846
+ "type": "BLANK"
847
+ }
848
+ ]
849
+ }
850
+ ]
851
+ },
852
+ "member_name": {
853
+ "type": "PATTERN",
854
+ "value": "[a-zA-Z_$][a-zA-Z0-9_$]*"
855
+ },
856
+ "unknown_tag": {
857
+ "type": "SEQ",
858
+ "members": [
859
+ {
860
+ "type": "SYMBOL",
861
+ "name": "tag_name"
862
+ },
863
+ {
864
+ "type": "CHOICE",
865
+ "members": [
866
+ {
867
+ "type": "FIELD",
868
+ "name": "description",
869
+ "content": {
870
+ "type": "ALIAS",
871
+ "content": {
872
+ "type": "SYMBOL",
873
+ "name": "_free_description"
874
+ },
875
+ "named": true,
876
+ "value": "description"
877
+ }
878
+ },
879
+ {
880
+ "type": "BLANK"
881
+ }
882
+ ]
883
+ }
884
+ ]
885
+ },
886
+ "tag_name": {
887
+ "type": "PATTERN",
888
+ "value": "@[a-zA-Z_]+"
889
+ },
890
+ "type_expression": {
891
+ "type": "SEQ",
892
+ "members": [
893
+ {
894
+ "type": "STRING",
895
+ "value": "{"
896
+ },
897
+ {
898
+ "type": "SYMBOL",
899
+ "name": "_type"
900
+ },
901
+ {
902
+ "type": "STRING",
903
+ "value": "}"
904
+ }
905
+ ]
906
+ },
907
+ "rest_type_expression": {
908
+ "type": "SEQ",
909
+ "members": [
910
+ {
911
+ "type": "STRING",
912
+ "value": "{"
913
+ },
914
+ {
915
+ "type": "STRING",
916
+ "value": "..."
917
+ },
918
+ {
919
+ "type": "SYMBOL",
920
+ "name": "_type"
921
+ },
922
+ {
923
+ "type": "STRING",
924
+ "value": "}"
925
+ }
926
+ ]
927
+ },
928
+ "_type": {
929
+ "type": "CHOICE",
930
+ "members": [
931
+ {
932
+ "type": "SYMBOL",
933
+ "name": "primitive_type"
934
+ },
935
+ {
936
+ "type": "SYMBOL",
937
+ "name": "list_type"
938
+ },
939
+ {
940
+ "type": "SYMBOL",
941
+ "name": "dict_type"
942
+ },
943
+ {
944
+ "type": "SYMBOL",
945
+ "name": "record_type"
946
+ },
947
+ {
948
+ "type": "SYMBOL",
949
+ "name": "named_type"
950
+ },
951
+ {
952
+ "type": "SYMBOL",
953
+ "name": "module_type"
954
+ },
955
+ {
956
+ "type": "SYMBOL",
957
+ "name": "function_type"
958
+ },
959
+ {
960
+ "type": "SYMBOL",
961
+ "name": "anon_function_type"
962
+ },
963
+ {
964
+ "type": "SYMBOL",
965
+ "name": "union_type"
966
+ },
967
+ {
968
+ "type": "SYMBOL",
969
+ "name": "nullable_type"
970
+ },
971
+ {
972
+ "type": "SYMBOL",
973
+ "name": "any_type"
974
+ },
975
+ {
976
+ "type": "SYMBOL",
977
+ "name": "parenthesized_type"
978
+ },
979
+ {
980
+ "type": "SYMBOL",
981
+ "name": "array_type"
982
+ }
983
+ ]
984
+ },
985
+ "primitive_type": {
986
+ "type": "CHOICE",
987
+ "members": [
988
+ {
989
+ "type": "STRING",
990
+ "value": "int"
991
+ },
992
+ {
993
+ "type": "STRING",
994
+ "value": "float"
995
+ },
996
+ {
997
+ "type": "STRING",
998
+ "value": "string"
999
+ },
1000
+ {
1001
+ "type": "STRING",
1002
+ "value": "boolean"
1003
+ },
1004
+ {
1005
+ "type": "STRING",
1006
+ "value": "null"
1007
+ },
1008
+ {
1009
+ "type": "STRING",
1010
+ "value": "void"
1011
+ },
1012
+ {
1013
+ "type": "STRING",
1014
+ "value": "function"
1015
+ }
1016
+ ]
1017
+ },
1018
+ "any_type": {
1019
+ "type": "CHOICE",
1020
+ "members": [
1021
+ {
1022
+ "type": "STRING",
1023
+ "value": "*"
1024
+ },
1025
+ {
1026
+ "type": "STRING",
1027
+ "value": "any"
1028
+ }
1029
+ ]
1030
+ },
1031
+ "list_type": {
1032
+ "type": "SEQ",
1033
+ "members": [
1034
+ {
1035
+ "type": "STRING",
1036
+ "value": "list"
1037
+ },
1038
+ {
1039
+ "type": "STRING",
1040
+ "value": "<"
1041
+ },
1042
+ {
1043
+ "type": "FIELD",
1044
+ "name": "element",
1045
+ "content": {
1046
+ "type": "SYMBOL",
1047
+ "name": "_type"
1048
+ }
1049
+ },
1050
+ {
1051
+ "type": "STRING",
1052
+ "value": ">"
1053
+ }
1054
+ ]
1055
+ },
1056
+ "dict_type": {
1057
+ "type": "SEQ",
1058
+ "members": [
1059
+ {
1060
+ "type": "STRING",
1061
+ "value": "dict"
1062
+ },
1063
+ {
1064
+ "type": "STRING",
1065
+ "value": "<"
1066
+ },
1067
+ {
1068
+ "type": "FIELD",
1069
+ "name": "value",
1070
+ "content": {
1071
+ "type": "SYMBOL",
1072
+ "name": "_type"
1073
+ }
1074
+ },
1075
+ {
1076
+ "type": "STRING",
1077
+ "value": ">"
1078
+ }
1079
+ ]
1080
+ },
1081
+ "record_type": {
1082
+ "type": "SEQ",
1083
+ "members": [
1084
+ {
1085
+ "type": "STRING",
1086
+ "value": "{"
1087
+ },
1088
+ {
1089
+ "type": "CHOICE",
1090
+ "members": [
1091
+ {
1092
+ "type": "SEQ",
1093
+ "members": [
1094
+ {
1095
+ "type": "SYMBOL",
1096
+ "name": "record_field"
1097
+ },
1098
+ {
1099
+ "type": "REPEAT",
1100
+ "content": {
1101
+ "type": "SEQ",
1102
+ "members": [
1103
+ {
1104
+ "type": "STRING",
1105
+ "value": ","
1106
+ },
1107
+ {
1108
+ "type": "SYMBOL",
1109
+ "name": "record_field"
1110
+ }
1111
+ ]
1112
+ }
1113
+ }
1114
+ ]
1115
+ },
1116
+ {
1117
+ "type": "BLANK"
1118
+ }
1119
+ ]
1120
+ },
1121
+ {
1122
+ "type": "STRING",
1123
+ "value": "}"
1124
+ }
1125
+ ]
1126
+ },
1127
+ "record_field": {
1128
+ "type": "SEQ",
1129
+ "members": [
1130
+ {
1131
+ "type": "FIELD",
1132
+ "name": "name",
1133
+ "content": {
1134
+ "type": "SYMBOL",
1135
+ "name": "identifier"
1136
+ }
1137
+ },
1138
+ {
1139
+ "type": "STRING",
1140
+ "value": ":"
1141
+ },
1142
+ {
1143
+ "type": "FIELD",
1144
+ "name": "type",
1145
+ "content": {
1146
+ "type": "SYMBOL",
1147
+ "name": "_type"
1148
+ }
1149
+ }
1150
+ ]
1151
+ },
1152
+ "module_type": {
1153
+ "type": "SEQ",
1154
+ "members": [
1155
+ {
1156
+ "type": "STRING",
1157
+ "value": "module:"
1158
+ },
1159
+ {
1160
+ "type": "FIELD",
1161
+ "name": "path",
1162
+ "content": {
1163
+ "type": "SYMBOL",
1164
+ "name": "module_path"
1165
+ }
1166
+ }
1167
+ ]
1168
+ },
1169
+ "module_path": {
1170
+ "type": "PATTERN",
1171
+ "value": "[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*"
1172
+ },
1173
+ "named_type": {
1174
+ "type": "SEQ",
1175
+ "members": [
1176
+ {
1177
+ "type": "FIELD",
1178
+ "name": "name",
1179
+ "content": {
1180
+ "type": "SYMBOL",
1181
+ "name": "type_identifier"
1182
+ }
1183
+ },
1184
+ {
1185
+ "type": "CHOICE",
1186
+ "members": [
1187
+ {
1188
+ "type": "SEQ",
1189
+ "members": [
1190
+ {
1191
+ "type": "STRING",
1192
+ "value": "<"
1193
+ },
1194
+ {
1195
+ "type": "FIELD",
1196
+ "name": "params",
1197
+ "content": {
1198
+ "type": "SEQ",
1199
+ "members": [
1200
+ {
1201
+ "type": "SYMBOL",
1202
+ "name": "_type"
1203
+ },
1204
+ {
1205
+ "type": "REPEAT",
1206
+ "content": {
1207
+ "type": "SEQ",
1208
+ "members": [
1209
+ {
1210
+ "type": "STRING",
1211
+ "value": ","
1212
+ },
1213
+ {
1214
+ "type": "SYMBOL",
1215
+ "name": "_type"
1216
+ }
1217
+ ]
1218
+ }
1219
+ }
1220
+ ]
1221
+ }
1222
+ },
1223
+ {
1224
+ "type": "STRING",
1225
+ "value": ">"
1226
+ }
1227
+ ]
1228
+ },
1229
+ {
1230
+ "type": "BLANK"
1231
+ }
1232
+ ]
1233
+ }
1234
+ ]
1235
+ },
1236
+ "function_type": {
1237
+ "type": "SEQ",
1238
+ "members": [
1239
+ {
1240
+ "type": "STRING",
1241
+ "value": "("
1242
+ },
1243
+ {
1244
+ "type": "FIELD",
1245
+ "name": "params",
1246
+ "content": {
1247
+ "type": "CHOICE",
1248
+ "members": [
1249
+ {
1250
+ "type": "SEQ",
1251
+ "members": [
1252
+ {
1253
+ "type": "SYMBOL",
1254
+ "name": "function_param"
1255
+ },
1256
+ {
1257
+ "type": "REPEAT",
1258
+ "content": {
1259
+ "type": "SEQ",
1260
+ "members": [
1261
+ {
1262
+ "type": "STRING",
1263
+ "value": ","
1264
+ },
1265
+ {
1266
+ "type": "SYMBOL",
1267
+ "name": "function_param"
1268
+ }
1269
+ ]
1270
+ }
1271
+ }
1272
+ ]
1273
+ },
1274
+ {
1275
+ "type": "BLANK"
1276
+ }
1277
+ ]
1278
+ }
1279
+ },
1280
+ {
1281
+ "type": "STRING",
1282
+ "value": ")"
1283
+ },
1284
+ {
1285
+ "type": "STRING",
1286
+ "value": "=>"
1287
+ },
1288
+ {
1289
+ "type": "FIELD",
1290
+ "name": "return",
1291
+ "content": {
1292
+ "type": "SYMBOL",
1293
+ "name": "_type"
1294
+ }
1295
+ }
1296
+ ]
1297
+ },
1298
+ "function_param": {
1299
+ "type": "SEQ",
1300
+ "members": [
1301
+ {
1302
+ "type": "FIELD",
1303
+ "name": "name",
1304
+ "content": {
1305
+ "type": "SYMBOL",
1306
+ "name": "identifier"
1307
+ }
1308
+ },
1309
+ {
1310
+ "type": "STRING",
1311
+ "value": ":"
1312
+ },
1313
+ {
1314
+ "type": "FIELD",
1315
+ "name": "type",
1316
+ "content": {
1317
+ "type": "SYMBOL",
1318
+ "name": "_type"
1319
+ }
1320
+ }
1321
+ ]
1322
+ },
1323
+ "anon_function_type": {
1324
+ "type": "SEQ",
1325
+ "members": [
1326
+ {
1327
+ "type": "STRING",
1328
+ "value": "function"
1329
+ },
1330
+ {
1331
+ "type": "STRING",
1332
+ "value": "("
1333
+ },
1334
+ {
1335
+ "type": "FIELD",
1336
+ "name": "params",
1337
+ "content": {
1338
+ "type": "CHOICE",
1339
+ "members": [
1340
+ {
1341
+ "type": "SEQ",
1342
+ "members": [
1343
+ {
1344
+ "type": "SYMBOL",
1345
+ "name": "_type"
1346
+ },
1347
+ {
1348
+ "type": "REPEAT",
1349
+ "content": {
1350
+ "type": "SEQ",
1351
+ "members": [
1352
+ {
1353
+ "type": "STRING",
1354
+ "value": ","
1355
+ },
1356
+ {
1357
+ "type": "SYMBOL",
1358
+ "name": "_type"
1359
+ }
1360
+ ]
1361
+ }
1362
+ }
1363
+ ]
1364
+ },
1365
+ {
1366
+ "type": "BLANK"
1367
+ }
1368
+ ]
1369
+ }
1370
+ },
1371
+ {
1372
+ "type": "STRING",
1373
+ "value": ")"
1374
+ },
1375
+ {
1376
+ "type": "CHOICE",
1377
+ "members": [
1378
+ {
1379
+ "type": "SEQ",
1380
+ "members": [
1381
+ {
1382
+ "type": "STRING",
1383
+ "value": ":"
1384
+ },
1385
+ {
1386
+ "type": "FIELD",
1387
+ "name": "return",
1388
+ "content": {
1389
+ "type": "SYMBOL",
1390
+ "name": "_type"
1391
+ }
1392
+ }
1393
+ ]
1394
+ },
1395
+ {
1396
+ "type": "BLANK"
1397
+ }
1398
+ ]
1399
+ }
1400
+ ]
1401
+ },
1402
+ "parenthesized_type": {
1403
+ "type": "SEQ",
1404
+ "members": [
1405
+ {
1406
+ "type": "STRING",
1407
+ "value": "("
1408
+ },
1409
+ {
1410
+ "type": "SYMBOL",
1411
+ "name": "_type"
1412
+ },
1413
+ {
1414
+ "type": "STRING",
1415
+ "value": ")"
1416
+ }
1417
+ ]
1418
+ },
1419
+ "array_type": {
1420
+ "type": "PREC",
1421
+ "value": 3,
1422
+ "content": {
1423
+ "type": "SEQ",
1424
+ "members": [
1425
+ {
1426
+ "type": "SYMBOL",
1427
+ "name": "_type"
1428
+ },
1429
+ {
1430
+ "type": "STRING",
1431
+ "value": "[]"
1432
+ }
1433
+ ]
1434
+ }
1435
+ },
1436
+ "union_type": {
1437
+ "type": "PREC_LEFT",
1438
+ "value": 1,
1439
+ "content": {
1440
+ "type": "SEQ",
1441
+ "members": [
1442
+ {
1443
+ "type": "SYMBOL",
1444
+ "name": "_type"
1445
+ },
1446
+ {
1447
+ "type": "STRING",
1448
+ "value": "|"
1449
+ },
1450
+ {
1451
+ "type": "SYMBOL",
1452
+ "name": "_type"
1453
+ }
1454
+ ]
1455
+ }
1456
+ },
1457
+ "nullable_type": {
1458
+ "type": "PREC",
1459
+ "value": 2,
1460
+ "content": {
1461
+ "type": "SEQ",
1462
+ "members": [
1463
+ {
1464
+ "type": "STRING",
1465
+ "value": "?"
1466
+ },
1467
+ {
1468
+ "type": "SYMBOL",
1469
+ "name": "_type"
1470
+ }
1471
+ ]
1472
+ }
1473
+ },
1474
+ "type_identifier": {
1475
+ "type": "PATTERN",
1476
+ "value": "[A-Z][a-zA-Z0-9]*"
1477
+ },
1478
+ "identifier": {
1479
+ "type": "PATTERN",
1480
+ "value": "[a-z_$][a-zA-Z_$0-9]*"
1481
+ },
1482
+ "_text": {
1483
+ "type": "TOKEN",
1484
+ "content": {
1485
+ "type": "PREC",
1486
+ "value": -1,
1487
+ "content": {
1488
+ "type": "PATTERN",
1489
+ "value": "[^*{}@\\s][^*{}@\\n\\r]*"
1490
+ }
1491
+ }
1492
+ }
1493
+ },
1494
+ "extras": [
1495
+ {
1496
+ "type": "TOKEN",
1497
+ "content": {
1498
+ "type": "CHOICE",
1499
+ "members": [
1500
+ {
1501
+ "type": "SEQ",
1502
+ "members": [
1503
+ {
1504
+ "type": "PATTERN",
1505
+ "value": "\\n"
1506
+ },
1507
+ {
1508
+ "type": "PATTERN",
1509
+ "value": "[ \\t]*"
1510
+ },
1511
+ {
1512
+ "type": "REPEAT",
1513
+ "content": {
1514
+ "type": "SEQ",
1515
+ "members": [
1516
+ {
1517
+ "type": "STRING",
1518
+ "value": "*"
1519
+ },
1520
+ {
1521
+ "type": "PATTERN",
1522
+ "value": "[ \\t]*"
1523
+ }
1524
+ ]
1525
+ }
1526
+ }
1527
+ ]
1528
+ },
1529
+ {
1530
+ "type": "PATTERN",
1531
+ "value": "\\s"
1532
+ }
1533
+ ]
1534
+ }
1535
+ }
1536
+ ],
1537
+ "conflicts": [],
1538
+ "precedences": [],
1539
+ "externals": [],
1540
+ "inline": [],
1541
+ "supertypes": [],
1542
+ "reserved": {}
1543
+ }