@gram-data/tree-sitter-gram 0.1.10 → 0.2.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.
package/src/grammar.json CHANGED
@@ -31,31 +31,6 @@
31
31
  ]
32
32
  },
33
33
  "pattern": {
34
- "type": "SEQ",
35
- "members": [
36
- {
37
- "type": "SYMBOL",
38
- "name": "pattern_element"
39
- },
40
- {
41
- "type": "REPEAT",
42
- "content": {
43
- "type": "SEQ",
44
- "members": [
45
- {
46
- "type": "STRING",
47
- "value": ","
48
- },
49
- {
50
- "type": "SYMBOL",
51
- "name": "pattern_element"
52
- }
53
- ]
54
- }
55
- }
56
- ]
57
- },
58
- "pattern_element": {
59
34
  "type": "SEQ",
60
35
  "members": [
61
36
  {
@@ -65,11 +40,8 @@
65
40
  "type": "CHOICE",
66
41
  "members": [
67
42
  {
68
- "type": "REPEAT",
69
- "content": {
70
- "type": "SYMBOL",
71
- "name": "annotation"
72
- }
43
+ "type": "SYMBOL",
44
+ "name": "annotations"
73
45
  },
74
46
  {
75
47
  "type": "BLANK"
@@ -79,27 +51,48 @@
79
51
  },
80
52
  {
81
53
  "type": "FIELD",
82
- "name": "element",
54
+ "name": "elements",
83
55
  "content": {
84
- "type": "CHOICE",
56
+ "type": "SEQ",
85
57
  "members": [
86
58
  {
87
59
  "type": "SYMBOL",
88
- "name": "subject"
89
- },
90
- {
91
- "type": "SYMBOL",
92
- "name": "_path"
60
+ "name": "_pattern_element"
93
61
  },
94
62
  {
95
- "type": "SYMBOL",
96
- "name": "_reference"
63
+ "type": "REPEAT",
64
+ "content": {
65
+ "type": "SEQ",
66
+ "members": [
67
+ {
68
+ "type": "STRING",
69
+ "value": ","
70
+ },
71
+ {
72
+ "type": "SYMBOL",
73
+ "name": "_pattern_element"
74
+ }
75
+ ]
76
+ }
97
77
  }
98
78
  ]
99
79
  }
100
80
  }
101
81
  ]
102
82
  },
83
+ "_pattern_element": {
84
+ "type": "CHOICE",
85
+ "members": [
86
+ {
87
+ "type": "SYMBOL",
88
+ "name": "subject"
89
+ },
90
+ {
91
+ "type": "SYMBOL",
92
+ "name": "_path"
93
+ }
94
+ ]
95
+ },
103
96
  "subject": {
104
97
  "type": "SEQ",
105
98
  "members": [
@@ -125,13 +118,22 @@
125
118
  },
126
119
  {
127
120
  "type": "FIELD",
128
- "name": "association",
121
+ "name": "pattern",
129
122
  "content": {
130
123
  "type": "CHOICE",
131
124
  "members": [
132
125
  {
133
- "type": "SYMBOL",
134
- "name": "_association"
126
+ "type": "SEQ",
127
+ "members": [
128
+ {
129
+ "type": "STRING",
130
+ "value": "|"
131
+ },
132
+ {
133
+ "type": "SYMBOL",
134
+ "name": "sub_pattern"
135
+ }
136
+ ]
135
137
  },
136
138
  {
137
139
  "type": "BLANK"
@@ -145,6 +147,55 @@
145
147
  }
146
148
  ]
147
149
  },
150
+ "sub_pattern": {
151
+ "type": "SEQ",
152
+ "members": [
153
+ {
154
+ "type": "SYMBOL",
155
+ "name": "_sub_pattern_element"
156
+ },
157
+ {
158
+ "type": "REPEAT",
159
+ "content": {
160
+ "type": "SEQ",
161
+ "members": [
162
+ {
163
+ "type": "STRING",
164
+ "value": ","
165
+ },
166
+ {
167
+ "type": "SYMBOL",
168
+ "name": "_sub_pattern_element"
169
+ }
170
+ ]
171
+ }
172
+ }
173
+ ]
174
+ },
175
+ "_sub_pattern_element": {
176
+ "type": "CHOICE",
177
+ "members": [
178
+ {
179
+ "type": "SYMBOL",
180
+ "name": "subject"
181
+ },
182
+ {
183
+ "type": "SYMBOL",
184
+ "name": "_path"
185
+ },
186
+ {
187
+ "type": "SYMBOL",
188
+ "name": "reference"
189
+ }
190
+ ]
191
+ },
192
+ "annotations": {
193
+ "type": "REPEAT1",
194
+ "content": {
195
+ "type": "SYMBOL",
196
+ "name": "annotation"
197
+ }
198
+ },
148
199
  "annotation": {
149
200
  "type": "SEQ",
150
201
  "members": [
@@ -195,10 +246,23 @@
195
246
  "type": "SEQ",
196
247
  "members": [
197
248
  {
198
- "type": "TOKEN",
249
+ "type": "STRING",
250
+ "value": "("
251
+ },
252
+ {
253
+ "type": "FIELD",
254
+ "name": "annotations",
199
255
  "content": {
200
- "type": "STRING",
201
- "value": "("
256
+ "type": "CHOICE",
257
+ "members": [
258
+ {
259
+ "type": "SYMBOL",
260
+ "name": "annotations"
261
+ },
262
+ {
263
+ "type": "BLANK"
264
+ }
265
+ ]
202
266
  }
203
267
  },
204
268
  {
@@ -218,11 +282,8 @@
218
282
  }
219
283
  },
220
284
  {
221
- "type": "TOKEN",
222
- "content": {
223
- "type": "STRING",
224
- "value": ")"
225
- }
285
+ "type": "STRING",
286
+ "value": ")"
226
287
  }
227
288
  ]
228
289
  },
@@ -239,10 +300,10 @@
239
300
  },
240
301
  {
241
302
  "type": "FIELD",
242
- "name": "value",
303
+ "name": "kind",
243
304
  "content": {
244
305
  "type": "SYMBOL",
245
- "name": "_relationship_value"
306
+ "name": "_relationship_kind"
246
307
  }
247
308
  },
248
309
  {
@@ -255,26 +316,31 @@
255
316
  }
256
317
  ]
257
318
  },
258
- "_association": {
259
- "type": "SEQ",
319
+ "reference": {
320
+ "type": "FIELD",
321
+ "name": "identifier",
322
+ "content": {
323
+ "type": "SYMBOL",
324
+ "name": "_identifier"
325
+ }
326
+ },
327
+ "_identifier": {
328
+ "type": "CHOICE",
260
329
  "members": [
261
330
  {
262
- "type": "TOKEN",
263
- "content": {
264
- "type": "STRING",
265
- "value": "|"
266
- }
331
+ "type": "SYMBOL",
332
+ "name": "symbol"
267
333
  },
268
334
  {
269
335
  "type": "SYMBOL",
270
- "name": "pattern"
336
+ "name": "string_literal"
337
+ },
338
+ {
339
+ "type": "SYMBOL",
340
+ "name": "integer"
271
341
  }
272
342
  ]
273
343
  },
274
- "_reference": {
275
- "type": "SYMBOL",
276
- "name": "_value"
277
- },
278
344
  "_attributes": {
279
345
  "type": "CHOICE",
280
346
  "members": [
@@ -286,7 +352,7 @@
286
352
  "name": "identifier",
287
353
  "content": {
288
354
  "type": "SYMBOL",
289
- "name": "_value"
355
+ "name": "_identifier"
290
356
  }
291
357
  },
292
358
  {
@@ -315,7 +381,7 @@
315
381
  "name": "identifier",
316
382
  "content": {
317
383
  "type": "SYMBOL",
318
- "name": "_value"
384
+ "name": "_identifier"
319
385
  }
320
386
  },
321
387
  {
@@ -336,7 +402,7 @@
336
402
  "name": "identifier",
337
403
  "content": {
338
404
  "type": "SYMBOL",
339
- "name": "_value"
405
+ "name": "_identifier"
340
406
  }
341
407
  },
342
408
  {
@@ -378,7 +444,7 @@
378
444
  "name": "identifier",
379
445
  "content": {
380
446
  "type": "SYMBOL",
381
- "name": "_value"
447
+ "name": "_identifier"
382
448
  }
383
449
  },
384
450
  {
@@ -421,71 +487,156 @@
421
487
  }
422
488
  },
423
489
  {
424
- "type": "SYMBOL",
425
- "name": "symbol"
490
+ "type": "PREC",
491
+ "value": 3,
492
+ "content": {
493
+ "type": "SYMBOL",
494
+ "name": "boolean_literal"
495
+ }
426
496
  },
427
497
  {
428
- "type": "SYMBOL",
429
- "name": "_string_literal"
498
+ "type": "PREC",
499
+ "value": 2,
500
+ "content": {
501
+ "type": "SYMBOL",
502
+ "name": "tagged_string"
503
+ }
504
+ },
505
+ {
506
+ "type": "PREC",
507
+ "value": 1,
508
+ "content": {
509
+ "type": "SYMBOL",
510
+ "name": "symbol"
511
+ }
430
512
  },
431
513
  {
432
514
  "type": "SYMBOL",
433
- "name": "math_symbol"
515
+ "name": "string_literal"
434
516
  },
435
517
  {
436
518
  "type": "SYMBOL",
437
- "name": "greek"
519
+ "name": "array"
438
520
  },
439
521
  {
440
522
  "type": "SYMBOL",
441
- "name": "pictograph"
523
+ "name": "map"
442
524
  }
443
525
  ]
444
526
  },
