@konomanoasa/tree-sitter-gitattributes 0.5.0 → 0.7.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
@@ -5,43 +5,51 @@
5
5
  "document": {
6
6
  "type": "REPEAT",
7
7
  "content": {
8
- "type": "SYMBOL",
9
- "name": "_line"
8
+ "type": "SEQ",
9
+ "members": [
10
+ {
11
+ "type": "SYMBOL",
12
+ "name": "_line_start"
13
+ },
14
+ {
15
+ "type": "CHOICE",
16
+ "members": [
17
+ {
18
+ "type": "SYMBOL",
19
+ "name": "blank_line"
20
+ },
21
+ {
22
+ "type": "SYMBOL",
23
+ "name": "comment"
24
+ },
25
+ {
26
+ "type": "SYMBOL",
27
+ "name": "attribute_rule"
28
+ },
29
+ {
30
+ "type": "SYMBOL",
31
+ "name": "macro_definition"
32
+ }
33
+ ]
34
+ }
35
+ ]
10
36
  }
11
37
  },
12
- "_line": {
13
- "type": "SEQ",
14
- "members": [
15
- {
16
- "type": "SYMBOL",
17
- "name": "_line_start"
18
- },
19
- {
20
- "type": "CHOICE",
21
- "members": [
22
- {
23
- "type": "SYMBOL",
24
- "name": "blank_line"
25
- },
26
- {
27
- "type": "SYMBOL",
28
- "name": "comment"
29
- },
30
- {
31
- "type": "SYMBOL",
32
- "name": "attribute_rule"
33
- },
34
- {
35
- "type": "SYMBOL",
36
- "name": "macro_definition"
37
- }
38
- ]
39
- }
40
- ]
41
- },
42
- "line_ending": {
43
- "type": "PATTERN",
44
- "value": "\\r?\\n"
38
+ "_unmatchable": {
39
+ "type": "TOKEN",
40
+ "content": {
41
+ "type": "SEQ",
42
+ "members": [
43
+ {
44
+ "type": "PATTERN",
45
+ "value": "[\\s\\S]"
46
+ },
47
+ {
48
+ "type": "PATTERN",
49
+ "value": "[^\\s\\S]"
50
+ }
51
+ ]
52
+ }
45
53
  },
46
54
  "_end": {
47
55
  "type": "SEQ",
@@ -98,16 +106,29 @@
98
106
  "name": "comment_marker"
99
107
  },
100
108
  {
101
- "type": "CHOICE",
102
- "members": [
103
- {
104
- "type": "SYMBOL",
105
- "name": "comment_text"
106
- },
107
- {
108
- "type": "BLANK"
109
- }
110
- ]
109
+ "type": "REPEAT",
110
+ "content": {
111
+ "type": "CHOICE",
112
+ "members": [
113
+ {
114
+ "type": "SYMBOL",
115
+ "name": "comment_text"
116
+ },
117
+ {
118
+ "type": "FIELD",
119
+ "name": "issue",
120
+ "content": {
121
+ "type": "ALIAS",
122
+ "content": {
123
+ "type": "SYMBOL",
124
+ "name": "_invalid_encoding_issue"
125
+ },
126
+ "named": true,
127
+ "value": "syntax_issue"
128
+ }
129
+ }
130
+ ]
131
+ }
111
132
  },
112
133
  {
113
134
  "type": "SYMBOL",
@@ -131,11 +152,16 @@
131
152
  }
132
153
  },
133
154
  {
134
- "type": "REPEAT",
135
- "content": {
136
- "type": "SYMBOL",
137
- "name": "_attribute"
138
- }
155
+ "type": "CHOICE",
156
+ "members": [
157
+ {
158
+ "type": "SYMBOL",
159
+ "name": "_attributes"
160
+ },
161
+ {
162
+ "type": "BLANK"
163
+ }
164
+ ]
139
165
  },
140
166
  {
141
167
  "type": "SYMBOL",
@@ -154,24 +180,76 @@
154
180
  "type": "CHOICE",
155
181
  "members": [
156
182
  {
157
- "type": "SYMBOL",
158
- "name": "_macro_name"
183
+ "type": "FIELD",
184
+ "name": "opening",
185
+ "content": {
186
+ "type": "SYMBOL",
187
+ "name": "quote_open"
188
+ }
159
189
  },
160
190
  {
161
- "type": "SEQ",
191
+ "type": "BLANK"
192
+ }
193
+ ]
194
+ },
195
+ {
196
+ "type": "FIELD",
197
+ "name": "marker",
198
+ "content": {
199
+ "type": "SYMBOL",
200
+ "name": "macro_marker"
201
+ }
202
+ },
203
+ {
204
+ "type": "CHOICE",
205
+ "members": [
206
+ {
207
+ "type": "FIELD",
208
+ "name": "name",
209
+ "content": {
210
+ "type": "SYMBOL",
211
+ "name": "attribute_name"
212
+ }
213
+ },
214
+ {
215
+ "type": "CHOICE",
162
216
  "members": [
163
217
  {
164
218
  "type": "FIELD",
165
- "name": "opening",
219
+ "name": "issue",
166
220
  "content": {
167
- "type": "SYMBOL",
168
- "name": "quote_open"
221
+ "type": "ALIAS",
222
+ "content": {
223
+ "type": "SYMBOL",
224
+ "name": "_missing_attribute_name_issue"
225
+ },
226
+ "named": true,
227
+ "value": "syntax_issue"
169
228
  }
170
229
  },
171
230
  {
172
- "type": "SYMBOL",
173
- "name": "_macro_name"
174
- },
231
+ "type": "FIELD",
232
+ "name": "issue",
233
+ "content": {
234
+ "type": "ALIAS",
235
+ "content": {
236
+ "type": "SYMBOL",
237
+ "name": "_incomplete_attribute_name_issue"
238
+ },
239
+ "named": true,
240
+ "value": "syntax_issue"
241
+ }
242
+ }
243
+ ]
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "type": "CHOICE",
249
+ "members": [
250
+ {
251
+ "type": "CHOICE",
252
+ "members": [
175
253
  {
176
254
  "type": "FIELD",
177
255
  "name": "closing",
@@ -179,17 +257,56 @@
179
257
  "type": "SYMBOL",
180
258
  "name": "quote_close"
181
259
  }
260
+ },
261
+ {
262
+ "type": "CHOICE",
263
+ "members": [
264
+ {
265
+ "type": "FIELD",
266
+ "name": "issue",
267
+ "content": {
268
+ "type": "ALIAS",
269
+ "content": {
270
+ "type": "SYMBOL",
271
+ "name": "_missing_quote_close_issue"
272
+ },
273
+ "named": true,
274
+ "value": "syntax_issue"
275
+ }
276
+ },
277
+ {
278
+ "type": "FIELD",
279
+ "name": "issue",
280
+ "content": {
281
+ "type": "ALIAS",
282
+ "content": {
283
+ "type": "SYMBOL",
284
+ "name": "_incomplete_quote_close_issue"
285
+ },
286
+ "named": true,
287
+ "value": "syntax_issue"
288
+ }
289
+ }
290
+ ]
182
291
  }
183
292
  ]
293
+ },
294
+ {
295
+ "type": "BLANK"
184
296
  }
185
297
  ]
186
298
  },
