@algosail/tree-sitter 0.1.2 → 0.1.4

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.
package/src/grammar.json CHANGED
@@ -18,22 +18,144 @@
18
18
  },
19
19
  {
20
20
  "type": "SYMBOL",
21
- "name": "import_decl"
21
+ "name": "import"
22
22
  },
23
23
  {
24
24
  "type": "SYMBOL",
25
- "name": "tag_group"
25
+ "name": "group"
26
26
  },
27
27
  {
28
28
  "type": "SYMBOL",
29
- "name": "map_def"
29
+ "name": "map"
30
30
  },
31
31
  {
32
32
  "type": "SYMBOL",
33
- "name": "word_def"
33
+ "name": "word"
34
34
  }
35
35
  ]
36
36
  },
37
+ "module_def": {
38
+ "type": "PATTERN",
39
+ "value": "\\+[A-Z][a-zA-Z0-9_]*"
40
+ },
41
+ "module_ref": {
42
+ "type": "PATTERN",
43
+ "value": "~[A-Z][a-zA-Z0-9_]*"
44
+ },
45
+ "group_def": {
46
+ "type": "PATTERN",
47
+ "value": "&[A-Z][a-zA-Z0-9_]*"
48
+ },
49
+ "group_ref": {
50
+ "type": "PATTERN",
51
+ "value": "&[A-Z][a-zA-Z0-9_]*"
52
+ },
53
+ "tag_def": {
54
+ "type": "PATTERN",
55
+ "value": "#[A-Z][a-zA-Z0-9_]*"
56
+ },
57
+ "tag_ref": {
58
+ "type": "PATTERN",
59
+ "value": "#[A-Z][a-zA-Z0-9_]*"
60
+ },
61
+ "tag_pattern": {
62
+ "type": "PATTERN",
63
+ "value": "\\_[A-Z][a-zA-Z0-9_]*"
64
+ },
65
+ "default_pattern": {
66
+ "type": "TOKEN",
67
+ "content": {
68
+ "type": "STRING",
69
+ "value": "_"
70
+ }
71
+ },
72
+ "map_def": {
73
+ "type": "PATTERN",
74
+ "value": "\\$[A-Z][a-zA-Z0-9_]*"
75
+ },
76
+ "map_ref": {
77
+ "type": "PATTERN",
78
+ "value": "\\$[A-Z][a-zA-Z0-9_]*"
79
+ },
80
+ "field_def": {
81
+ "type": "PATTERN",
82
+ "value": "\\.[a-z][a-zA-Z0-9_]*"
83
+ },
84
+ "field_ref": {
85
+ "type": "PATTERN",
86
+ "value": "\\$[A-Z][a-zA-Z0-9_]*\\.[a-z][a-zA-Z0-9_]*"
87
+ },
88
+ "word_def": {
89
+ "type": "PATTERN",
90
+ "value": "@[a-z][a-zA-Z0-9_]*"
91
+ },
92
+ "word_ref": {
93
+ "type": "PATTERN",
94
+ "value": "\\/[a-z][a-zA-Z0-9_]*"
95
+ },
96
+ "module_group_ref": {
97
+ "type": "PATTERN",
98
+ "value": "~[A-Z][a-zA-Z0-9_]*&[A-Z][a-zA-Z0-9_]*"
99
+ },
100
+ "module_tag_ref": {
101
+ "type": "PATTERN",
102
+ "value": "~[A-Z][a-zA-Z0-9_]*#[A-Z][a-zA-Z0-9_]*"
103
+ },
104
+ "module_map_ref": {
105
+ "type": "PATTERN",
106
+ "value": "~[A-Z][a-zA-Z0-9_]*\\$[A-Z][a-zA-Z0-9_]*"
107
+ },
108
+ "module_field_ref": {
109
+ "type": "PATTERN",
110
+ "value": "~[A-Z][a-zA-Z0-9_]*\\$[A-Z][a-zA-Z0-9_]*\\.[a-z][a-zA-Z0-9_]*"
111
+ },
112
+ "module_word_ref": {
113
+ "type": "PATTERN",
114
+ "value": "~[A-Z][a-zA-Z0-9_]*\\/[a-z][a-zA-Z0-9_]*"
115
+ },
116
+ "type": {
117
+ "type": "PATTERN",
118
+ "value": "[A-Z][a-zA-Z0-9_]*"
119
+ },
120
+ "type_var": {
121
+ "type": "PATTERN",
122
+ "value": "[a-z][a-zA-Z0-9_]*"
123
+ },
124
+ "spread": {
125
+ "type": "PATTERN",
126
+ "value": "\\.\\.[a-z][a-zA-Z0-9_]*"
127
+ },
128
+ "effect_add": {
129
+ "type": "PATTERN",
130
+ "value": "\\+[A-Z][a-zA-Z0-9_]*"
131
+ },
132
+ "effect_remove": {
133
+ "type": "PATTERN",
134
+ "value": "\\-[A-Z][a-zA-Z0-9_]*"
135
+ },
136
+ "slot_push": {
137
+ "type": "PATTERN",
138
+ "value": ":[a-z][a-zA-Z0-9_]*"
139
+ },
140
+ "slot_pop": {
141
+ "type": "PATTERN",
142
+ "value": ";[a-z][a-zA-Z0-9_]*"
143
+ },
144
+ "raw_string": {
145
+ "type": "PATTERN",
146
+ "value": "\\'[^\\']*\\'"
147
+ },
148
+ "raw_value": {
149
+ "type": "TOKEN",
150
+ "content": {
151
+ "type": "PREC",
152
+ "value": -1,
153
+ "content": {
154
+ "type": "PATTERN",
155
+ "value": "[^\\s\\[\\]()']+"
156
+ }
157
+ }
158
+ },
37
159
  "comment": {
38
160
  "type": "SEQ",
39
161
  "members": [
@@ -75,87 +197,47 @@
75
197
  ]
76
198
  }