445
- "labels": {
446
- "type": "REPEAT1",
447
- "content": {
448
- "type": "SYMBOL",
449
- "name": "label"
450
- }
451
- },
452
- "label": {
453
- "type": "SEQ",
527
+ "_scalar_value": {
528
+ "type": "CHOICE",
454
529
  "members": [
455
530
  {
456
- "type": "FIELD",
457
- "name": "binder",
531
+ "type": "PREC_RIGHT",
532
+ "value": 2,
458
533
  "content": {
459
534
  "type": "SYMBOL",
460
- "name": "binder"
535
+ "name": "range"
461
536
  }
462
537
  },
463
538
  {
464
- "type": "FIELD",
465
- "name": "symbol",
539
+ "type": "PREC_RIGHT",
540
+ "value": 1,
541
+ "content": {
542
+ "type": "SYMBOL",
543
+ "name": "_numeric_literal"
544
+ }
545
+ },
546
+ {
547
+ "type": "PREC",
548
+ "value": 3,
549
+ "content": {
550
+ "type": "SYMBOL",
551
+ "name": "boolean_literal"
552
+ }
553
+ },
554
+ {
555
+ "type": "PREC",
556
+ "value": 2,
557
+ "content": {
558
+ "type": "SYMBOL",
559
+ "name": "tagged_string"
560
+ }
561
+ },
562
+ {
563
+ "type": "PREC",
564
+ "value": 1,
466
565
  "content": {
467
566
  "type": "SYMBOL",
468
567
  "name": "symbol"
469
568
  }
569
+ },
570
+ {
571
+ "type": "SYMBOL",
572
+ "name": "string_literal"
470
573
  }
471
574
  ]
472
575
  },
473
- "binder": {
474
- "type": "CHOICE",
576
+ "array": {
577
+ "type": "SEQ",
475
578
  "members": [
476
579
  {
477
- "type": "TOKEN",
478
- "content": {
479
- "type": "STRING",
480
- "value": ":"
481
- }
580
+ "type": "STRING",
581
+ "value": "["
482
582
  },
483
583
  {
484
- "type": "TOKEN",
485
- "content": {
486
- "type": "STRING",
487
- "value": "::"
488
- }
584
+ "type": "SEQ",
585
+ "members": [
586
+ {
587
+ "type": "SYMBOL",
588
+ "name": "_scalar_value"
589
+ },
590
+ {
591
+ "type": "REPEAT",
592
+ "content": {
593
+ "type": "SEQ",
594
+ "members": [
595
+ {
596
+ "type": "STRING",
597
+ "value": ","
598
+ },
599
+ {
600
+ "type": "SYMBOL",
601
+ "name": "_scalar_value"
602
+ }
603
+ ]
604
+ }
605
+ }
606
+ ]
607
+ },
608
+ {
609
+ "type": "STRING",
610
+ "value": "]"
611
+ }
612
+ ]
613
+ },
614
+ "labels": {
615
+ "type": "REPEAT1",
616
+ "content": {
617
+ "type": "SYMBOL",
618
+ "name": "_label"
619
+ }
620
+ },
621
+ "_label": {
622
+ "type": "SEQ",
623
+ "members": [
624
+ {
625
+ "type": "CHOICE",
626
+ "members": [
627
+ {
628
+ "type": "STRING",
629
+ "value": ":"
630
+ },
631
+ {
632
+ "type": "STRING",
633
+ "value": "::"
634
+ }
635
+ ]
636
+ },
637
+ {
638
+ "type": "SYMBOL",
639
+ "name": "symbol"
489
640
  }
490
641
  ]
491
642
  },
@@ -543,16 +694,21 @@
543
694
  "name": "key",
544
695
  "content": {
545
696
  "type": "SYMBOL",
546
- "name": "_key"
697
+ "name": "_identifier"
547
698
  }
548
699
  },
549
700
  {
550
- "type": "FIELD",
551
- "name": "binder",
552
- "content": {
553
- "type": "SYMBOL",
554
- "name": "binder"
555
- }
701
+ "type": "CHOICE",
702
+ "members": [
703
+ {
704
+ "type": "STRING",
705
+ "value": ":"
706
+ },
707
+ {
708
+ "type": "STRING",
709
+ "value": "::"
710
+ }
711
+ ]
556
712
  },
557
713
  {
558
714
  "type": "FIELD",
@@ -561,52 +717,77 @@
561
717
  "type": "SYMBOL",
562
718
  "name": "_value"
563
719
  }
720
+ }
721
+ ]
722
+ },
723
+ "map": {
724
+ "type": "SEQ",
725
+ "members": [
726
+ {
727
+ "type": "STRING",
728
+ "value": "{"
564
729
  },
565
730
  {
566
731
  "type": "CHOICE",
567
732
  "members": [
568
733
  {
569
- "type": "FIELD",
570
- "name": "cardinality",
571
- "content": {
572
- "type": "CHOICE",
573
- "members": [
574
- {
575
- "type": "STRING",
576
- "value": "!"
577
- },
578
- {
579
- "type": "STRING",
580
- "value": "?"
581
- },
582
- {
583
- "type": "STRING",
584
- "value": "*"
585
- },
586
- {
587
- "type": "STRING",
588
- "value": "+"
734
+ "type": "SEQ",
735
+ "members": [
736
+ {
737
+ "type": "SYMBOL",
738
+ "name": "mapping"
739
+ },
740
+ {
741
+ "type": "REPEAT",
742
+ "content": {
743
+ "type": "SEQ",
744
+ "members": [
745
+ {
746
+ "type": "STRING",
747
+ "value": ","
748
+ },
749
+ {
750
+ "type": "SYMBOL",
751
+ "name": "mapping"
752
+ }
753
+ ]
589
754
  }
590
- ]
591
- }
755
+ }
756
+ ]
592
757
  },
593
758
  {
594
759
  "type": "BLANK"
595
760
  }
596
761
  ]
762
+ },
763
+ {
764
+ "type": "STRING",
765
+ "value": "}"
597
766
  }
598
767
  ]
599
768
  },
600
- "_key": {
601
- "type": "CHOICE",
769
+ "mapping": {
770
+ "type": "SEQ",
602
771
  "members": [
603
772
  {
604
- "type": "SYMBOL",
605
- "name": "symbol"
773
+ "type": "FIELD",
774
+ "name": "key",
775
+ "content": {
776
+ "type": "SYMBOL",
777
+ "name": "_identifier"
778
+ }
606
779
  },
607
780
  {
608
- "type": "SYMBOL",
609
- "name": "_string_literal"
781
+ "type": "STRING",
782
+ "value": ":"
783
+ },
784
+ {
785
+ "type": "FIELD",
786
+ "name": "value",
787
+ "content": {
788
+ "type": "SYMBOL",
789
+ "name": "_scalar_value"
790
+ }
610
791
  }
611
792
  ]
612
793
  },
@@ -617,27 +798,6 @@
617
798
  "value": "[a-zA-Z_][0-9a-zA-Z_.\\-@]*"
618
799
  }
619
800
  },