187
299
  {
188
- "type": "REPEAT",
189
- "content": {
190
- "type": "SYMBOL",
191
- "name": "_attribute"
192
- }
300
+ "type": "CHOICE",
301
+ "members": [
302
+ {
303
+ "type": "SYMBOL",
304
+ "name": "_attributes"
305
+ },
306
+ {
307
+ "type": "BLANK"
308
+ }
309
+ ]
193
310
  },
194
311
  {
195
312
  "type": "SYMBOL",
@@ -197,39 +314,39 @@
197
314
  }
198
315
  ]
199
316
  },
200
- "_macro_name": {
201
- "type": "SEQ",
202
- "members": [
203
- {
204
- "type": "FIELD",
205
- "name": "marker",
206
- "content": {
207
- "type": "SYMBOL",
208
- "name": "macro_marker"
209
- }
210
- },
211
- {
212
- "type": "FIELD",
213
- "name": "name",
214
- "content": {
317
+ "_attributes": {
318
+ "type": "REPEAT1",
319
+ "content": {
320
+ "type": "SEQ",
321
+ "members": [
322
+ {
323
+ "type": "CHOICE",
324
+ "members": [
325
+ {
326
+ "type": "SYMBOL",
327
+ "name": "_separator"
328
+ },
329
+ {
330
+ "type": "FIELD",
331
+ "name": "issue",
332
+ "content": {
333
+ "type": "ALIAS",
334
+ "content": {
335
+ "type": "SYMBOL",
336
+ "name": "_missing_attribute_separator_issue"
337
+ },
338
+ "named": true,
339
+ "value": "syntax_issue"
340
+ }
341
+ }
342
+ ]
343
+ },
344
+ {
215
345
  "type": "SYMBOL",
216
- "name": "attribute_name"
346
+ "name": "attribute"
217
347
  }
218
- }
219
- ]
220
- },
221
- "_attribute": {
222
- "type": "SEQ",
223
- "members": [
224
- {
225
- "type": "SYMBOL",
226
- "name": "_separator"
227
- },
228
- {
229
- "type": "SYMBOL",
230
- "name": "attribute"
231
- }
232
- ]
348
+ ]
349
+ }
233
350
  },
234
351
  "attribute": {
235
352
  "type": "SEQ",
@@ -264,12 +381,48 @@
264
381
  ]
265
382
  },
266
383
  {
267
- "type": "FIELD",
268
- "name": "name",
269
- "content": {
270
- "type": "SYMBOL",
271
- "name": "attribute_name"
272
- }
384
+ "type": "CHOICE",
385
+ "members": [
386
+ {
387
+ "type": "FIELD",
388
+ "name": "name",
389
+ "content": {
390
+ "type": "SYMBOL",
391
+ "name": "attribute_name"
392
+ }
393
+ },
394
+ {
395
+ "type": "CHOICE",
396
+ "members": [
397
+ {
398
+ "type": "FIELD",
399
+ "name": "issue",
400
+ "content": {
401
+ "type": "ALIAS",
402
+ "content": {
403
+ "type": "SYMBOL",
404
+ "name": "_missing_attribute_name_issue"
405
+ },
406
+ "named": true,
407
+ "value": "syntax_issue"
408
+ }
409
+ },
410
+ {
411
+ "type": "FIELD",
412
+ "name": "issue",
413
+ "content": {
414
+ "type": "ALIAS",
415
+ "content": {
416
+ "type": "SYMBOL",
417
+ "name": "_incomplete_attribute_name_issue"
418
+ },
419
+ "named": true,
420
+ "value": "syntax_issue"
421
+ }
422
+ }
423
+ ]
424
+ }
425
+ ]
273
426
  },
274
427
  {
275
428
  "type": "CHOICE",
@@ -333,6 +486,124 @@
333
486
  {
334
487
  "type": "SYMBOL",
335
488
  "name": "quoted_escape"
489
+ },
490
+ {
491
+ "type": "FIELD",
492
+ "name": "issue",
493
+ "content": {
494
+ "type": "ALIAS",
495
+ "content": {
496
+ "type": "SYMBOL",
497
+ "name": "_invalid_encoding_issue"
498
+ },
499
+ "named": true,
500
+ "value": "syntax_issue"
501
+ }
502
+ },
503
+ {
504
+ "type": "FIELD",
505
+ "name": "issue",
506
+ "content": {
507
+ "type": "ALIAS",
508
+ "content": {
509
+ "type": "SYMBOL",
510
+ "name": "_invalid_name_character_issue"
511
+ },
512
+ "named": true,
513
+ "value": "syntax_issue"
514
+ }
515
+ },
516
+ {
517
+ "type": "FIELD",
518
+ "name": "issue",
519
+ "content": {
520
+ "type": "ALIAS",
521
+ "content": {
522
+ "type": "SYMBOL",
523
+ "name": "_incomplete_name_character_issue"
524
+ },
525
+ "named": true,
526
+ "value": "syntax_issue"
527
+ }
528
+ },
529
+ {
530
+ "type": "FIELD",
531
+ "name": "issue",
532
+ "content": {
533
+ "type": "ALIAS",
534
+ "content": {
535
+ "type": "SYMBOL",
536
+ "name": "_invalid_name_escape_issue"
537
+ },
538
+ "named": true,
539
+ "value": "syntax_issue"
540
+ }
541
+ },
542
+ {
543
+ "type": "FIELD",
544
+ "name": "issue",
545
+ "content": {
546
+ "type": "ALIAS",
547
+ "content": {
548
+ "type": "SYMBOL",
549
+ "name": "_invalid_quoted_escape_issue"
550
+ },
551
+ "named": true,
552
+ "value": "syntax_issue"
553
+ }
554
+ },
555
+ {
556
+ "type": "FIELD",
557
+ "name": "issue",
558
+ "content": {
559
+ "type": "ALIAS",
560
+ "content": {
561
+ "type": "SYMBOL",
562
+ "name": "_ended_quoted_escape_issue"
563
+ },
564
+ "named": true,
565
+ "value": "syntax_issue"
566
+ }
567
+ },
568
+ {
569
+ "type": "FIELD",
570
+ "name": "issue",
571
+ "content": {
572
+ "type": "ALIAS",
573
+ "content": {
574
+ "type": "SYMBOL",
575
+ "name": "_incomplete_quoted_escape_issue"
576
+ },
577
+ "named": true,
578
+ "value": "syntax_issue"
579
+ }
580
+ },
581
+ {
582
+ "type": "SEQ",
583
+ "members": [
584
+ {
585
+ "type": "SYMBOL",
586
+ "name": "_escape_prefix"
587
+ },
588
+ {
589
+ "type": "CHOICE",
590
+ "members": [
591
+ {
592
+ "type": "FIELD",
593
+ "name": "issue",
594
+ "content": {
595
+ "type": "ALIAS",
596
+ "content": {
597
+ "type": "SYMBOL",
598
+ "name": "_invalid_encoding_issue"
599
+ },
600
+ "named": true,
601
+ "value": "syntax_issue"
602
+ }
603
+ }
604
+ ]
605
+ }
606
+ ]
336
607
  }
337
608
  ]
338
609
  }