77
199
  },
78
- "import_decl": {
200
+ "import": {
79
201
  "type": "SEQ",
80
202
  "members": [
81
203
  {
82
204
  "type": "FIELD",
83
- "name": "path",
205
+ "name": "module",
84
206
  "content": {
85
207
  "type": "SYMBOL",
86
- "name": "import_path"
208
+ "name": "module_def"
87
209
  }
88
210
  },
89
211
  {
90
212
  "type": "FIELD",
91
- "name": "alias",
213
+ "name": "path",
92
214
  "content": {
93
215
  "type": "SYMBOL",
94
- "name": "module_alias"
216
+ "name": "path"
95
217
  }
96
218
  }
97
219
  ]
98
220
  },
99
- "import_path": {
100
- "type": "SEQ",
101
- "members": [
102
- {
103
- "type": "STRING",
104
- "value": "+"
105
- },
106
- {
107
- "type": "FIELD",
108
- "name": "url",
109
- "content": {
110
- "type": "ALIAS",
111
- "content": {
112
- "type": "PATTERN",
113
- "value": "[^\\s]+"
114
- },
115
- "named": true,
116
- "value": "url"
117
- }
118
- }
119
- ]
120
- },
121
- "module_alias": {
122
- "type": "SEQ",
123
- "members": [
124
- {
125
- "type": "STRING",
126
- "value": "~"
127
- },
128
- {
129
- "type": "FIELD",
130
- "name": "module",
131
- "content": {
132
- "type": "ALIAS",
133
- "content": {
134
- "type": "PATTERN",
135
- "value": "[A-Z][a-zA-Z0-9_]*"
136
- },
137
- "named": true,
138
- "value": "module_ref"
139
- }
140
- }
141
- ]
221
+ "path": {
222
+ "type": "PATTERN",
223
+ "value": "[^\\s]+"
142
224
  },
143
- "tag_group": {
225
+ "group": {
144
226
  "type": "SEQ",
145
227
  "members": [
146
228
  {
147
229
  "type": "FIELD",
148
- "name": "name_def",
230
+ "name": "def",
149
231
  "content": {
150
232
  "type": "SYMBOL",
151
- "name": "tag_group_name"
233
+ "name": "group_def"
152
234
  }
153
235
  },
154
236
  {
155
237
  "type": "REPEAT",
156
238
  "content": {
157
239
  "type": "SYMBOL",
158
- "name": "type_variable"
240
+ "name": "type_var"
159
241
  }
160
242
  },
161
243
  {
@@ -178,42 +260,20 @@
178
260
  "type": "REPEAT",
179
261
  "content": {
180
262
  "type": "SYMBOL",
181
- "name": "tag_def"
263
+ "name": "tag"
182
264
  }
183
265
  }
184
266
  ]
185
267
  },
186
- "tag_group_name": {
268
+ "tag": {
187
269
  "type": "SEQ",
188
270
  "members": [
189
- {
190
- "type": "STRING",
191
- "value": "&"
192
- },
193
271
  {
194
272
  "type": "FIELD",
195
- "name": "name",
196
- "content": {
197
- "type": "ALIAS",
198
- "content": {
199
- "type": "PATTERN",
200
- "value": "[A-Z][a-zA-Z0-9_]*"
201
- },
202
- "named": true,
203
- "value": "group_ref"
204
- }
205
- }
206
- ]
207
- },
208
- "tag_def": {
209
- "type": "SEQ",
210
- "members": [
211
- {
212
- "type": "FIELD",
213
- "name": "name_def",
273
+ "name": "def",
214
274
  "content": {
215
275
  "type": "SYMBOL",
216
- "name": "tag_name"
276
+ "name": "tag_def"
217
277
  }
218
278
  },
219
279
  {
@@ -224,7 +284,7 @@
224
284
  "name": "type_param",
225
285
  "content": {
226
286
  "type": "SYMBOL",
227
- "name": "type_variable"
287
+ "name": "type_var"
228
288
  }
229
289
  },
230
290
  {
@@ -250,37 +310,94 @@
250
310
  }
251
311
  ]
252
312
  },
253
- "tag_name": {
313
+ "group_type": {
314
+ "type": "SEQ",
315
+ "members": [
316
+ {
317
+ "type": "FIELD",
318
+ "name": "group",
319
+ "content": {
320
+ "type": "CHOICE",
321
+ "members": [
322
+ {
323
+ "type": "SYMBOL",
324
+ "name": "group_ref"
325
+ },
326
+ {
327
+ "type": "SYMBOL",
328
+ "name": "module_group_ref"
329
+ }
330
+ ]
331
+ }
332
+ },
333
+ {
334
+ "type": "CHOICE",
335
+ "members": [
336
+ {
337
+ "type": "SYMBOL",
338
+ "name": "_generic"
339
+ },
340
+ {
341
+ "type": "BLANK"
342
+ }
343
+ ]
344
+ }
345
+ ]
346
+ },
347
+ "_generic": {
254
348
  "type": "SEQ",
255
349
  "members": [
256
350
  {
257
351
  "type": "STRING",
258
- "value": "#"
352
+ "value": "{"
259
353
  },
260
354
  {
261
355
  "type": "FIELD",
262
- "name": "name",
356
+ "name": "params",
263
357
  "content": {
264
- "type": "ALIAS",
358
+ "type": "REPEAT",
265
359
  "content": {
266
- "type": "PATTERN",
267
- "value": "[A-Z][a-zA-Z0-9_]*"
268
- },
269
- "named": true,
270
- "value": "tag_ref"
360
+ "type": "SYMBOL",
361
+ "name": "_generic_content"
362
+ }
271
363
  }
364
+ },
365
+ {
366
+ "type": "STRING",
367
+ "value": "}"
272
368
  }
273
369
  ]
274
370
  },
275
- "map_def": {
371
+ "_generic_content": {
372
+ "type": "CHOICE",
373
+ "members": [
374
+ {
375
+ "type": "SYMBOL",
376
+ "name": "type"
377
+ },
378
+ {
379
+ "type": "SYMBOL",
380
+ "name": "group_type"
381
+ },
382
+ {
383
+ "type": "SYMBOL",
384
+ "name": "map_ref"
385
+ },
386
+ {
387
+ "type": "SYMBOL",
388
+ "name": "module_map_ref"
389
+ }
390
+ ]
391
+ },
392
+ "map": {
276
393
  "type": "SEQ",
277
394
  "members": [
278
395
  {
279
396
  "type": "FIELD",
280
- "name": "name_def",
397
+ "name": "def",
281
398
  "content": {
282
399
  "type": "SYMBOL",
283
- "name": "map_name"
400
+ "name": "map_def"
284
401
  }
285
402
  },
286
403
  {
@@ -303,34 +420,12 @@
303
420
  "type": "REPEAT",
304
421
  "content": {
305
422
  "type": "SYMBOL",
306
- "name": "map_field"
423
+ "name": "field"
307
424
  }
308
425
  }
309
426
  ]
310
427
  },
311
- "map_name": {
312
- "type": "SEQ",
313
- "members": [
314
- {
315
- "type": "STRING",
316
- "value": "$"
317
- },
318
- {
319
- "type": "FIELD",
320
- "name": "name",
321
- "content": {
322
- "type": "ALIAS",
323
- "content": {
324
- "type": "PATTERN",
325
- "value": "[A-Z][a-zA-Z0-9_]*"
326
- },
327
- "named": true,
328
- "value": "map_ref"
329
- }
330
- }
331
- ]
332
- },
333
- "map_field": {
428
+ "field": {
334
429
  "type": "SEQ",
335
430
  "members": [
336
431
  {
@@ -338,7 +433,7 @@
338
433
  "name": "key",
339
434
  "content": {
340
435
  "type": "SYMBOL",
341
- "name": "map_field_name"
436
+ "name": "field_def"
342
437
  }
343
438
  },
344
439
  {
@@ -346,7 +441,7 @@
346
441
  "name": "type",
347
442
  "content": {
348
443
  "type": "SYMBOL",
349
- "name": "type_name"
444
+ "name": "_field_types"
350
445
  }
351
446
  },
352
447
  {
@@ -367,29 +462,28 @@
367
462
  }
368
463
  ]
369
464
  },
370
- "map_field_name": {
371
- "type": "SEQ",
465
+ "_field_types": {
466
+ "type": "CHOICE",
372
467
  "members": [
373
468
  {
374
- "type": "STRING",
375
- "value": "."
469
+ "type": "SYMBOL",
470
+ "name": "type"
376
471
  },
377
472
  {
378
- "type": "FIELD",
379
- "name": "name",
380
- "content": {
381
- "type": "ALIAS",
382
- "content": {
383
- "type": "PATTERN",
384
- "value": "[a-z][a-zA-Z0-9_]*"
385
- },
386
- "named": true,
387
- "value": "field_ref"
388
- }
473
+ "type": "SYMBOL",
474
+ "name": "group_type"
475
+ },
476
+ {
477
+ "type": "SYMBOL",
478
+ "name": "map_ref"
479
+ },
480
+ {
481
+ "type": "SYMBOL",
482
+ "name": "module_map_ref"
389
483
  }
390
484
  ]
391
485
  },
392
- "word_def": {
486
+ "word": {
393
487
  "type": "PREC_RIGHT",
394
488
  "value": 0,
395
489
  "content": {
@@ -400,7 +494,7 @@
400
494
  "name": "name_def",
401
495
  "content": {
402
496
  "type": "SYMBOL",
403
- "name": "word_name"
497
+ "name": "word_def"
404
498
  }
405
499
  },
406
500
  {
@@ -411,6 +505,22 @@
411
505
  "name": "signature"
412
506
  }
413
507
  },
508
+ {
509
+ "type": "CHOICE",
510
+ "members": [
511
+ {
512
+ "type": "FIELD",
513
+ "name": "doc",
514
+ "content": {
515
+ "type": "SYMBOL",
516
+ "name": "comment"
517
+ }
518
+ },
519
+ {
520
+ "type": "BLANK"
521
+ }
522
+ ]
523
+ },
414
524
  {
415
525
  "type": "REPEAT",
416
526
  "content": {
@@ -421,28 +531,6 @@
421
531
  ]
422
532
  }
423
533
  },
424
- "word_name": {
425
- "type": "SEQ",
426
- "members": [
427
- {
428
- "type": "STRING",
429
- "value": "@"
430
- },
431
- {
432
- "type": "FIELD",
433
- "name": "name",
434
- "content": {
435
- "type": "ALIAS",
436
- "content": {
437
- "type": "PATTERN",
438
- "value": "[a-z][a-zA-Z0-9_]*"
439
- },
440
- "named": true,
441
- "value": "word_ref"
442
- }
443
- }
444
- ]
445
- },
446
534
  "signature": {
447
535
  "type": "SEQ",
448
536
  "members": [
@@ -498,11 +586,11 @@
498
586
  },
499
587
  {
500
588
  "type": "SYMBOL",
501
- "name": "type_name"
589
+ "name": "type"
502
590
  },
503
591
  {
504
592
  "type": "SYMBOL",
505
- "name": "type_variable"
593
+ "name": "type_var"
506
594
  },
507
595
  {
508
596
  "type": "SYMBOL",
@@ -511,6 +599,18 @@
511
599
  {
512
600
  "type": "SYMBOL",
513
601
  "name": "sig_quotation"
602
+ },
603
+ {
604
+ "type": "SYMBOL",
605
+ "name": "group_type"
606
+ },
607
+ {
608
+ "type": "SYMBOL",
609
+ "name": "map_ref"
610
+ },
611
+ {
612
+ "type": "SYMBOL",
613
+ "name": "module_map_ref"
514
614
  }
515
615
  ]
516
616
  },
@@ -565,80 +665,6 @@
565
665
  }
566
666
  ]
567
667
  },
568
- "effect_add": {
569
- "type": "SEQ",
570
- "members": [
571
- {
572
- "type": "STRING",
573
- "value": "+"
574
- },
575
- {
576
- "type": "FIELD",
577
- "name": "name",
578
- "content": {
579
- "type": "ALIAS",
580
- "content": {
581
- "type": "PATTERN",
582
- "value": "[A-Z][a-zA-Z0-9_]*"
583
- },
584
- "named": true,
585
- "value": "effect_ref"
586
- }
587
- }
588
- ]
589
- },
590
- "effect_remove": {
591
- "type": "SEQ",
592
- "members": [
593
- {
594
- "type": "STRING",
595
- "value": "-"
596
- },
597
- {
598
- "type": "FIELD",
599
- "name": "name",
600
- "content": {
601
- "type": "ALIAS",
602
- "content": {
603
- "type": "PATTERN",
604
- "value": "[A-Z][a-zA-Z0-9_]*"
605
- },
606
- "named": true,
607
- "value": "effect_ref"
608
- }
609
- }
610
- ]
611
- },
612
- "spread": {
613
- "type": "SEQ",
614
- "members": [
615
- {
616
- "type": "STRING",
617
- "value": ".."
618
- },
619
- {
620
- "type": "FIELD",
621
- "name": "name",
622
- "content": {
623
- "type": "ALIAS",
624
- "content": {
625
- "type": "PATTERN",
626
- "value": "[a-zA-Z][a-zA-Z0-9_]*"
627
- },
628
- "named": true,
629
- "value": "spread_ref"
630
- }
631
- }
632
- ]
633
- },
634
- "type_name": {
635
- "type": "PATTERN",
636
- "value": "[A-Z][a-zA-Z0-9_]*"
637
- },
638
- "type_variable": {
639
- "type": "PATTERN",
640
- "value": "[a-z][a-zA-Z0-9_]*"
641
- },
642
668
  "_expr": {
643
669
  "type": "CHOICE",
644
670
  "members": [
@@ -656,35 +682,35 @@
656
682
  },
657
683
  {
658
684
  "type": "SYMBOL",
659
- "name": "word_call"
685
+ "name": "word_ref"
660
686
  },
661
687
  {
662
688
  "type": "SYMBOL",
663
- "name": "module_word_call"
689
+ "name": "module_word_ref"
664
690
  },
665
691
  {
666
692
  "type": "SYMBOL",
667
- "name": "module_tag_constructor"
693
+ "name": "tag_ref"
668
694
  },
669
695
  {
670
696
  "type": "SYMBOL",
671
- "name": "module_map_access"
697
+ "name": "module_tag_ref"
672
698
  },
673
699
  {
674
700
  "type": "SYMBOL",
675
- "name": "map_access"
701
+ "name": "tag_pattern"
676
702
  },
677
703
  {
678
704
  "type": "SYMBOL",
679
- "name": "tag_constructor"
705
+ "name": "default_pattern"
680
706
  },
681
707
  {
682
708
  "type": "SYMBOL",
683
- "name": "tag_pattern"
709
+ "name": "field_ref"
684
710
  },
685
711
  {
686
712
  "type": "SYMBOL",
687
- "name": "default_pattern"
713
+ "name": "module_field_ref"
688
714
  },
689
715
  {
690
716
  "type": "SYMBOL",
@@ -815,311 +841,6 @@
815
841
  }
816
842
  ]
817
843
  }
818
- },
819
- "word_call": {
820
- "type": "SEQ",
821
- "members": [
822
- {
823
- "type": "STRING",
824
- "value": "/"
825
- },
826
- {
827
- "type": "FIELD",
828
- "name": "word",
829
- "content": {
830
- "type": "ALIAS",
831
- "content": {
832
- "type": "PATTERN",
833
- "value": "[a-z][a-zA-Z0-9_]*"
834
- },
835
- "named": true,
836
- "value": "word_ref"
837
- }
838
- }
839
- ]
840
- },
841
- "module_word_call": {
842
- "type": "SEQ",
843
- "members": [
844
- {
845
- "type": "STRING",
846
- "value": "~"
847
- },
848
- {
849
- "type": "FIELD",
850
- "name": "module",
851
- "content": {
852
- "type": "ALIAS",
853
- "content": {
854
- "type": "PATTERN",
855
- "value": "[A-Z][a-zA-Z0-9_]*"
856
- },
857
- "named": true,
858
- "value": "module_ref"
859
- }
860
- },
861
- {
862
- "type": "STRING",
863
- "value": "/"
864
- },
865
- {
866
- "type": "FIELD",
867
- "name": "word",
868
- "content": {
869
- "type": "ALIAS",
870
- "content": {
871
- "type": "PATTERN",
872
- "value": "[a-z][a-zA-Z0-9_]*"
873
- },
874
- "named": true,
875
- "value": "word_ref"
876
- }
877
- }
878
- ]
879
- },
880
- "module_tag_constructor": {
881
- "type": "SEQ",
882
- "members": [
883
- {
884
- "type": "STRING",
885
- "value": "~"
886
- },
887
- {
888
- "type": "FIELD",
889
- "name": "module",
890
- "content": {
891
- "type": "ALIAS",
892
- "content": {
893
- "type": "PATTERN",
894
- "value": "[A-Z][a-zA-Z0-9_]*"
895
- },
896
- "named": true,
897
- "value": "module_ref"
898
- }
899
- },
900
- {
901
- "type": "STRING",
902
- "value": "#"
903
- },
904
- {
905
- "type": "FIELD",
906
- "name": "tag",
907
- "content": {
908
- "type": "ALIAS",
909
- "content": {
910
- "type": "PATTERN",
911
- "value": "[A-Z][a-zA-Z0-9_]*"
912
- },
913
- "named": true,
914
- "value": "tag_ref"
915
- }
916
- }
917
- ]
918
- },
919
- "module_map_access": {
920
- "type": "SEQ",
921
- "members": [
922
- {
923
- "type": "STRING",
924
- "value": "~"
925
- },
926
- {
927
- "type": "FIELD",
928
- "name": "module",
929
- "content": {
930
- "type": "ALIAS",
931
- "content": {
932
- "type": "PATTERN",
933
- "value": "[A-Z][a-zA-Z0-9_]*"
934
- },
935
- "named": true,
936
- "value": "module_ref"
937
- }
938
- },
939
- {
940
- "type": "STRING",
941
- "value": ","
942
- },
943
- {
944
- "type": "FIELD",
945
- "name": "map",
946
- "content": {
947
- "type": "ALIAS",
948
- "content": {
949
- "type": "PATTERN",
950
- "value": "[A-Z][a-zA-Z0-9_]*"
951
- },
952
- "named": true,
953
- "value": "map_ref"
954
- }
955
- },
956
- {
957
- "type": "STRING",
958
- "value": "."
959
- },
960
- {
961
- "type": "FIELD",
962
- "name": "field",
963
- "content": {
964
- "type": "ALIAS",
965
- "content": {
966
- "type": "PATTERN",
967
- "value": "[a-z][a-zA-Z0-9_]*"
968
- },
969
- "named": true,
970
- "value": "field_ref"
971
- }
972
- }
973
- ]
974
- },
975
- "map_access": {
976
- "type": "SEQ",
977
- "members": [
978
- {
979
- "type": "STRING",
980
- "value": ","
981
- },
982
- {
983
- "type": "FIELD",
984
- "name": "map",
985
- "content": {
986
- "type": "ALIAS",
987
- "content": {
988
- "type": "PATTERN",
989
- "value": "[A-Z][a-zA-Z0-9_]*"
990
- },
991
- "named": true,
992
- "value": "map_ref"
993
- }
994
- },
995
- {
996
- "type": "STRING",
997
- "value": "."
998
- },
999
- {
1000
- "type": "FIELD",
1001
- "name": "field",
1002
- "content": {
1003
- "type": "ALIAS",
1004
- "content": {
1005
- "type": "PATTERN",
1006
- "value": "[a-z][a-zA-Z0-9_]*"
1007
- },
1008
- "named": true,
1009
- "value": "field_ref"
1010
- }
1011
- }
1012
- ]
1013
- },
1014
- "tag_constructor": {
1015
- "type": "SEQ",
1016
- "members": [
1017
- {
1018
- "type": "STRING",
1019
- "value": "#"
1020
- },
1021
- {
1022
- "type": "FIELD",
1023
- "name": "name",
1024
- "content": {
1025
- "type": "ALIAS",
1026
- "content": {
1027
- "type": "PATTERN",
1028
- "value": "[A-Z][a-zA-Z0-9_]*"
1029
- },
1030
- "named": true,
1031
- "value": "tag_ref"
1032
- }
1033
- }
1034
- ]
1035
- },
1036
- "tag_pattern": {
1037
- "type": "SEQ",
1038
- "members": [
1039
- {
1040
- "type": "STRING",
1041
- "value": "_"
1042
- },
1043
- {
1044
- "type": "FIELD",
1045
- "name": "name",
1046
- "content": {
1047
- "type": "ALIAS",
1048
- "content": {
1049
- "type": "PATTERN",
1050
- "value": "[A-Z][a-zA-Z0-9_]*"
1051
- },
1052
- "named": true,
1053
- "value": "tag_ref"
1054
- }
1055
- }
1056
- ]
1057
- },
1058
- "default_pattern": {
1059
- "type": "TOKEN",
1060
- "content": {
1061
- "type": "STRING",
1062
- "value": "_"
1063
- }
1064
- },
1065
- "slot_push": {
1066
- "type": "SEQ",
1067
- "members": [
1068
- {
1069
- "type": "STRING",
1070
- "value": ":"
1071
- },
1072
- {
1073
- "type": "FIELD",
1074
- "name": "name",
1075
- "content": {
1076
- "type": "ALIAS",
1077
- "content": {
1078
- "type": "PATTERN",
1079
- "value": "[a-z][a-zA-Z0-9_]*"
1080
- },
1081
- "named": true,
1082
- "value": "slot_ref"
1083
- }
1084
- }
1085
- ]
1086
- },
1087
- "slot_pop": {
1088
- "type": "SEQ",
1089
- "members": [
1090
- {
1091
- "type": "STRING",
1092
- "value": ";"
1093
- },
1094
- {
1095
- "type": "FIELD",
1096
- "name": "name",
1097
- "content": {
1098
- "type": "ALIAS",
1099
- "content": {
1100
- "type": "PATTERN",
1101
- "value": "[a-z][a-zA-Z0-9_]*"
1102
- },
1103
- "named": true,
1104
- "value": "slot_ref"
1105
- }
1106
- }
1107
- ]
1108
- },
1109
- "raw_string": {
1110
- "type": "PATTERN",
1111
- "value": "\\'[^\\']*\\'"
1112
- },
1113
- "raw_value": {
1114
- "type": "TOKEN",
1115
- "content": {
1116
- "type": "PREC",
1117
- "value": -1,
1118
- "content": {
1119
- "type": "PATTERN",
1120
- "value": "[^\\s\\[\\]()']+"
1121
- }
1122
- }
1123
844
  }
1124
845
  },
1125
846
  "extras": [
@@ -1130,31 +851,20 @@
1130
851
  ],
1131
852
  "conflicts": [
1132
853
  [
1133
- "comment",
1134
- "signature"
1135
- ],
1136
- [
1137
- "comment",
1138
- "sig_quotation"
1139
- ],
1140
- [
1141
- "word_def"
1142
- ],
1143
- [
1144
- "tag_group"
854
+ "group"
1145
855
  ],
1146
856
  [
1147
- "tag_def"
857
+ "tag"
1148
858
  ],
1149
859
  [
1150
- "map_def"
860
+ "map"
1151
861
  ],
1152
862
  [
1153
- "map_field"
863
+ "field"
1154
864
  ],
1155
865
  [
1156
- "tag_def",
1157
- "tag_group"
866
+ "word",
867
+ "_expr"
1158
868
  ]
1159
869
  ],
1160
870
  "precedences": [],