620
- "greek": {
621
- "type": "TOKEN",
622
- "content": {
623
- "type": "PATTERN",
624
- "value": "[\\u03B1-\\u03C9\\u0391-\\u03A9]"
625
- }
626
- },
627
- "math_symbol": {
628
- "type": "TOKEN",
629
- "content": {
630
- "type": "PATTERN",
631
- "value": "\\p{Other_Math}"
632
- }
633
- },
634
- "pictograph": {
635
- "type": "TOKEN",
636
- "content": {
637
- "type": "PATTERN",
638
- "value": "[\\u2650-\\u26FF]"
639
- }
640
- },
641
801
  "range": {
642
802
  "type": "CHOICE",
643
803
  "members": [
@@ -702,6 +862,19 @@
702
862
  }
703
863
  ]
704
864
  },
865
+ "boolean_literal": {
866
+ "type": "CHOICE",
867
+ "members": [
868
+ {
869
+ "type": "STRING",
870
+ "value": "true"
871
+ },
872
+ {
873
+ "type": "STRING",
874
+ "value": "false"
875
+ }
876
+ ]
877
+ },
705
878
  "_numeric_literal": {
706
879
  "type": "CHOICE",
707
880
  "members": [
@@ -762,572 +935,1095 @@
762
935
  "value": "-?(0|[1-9]\\d*)([a-zA-Z]+)"
763
936
  }
764
937
  },