@@ -351,8 +622,29 @@
351
622
  "name": "_value_start"
352
623
  },
353
624
  {
354
- "type": "SYMBOL",
355
- "name": "value_text"
625
+ "type": "REPEAT1",
626
+ "content": {
627
+ "type": "CHOICE",
628
+ "members": [
629
+ {
630
+ "type": "SYMBOL",
631
+ "name": "value_text"
632
+ },
633
+ {
634
+ "type": "FIELD",
635
+ "name": "issue",
636
+ "content": {
637
+ "type": "ALIAS",
638
+ "content": {
639
+ "type": "SYMBOL",
640
+ "name": "_invalid_encoding_issue"
641
+ },
642
+ "named": true,
643
+ "value": "syntax_issue"
644
+ }
645
+ }
646
+ ]
647
+ }
356
648
  },
357
649
  {
358
650
  "type": "SYMBOL",
@@ -367,96 +659,284 @@
367
659
  "type": "CHOICE",
368
660
  "members": [
369
661
  {
370
- "type": "REPEAT1",
662
+ "type": "FIELD",
663
+ "name": "opening",
371
664
  "content": {
372
665
  "type": "SYMBOL",
373
- "name": "_glob"
666
+ "name": "quote_open"
374
667
  }
375
668
  },
376
669
  {
377
- "type": "SEQ",
378
- "members": [
379
- {
380
- "type": "FIELD",
381
- "name": "opening",
382
- "content": {
383
- "type": "SYMBOL",
384
- "name": "quote_open"
385
- }
386
- },
387
- {
388
- "type": "REPEAT",
389
- "content": {
390
- "type": "SYMBOL",
391
- "name": "_glob"
392
- }
393
- },
394
- {
395
- "type": "FIELD",
396
- "name": "closing",
397
- "content": {
398
- "type": "SYMBOL",
399
- "name": "quote_close"
400
- }
401
- }
402
- ]
670
+ "type": "BLANK"
403
671
  }
404
672
  ]
405
673
  },
406
674
  {
407
- "type": "SYMBOL",
408
- "name": "_pattern_end"
409
- }
410
- ]
411
- },
412
- "_glob": {
413
- "type": "CHOICE",
414
- "members": [
415
- {
416
- "type": "SYMBOL",
417
- "name": "glob_literal"
675
+ "type": "REPEAT",
676
+ "content": {
677
+ "type": "CHOICE",
678
+ "members": [
679
+ {
680
+ "type": "SYMBOL",
681
+ "name": "glob_literal"
682
+ },
683
+ {
684
+ "type": "SEQ",
685
+ "members": [
686
+ {
687
+ "type": "SYMBOL",
688
+ "name": "_glob_start"
689
+ },
690
+ {
691
+ "type": "CHOICE",
692
+ "members": [
693
+ {
694
+ "type": "SYMBOL",
695
+ "name": "wildcard"
696
+ },
697
+ {
698
+ "type": "SYMBOL",
699
+ "name": "recursive_wildcard"
700
+ },
701
+ {
702
+ "type": "SYMBOL",
703
+ "name": "single_character"
704
+ },
705
+ {
706
+ "type": "SYMBOL",
707
+ "name": "path_separator"
708
+ },
709
+ {
710
+ "type": "SYMBOL",
711
+ "name": "escape"
712
+ },
713
+ {
714
+ "type": "SYMBOL",
715
+ "name": "quoted_escape"
716
+ },
717
+ {
718
+ "type": "SYMBOL",
719
+ "name": "character_set"
720
+ },
721
+ {
722
+ "type": "FIELD",
723
+ "name": "issue",
724
+ "content": {
725
+ "type": "ALIAS",
726
+ "content": {
727
+ "type": "SYMBOL",
728
+ "name": "_negative_pattern_issue"
729
+ },
730
+ "named": true,
731
+ "value": "syntax_issue"
732
+ }
733
+ },
734
+ {
735
+ "type": "FIELD",
736
+ "name": "issue",
737
+ "content": {
738
+ "type": "ALIAS",
739
+ "content": {
740
+ "type": "SYMBOL",
741
+ "name": "_invalid_encoding_issue"
742
+ },
743
+ "named": true,
744
+ "value": "syntax_issue"
745
+ }
746
+ },
747
+ {
748
+ "type": "FIELD",
749
+ "name": "issue",
750
+ "content": {
751
+ "type": "ALIAS",
752
+ "content": {
753
+ "type": "SYMBOL",
754
+ "name": "_ended_escape_issue"
755
+ },
756
+ "named": true,
757
+ "value": "syntax_issue"
758
+ }
759
+ },
760
+ {
761
+ "type": "FIELD",
762
+ "name": "issue",
763
+ "content": {
764
+ "type": "ALIAS",
765
+ "content": {
766
+ "type": "SYMBOL",
767
+ "name": "_incomplete_escape_issue"
768
+ },
769
+ "named": true,
770
+ "value": "syntax_issue"
771
+ }
772
+ },
773
+ {
774
+ "type": "FIELD",
775
+ "name": "issue",
776
+ "content": {
777
+ "type": "ALIAS",
778
+ "content": {
779
+ "type": "SYMBOL",
780
+ "name": "_invalid_quoted_escape_issue"
781
+ },
782
+ "named": true,
783
+ "value": "syntax_issue"
784
+ }
785
+ },
786
+ {
787
+ "type": "FIELD",
788
+ "name": "issue",
789
+ "content": {
790
+ "type": "ALIAS",
791
+ "content": {
792
+ "type": "SYMBOL",
793
+ "name": "_ended_quoted_escape_issue"
794
+ },
795
+ "named": true,
796
+ "value": "syntax_issue"
797
+ }
798
+ },
799
+ {
800
+ "type": "FIELD",
801
+ "name": "issue",
802
+ "content": {
803
+ "type": "ALIAS",
804
+ "content": {
805
+ "type": "SYMBOL",
806
+ "name": "_incomplete_quoted_escape_issue"
807
+ },
808
+ "named": true,
809
+ "value": "syntax_issue"
810
+ }
811
+ },
812
+ {
813
+ "type": "SEQ",
814
+ "members": [
815
+ {
816
+ "type": "SYMBOL",
817
+ "name": "_escape_prefix"
818
+ },
819
+ {
820
+ "type": "CHOICE",
821
+ "members": [
822
+ {
823
+ "type": "FIELD",
824
+ "name": "issue",
825
+ "content": {
826
+ "type": "ALIAS",
827
+ "content": {
828
+ "type": "SYMBOL",
829
+ "name": "_invalid_encoding_issue"
830
+ },
831
+ "named": true,
832
+ "value": "syntax_issue"
833
+ }
834
+ },
835
+ {
836
+ "type": "FIELD",
837
+ "name": "issue",
838
+ "content": {
839
+ "type": "ALIAS",
840
+ "content": {
841
+ "type": "SYMBOL",
842
+ "name": "_invalid_quoted_escape_issue"
843
+ },
844
+ "named": true,
845
+ "value": "syntax_issue"
846
+ }
847
+ },
848
+ {
849
+ "type": "FIELD",
850
+ "name": "issue",
851
+ "content": {
852
+ "type": "ALIAS",
853
+ "content": {
854
+ "type": "SYMBOL",
855
+ "name": "_ended_quoted_escape_issue"
856
+ },
857
+ "named": true,
858
+ "value": "syntax_issue"
859
+ }
860
+ },
861
+ {
862
+ "type": "FIELD",
863
+ "name": "issue",
864
+ "content": {
865
+ "type": "ALIAS",
866
+ "content": {
867
+ "type": "SYMBOL",
868
+ "name": "_incomplete_quoted_escape_issue"
869
+ },
870
+ "named": true,
871
+ "value": "syntax_issue"
872
+ }
873
+ }
874
+ ]
875
+ }
876
+ ]
877
+ }
878
+ ]
879
+ }
880
+ ]
881
+ }
882
+ ]
883
+ }
418
884
  },
419
885
  {
420
- "type": "SEQ",
886
+ "type": "CHOICE",
421
887
  "members": [
422
- {
423
- "type": "SYMBOL",
424
- "name": "_glob_start"
425
- },
426
888
  {
427
889
  "type": "CHOICE",
428
890
  "members": [
429
891
  {
430
- "type": "SYMBOL",
431
- "name": "wildcard"
432
- },
433
- {
434
- "type": "SYMBOL",
435
- "name": "recursive_wildcard"
436
- },
437
- {
438
- "type": "SYMBOL",
439
- "name": "single_character"
440
- },
441
- {
442
- "type": "SYMBOL",
443
- "name": "path_separator"
444
- },
445
- {
446
- "type": "SYMBOL",
447
- "name": "escape"
448
- },
449
- {
450
- "type": "SYMBOL",
451
- "name": "quoted_escape"
892
+ "type": "FIELD",
893
+ "name": "closing",
894
+ "content": {
895
+ "type": "SYMBOL",
896
+ "name": "quote_close"
897
+ }
452
898
  },
453
899
  {
454
- "type": "SYMBOL",
455
- "name": "character_set"
900
+ "type": "CHOICE",
901
+ "members": [
902
+ {
903
+ "type": "FIELD",
904
+ "name": "issue",
905
+ "content": {
906
+ "type": "ALIAS",
907
+ "content": {
908
+ "type": "SYMBOL",
909
+ "name": "_missing_quote_close_issue"
910
+ },
911
+ "named": true,
912
+ "value": "syntax_issue"
913
+ }
914
+ },
915
+ {
916
+ "type": "FIELD",
917
+ "name": "issue",
918
+ "content": {
919
+ "type": "ALIAS",
920
+ "content": {
921
+ "type": "SYMBOL",
922
+ "name": "_incomplete_quote_close_issue"
923
+ },
924
+ "named": true,
925
+ "value": "syntax_issue"
926
+ }
927
+ }
928
+ ]
456
929
  }
457
930
  ]
931
+ },
932
+ {
933
+ "type": "BLANK"
458
934
  }
459
935
  ]
936
+ },
937
+ {
938
+ "type": "SYMBOL",
939
+ "name": "_pattern_end"
460
940
  }
461
941
  ]
462
942
  },