765
- "_string_literal": {
938
+ "string_literal": {
766
939
  "type": "CHOICE",
767
940
  "members": [
768
941
  {
769
942
  "type": "SYMBOL",
770
- "name": "single_quoted_string"
943
+ "name": "_single_quoted_string"
771
944
  },
772
945
  {
773
946
  "type": "SYMBOL",
774
- "name": "double_quoted_string"
947
+ "name": "_double_quoted_string"
775
948
  },
776
949
  {
777
950
  "type": "SYMBOL",
778
- "name": "backticked_string"
951
+ "name": "_backticked_string"
779
952
  },
780
953
  {
781
954
  "type": "SYMBOL",
782
- "name": "tagged_string"
783
- },
784
- {
785
- "type": "SYMBOL",
786
- "name": "fenced_string"
955
+ "name": "_fenced_string"
787
956
  }
788
957
  ]
789
958
  },
790
- "single_quoted_string": {
791
- "type": "TOKEN",
792
- "content": {
793
- "type": "PATTERN",
794
- "value": "'(\\\\['bfnrt/\\\\]|[^'\\n])*'"
795
- }
796
- },
797
- "double_quoted_string": {
798
- "type": "TOKEN",
799
- "content": {
800
- "type": "PATTERN",
801
- "value": "\"(\\\\[\"bfnrt/\\\\]|[^\"\\n])*\""
802
- }
803
- },
804
- "backticked_string": {
805
- "type": "TOKEN",
806
- "content": {
807
- "type": "PATTERN",
808
- "value": "`(\\\\[`bfnrt/\\\\]|[^`\\n])*`"
809
- }
810
- },
811
- "tagged_string": {
812
- "type": "TOKEN",
813
- "content": {
814
- "type": "PATTERN",
815
- "value": "[a-zA-Z@][0-9a-zA-Z_.@]*`[^`\\n]*`"
816
- }
817
- },
818
- "fenced_string": {
819
- "type": "TOKEN",
820
- "content": {
821
- "type": "PATTERN",
822
- "value": "```(\\\\[`bfnrt/\\\\]|[^`])*```"
823
- }
824
- },
825
- "_relationship_value": {
826
- "type": "CHOICE",
959
+ "_single_quoted_string": {
960
+ "type": "SEQ",
827
961
  "members": [
828
962
  {
829
- "type": "SYMBOL",
830
- "name": "single_undirected"
831
- },
832
- {
833
- "type": "SYMBOL",
834
- "name": "single_bidirectional"
835
- },
836
- {
837
- "type": "SYMBOL",
838
- "name": "single_right"
839
- },
840
- {
841
- "type": "SYMBOL",
842
- "name": "single_left"
843
- },
844
- {
845
- "type": "SYMBOL",
846
- "name": "double_undirected"
847
- },
848
- {
849
- "type": "SYMBOL",
850
- "name": "double_bidirectional"
851
- },
852
- {
853
- "type": "SYMBOL",
854
- "name": "double_right"
855
- },
856
- {
857
- "type": "SYMBOL",
858
- "name": "double_left"
859
- },
860
- {
861
- "type": "SYMBOL",
862
- "name": "squiggle_undirected"
863
- },
864
- {
865
- "type": "SYMBOL",
866
- "name": "squiggle_bidirectional"
963
+ "type": "STRING",
964
+ "value": "'"
867
965
  },
868
966
  {
869
- "type": "SYMBOL",
870
- "name": "squiggle_right"
967
+ "type": "FIELD",
968
+ "name": "content",
969
+ "content": {
970
+ "type": "ALIAS",
971
+ "content": {
972
+ "type": "SYMBOL",
973
+ "name": "_single_quoted_text"
974
+ },
975
+ "named": true,
976
+ "value": "string_content"
977
+ }
871
978
  },
872
979
  {
873
- "type": "SYMBOL",
874
- "name": "squiggle_left"
980
+ "type": "STRING",
981
+ "value": "'"
875
982
  }
876
983
  ]
877
984
  },
878
- "single_undirected": {
985
+ "_single_quoted_text": {
986
+ "type": "IMMEDIATE_TOKEN",
987
+ "content": {
988
+ "type": "PATTERN",
989
+ "value": "(\\\\['bfnrt/\\\\]|[^'\\\\\\n])*"
990
+ }
991
+ },
992
+ "_double_quoted_string": {
879
993
  "type": "SEQ",
880
994
  "members": [
881
995
  {
882
996
  "type": "STRING",
883
- "value": "-"
997
+ "value": "\""
884
998
  },
885
999
  {
886
- "type": "CHOICE",
887
- "members": [
888
- {
889
- "type": "SEQ",
890
- "members": [
891
- {
892
- "type": "STRING",
893
- "value": "["
894
- },
895
- {
896
- "type": "SYMBOL",
897
- "name": "_attributes"
898
- },
899
- {
900
- "type": "STRING",
901
- "value": "]"
902
- }
903
- ]
1000
+ "type": "FIELD",
1001
+ "name": "content",
1002
+ "content": {
1003
+ "type": "ALIAS",
1004
+ "content": {
1005
+ "type": "SYMBOL",
1006
+ "name": "_double_quoted_text"
904
1007
  },
905
- {
906
- "type": "BLANK"
907
- }
908
- ]
1008
+ "named": true,
1009
+ "value": "string_content"
1010
+ }
909
1011
  },
910
1012
  {
911
1013
  "type": "STRING",
912
- "value": "-"
1014
+ "value": "\""
913
1015
  }
914
1016
  ]
915
1017
  },
916
- "single_bidirectional": {
1018
+ "_double_quoted_text": {
1019
+ "type": "IMMEDIATE_TOKEN",
1020
+ "content": {
1021
+ "type": "PATTERN",
1022
+ "value": "(\\\\[\"bfnrt/\\\\]|[^\"\\\\\\n])*"
1023
+ }
1024
+ },
1025
+ "_backticked_string": {
917
1026
  "type": "SEQ",
918
1027
  "members": [
919
1028
  {
920
1029
  "type": "STRING",
921
- "value": "<-"
1030
+ "value": "`"
922
1031
  },
923
1032
  {
924
- "type": "CHOICE",
925
- "members": [
926
- {
927
- "type": "SEQ",
928
- "members": [
929
- {
930
- "type": "STRING",
931
- "value": "["
932
- },
933
- {
934
- "type": "SYMBOL",
935
- "name": "_attributes"
936
- },
937
- {
938
- "type": "STRING",
939
- "value": "]"
940
- }
941
- ]
1033
+ "type": "FIELD",
1034
+ "name": "content",
1035
+ "content": {
1036
+ "type": "ALIAS",
1037
+ "content": {
1038
+ "type": "SYMBOL",
1039
+ "name": "_backticked_text"
942
1040
  },
943
- {
944
- "type": "BLANK"
945
- }
946
- ]
1041
+ "named": true,
1042
+ "value": "string_content"
1043
+ }
947
1044
  },
948
1045
  {
949
1046
  "type": "STRING",
950
- "value": "->"
1047
+ "value": "`"
951
1048
  }
952
1049
  ]
953
1050
  },
954
- "single_right": {
1051
+ "_backticked_text": {
1052
+ "type": "IMMEDIATE_TOKEN",
1053
+ "content": {
1054
+ "type": "PATTERN",
1055
+ "value": "(\\\\[`bfnrt/\\\\]|[^`\\\\\\n])*"
1056
+ }
1057
+ },
1058
+ "_fenced_string": {
955
1059
  "type": "SEQ",
956
1060
  "members": [
957
1061
  {
958
1062
  "type": "STRING",
959
- "value": "-"
960
- },
961
- {
962
- "type": "CHOICE",
963
- "members": [
964
- {
965
- "type": "SEQ",
966
- "members": [
967
- {
968
- "type": "STRING",
969
- "value": "["
970
- },
971
- {
972
- "type": "SYMBOL",
973
- "name": "_attributes"
974
- },
975
- {
976
- "type": "STRING",
977
- "value": "]"
978
- }
979
- ]
980
- },
981
- {
982
- "type": "BLANK"
983
- }
984
- ]
1063
+ "value": "```"
985
1064
  },
986
1065
  {
987
- "type": "STRING",
988
- "value": "->"
1066
+ "type": "SYMBOL",
1067
+ "name": "_fenced_string_body"
989
1068
  }
990
1069
  ]
991
1070
  },
992
- "single_left": {
1071
+ "_fenced_string_body": {
993
1072
  "type": "SEQ",
994
1073
  "members": [
995
1074
  {
996
1075
  "type": "STRING",
997
- "value": "<-"
1076
+ "value": "\n"
998
1077
  },
999
1078
  {
1000
- "type": "CHOICE",
1001
- "members": [
1002
- {
1003
- "type": "SEQ",
1004
- "members": [
1005
- {
1006
- "type": "STRING",
1007
- "value": "["
1008
- },
1009
- {
1079
+ "type": "FIELD",
1080
+ "name": "content",
1081
+ "content": {
1082
+ "type": "CHOICE",
1083
+ "members": [
1084
+ {
1085
+ "type": "ALIAS",
1086
+ "content": {
1010
1087
  "type": "SYMBOL",
1011
- "name": "_attributes"
1088
+ "name": "_fenced_string_content"
1012
1089
  },
1013
- {
1014
- "type": "STRING",
1015
- "value": "]"
1016
- }
1017
- ]
1018
- },
1019
- {
1020
- "type": "BLANK"
1021
- }
1022
- ]
1090
+ "named": true,
1091
+ "value": "string_content"
1092
+ },
1093
+ {
1094
+ "type": "BLANK"
1095
+ }
1096
+ ]
1097
+ }
1023
1098
  },
1024
1099
  {
1025
1100
  "type": "STRING",
1026
- "value": "-"
1101
+ "value": "```"
1027
1102
  }
1028
1103
  ]
1029
1104
  },
1030
- "double_undirected": {
1031
- "type": "SEQ",
1032
- "members": [
1033
- {
1034
- "type": "STRING",
1035
- "value": "="
1036
- },
1105
+ "_fenced_string_content": {
1106
+ "type": "IMMEDIATE_TOKEN",
1107
+ "content": {
1108
+ "type": "PATTERN",
1109
+ "value": "([^`]|`[^`]|``[^`])+"
1110
+ }
1111
+ },
1112
+ "tagged_string": {
1113
+ "type": "CHOICE",
1114
+ "members": [
1037
1115
  {
1038
- "type": "CHOICE",
1116
+ "type": "SEQ",
1039
1117
  "members": [
1040
1118
  {
1041
- "type": "SEQ",
1042
- "members": [
1043
- {
1044
- "type": "STRING",
1045
- "value": "["
1046
- },
1047
- {
1119
+ "type": "FIELD",
1120
+ "name": "tag",
1121
+ "content": {
1122
+ "type": "SYMBOL",
1123
+ "name": "symbol"
1124
+ }
1125
+ },
1126
+ {
1127
+ "type": "STRING",
1128
+ "value": "`"
1129
+ },
1130
+ {
1131
+ "type": "FIELD",
1132
+ "name": "content",
1133
+ "content": {
1134
+ "type": "ALIAS",
1135
+ "content": {
1048
1136
  "type": "SYMBOL",
1049
- "name": "_attributes"
1137
+ "name": "_backticked_text"
1050
1138
  },
1051
- {
1052
- "type": "STRING",
1053
- "value": "]"
1054
- }
1055
- ]
1139
+ "named": true,
1140
+ "value": "string_content"
1141
+ }
1056
1142
  },
1057
1143
  {
1058
- "type": "BLANK"
1144
+ "type": "STRING",
1145
+ "value": "`"
1059
1146
  }
1060
1147
  ]
1061
1148
  },
1062
1149
  {
1063
- "type": "STRING",
1064
- "value": "="
1150
+ "type": "SEQ",
1151
+ "members": [
1152
+ {
1153
+ "type": "STRING",
1154
+ "value": "```"
1155
+ },
1156
+ {
1157
+ "type": "FIELD",
1158
+ "name": "tag",
1159
+ "content": {
1160
+ "type": "SYMBOL",
1161
+ "name": "symbol"
1162
+ }
1163
+ },
1164
+ {
1165
+ "type": "STRING",
1166
+ "value": "\n"
1167
+ },
1168
+ {
1169
+ "type": "FIELD",
1170
+ "name": "content",
1171
+ "content": {
1172
+ "type": "CHOICE",
1173
+ "members": [
1174
+ {
1175
+ "type": "ALIAS",
1176
+ "content": {
1177
+ "type": "SYMBOL",
1178
+ "name": "_fenced_string_content"
1179
+ },
1180
+ "named": true,
1181
+ "value": "string_content"
1182
+ },
1183
+ {
1184
+ "type": "BLANK"
1185
+ }
1186
+ ]
1187
+ }
1188
+ },
1189
+ {
1190
+ "type": "STRING",
1191
+ "value": "```"
1192
+ }
1193
+ ]
1065
1194
  }
1066
1195
  ]
1067
1196
  },
1068
- "double_bidirectional": {
1069
- "type": "SEQ",
1197
+ "_relationship_kind": {
1198
+ "type": "CHOICE",
1070
1199
  "members": [
1071
1200
  {
1072
- "type": "STRING",
1073
- "value": "<="
1201
+ "type": "SYMBOL",
1202
+ "name": "undirected_arrow"
1074
1203
  },
1075
1204
  {
1076
- "type": "CHOICE",
1205
+ "type": "SYMBOL",
1206
+ "name": "left_arrow"
1207
+ },
1208
+ {
1209
+ "type": "SYMBOL",
1210
+ "name": "right_arrow"
1211
+ },
1212
+ {
1213
+ "type": "SYMBOL",
1214
+ "name": "bidirectional_arrow"
1215
+ }
1216
+ ]
1217
+ },
1218
+ "undirected_arrow": {
1219
+ "type": "CHOICE",
1220
+ "members": [
1221
+ {
1222
+ "type": "SEQ",
1077
1223
  "members": [
1078
1224
  {
1079
- "type": "SEQ",
1225
+ "type": "STRING",
1226
+ "value": "-"
1227
+ },
1228
+ {
1229
+ "type": "CHOICE",
1080
1230
  "members": [
1081
1231
  {
1082
- "type": "STRING",
1083
- "value": "["
1084
- },
1085
- {
1086
- "type": "SYMBOL",
1087
- "name": "_attributes"
1232
+ "type": "SEQ",
1233
+ "members": [
1234
+ {
1235
+ "type": "STRING",
1236
+ "value": "["
1237
+ },
1238
+ {
1239
+ "type": "FIELD",
1240
+ "name": "annotations",
1241
+ "content": {
1242
+ "type": "CHOICE",
1243
+ "members": [
1244
+ {
1245
+ "type": "SYMBOL",
1246
+ "name": "annotations"
1247
+ },
1248
+ {
1249
+ "type": "BLANK"
1250
+ }
1251
+ ]
1252
+ }
1253
+ },
1254
+ {
1255
+ "type": "FIELD",
1256
+ "name": "attributes",
1257
+ "content": {
1258
+ "type": "CHOICE",
1259
+ "members": [
1260
+ {
1261
+ "type": "SYMBOL",
1262
+ "name": "_attributes"
1263
+ },
1264
+ {
1265
+ "type": "BLANK"
1266
+ }
1267
+ ]
1268
+ }
1269
+ },
1270
+ {
1271
+ "type": "STRING",
1272
+ "value": "]"
1273
+ }
1274
+ ]
1088
1275
  },
1089
1276
  {
1090
- "type": "STRING",
1091
- "value": "]"
1277
+ "type": "BLANK"
1092
1278
  }
1093
1279
  ]
1094
1280
  },
1095
1281
  {
1096
- "type": "BLANK"
1282
+ "type": "STRING",
1283
+ "value": "-"
1097
1284
  }
1098
1285
  ]
1099
1286
  },
1100
1287
  {
1101
- "type": "STRING",
1102
- "value": "=>"
1103
- }
1104
- ]
1105
- },
1106
- "double_right": {
1107
- "type": "SEQ",
1108
- "members": [
1109
- {
1110
- "type": "STRING",
1111
- "value": "="
1112
- },
1113
- {
1114
- "type": "CHOICE",
1288
+ "type": "SEQ",
1115
1289
  "members": [
1116
1290
  {
1117
- "type": "SEQ",
1291
+ "type": "STRING",
1292
+ "value": "="
1293
+ },
1294
+ {
1295
+ "type": "CHOICE",
1118
1296
  "members": [
1119
1297
  {
1120
- "type": "STRING",
1121
- "value": "["
1122
- },
1123
- {
1124
- "type": "SYMBOL",
1125
- "name": "_attributes"
1298
+ "type": "SEQ",
1299
+ "members": [
1300
+ {
1301
+ "type": "STRING",
1302
+ "value": "["
1303
+ },
1304
+ {
1305
+ "type": "FIELD",
1306
+ "name": "annotations",
1307
+ "content": {
1308
+ "type": "CHOICE",
1309
+ "members": [
1310
+ {
1311
+ "type": "SYMBOL",
1312
+ "name": "annotations"
1313
+ },
1314
+ {
1315
+ "type": "BLANK"
1316
+ }
1317
+ ]
1318
+ }
1319
+ },
1320
+ {
1321
+ "type": "FIELD",
1322
+ "name": "attributes",
1323
+ "content": {
1324
+ "type": "CHOICE",
1325
+ "members": [
1326
+ {
1327
+ "type": "SYMBOL",
1328
+ "name": "_attributes"
1329
+ },
1330
+ {
1331
+ "type": "BLANK"
1332
+ }
1333
+ ]
1334
+ }
1335
+ },
1336
+ {
1337
+ "type": "STRING",
1338
+ "value": "]"
1339
+ }
1340
+ ]
1126
1341
  },
1127
1342
  {
1128
- "type": "STRING",
1129
- "value": "]"
1343
+ "type": "BLANK"
1130
1344
  }
1131
1345
  ]
1132
1346
  },
1133
1347
  {
1134
- "type": "BLANK"
1348
+ "type": "STRING",
1349
+ "value": "="
1135
1350
  }
1136
1351
  ]
1137
1352
  },
1138
1353
  {
1139
- "type": "STRING",
1140
- "value": "=>"
1141
- }
1142
- ]
1143
- },
1144
- "double_left": {
1145
- "type": "SEQ",
1146
- "members": [
1147
- {
1148
- "type": "STRING",
1149
- "value": "<="
1150
- },
1151
- {
1152
- "type": "CHOICE",
1354
+ "type": "SEQ",
1153
1355
  "members": [
1154
1356
  {
1155
- "type": "SEQ",
1357
+ "type": "STRING",
1358
+ "value": "~"
1359
+ },
1360
+ {
1361
+ "type": "CHOICE",
1156
1362
  "members": [
1157
1363
  {
1158
- "type": "STRING",
1159
- "value": "["
1160
- },
1161
- {
1162
- "type": "SYMBOL",
1163
- "name": "_attributes"
1364
+ "type": "SEQ",
1365
+ "members": [
1366
+ {
1367
+ "type": "STRING",
1368
+ "value": "["
1369
+ },
1370
+ {
1371
+ "type": "FIELD",
1372
+ "name": "annotations",
1373
+ "content": {
1374
+ "type": "CHOICE",
1375
+ "members": [
1376
+ {
1377
+ "type": "SYMBOL",
1378
+ "name": "annotations"
1379
+ },
1380
+ {
1381
+ "type": "BLANK"
1382
+ }
1383
+ ]
1384
+ }
1385
+ },
1386
+ {
1387
+ "type": "FIELD",
1388
+ "name": "attributes",
1389
+ "content": {
1390
+ "type": "CHOICE",
1391
+ "members": [
1392
+ {
1393
+ "type": "SYMBOL",
1394
+ "name": "_attributes"
1395
+ },
1396
+ {
1397
+ "type": "BLANK"
1398
+ }
1399
+ ]
1400
+ }
1401
+ },
1402
+ {
1403
+ "type": "STRING",
1404
+ "value": "]"
1405
+ }
1406
+ ]
1164
1407
  },
1165
1408
  {
1166
- "type": "STRING",
1167
- "value": "]"
1409
+ "type": "BLANK"
1168
1410
  }
1169
1411
  ]
1170
1412
  },
1171
1413
  {
1172
- "type": "BLANK"
1414
+ "type": "STRING",
1415
+ "value": "~"
1173
1416
  }
1174
1417
  ]
1175
- },
1176
- {
1177
- "type": "STRING",
1178
- "value": "="
1179
1418
  }
1180
1419
  ]
1181
1420
  },
1182
- "squiggle_undirected": {
1183
- "type": "SEQ",
1421
+ "right_arrow": {
1422
+ "type": "CHOICE",
1184
1423
  "members": [
1185
1424
  {
1186
- "type": "STRING",
1187
- "value": "~"
1188
- },
1189
- {
1190
- "type": "CHOICE",
1425
+ "type": "SEQ",
1191
1426
  "members": [
1192
1427
  {
1193
- "type": "SEQ",
1428
+ "type": "STRING",
1429
+ "value": "-"
1430
+ },
1431
+ {
1432
+ "type": "CHOICE",
1194
1433
  "members": [
1195
1434
  {
1196
- "type": "STRING",
1197
- "value": "["
1198
- },
1199
- {
1200
- "type": "SYMBOL",
1201
- "name": "_attributes"
1435
+ "type": "SEQ",
1436
+ "members": [
1437
+ {
1438
+ "type": "STRING",
1439
+ "value": "["
1440
+ },
1441
+ {
1442
+ "type": "FIELD",
1443
+ "name": "annotations",
1444
+ "content": {
1445
+ "type": "CHOICE",
1446
+ "members": [
1447
+ {
1448
+ "type": "SYMBOL",
1449
+ "name": "annotations"
1450
+ },
1451
+ {
1452
+ "type": "BLANK"
1453
+ }
1454
+ ]
1455
+ }
1456
+ },
1457
+ {
1458
+ "type": "FIELD",
1459
+ "name": "attributes",
1460
+ "content": {
1461
+ "type": "CHOICE",
1462
+ "members": [
1463
+ {
1464
+ "type": "SYMBOL",
1465
+ "name": "_attributes"
1466
+ },
1467
+ {
1468
+ "type": "BLANK"
1469
+ }
1470
+ ]
1471
+ }
1472
+ },
1473
+ {
1474
+ "type": "STRING",
1475
+ "value": "]"
1476
+ }
1477
+ ]
1202
1478
  },
1203
1479
  {
1204
- "type": "STRING",
1205
- "value": "]"
1480
+ "type": "BLANK"
1206
1481
  }
1207
1482
  ]
1208
1483
  },
1209
1484
  {
1210
- "type": "BLANK"
1485
+ "type": "STRING",
1486
+ "value": "->"
1211
1487
  }
1212
1488
  ]
1213
1489
  },
1214
1490
  {
1215
- "type": "STRING",
1216
- "value": "~"
1217
- }
1218
- ]
1219
- },
1220
- "squiggle_bidirectional": {
1221
- "type": "SEQ",
1222
- "members": [
1223
- {
1224
- "type": "STRING",
1225
- "value": "<~"
1226
- },
1227
- {
1228
- "type": "CHOICE",
1491
+ "type": "SEQ",
1229
1492
  "members": [
1230
1493
  {
1231
- "type": "SEQ",
1494
+ "type": "STRING",
1495
+ "value": "="
1496
+ },
1497
+ {
1498
+ "type": "CHOICE",
1232
1499
  "members": [
1233
1500
  {
1234
- "type": "STRING",
1235
- "value": "["
1236
- },
1237
- {
1238
- "type": "SYMBOL",
1239
- "name": "_attributes"
1501
+ "type": "SEQ",
1502
+ "members": [
1503
+ {
1504
+ "type": "STRING",
1505
+ "value": "["
1506
+ },
1507
+ {
1508
+ "type": "FIELD",
1509
+ "name": "annotations",
1510
+ "content": {
1511
+ "type": "CHOICE",
1512
+ "members": [
1513
+ {
1514
+ "type": "SYMBOL",
1515
+ "name": "annotations"
1516
+ },
1517
+ {
1518
+ "type": "BLANK"
1519
+ }
1520
+ ]
1521
+ }
1522
+ },
1523
+ {
1524
+ "type": "FIELD",
1525
+ "name": "attributes",
1526
+ "content": {
1527
+ "type": "CHOICE",
1528
+ "members": [
1529
+ {
1530
+ "type": "SYMBOL",
1531
+ "name": "_attributes"
1532
+ },
1533
+ {
1534
+ "type": "BLANK"
1535
+ }
1536
+ ]
1537
+ }
1538
+ },
1539
+ {
1540
+ "type": "STRING",
1541
+ "value": "]"
1542
+ }
1543
+ ]
1240
1544
  },
1241
1545
  {
1242
- "type": "STRING",
1243
- "value": "]"
1546
+ "type": "BLANK"
1244
1547
  }
1245
1548
  ]
1246
1549
  },
1247
1550
  {
1248
- "type": "BLANK"
1551
+ "type": "STRING",
1552
+ "value": "=>"
1249
1553
  }
1250
1554
  ]
1251
1555
  },
1252
1556
  {
1253
- "type": "STRING",
1254
- "value": "~>"
1557
+ "type": "SEQ",
1558
+ "members": [
1559
+ {
1560
+ "type": "STRING",
1561
+ "value": "~"
1562
+ },
1563
+ {
1564
+ "type": "CHOICE",
1565
+ "members": [
1566
+ {
1567
+ "type": "SEQ",
1568
+ "members": [
1569
+ {
1570
+ "type": "STRING",
1571
+ "value": "["
1572
+ },
1573
+ {
1574
+ "type": "FIELD",
1575
+ "name": "annotations",
1576
+ "content": {
1577
+ "type": "CHOICE",
1578
+ "members": [
1579
+ {
1580
+ "type": "SYMBOL",
1581
+ "name": "annotations"
1582
+ },
1583
+ {
1584
+ "type": "BLANK"
1585
+ }
1586
+ ]
1587
+ }
1588
+ },
1589
+ {
1590
+ "type": "FIELD",
1591
+ "name": "attributes",
1592
+ "content": {
1593
+ "type": "CHOICE",
1594
+ "members": [
1595
+ {
1596
+ "type": "SYMBOL",
1597
+ "name": "_attributes"
1598
+ },
1599
+ {
1600
+ "type": "BLANK"
1601
+ }
1602
+ ]
1603
+ }
1604
+ },
1605
+ {
1606
+ "type": "STRING",
1607
+ "value": "]"
1608
+ }
1609
+ ]
1610
+ },
1611
+ {
1612
+ "type": "BLANK"
1613
+ }
1614
+ ]
1615
+ },
1616
+ {
1617
+ "type": "STRING",
1618
+ "value": "~>"
1619
+ }
1620
+ ]
1255
1621
  }
1256
1622
  ]
1257
1623
  },
1258
- "squiggle_right": {
1259
- "type": "SEQ",
1624
+ "left_arrow": {
1625
+ "type": "CHOICE",
1260
1626
  "members": [
1261
1627
  {
1262
- "type": "STRING",
1263
- "value": "~"
1264
- },
1265
- {
1266
- "type": "CHOICE",
1628
+ "type": "SEQ",
1267
1629
  "members": [
1268
1630
  {
1269
- "type": "SEQ",
1631
+ "type": "STRING",
1632
+ "value": "<-"
1633
+ },
1634
+ {
1635
+ "type": "CHOICE",
1270
1636
  "members": [
1271
1637
  {
1272
- "type": "STRING",
1273
- "value": "["
1638
+ "type": "SEQ",
1639
+ "members": [
1640
+ {
1641
+ "type": "STRING",
1642
+ "value": "["
1643
+ },
1644
+ {
1645
+ "type": "FIELD",
1646
+ "name": "annotations",
1647
+ "content": {
1648
+ "type": "CHOICE",
1649
+ "members": [
1650
+ {
1651
+ "type": "SYMBOL",
1652
+ "name": "annotations"
1653
+ },
1654
+ {
1655
+ "type": "BLANK"
1656
+ }
1657
+ ]
1658
+ }
1659
+ },
1660
+ {
1661
+ "type": "FIELD",
1662
+ "name": "attributes",
1663
+ "content": {
1664
+ "type": "CHOICE",
1665
+ "members": [
1666
+ {
1667
+ "type": "SYMBOL",
1668
+ "name": "_attributes"
1669
+ },
1670
+ {
1671
+ "type": "BLANK"
1672
+ }
1673
+ ]
1674
+ }
1675
+ },
1676
+ {
1677
+ "type": "STRING",
1678
+ "value": "]"
1679
+ }
1680
+ ]
1274
1681
  },
1275
1682
  {
1276
- "type": "SYMBOL",
1277
- "name": "_attributes"
1683
+ "type": "BLANK"
1684
+ }
1685
+ ]
1686
+ },
1687
+ {
1688
+ "type": "STRING",
1689
+ "value": "-"
1690
+ }
1691
+ ]
1692
+ },
1693
+ {
1694
+ "type": "SEQ",
1695
+ "members": [
1696
+ {
1697
+ "type": "STRING",
1698
+ "value": "<="
1699
+ },
1700
+ {
1701
+ "type": "CHOICE",
1702
+ "members": [
1703
+ {
1704
+ "type": "SEQ",
1705
+ "members": [
1706
+ {
1707
+ "type": "STRING",
1708
+ "value": "["
1709
+ },
1710
+ {
1711
+ "type": "FIELD",
1712
+ "name": "annotations",
1713
+ "content": {
1714
+ "type": "CHOICE",
1715
+ "members": [
1716
+ {
1717
+ "type": "SYMBOL",
1718
+ "name": "annotations"
1719
+ },
1720
+ {
1721
+ "type": "BLANK"
1722
+ }
1723
+ ]
1724
+ }
1725
+ },
1726
+ {
1727
+ "type": "FIELD",
1728
+ "name": "attributes",
1729
+ "content": {
1730
+ "type": "CHOICE",
1731
+ "members": [
1732
+ {
1733
+ "type": "SYMBOL",
1734
+ "name": "_attributes"
1735
+ },
1736
+ {
1737
+ "type": "BLANK"
1738
+ }
1739
+ ]
1740
+ }
1741
+ },
1742
+ {
1743
+ "type": "STRING",
1744
+ "value": "]"
1745
+ }
1746
+ ]
1278
1747
  },
1279
1748
  {
1280
- "type": "STRING",
1281
- "value": "]"
1749
+ "type": "BLANK"
1282
1750
  }
1283
1751
  ]
1284
1752
  },
1285
1753
  {
1286
- "type": "BLANK"
1754
+ "type": "STRING",
1755
+ "value": "="
1287
1756
  }
1288
1757
  ]
1289
1758
  },
1290
1759
  {
1291
- "type": "STRING",
1292
- "value": "~>"
1760
+ "type": "SEQ",
1761
+ "members": [
1762
+ {
1763
+ "type": "STRING",
1764
+ "value": "<~"
1765
+ },
1766
+ {
1767
+ "type": "CHOICE",
1768
+ "members": [
1769
+ {
1770
+ "type": "SEQ",
1771
+ "members": [
1772
+ {
1773
+ "type": "STRING",
1774
+ "value": "["
1775
+ },
1776
+ {
1777
+ "type": "FIELD",
1778
+ "name": "annotations",
1779
+ "content": {
1780
+ "type": "CHOICE",
1781
+ "members": [
1782
+ {
1783
+ "type": "SYMBOL",
1784
+ "name": "annotations"
1785
+ },
1786
+ {
1787
+ "type": "BLANK"
1788
+ }
1789
+ ]
1790
+ }
1791
+ },
1792
+ {
1793
+ "type": "FIELD",
1794
+ "name": "attributes",
1795
+ "content": {
1796
+ "type": "CHOICE",
1797
+ "members": [
1798
+ {
1799
+ "type": "SYMBOL",
1800
+ "name": "_attributes"
1801
+ },
1802
+ {
1803
+ "type": "BLANK"
1804
+ }
1805
+ ]
1806
+ }
1807
+ },
1808
+ {
1809
+ "type": "STRING",
1810
+ "value": "]"
1811
+ }
1812
+ ]
1813
+ },
1814
+ {
1815
+ "type": "BLANK"
1816
+ }
1817
+ ]
1818
+ },
1819
+ {
1820
+ "type": "STRING",
1821
+ "value": "~"
1822
+ }
1823
+ ]
1293
1824
  }
1294
1825
  ]
1295
1826
  },
1296
- "squiggle_left": {
1297
- "type": "SEQ",
1827
+ "bidirectional_arrow": {
1828
+ "type": "CHOICE",
1298
1829
  "members": [
1299
1830
  {
1300
- "type": "STRING",
1301
- "value": "<~"
1302
- },
1303
- {
1304
- "type": "CHOICE",
1831
+ "type": "SEQ",
1305
1832
  "members": [
1306
1833
  {
1307
- "type": "SEQ",
1834
+ "type": "STRING",
1835
+ "value": "<-"
1836
+ },
1837
+ {
1838
+ "type": "CHOICE",
1308
1839
  "members": [
1309
1840
  {
1310
- "type": "STRING",
1311
- "value": "["
1841
+ "type": "SEQ",
1842
+ "members": [
1843
+ {
1844
+ "type": "STRING",
1845
+ "value": "["
1846
+ },
1847
+ {
1848
+ "type": "FIELD",
1849
+ "name": "annotations",
1850
+ "content": {
1851
+ "type": "CHOICE",
1852
+ "members": [
1853
+ {
1854
+ "type": "SYMBOL",
1855
+ "name": "annotations"
1856
+ },
1857
+ {
1858
+ "type": "BLANK"
1859
+ }
1860
+ ]
1861
+ }
1862
+ },
1863
+ {
1864
+ "type": "FIELD",
1865
+ "name": "attributes",
1866
+ "content": {
1867
+ "type": "CHOICE",
1868
+ "members": [
1869
+ {
1870
+ "type": "SYMBOL",
1871
+ "name": "_attributes"
1872
+ },
1873
+ {
1874
+ "type": "BLANK"
1875
+ }
1876
+ ]
1877
+ }
1878
+ },
1879
+ {
1880
+ "type": "STRING",
1881
+ "value": "]"
1882
+ }
1883
+ ]
1312
1884
  },
1313
1885
  {
1314
- "type": "SYMBOL",
1315
- "name": "_attributes"
1886
+ "type": "BLANK"
1887
+ }
1888
+ ]
1889
+ },
1890
+ {
1891
+ "type": "STRING",
1892
+ "value": "->"
1893
+ }
1894
+ ]
1895
+ },
1896
+ {
1897
+ "type": "SEQ",
1898
+ "members": [
1899
+ {
1900
+ "type": "STRING",
1901
+ "value": "<="
1902
+ },
1903
+ {
1904
+ "type": "CHOICE",
1905
+ "members": [
1906
+ {
1907
+ "type": "SEQ",
1908
+ "members": [
1909
+ {
1910
+ "type": "STRING",
1911
+ "value": "["
1912
+ },
1913
+ {
1914
+ "type": "FIELD",
1915
+ "name": "annotations",
1916
+ "content": {
1917
+ "type": "CHOICE",
1918
+ "members": [
1919
+ {
1920
+ "type": "SYMBOL",
1921
+ "name": "annotations"
1922
+ },
1923
+ {
1924
+ "type": "BLANK"
1925
+ }
1926
+ ]
1927
+ }
1928
+ },
1929
+ {
1930
+ "type": "FIELD",
1931
+ "name": "attributes",
1932
+ "content": {
1933
+ "type": "CHOICE",
1934
+ "members": [
1935
+ {
1936
+ "type": "SYMBOL",
1937
+ "name": "_attributes"
1938
+ },
1939
+ {
1940
+ "type": "BLANK"
1941
+ }
1942
+ ]
1943
+ }
1944
+ },
1945
+ {
1946
+ "type": "STRING",
1947
+ "value": "]"
1948
+ }
1949
+ ]
1316
1950
  },
1317
1951
  {
1318
- "type": "STRING",
1319
- "value": "]"
1952
+ "type": "BLANK"
1320
1953
  }
1321
1954
  ]
1322
1955
  },
1323
1956
  {
1324
- "type": "BLANK"
1957
+ "type": "STRING",
1958
+ "value": "=>"
1325
1959
  }
1326
1960
  ]
1327
1961
  },
1328
1962
  {
1329
- "type": "STRING",
1330
- "value": "~"
1963
+ "type": "SEQ",
1964
+ "members": [
1965
+ {
1966
+ "type": "STRING",
1967
+ "value": "<~"
1968
+ },
1969
+ {
1970
+ "type": "CHOICE",
1971
+ "members": [
1972
+ {
1973
+ "type": "SEQ",
1974
+ "members": [
1975
+ {
1976
+ "type": "STRING",
1977
+ "value": "["
1978
+ },
1979
+ {
1980
+ "type": "FIELD",
1981
+ "name": "annotations",
1982
+ "content": {
1983
+ "type": "CHOICE",
1984
+ "members": [
1985
+ {
1986
+ "type": "SYMBOL",
1987
+ "name": "annotations"
1988
+ },
1989
+ {
1990
+ "type": "BLANK"
1991
+ }
1992
+ ]
1993
+ }
1994
+ },
1995
+ {
1996
+ "type": "FIELD",
1997
+ "name": "attributes",
1998
+ "content": {
1999
+ "type": "CHOICE",
2000
+ "members": [
2001
+ {
2002
+ "type": "SYMBOL",
2003
+ "name": "_attributes"
2004
+ },
2005
+ {
2006
+ "type": "BLANK"
2007
+ }
2008
+ ]
2009
+ }
2010
+ },
2011
+ {
2012
+ "type": "STRING",
2013
+ "value": "]"
2014
+ }
2015
+ ]
2016
+ },
2017
+ {
2018
+ "type": "BLANK"
2019
+ }
2020
+ ]
2021
+ },
2022
+ {
2023
+ "type": "STRING",
2024
+ "value": "~>"
2025
+ }
2026
+ ]
1331
2027
  }
1332
2028
  ]
1333
2029
  }