@@ -494,49 +974,225 @@
494
974
  {
495
975
  "type": "REPEAT",
496
976
  "content": {
497
- "type": "SYMBOL",
498
- "name": "_set_item"
499
- }
500
- },
501
- {
502
- "type": "FIELD",
503
- "name": "closing",
504
- "content": {
505
- "type": "SYMBOL",
506
- "name": "set_close"
977
+ "type": "SEQ",
978
+ "members": [
979
+ {
980
+ "type": "SYMBOL",
981
+ "name": "_set_item_start"
982
+ },
983
+ {
984
+ "type": "CHOICE",
985
+ "members": [
986
+ {
987
+ "type": "SYMBOL",
988
+ "name": "set_text"
989
+ },
990
+ {
991
+ "type": "SYMBOL",
992
+ "name": "escape"
993
+ },
994
+ {
995
+ "type": "SYMBOL",
996
+ "name": "quoted_escape"
997
+ },
998
+ {
999
+ "type": "SYMBOL",
1000
+ "name": "character_range"
1001
+ },
1002
+ {
1003
+ "type": "SYMBOL",
1004
+ "name": "character_class"
1005
+ },
1006
+ {
1007
+ "type": "FIELD",
1008
+ "name": "issue",
1009
+ "content": {
1010
+ "type": "ALIAS",
1011
+ "content": {
1012
+ "type": "SYMBOL",
1013
+ "name": "_invalid_encoding_issue"
1014
+ },
1015
+ "named": true,
1016
+ "value": "syntax_issue"
1017
+ }
1018
+ },
1019
+ {
1020
+ "type": "FIELD",
1021
+ "name": "issue",
1022
+ "content": {
1023
+ "type": "ALIAS",
1024
+ "content": {
1025
+ "type": "SYMBOL",
1026
+ "name": "_ended_escape_issue"
1027
+ },
1028
+ "named": true,
1029
+ "value": "syntax_issue"
1030
+ }
1031
+ },
1032
+ {
1033
+ "type": "FIELD",
1034
+ "name": "issue",
1035
+ "content": {
1036
+ "type": "ALIAS",
1037
+ "content": {
1038
+ "type": "SYMBOL",
1039
+ "name": "_incomplete_escape_issue"
1040
+ },
1041
+ "named": true,
1042
+ "value": "syntax_issue"
1043
+ }
1044
+ },
1045
+ {
1046
+ "type": "FIELD",
1047
+ "name": "issue",
1048
+ "content": {
1049
+ "type": "ALIAS",
1050
+ "content": {
1051
+ "type": "SYMBOL",
1052
+ "name": "_invalid_quoted_escape_issue"
1053
+ },
1054
+ "named": true,
1055
+ "value": "syntax_issue"
1056
+ }
1057
+ },
1058
+ {
1059
+ "type": "FIELD",
1060
+ "name": "issue",
1061
+ "content": {
1062
+ "type": "ALIAS",
1063
+ "content": {
1064
+ "type": "SYMBOL",
1065
+ "name": "_ended_quoted_escape_issue"
1066
+ },
1067
+ "named": true,
1068
+ "value": "syntax_issue"
1069
+ }
1070
+ },
1071
+ {
1072
+ "type": "FIELD",
1073
+ "name": "issue",
1074
+ "content": {
1075
+ "type": "ALIAS",
1076
+ "content": {
1077
+ "type": "SYMBOL",
1078
+ "name": "_incomplete_quoted_escape_issue"
1079
+ },
1080
+ "named": true,
1081
+ "value": "syntax_issue"
1082
+ }
1083
+ },
1084
+ {
1085
+ "type": "SEQ",
1086
+ "members": [
1087
+ {
1088
+ "type": "SYMBOL",
1089
+ "name": "_escape_prefix"
1090
+ },
1091
+ {
1092
+ "type": "CHOICE",
1093
+ "members": [
1094
+ {
1095
+ "type": "FIELD",
1096
+ "name": "issue",
1097
+ "content": {
1098
+ "type": "ALIAS",
1099
+ "content": {
1100
+ "type": "SYMBOL",
1101
+ "name": "_invalid_encoding_issue"
1102
+ },
1103
+ "named": true,
1104
+ "value": "syntax_issue"
1105
+ }
1106
+ },
1107
+ {
1108
+ "type": "FIELD",
1109
+ "name": "issue",
1110
+ "content": {
1111
+ "type": "ALIAS",
1112
+ "content": {
1113
+ "type": "SYMBOL",
1114
+ "name": "_invalid_quoted_escape_issue"
1115
+ },
1116
+ "named": true,
1117
+ "value": "syntax_issue"
1118
+ }
1119
+ },
1120
+ {
1121
+ "type": "FIELD",
1122
+ "name": "issue",
1123
+ "content": {
1124
+ "type": "ALIAS",
1125
+ "content": {
1126
+ "type": "SYMBOL",
1127
+ "name": "_ended_quoted_escape_issue"
1128
+ },
1129
+ "named": true,
1130
+ "value": "syntax_issue"
1131
+ }
1132
+ },
1133
+ {
1134
+ "type": "FIELD",
1135
+ "name": "issue",
1136
+ "content": {
1137
+ "type": "ALIAS",
1138
+ "content": {
1139
+ "type": "SYMBOL",
1140
+ "name": "_incomplete_quoted_escape_issue"
1141
+ },
1142
+ "named": true,
1143
+ "value": "syntax_issue"
1144
+ }
1145
+ }
1146
+ ]
1147
+ }
1148
+ ]
1149
+ }
1150
+ ]
1151
+ }
1152
+ ]
507
1153
  }
508
- }
509
- ]
510
- },
511
- "_set_item": {
512
- "type": "SEQ",
513
- "members": [
514
- {
515
- "type": "SYMBOL",
516
- "name": "_set_item_start"
517
1154
  },
518
1155
  {
519
1156
  "type": "CHOICE",
520
1157
  "members": [
521
1158
  {
522
- "type": "SYMBOL",
523
- "name": "set_text"
524
- },
525
- {
526
- "type": "SYMBOL",
527
- "name": "escape"
528
- },
529
- {
530
- "type": "SYMBOL",
531
- "name": "quoted_escape"
532
- },
533
- {
534
- "type": "SYMBOL",
535
- "name": "character_range"
1159
+ "type": "FIELD",
1160
+ "name": "closing",
1161
+ "content": {
1162
+ "type": "SYMBOL",
1163
+ "name": "set_close"
1164
+ }
536
1165
  },
537
1166
  {
538
- "type": "SYMBOL",
539
- "name": "character_class"
1167
+ "type": "CHOICE",
1168
+ "members": [
1169
+ {
1170
+ "type": "FIELD",
1171
+ "name": "issue",
1172
+ "content": {
1173
+ "type": "ALIAS",
1174
+ "content": {
1175
+ "type": "SYMBOL",
1176
+ "name": "_missing_set_close_issue"
1177
+ },
1178
+ "named": true,
1179
+ "value": "syntax_issue"
1180
+ }
1181
+ },
1182
+ {
1183
+ "type": "FIELD",
1184
+ "name": "issue",
1185
+ "content": {
1186
+ "type": "ALIAS",
1187
+ "content": {
1188
+ "type": "SYMBOL",
1189
+ "name": "_incomplete_set_close_issue"
1190
+ },
1191
+ "named": true,
1192
+ "value": "syntax_issue"
1193
+ }
1194
+ }
1195
+ ]
540
1196
  }
541
1197
  ]
542
1198
  }
@@ -612,8 +1268,92 @@
612
1268
  {
613
1269
  "type": "REPEAT",
614
1270
  "content": {
615
- "type": "SYMBOL",
616
- "name": "_class_piece"
1271
+ "type": "CHOICE",
1272
+ "members": [
1273
+ {
1274
+ "type": "FIELD",
1275
+ "name": "name",
1276
+ "content": {
1277
+ "type": "CHOICE",
1278
+ "members": [
1279
+ {
1280
+ "type": "SYMBOL",
1281
+ "name": "class_name"
1282
+ },
1283
+ {
1284
+ "type": "SYMBOL",
1285
+ "name": "quoted_escape"
1286
+ }
1287
+ ]
1288
+ }
1289
+ },
1290
+ {
1291
+ "type": "FIELD",
1292
+ "name": "issue",
1293
+ "content": {
1294
+ "type": "ALIAS",
1295
+ "content": {
1296
+ "type": "SYMBOL",
1297
+ "name": "_invalid_encoding_issue"
1298
+ },
1299
+ "named": true,
1300
+ "value": "syntax_issue"
1301
+ }
1302
+ },
1303
+ {
1304
+ "type": "FIELD",
1305
+ "name": "issue",
1306
+ "content": {
1307
+ "type": "ALIAS",
1308
+ "content": {
1309
+ "type": "SYMBOL",
1310
+ "name": "_invalid_quoted_escape_issue"
1311
+ },
1312
+ "named": true,
1313
+ "value": "syntax_issue"
1314
+ }
1315
+ },
1316
+ {
1317
+ "type": "FIELD",
1318
+ "name": "issue",
1319
+ "content": {
1320
+ "type": "ALIAS",
1321
+ "content": {
1322
+ "type": "SYMBOL",
1323
+ "name": "_ended_quoted_escape_issue"
1324
+ },
1325
+ "named": true,
1326
+ "value": "syntax_issue"
1327
+ }
1328
+ },
1329
+ {
1330
+ "type": "SEQ",
1331
+ "members": [
1332
+ {
1333
+ "type": "SYMBOL",
1334
+ "name": "_escape_prefix"
1335
+ },
1336
+ {
1337
+ "type": "CHOICE",
1338
+ "members": [
1339
+ {
1340
+ "type": "FIELD",
1341
+ "name": "issue",
1342
+ "content": {
1343
+ "type": "ALIAS",
1344
+ "content": {
1345
+ "type": "SYMBOL",
1346
+ "name": "_invalid_encoding_issue"
1347
+ },
1348
+ "named": true,
1349
+ "value": "syntax_issue"
1350
+ }
1351
+ }
1352
+ ]
1353
+ }
1354
+ ]
1355
+ }
1356
+ ]
617
1357
  }
618
1358
  },
619
1359
  {
@@ -636,25 +1376,328 @@
636
1376
  }
637
1377
  ]
638
1378
  },
639
- "_class_piece": {
640
- "type": "FIELD",
641
- "name": "name",
1379
+ "_missing_set_close_outcome": {
1380
+ "type": "ALIAS",
642
1381
  "content": {
643
- "type": "CHOICE",
644
- "members": [
645
- {
646
- "type": "SYMBOL",
647
- "name": "class_name"
648
- },
649
- {
650
- "type": "SYMBOL",
651
- "name": "quoted_escape"
652
- }
653
- ]
654
- }
1382
+ "type": "SYMBOL",
1383
+ "name": "_missing_set_close"
1384
+ },
1385
+ "named": true,
1386
+ "value": "missing_set_close"
1387
+ },
1388
+ "_missing_set_close_issue": {
1389
+ "type": "ALIAS",
1390
+ "content": {
1391
+ "type": "SYMBOL",
1392
+ "name": "_missing_set_close_outcome"
1393
+ },
1394
+ "named": true,
1395
+ "value": "invalid_syntax"
1396
+ },
1397
+ "_incomplete_set_close_outcome": {
1398
+ "type": "ALIAS",
1399
+ "content": {
1400
+ "type": "SYMBOL",
1401
+ "name": "_incomplete_set_close"
1402
+ },
1403
+ "named": true,
1404
+ "value": "missing_set_close"
1405
+ },
1406
+ "_incomplete_set_close_issue": {
1407
+ "type": "ALIAS",
1408
+ "content": {
1409
+ "type": "SYMBOL",
1410
+ "name": "_incomplete_set_close_outcome"
1411
+ },
1412
+ "named": true,
1413
+ "value": "incomplete_syntax"
1414
+ },
1415
+ "_invalid_encoding_outcome": {
1416
+ "type": "ALIAS",
1417
+ "content": {
1418
+ "type": "SYMBOL",
1419
+ "name": "_invalid_encoding"
1420
+ },
1421
+ "named": true,
1422
+ "value": "invalid_encoding"
1423
+ },
1424
+ "_invalid_encoding_issue": {
1425
+ "type": "ALIAS",
1426
+ "content": {
1427
+ "type": "SYMBOL",
1428
+ "name": "_invalid_encoding_outcome"
1429
+ },
1430
+ "named": true,
1431
+ "value": "invalid_syntax"
1432
+ },
1433
+ "_negative_pattern_outcome": {
1434
+ "type": "ALIAS",
1435
+ "content": {
1436
+ "type": "SYMBOL",
1437
+ "name": "_negative_pattern"
1438
+ },
1439
+ "named": true,
1440
+ "value": "negative_pattern"
1441
+ },
1442
+ "_negative_pattern_issue": {
1443
+ "type": "ALIAS",
1444
+ "content": {
1445
+ "type": "SYMBOL",
1446
+ "name": "_negative_pattern_outcome"
1447
+ },
1448
+ "named": true,
1449
+ "value": "invalid_syntax"
1450
+ },
1451
+ "_ended_escape_outcome": {
1452
+ "type": "ALIAS",
1453
+ "content": {
1454
+ "type": "SYMBOL",
1455
+ "name": "_ended_escape"
1456
+ },
1457
+ "named": true,
1458
+ "value": "incomplete_escape"
1459
+ },
1460
+ "_ended_escape_issue": {
1461
+ "type": "ALIAS",
1462
+ "content": {
1463
+ "type": "SYMBOL",
1464
+ "name": "_ended_escape_outcome"
1465
+ },
1466
+ "named": true,
1467
+ "value": "invalid_syntax"
1468
+ },
1469
+ "_incomplete_escape_outcome": {
1470
+ "type": "ALIAS",
1471
+ "content": {
1472
+ "type": "SYMBOL",
1473
+ "name": "_incomplete_escape"
1474
+ },
1475
+ "named": true,
1476
+ "value": "incomplete_escape"
1477
+ },
1478
+ "_incomplete_escape_issue": {
1479
+ "type": "ALIAS",
1480
+ "content": {
1481
+ "type": "SYMBOL",
1482
+ "name": "_incomplete_escape_outcome"
1483
+ },
1484
+ "named": true,
1485
+ "value": "incomplete_syntax"
1486
+ },
1487
+ "_invalid_quoted_escape_outcome": {
1488
+ "type": "ALIAS",
1489
+ "content": {
1490
+ "type": "SYMBOL",
1491
+ "name": "_invalid_quoted_escape"
1492
+ },
1493
+ "named": true,
1494
+ "value": "invalid_quoted_escape"
1495
+ },
1496
+ "_invalid_quoted_escape_issue": {
1497
+ "type": "ALIAS",
1498
+ "content": {
1499
+ "type": "SYMBOL",
1500
+ "name": "_invalid_quoted_escape_outcome"
1501
+ },
1502
+ "named": true,
1503
+ "value": "invalid_syntax"
1504
+ },
1505
+ "_ended_quoted_escape_outcome": {
1506
+ "type": "ALIAS",
1507
+ "content": {
1508
+ "type": "SYMBOL",
1509
+ "name": "_ended_quoted_escape"
1510
+ },
1511
+ "named": true,
1512
+ "value": "incomplete_quoted_escape"
1513
+ },
1514
+ "_ended_quoted_escape_issue": {
1515
+ "type": "ALIAS",
1516
+ "content": {
1517
+ "type": "SYMBOL",
1518
+ "name": "_ended_quoted_escape_outcome"
1519
+ },
1520
+ "named": true,
1521
+ "value": "invalid_syntax"
1522
+ },
1523
+ "_incomplete_quoted_escape_outcome": {
1524
+ "type": "ALIAS",
1525
+ "content": {
1526
+ "type": "SYMBOL",
1527
+ "name": "_incomplete_quoted_escape"
1528
+ },
1529
+ "named": true,
1530
+ "value": "incomplete_quoted_escape"
1531
+ },
1532
+ "_incomplete_quoted_escape_issue": {
1533
+ "type": "ALIAS",
1534
+ "content": {
1535
+ "type": "SYMBOL",
1536
+ "name": "_incomplete_quoted_escape_outcome"
1537
+ },
1538
+ "named": true,
1539
+ "value": "incomplete_syntax"
1540
+ },
1541
+ "_missing_quote_close_outcome": {
1542
+ "type": "ALIAS",
1543
+ "content": {
1544
+ "type": "SYMBOL",
1545
+ "name": "_missing_quote_close"
1546
+ },
1547
+ "named": true,
1548
+ "value": "missing_quote_close"
1549
+ },
1550
+ "_missing_quote_close_issue": {
1551
+ "type": "ALIAS",
1552
+ "content": {
1553
+ "type": "SYMBOL",
1554
+ "name": "_missing_quote_close_outcome"
1555
+ },
1556
+ "named": true,
1557
+ "value": "invalid_syntax"
1558
+ },
1559
+ "_incomplete_quote_close_outcome": {
1560
+ "type": "ALIAS",
1561
+ "content": {
1562
+ "type": "SYMBOL",
1563
+ "name": "_incomplete_quote_close"
1564
+ },
1565
+ "named": true,
1566
+ "value": "missing_quote_close"
1567
+ },
1568
+ "_incomplete_quote_close_issue": {
1569
+ "type": "ALIAS",
1570
+ "content": {
1571
+ "type": "SYMBOL",
1572
+ "name": "_incomplete_quote_close_outcome"
1573
+ },
1574
+ "named": true,
1575
+ "value": "incomplete_syntax"
1576
+ },
1577
+ "_missing_attribute_separator_outcome": {
1578
+ "type": "ALIAS",
1579
+ "content": {
1580
+ "type": "SYMBOL",
1581
+ "name": "_missing_attribute_separator"
1582
+ },
1583
+ "named": true,
1584
+ "value": "missing_attribute_separator"
1585
+ },
1586
+ "_missing_attribute_separator_issue": {
1587
+ "type": "ALIAS",
1588
+ "content": {
1589
+ "type": "SYMBOL",
1590
+ "name": "_missing_attribute_separator_outcome"
1591
+ },
1592
+ "named": true,
1593
+ "value": "invalid_syntax"
1594
+ },
1595
+ "_missing_attribute_name_outcome": {
1596
+ "type": "ALIAS",
1597
+ "content": {
1598
+ "type": "SYMBOL",
1599
+ "name": "_missing_attribute_name"
1600
+ },
1601
+ "named": true,
1602
+ "value": "missing_attribute_name"
1603
+ },
1604
+ "_missing_attribute_name_issue": {
1605
+ "type": "ALIAS",
1606
+ "content": {
1607
+ "type": "SYMBOL",
1608
+ "name": "_missing_attribute_name_outcome"
1609
+ },
1610
+ "named": true,
1611
+ "value": "invalid_syntax"
1612
+ },
1613
+ "_incomplete_attribute_name_outcome": {
1614
+ "type": "ALIAS",
1615
+ "content": {
1616
+ "type": "SYMBOL",
1617
+ "name": "_incomplete_attribute_name"
1618
+ },
1619
+ "named": true,
1620
+ "value": "missing_attribute_name"
1621
+ },
1622
+ "_incomplete_attribute_name_issue": {
1623
+ "type": "ALIAS",
1624
+ "content": {
1625
+ "type": "SYMBOL",
1626
+ "name": "_incomplete_attribute_name_outcome"
1627
+ },
1628
+ "named": true,
1629
+ "value": "incomplete_syntax"
1630
+ },
1631
+ "_invalid_name_character_outcome": {
1632
+ "type": "ALIAS",
1633
+ "content": {
1634
+ "type": "SYMBOL",
1635
+ "name": "_invalid_name_character"
1636
+ },
1637
+ "named": true,
1638
+ "value": "invalid_name_character"
1639
+ },
1640
+ "_invalid_name_character_issue": {
1641
+ "type": "ALIAS",
1642
+ "content": {
1643
+ "type": "SYMBOL",
1644
+ "name": "_invalid_name_character_outcome"
1645
+ },
1646
+ "named": true,
1647
+ "value": "invalid_syntax"
1648
+ },
1649
+ "_incomplete_name_character_outcome": {
1650
+ "type": "ALIAS",
1651
+ "content": {
1652
+ "type": "SYMBOL",
1653
+ "name": "_incomplete_name_character"
1654
+ },
1655
+ "named": true,
1656
+ "value": "invalid_name_character"
1657
+ },
1658
+ "_incomplete_name_character_issue": {
1659
+ "type": "ALIAS",
1660
+ "content": {
1661
+ "type": "SYMBOL",
1662
+ "name": "_incomplete_name_character_outcome"
1663
+ },
1664
+ "named": true,
1665
+ "value": "incomplete_syntax"
1666
+ },
1667
+ "_invalid_name_escape_reason": {
1668
+ "type": "ALIAS",
1669
+ "content": {
1670
+ "type": "SYMBOL",
1671
+ "name": "_invalid_name_escape"
1672
+ },
1673
+ "named": true,
1674
+ "value": "quoted_escape"
1675
+ },
1676
+ "_invalid_name_escape_outcome": {
1677
+ "type": "ALIAS",
1678
+ "content": {
1679
+ "type": "SYMBOL",
1680
+ "name": "_invalid_name_escape_reason"
1681
+ },
1682
+ "named": true,
1683
+ "value": "invalid_name_character"
1684
+ },
1685
+ "_invalid_name_escape_issue": {
1686
+ "type": "ALIAS",
1687
+ "content": {
1688
+ "type": "SYMBOL",
1689
+ "name": "_invalid_name_escape_outcome"
1690
+ },
1691
+ "named": true,
1692
+ "value": "invalid_syntax"
655
1693
  }
656
1694
  },
657
- "extras": [],
1695
+ "extras": [
1696
+ {
1697
+ "type": "SYMBOL",
1698
+ "name": "_unmatchable"
1699
+ }
1700
+ ],
658
1701
  "conflicts": [],
659
1702
  "precedences": [],
660
1703
  "externals": [
@@ -682,6 +1725,10 @@
682
1725
  "type": "SYMBOL",
683
1726
  "name": "_eof"
684
1727
  },
1728
+ {
1729
+ "type": "SYMBOL",
1730
+ "name": "line_ending"
1731
+ },
685
1732
  {
686
1733
  "type": "SYMBOL",
687
1734
  "name": "_layout"
@@ -794,6 +1841,10 @@
794
1841
  "type": "SYMBOL",
795
1842
  "name": "quoted_escape"
796
1843
  },
1844
+ {
1845
+ "type": "SYMBOL",
1846
+ "name": "_escape_prefix"
1847
+ },
797
1848
  {
798
1849
  "type": "SYMBOL",
799
1850
  "name": "set_open"
@@ -842,6 +1893,74 @@
842
1893
  "type": "SYMBOL",
843
1894
  "name": "_class_close"
844
1895
  },
1896
+ {
1897
+ "type": "SYMBOL",
1898
+ "name": "_missing_set_close"
1899
+ },
1900
+ {
1901
+ "type": "SYMBOL",
1902
+ "name": "_incomplete_set_close"
1903
+ },
1904
+ {
1905
+ "type": "SYMBOL",
1906
+ "name": "_invalid_encoding"
1907
+ },
1908
+ {
1909
+ "type": "SYMBOL",
1910
+ "name": "_negative_pattern"
1911
+ },
1912
+ {
1913
+ "type": "SYMBOL",
1914
+ "name": "_ended_escape"
1915
+ },
1916
+ {
1917
+ "type": "SYMBOL",
1918
+ "name": "_incomplete_escape"
1919
+ },
1920
+ {
1921
+ "type": "SYMBOL",
1922
+ "name": "_invalid_quoted_escape"
1923
+ },
1924
+ {
1925
+ "type": "SYMBOL",
1926
+ "name": "_ended_quoted_escape"
1927
+ },
1928
+ {
1929
+ "type": "SYMBOL",
1930
+ "name": "_incomplete_quoted_escape"
1931
+ },
1932
+ {
1933
+ "type": "SYMBOL",
1934
+ "name": "_missing_quote_close"
1935
+ },
1936
+ {
1937
+ "type": "SYMBOL",
1938
+ "name": "_incomplete_quote_close"
1939
+ },
1940
+ {
1941
+ "type": "SYMBOL",
1942
+ "name": "_missing_attribute_separator"
1943
+ },
1944
+ {
1945
+ "type": "SYMBOL",
1946
+ "name": "_missing_attribute_name"
1947
+ },
1948
+ {
1949
+ "type": "SYMBOL",
1950
+ "name": "_incomplete_attribute_name"
1951
+ },
1952
+ {
1953
+ "type": "SYMBOL",
1954
+ "name": "_invalid_name_character"
1955
+ },
1956
+ {
1957
+ "type": "SYMBOL",
1958
+ "name": "_incomplete_name_character"
1959
+ },
1960
+ {
1961
+ "type": "SYMBOL",
1962
+ "name": "_invalid_name_escape"
1963
+ },
845
1964
  {
846
1965
  "type": "SYMBOL",
847
1966
  "name": "_error_sentinel"