~repos /plum

#treesitter#compiler#wasm

git clone https://pyrossh.dev/repos/plum.git

A statically typed, imperative programming language inspired by rust, python


12ed1614 Peter John

3 years ago
add enums
grammar.js CHANGED
@@ -1,3 +1,7 @@
1
+ const DEC_DIGITS = token(sep1(/[0-9]+/, /_+/));
2
+ const HEX_DIGITS = token(sep1(/[0-9a-fA-F]+/, /_+/));
3
+ const BIN_DIGITS = token(sep1(/[01]/, /_+/));
4
+
1
5
  module.exports = grammar({
2
6
  name: 'pine',
3
7
  externals: $ => [
@@ -22,16 +26,18 @@ module.exports = grammar({
22
26
  '}',
23
27
  ],
24
28
  rules: {
25
- module: $ => repeat($._definitions),
26
-
27
- _definitions: $ => choice(
29
+ source_file: $ => seq(
30
+ seq("package", $.package),
28
- $.import_statement,
31
+ repeat($.import_statement),
29
- $.class_definition,
32
+ repeat($.class_definition),
33
+ repeat($.enum_definition),
30
34
  ),
31
35
 
32
- import_statement: $ => seq(
36
+ import_statement: $ => seq('import', $.url),
37
+
38
+ definitions: $ => choice(
33
- 'import',
39
+ $.class_definition,
34
- commaSep1(field('name', sep1($.identifier, '/')))
40
+ $.enum_definition,
35
41
  ),
36
42
 
37
43
  class_definition: $ => seq(
@@ -41,11 +47,28 @@ module.exports = grammar({
41
47
  field('traits', optional($.trait_list)),
42
48
  ':',
43
49
  field('fields', seq($._indent, seq(
44
- repeat($.type_pair),
50
+ repeat($.class_field),
45
51
  $._dedent
46
52
  ))),
47
53
  ),
48
54
 
55
+ enum_definition: $ => seq(
56
+ 'enum',
57
+ field('name', $.identifier),
58
+ field('types', $.type_list),
59
+ ':',
60
+ field('fields', seq($._indent, seq(
61
+ repeat($.enum_field),
62
+ $._dedent
63
+ ))),
64
+ ),
65
+
66
+ type_list: $ => seq(
67
+ '(',
68
+ commaSep1($.identifier),
69
+ ')'
70
+ ),
71
+
49
72
  trait_list: $ => seq(
50
73
  '(',
51
74
  commaSep1($.identifier),
@@ -58,13 +81,92 @@ module.exports = grammar({
58
81
  '>'
59
82
  ),
60
83
 
61
- type_pair: $ => seq(
84
+ class_field: $ => seq(
62
85
  field('key', $.identifier),
63
86
  ':',
64
87
  field('value', $.identifier)
65
88
  ),
66
89
 
90
+ enum_field: $ => seq($.enum_identifier, '(', commaSep1($._primary_expression), ')'),
91
+
92
+ _primary_expression: $ => choice(
93
+ $._literal_constant,
94
+ $._string_literal,
95
+ ),
96
+
97
+ url: $ => sep1(/[a-zA-Z_][a-zA-Z_0-9]*/, '/'),
98
+ package: $ => $.identifier,
67
- identifier: $ => /[_\p{XID_Start}][_\p{XID_Continue}]*/,
99
+ identifier: $ => /[a-zA-Z_][a-zA-Z_0-9]*/,
100
+ enum_identifier: $ => /[A-Z_][A-Z_0-9]*/,
101
+
102
+ // Literals
103
+ boolean_literal: $ => choice("true", "false"),
104
+ integer_literal: $ => token(seq(optional(/[1-9]/), DEC_DIGITS)),
105
+ hex_literal: $ => token(seq("0", /[xX]/, HEX_DIGITS)),
106
+ bin_literal: $ => token(seq("0", /[bB]/, BIN_DIGITS)),
107
+ float_literal: $ => token(choice(
108
+ seq(
109
+ seq(optional(DEC_DIGITS), ".", DEC_DIGITS),
110
+ optional(/[fF]/)
111
+ ),
112
+ seq(DEC_DIGITS, /[fF]/)
113
+ )),
114
+ character_literal: $ => seq(
115
+ "'",
116
+ choice($.character_escape_seq, /[^\n\r'\\]/),
117
+ "'"
118
+ ),
119
+ character_escape_seq: $ => choice(
120
+ $._uni_character_literal,
121
+ $._escaped_identifier
122
+ ),
123
+ _uni_character_literal: $ => seq(
124
+ "\\u",
125
+ /[0-9a-fA-F]{4}/
126
+ ),
127
+ _escaped_identifier: $ => /\\[tbrn'"\\$]/,
128
+
129
+ _string_literal: $ => choice(
130
+ $.line_string_literal,
131
+ $.multi_line_string_literal
132
+ ),
133
+
134
+ line_string_literal: $ => seq('"', repeat(choice($._line_string_content, $._interpolation)), '"'),
135
+
136
+ multi_line_string_literal: $ => seq(
137
+ '`',
138
+ repeat(choice(
139
+ $._multi_line_string_content,
140
+ $._interpolation
141
+ )),
142
+ '`'
143
+ ),
144
+
145
+ _line_string_content: $ => choice(
146
+ $._line_str_text,
147
+ $.character_escape_seq
148
+ ),
149
+
150
+ _multi_line_string_content: $ => choice($._multi_line_str_text, '"'),
151
+
152
+ _line_str_text: $ => /[^\\"$]+/,
153
+
154
+ _multi_line_str_text: $ => /[^"$]+/,
155
+
156
+ _interpolation: $ => choice(
157
+ // seq("${", alias($._expression, $.interpolated_expression), "}"),
158
+ seq("$", alias($.identifier, $.interpolated_identifier))
159
+ ),
160
+
161
+ _literal_constant: $ => choice(
162
+ $.boolean_literal,
163
+ $.integer_literal,
164
+ $.hex_literal,
165
+ $.bin_literal,
166
+ $.character_literal,
167
+ $.float_literal,
168
+ "null",
169
+ ),
68
170
  }
69
171
  });
70
172
 
src/grammar.json CHANGED
@@ -1,23 +1,42 @@
1
1
  {
2
2
  "name": "pine",
3
3
  "rules": {
4
- "module": {
4
+ "source_file": {
5
- "type": "REPEAT",
5
+ "type": "SEQ",
6
- "content": {
7
- "type": "SYMBOL",
8
- "name": "_definitions"
9
- }
10
- },
11
- "_definitions": {
12
- "type": "CHOICE",
13
6
  "members": [
14
7
  {
8
+ "type": "SEQ",
9
+ "members": [
10
+ {
11
+ "type": "STRING",
12
+ "value": "package"
13
+ },
14
+ {
15
- "type": "SYMBOL",
15
+ "type": "SYMBOL",
16
- "name": "import_statement"
16
+ "name": "package"
17
+ }
18
+ ]
17
19
  },
18
20
  {
21
+ "type": "REPEAT",
22
+ "content": {
19
- "type": "SYMBOL",
23
+ "type": "SYMBOL",
24
+ "name": "import_statement"
25
+ }
26
+ },
27
+ {
28
+ "type": "REPEAT",
29
+ "content": {
30
+ "type": "SYMBOL",
20
- "name": "class_definition"
31
+ "name": "class_definition"
32
+ }
33
+ },
34
+ {
35
+ "type": "REPEAT",
36
+ "content": {
37
+ "type": "SYMBOL",
38
+ "name": "enum_definition"
39
+ }
21
40
  }
22
41
  ]
23
42
  },
@@ -29,79 +48,21 @@
29
48
  "value": "import"
30
49
  },
31
50
  {
32
- "type": "SEQ",
51
+ "type": "SYMBOL",
52
+ "name": "url"
53
+ }
54
+ ]
55
+ },
56
+ "definitions": {
57
+ "type": "CHOICE",
33
- "members": [
58
+ "members": [
34
- {
59
+ {
35
- "type": "FIELD",
36
- "name": "name",
37
- "content": {
38
- "type": "SEQ",
60
+ "type": "SYMBOL",
39
- "members": [
61
+ "name": "class_definition"
62
+ },
40
- {
63
+ {
41
- "type": "SYMBOL",
64
+ "type": "SYMBOL",
42
- "name": "identifier"
65
+ "name": "enum_definition"
43
- },
44
- {
45
- "type": "REPEAT",
46
- "content": {
47
- "type": "SEQ",
48
- "members": [
49
- {
50
- "type": "STRING",
51
- "value": "/"
52
- },
53
- {
54
- "type": "SYMBOL",
55
- "name": "identifier"
56
- }
57
- ]
58
- }
59
- }
60
- ]
61
- }
62
- },
63
- {
64
- "type": "REPEAT",
65
- "content": {
66
- "type": "SEQ",
67
- "members": [
68
- {
69
- "type": "STRING",
70
- "value": ","
71
- },
72
- {
73
- "type": "FIELD",
74
- "name": "name",
75
- "content": {
76
- "type": "SEQ",
77
- "members": [
78
- {
79
- "type": "SYMBOL",
80
- "name": "identifier"
81
- },
82
- {
83
- "type": "REPEAT",
84
- "content": {
85
- "type": "SEQ",
86
- "members": [
87
- {
88
- "type": "STRING",
89
- "value": "/"
90
- },
91
- {
92
- "type": "SYMBOL",
93
- "name": "identifier"
94
- }
95
- ]
96
- }
97
- }
98
- ]
99
- }
100
- }
101
- ]
102
- }
103
- }
104
- ]
105
66
  }
106
67
  ]
107
68
  },
@@ -173,7 +134,65 @@
173
134
  "type": "REPEAT",
174
135
  "content": {
175
136
  "type": "SYMBOL",
137
+ "name": "class_field"
138
+ }
139
+ },
140
+ {
141
+ "type": "SYMBOL",
142
+ "name": "_dedent"
143
+ }
144
+ ]
145
+ }
146
+ ]
147
+ }
148
+ }
149
+ ]
150
+ },
151
+ "enum_definition": {
152
+ "type": "SEQ",
153
+ "members": [
154
+ {
155
+ "type": "STRING",
156
+ "value": "enum"
157
+ },
158
+ {
159
+ "type": "FIELD",
160
+ "name": "name",
161
+ "content": {
162
+ "type": "SYMBOL",
163
+ "name": "identifier"
164
+ }
165
+ },
166
+ {
167
+ "type": "FIELD",
168
+ "name": "types",
169
+ "content": {
170
+ "type": "SYMBOL",
176
- "name": "type_pair"
171
+ "name": "type_list"
172
+ }
173
+ },
174
+ {
175
+ "type": "STRING",
176
+ "value": ":"
177
+ },
178
+ {
179
+ "type": "FIELD",
180
+ "name": "fields",
181
+ "content": {
182
+ "type": "SEQ",
183
+ "members": [
184
+ {
185
+ "type": "SYMBOL",
186
+ "name": "_indent"
187
+ },
188
+ {
189
+ "type": "SEQ",
190
+ "members": [
191
+ {
192
+ "type": "REPEAT",
193
+ "content": {
194
+ "type": "SYMBOL",
195
+ "name": "enum_field"
177
196
  }
178
197
  },
179
198
  {
@@ -187,6 +206,44 @@
187
206
  }
188
207
  ]
189
208
  },
209
+ "type_list": {
210
+ "type": "SEQ",
211
+ "members": [
212
+ {
213
+ "type": "STRING",
214
+ "value": "("
215
+ },
216
+ {
217
+ "type": "SEQ",
218
+ "members": [
219
+ {
220
+ "type": "SYMBOL",
221
+ "name": "identifier"
222
+ },
223
+ {
224
+ "type": "REPEAT",
225
+ "content": {
226
+ "type": "SEQ",
227
+ "members": [
228
+ {
229
+ "type": "STRING",
230
+ "value": ","
231
+ },
232
+ {
233
+ "type": "SYMBOL",
234
+ "name": "identifier"
235
+ }
236
+ ]
237
+ }
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "type": "STRING",
243
+ "value": ")"
244
+ }
245
+ ]
246
+ },
190
247
  "trait_list": {
191
248
  "type": "SEQ",
192
249
  "members": [
@@ -263,7 +320,7 @@
263
320
  }
264
321
  ]
265
322
  },
266
- "type_pair": {
323
+ "class_field": {
267
324
  "type": "SEQ",
268
325
  "members": [
269
326
  {
@@ -288,9 +345,598 @@
288
345
  }
289
346
  ]
290
347
  },
348
+ "enum_field": {
349
+ "type": "SEQ",
350
+ "members": [
351
+ {
352
+ "type": "SYMBOL",
353
+ "name": "enum_identifier"
354
+ },
355
+ {
356
+ "type": "STRING",
357
+ "value": "("
358
+ },
359
+ {
360
+ "type": "SEQ",
361
+ "members": [
362
+ {
363
+ "type": "SYMBOL",
364
+ "name": "_primary_expression"
365
+ },
366
+ {
367
+ "type": "REPEAT",
368
+ "content": {
369
+ "type": "SEQ",
370
+ "members": [
371
+ {
372
+ "type": "STRING",
373
+ "value": ","
374
+ },
375
+ {
376
+ "type": "SYMBOL",
377
+ "name": "_primary_expression"
378
+ }
379
+ ]
380
+ }
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "type": "STRING",
386
+ "value": ")"
387
+ }
388
+ ]
389
+ },
390
+ "_primary_expression": {
391
+ "type": "CHOICE",
392
+ "members": [
393
+ {
394
+ "type": "SYMBOL",
395
+ "name": "_literal_constant"
396
+ },
397
+ {
398
+ "type": "SYMBOL",
399
+ "name": "_string_literal"
400
+ }
401
+ ]
402
+ },
403
+ "url": {
404
+ "type": "SEQ",
405
+ "members": [
406
+ {
407
+ "type": "PATTERN",
408
+ "value": "[a-zA-Z_][a-zA-Z_0-9]*"
409
+ },
410
+ {
411
+ "type": "REPEAT",
412
+ "content": {
413
+ "type": "SEQ",
414
+ "members": [
415
+ {
416
+ "type": "STRING",
417
+ "value": "/"
418
+ },
419
+ {
420
+ "type": "PATTERN",
421
+ "value": "[a-zA-Z_][a-zA-Z_0-9]*"
422
+ }
423
+ ]
424
+ }
425
+ }
426
+ ]
427
+ },
428
+ "package": {
429
+ "type": "SYMBOL",
430
+ "name": "identifier"
431
+ },
291
- "identifier": {
432
+ "identifier": {
292
- "type": "PATTERN",
433
+ "type": "PATTERN",
434
+ "value": "[a-zA-Z_][a-zA-Z_0-9]*"
435
+ },
436
+ "enum_identifier": {
437
+ "type": "PATTERN",
438
+ "value": "[A-Z_][A-Z_0-9]*"
439
+ },
440
+ "boolean_literal": {
441
+ "type": "CHOICE",
442
+ "members": [
443
+ {
444
+ "type": "STRING",
445
+ "value": "true"
446
+ },
447
+ {
448
+ "type": "STRING",
449
+ "value": "false"
450
+ }
451
+ ]
452
+ },
453
+ "integer_literal": {
454
+ "type": "TOKEN",
455
+ "content": {
456
+ "type": "SEQ",
457
+ "members": [
458
+ {
459
+ "type": "CHOICE",
460
+ "members": [
461
+ {
462
+ "type": "PATTERN",
463
+ "value": "[1-9]"
464
+ },
465
+ {
466
+ "type": "BLANK"
467
+ }
468
+ ]
469
+ },
470
+ {
471
+ "type": "TOKEN",
472
+ "content": {
473
+ "type": "SEQ",
474
+ "members": [
475
+ {
476
+ "type": "PATTERN",
477
+ "value": "[0-9]+"
478
+ },
479
+ {
480
+ "type": "REPEAT",
481
+ "content": {
482
+ "type": "SEQ",
483
+ "members": [
484
+ {
485
+ "type": "PATTERN",
486
+ "value": "_+"
487
+ },
488
+ {
489
+ "type": "PATTERN",
490
+ "value": "[0-9]+"
491
+ }
492
+ ]
493
+ }
494
+ }
495
+ ]
496
+ }
497
+ }
498
+ ]
499
+ }
500
+ },
501
+ "hex_literal": {
502
+ "type": "TOKEN",
503
+ "content": {
504
+ "type": "SEQ",
505
+ "members": [
506
+ {
507
+ "type": "STRING",
508
+ "value": "0"
509
+ },
510
+ {
511
+ "type": "PATTERN",
512
+ "value": "[xX]"
513
+ },
514
+ {
515
+ "type": "TOKEN",
516
+ "content": {
517
+ "type": "SEQ",
518
+ "members": [
519
+ {
520
+ "type": "PATTERN",
521
+ "value": "[0-9a-fA-F]+"
522
+ },
523
+ {
524
+ "type": "REPEAT",
525
+ "content": {
526
+ "type": "SEQ",
527
+ "members": [
528
+ {
529
+ "type": "PATTERN",
530
+ "value": "_+"
531
+ },
532
+ {
533
+ "type": "PATTERN",
534
+ "value": "[0-9a-fA-F]+"
535
+ }
536
+ ]
537
+ }
538
+ }
539
+ ]
540
+ }
541
+ }
542
+ ]
543
+ }
544
+ },
545
+ "bin_literal": {
546
+ "type": "TOKEN",
547
+ "content": {
548
+ "type": "SEQ",
549
+ "members": [
550
+ {
551
+ "type": "STRING",
552
+ "value": "0"
553
+ },
554
+ {
555
+ "type": "PATTERN",
556
+ "value": "[bB]"
557
+ },
558
+ {
559
+ "type": "TOKEN",
560
+ "content": {
561
+ "type": "SEQ",
562
+ "members": [
563
+ {
564
+ "type": "PATTERN",
565
+ "value": "[01]"
566
+ },
567
+ {
568
+ "type": "REPEAT",
569
+ "content": {
570
+ "type": "SEQ",
571
+ "members": [
572
+ {
573
+ "type": "PATTERN",
574
+ "value": "_+"
575
+ },
576
+ {
577
+ "type": "PATTERN",
578
+ "value": "[01]"
579
+ }
580
+ ]
581
+ }
582
+ }
583
+ ]
584
+ }
585
+ }
586
+ ]
587
+ }
588
+ },
589
+ "float_literal": {
590
+ "type": "TOKEN",
591
+ "content": {
592
+ "type": "CHOICE",
593
+ "members": [
594
+ {
595
+ "type": "SEQ",
596
+ "members": [
597
+ {
598
+ "type": "SEQ",
599
+ "members": [
600
+ {
601
+ "type": "CHOICE",
602
+ "members": [
603
+ {
604
+ "type": "TOKEN",
605
+ "content": {
606
+ "type": "SEQ",
607
+ "members": [
608
+ {
609
+ "type": "PATTERN",
610
+ "value": "[0-9]+"
611
+ },
612
+ {
613
+ "type": "REPEAT",
614
+ "content": {
615
+ "type": "SEQ",
616
+ "members": [
617
+ {
618
+ "type": "PATTERN",
619
+ "value": "_+"
620
+ },
621
+ {
622
+ "type": "PATTERN",
623
+ "value": "[0-9]+"
624
+ }
625
+ ]
626
+ }
627
+ }
628
+ ]
629
+ }
630
+ },
631
+ {
632
+ "type": "BLANK"
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "type": "STRING",
638
+ "value": "."
639
+ },
640
+ {
641
+ "type": "TOKEN",
642
+ "content": {
643
+ "type": "SEQ",
644
+ "members": [
645
+ {
646
+ "type": "PATTERN",
647
+ "value": "[0-9]+"
648
+ },
649
+ {
650
+ "type": "REPEAT",
651
+ "content": {
652
+ "type": "SEQ",
653
+ "members": [
654
+ {
655
+ "type": "PATTERN",
656
+ "value": "_+"
657
+ },
658
+ {
659
+ "type": "PATTERN",
660
+ "value": "[0-9]+"
661
+ }
662
+ ]
663
+ }
664
+ }
665
+ ]
666
+ }
667
+ }
668
+ ]
669
+ },
670
+ {
671
+ "type": "CHOICE",
672
+ "members": [
673
+ {
674
+ "type": "PATTERN",
675
+ "value": "[fF]"
676
+ },
677
+ {
678
+ "type": "BLANK"
679
+ }
680
+ ]
681
+ }
682
+ ]
683
+ },
684
+ {
685
+ "type": "SEQ",
686
+ "members": [
687
+ {
688
+ "type": "TOKEN",
689
+ "content": {
690
+ "type": "SEQ",
691
+ "members": [
692
+ {
693
+ "type": "PATTERN",
694
+ "value": "[0-9]+"
695
+ },
696
+ {
697
+ "type": "REPEAT",
698
+ "content": {
699
+ "type": "SEQ",
700
+ "members": [
701
+ {
702
+ "type": "PATTERN",
703
+ "value": "_+"
704
+ },
705
+ {
706
+ "type": "PATTERN",
707
+ "value": "[0-9]+"
708
+ }
709
+ ]
710
+ }
711
+ }
712
+ ]
713
+ }
714
+ },
715
+ {
716
+ "type": "PATTERN",
717
+ "value": "[fF]"
718
+ }
719
+ ]
720
+ }
721
+ ]
722
+ }
723
+ },
724
+ "character_literal": {
725
+ "type": "SEQ",
726
+ "members": [
727
+ {
728
+ "type": "STRING",
729
+ "value": "'"
730
+ },
731
+ {
732
+ "type": "CHOICE",
733
+ "members": [
734
+ {
735
+ "type": "SYMBOL",
736
+ "name": "character_escape_seq"
737
+ },
738
+ {
739
+ "type": "PATTERN",
740
+ "value": "[^\\n\\r'\\\\]"
741
+ }
742
+ ]
743
+ },
744
+ {
745
+ "type": "STRING",
746
+ "value": "'"
747
+ }
748
+ ]
749
+ },
750
+ "character_escape_seq": {
751
+ "type": "CHOICE",
752
+ "members": [
753
+ {
754
+ "type": "SYMBOL",
755
+ "name": "_uni_character_literal"
756
+ },
757
+ {
758
+ "type": "SYMBOL",
759
+ "name": "_escaped_identifier"
760
+ }
761
+ ]
762
+ },
763
+ "_uni_character_literal": {
764
+ "type": "SEQ",
765
+ "members": [
766
+ {
767
+ "type": "STRING",
768
+ "value": "\\u"
769
+ },
770
+ {
771
+ "type": "PATTERN",
772
+ "value": "[0-9a-fA-F]{4}"
773
+ }
774
+ ]
775
+ },
776
+ "_escaped_identifier": {
777
+ "type": "PATTERN",
293
- "value": "[_\\p{XID_Start}][_\\p{XID_Continue}]*"
778
+ "value": "\\\\[tbrn'\"\\\\$]"
779
+ },
780
+ "_string_literal": {
781
+ "type": "CHOICE",
782
+ "members": [
783
+ {
784
+ "type": "SYMBOL",
785
+ "name": "line_string_literal"
786
+ },
787
+ {
788
+ "type": "SYMBOL",
789
+ "name": "multi_line_string_literal"
790
+ }
791
+ ]
792
+ },
793
+ "line_string_literal": {
794
+ "type": "SEQ",
795
+ "members": [
796
+ {
797
+ "type": "STRING",
798
+ "value": "\""
799
+ },
800
+ {
801
+ "type": "REPEAT",
802
+ "content": {
803
+ "type": "CHOICE",
804
+ "members": [
805
+ {
806
+ "type": "SYMBOL",
807
+ "name": "_line_string_content"
808
+ },
809
+ {
810
+ "type": "SYMBOL",
811
+ "name": "_interpolation"
812
+ }
813
+ ]
814
+ }
815
+ },
816
+ {
817
+ "type": "STRING",
818
+ "value": "\""
819
+ }
820
+ ]
821
+ },
822
+ "multi_line_string_literal": {
823
+ "type": "SEQ",
824
+ "members": [
825
+ {
826
+ "type": "STRING",
827
+ "value": "`"
828
+ },
829
+ {
830
+ "type": "REPEAT",
831
+ "content": {
832
+ "type": "CHOICE",
833
+ "members": [
834
+ {
835
+ "type": "SYMBOL",
836
+ "name": "_multi_line_string_content"
837
+ },
838
+ {
839
+ "type": "SYMBOL",
840
+ "name": "_interpolation"
841
+ }
842
+ ]
843
+ }
844
+ },
845
+ {
846
+ "type": "STRING",
847
+ "value": "`"
848
+ }
849
+ ]
850
+ },
851
+ "_line_string_content": {
852
+ "type": "CHOICE",
853
+ "members": [
854
+ {
855
+ "type": "SYMBOL",
856
+ "name": "_line_str_text"
857
+ },
858
+ {
859
+ "type": "SYMBOL",
860
+ "name": "character_escape_seq"
861
+ }
862
+ ]
863
+ },
864
+ "_multi_line_string_content": {
865
+ "type": "CHOICE",
866
+ "members": [
867
+ {
868
+ "type": "SYMBOL",
869
+ "name": "_multi_line_str_text"
870
+ },
871
+ {
872
+ "type": "STRING",
873
+ "value": "\""
874
+ }
875
+ ]
876
+ },
877
+ "_line_str_text": {
878
+ "type": "PATTERN",
879
+ "value": "[^\\\\\"$]+"
880
+ },
881
+ "_multi_line_str_text": {
882
+ "type": "PATTERN",
883
+ "value": "[^\"$]+"
884
+ },
885
+ "_interpolation": {
886
+ "type": "CHOICE",
887
+ "members": [
888
+ {
889
+ "type": "SEQ",
890
+ "members": [
891
+ {
892
+ "type": "STRING",
893
+ "value": "$"
894
+ },
895
+ {
896
+ "type": "ALIAS",
897
+ "content": {
898
+ "type": "SYMBOL",
899
+ "name": "identifier"
900
+ },
901
+ "named": true,
902
+ "value": "interpolated_identifier"
903
+ }
904
+ ]
905
+ }
906
+ ]
907
+ },
908
+ "_literal_constant": {
909
+ "type": "CHOICE",
910
+ "members": [
911
+ {
912
+ "type": "SYMBOL",
913
+ "name": "boolean_literal"
914
+ },
915
+ {
916
+ "type": "SYMBOL",
917
+ "name": "integer_literal"
918
+ },
919
+ {
920
+ "type": "SYMBOL",
921
+ "name": "hex_literal"
922
+ },
923
+ {
924
+ "type": "SYMBOL",
925
+ "name": "bin_literal"
926
+ },
927
+ {
928
+ "type": "SYMBOL",
929
+ "name": "character_literal"
930
+ },
931
+ {
932
+ "type": "SYMBOL",
933
+ "name": "float_literal"
934
+ },
935
+ {
936
+ "type": "STRING",
937
+ "value": "null"
938
+ }
939
+ ]
294
940
  }
295
941
  },
296
942
  "extras": [
src/node-types.json CHANGED
@@ -1,4 +1,29 @@
1
1
  [
2
+ {
3
+ "type": "boolean_literal",
4
+ "named": true,
5
+ "fields": {}
6
+ },
7
+ {
8
+ "type": "character_escape_seq",
9
+ "named": true,
10
+ "fields": {}
11
+ },
12
+ {
13
+ "type": "character_literal",
14
+ "named": true,
15
+ "fields": {},
16
+ "children": {
17
+ "multiple": false,
18
+ "required": false,
19
+ "types": [
20
+ {
21
+ "type": "character_escape_seq",
22
+ "named": true
23
+ }
24
+ ]
25
+ }
26
+ },
2
27
  {
3
28
  "type": "class_definition",
4
29
  "named": true,
@@ -8,7 +33,7 @@
8
33
  "required": true,
9
34
  "types": [
10
35
  {
11
- "type": "type_pair",
36
+ "type": "class_field",
12
37
  "named": true
13
38
  }
14
39
  ]
@@ -45,6 +70,115 @@
45
70
  }
46
71
  }
47
72
  },
73
+ {
74
+ "type": "class_field",
75
+ "named": true,
76
+ "fields": {
77
+ "key": {
78
+ "multiple": false,
79
+ "required": true,
80
+ "types": [
81
+ {
82
+ "type": "identifier",
83
+ "named": true
84
+ }
85
+ ]
86
+ },
87
+ "value": {
88
+ "multiple": false,
89
+ "required": true,
90
+ "types": [
91
+ {
92
+ "type": "identifier",
93
+ "named": true
94
+ }
95
+ ]
96
+ }
97
+ }
98
+ },
99
+ {
100
+ "type": "enum_definition",
101
+ "named": true,
102
+ "fields": {
103
+ "fields": {
104
+ "multiple": true,
105
+ "required": true,
106
+ "types": [
107
+ {
108
+ "type": "enum_field",
109
+ "named": true
110
+ }
111
+ ]
112
+ },
113
+ "name": {
114
+ "multiple": false,
115
+ "required": true,
116
+ "types": [
117
+ {
118
+ "type": "identifier",
119
+ "named": true
120
+ }
121
+ ]
122
+ },
123
+ "types": {
124
+ "multiple": false,
125
+ "required": true,
126
+ "types": [
127
+ {
128
+ "type": "type_list",
129
+ "named": true
130
+ }
131
+ ]
132
+ }
133
+ }
134
+ },
135
+ {
136
+ "type": "enum_field",
137
+ "named": true,
138
+ "fields": {},
139
+ "children": {
140
+ "multiple": true,
141
+ "required": true,
142
+ "types": [
143
+ {
144
+ "type": "bin_literal",
145
+ "named": true
146
+ },
147
+ {
148
+ "type": "boolean_literal",
149
+ "named": true
150
+ },
151
+ {
152
+ "type": "character_literal",
153
+ "named": true
154
+ },
155
+ {
156
+ "type": "enum_identifier",
157
+ "named": true
158
+ },
159
+ {
160
+ "type": "float_literal",
161
+ "named": true
162
+ },
163
+ {
164
+ "type": "hex_literal",
165
+ "named": true
166
+ },
167
+ {
168
+ "type": "integer_literal",
169
+ "named": true
170
+ },
171
+ {
172
+ "type": "line_string_literal",
173
+ "named": true
174
+ },
175
+ {
176
+ "type": "multi_line_string_literal",
177
+ "named": true
178
+ }
179
+ ]
180
+ }
181
+ },
48
182
  {
49
183
  "type": "generic_list",
50
184
  "named": true,
@@ -60,41 +194,103 @@
60
194
  ]
61
195
  }
62
196
  },
197
+ {
198
+ "type": "identifier",
199
+ "named": true,
200
+ "fields": {}
201
+ },
63
202
  {
64
203
  "type": "import_statement",
65
204
  "named": true,
66
- "fields": {
205
+ "fields": {},
67
- "name": {
206
+ "children": {
68
- "multiple": true,
207
+ "multiple": false,
69
- "required": true,
208
+ "required": true,
70
- "types": [
209
+ "types": [
71
- {
210
+ {
72
- "type": "/",
211
+ "type": "url",
73
- "named": false
74
- },
75
- {
76
- "type": "identifier",
77
- "named": true
212
+ "named": true
78
- }
213
+ }
79
- ]
214
+ ]
80
- }
81
215
  }
82
216
  },
83
217
  {
218
+ "type": "interpolated_identifier",
219
+ "named": true,
220
+ "fields": {}
221
+ },
222
+ {
84
- "type": "module",
223
+ "type": "line_string_literal",
85
224
  "named": true,
86
225
  "fields": {},
87
226
  "children": {
88
227
  "multiple": true,
89
228
  "required": false,
229
+ "types": [
230
+ {
231
+ "type": "character_escape_seq",
232
+ "named": true
233
+ },
234
+ {
235
+ "type": "interpolated_identifier",
236
+ "named": true
237
+ }
238
+ ]
239
+ }
240
+ },
241
+ {
242
+ "type": "multi_line_string_literal",
243
+ "named": true,
244
+ "fields": {},
245
+ "children": {
246
+ "multiple": true,
247
+ "required": false,
248
+ "types": [
249
+ {
250
+ "type": "interpolated_identifier",
251
+ "named": true
252
+ }
253
+ ]
254
+ }
255
+ },
256
+ {
257
+ "type": "package",
258
+ "named": true,
259
+ "fields": {},
260
+ "children": {
261
+ "multiple": false,
262
+ "required": true,
263
+ "types": [
264
+ {
265
+ "type": "identifier",
266
+ "named": true
267
+ }
268
+ ]
269
+ }
270
+ },
271
+ {
272
+ "type": "source_file",
273
+ "named": true,
274
+ "fields": {},
275
+ "children": {
276
+ "multiple": true,
277
+ "required": true,
90
278
  "types": [
91
279
  {
92
280
  "type": "class_definition",
93
281
  "named": true
94
282
  },
283
+ {
284
+ "type": "enum_definition",
285
+ "named": true
286
+ },
95
287
  {
96
288
  "type": "import_statement",
97
289
  "named": true
290
+ },
291
+ {
292
+ "type": "package",
293
+ "named": true
98
294
  }
99
295
  ]
100
296
  }
@@ -115,31 +311,37 @@
115
311
  }
116
312
  },
117
313
  {
118
- "type": "type_pair",
314
+ "type": "type_list",
119
315
  "named": true,
120
- "fields": {
316
+ "fields": {},
121
- "key": {
317
+ "children": {
122
- "multiple": false,
318
+ "multiple": true,
123
- "required": true,
319
+ "required": true,
124
- "types": [
320
+ "types": [
125
- {
321
+ {
126
- "type": "identifier",
322
+ "type": "identifier",
127
- "named": true
323
+ "named": true
128
- }
324
+ }
129
- ]
325
+ ]
130
- },
131
- "value": {
132
- "multiple": false,
133
- "required": true,
134
- "types": [
135
- {
136
- "type": "identifier",
137
- "named": true
138
- }
139
- ]
140
- }
141
326
  }
142
327
  },
328
+ {
329
+ "type": "url",
330
+ "named": true,
331
+ "fields": {}
332
+ },
333
+ {
334
+ "type": "\"",
335
+ "named": false
336
+ },
337
+ {
338
+ "type": "$",
339
+ "named": false
340
+ },
341
+ {
342
+ "type": "'",
343
+ "named": false
344
+ },
143
345
  {
144
346
  "type": "(",
145
347
  "named": false
@@ -168,16 +370,60 @@
168
370
  "type": ">",
169
371
  "named": false
170
372
  },
373
+ {
374
+ "type": "\\u",
375
+ "named": false
376
+ },
377
+ {
378
+ "type": "`",
379
+ "named": false
380
+ },
381
+ {
382
+ "type": "bin_literal",
383
+ "named": true
384
+ },
171
385
  {
172
386
  "type": "class",
173
387
  "named": false
174
388
  },
175
389
  {
390
+ "type": "enum",
391
+ "named": false
392
+ },
393
+ {
176
- "type": "identifier",
394
+ "type": "enum_identifier",
395
+ "named": true
396
+ },
397
+ {
398
+ "type": "false",
399
+ "named": false
400
+ },
401
+ {
402
+ "type": "float_literal",
403
+ "named": true
404
+ },
405
+ {
406
+ "type": "hex_literal",
177
407
  "named": true
178
408
  },
179
409
  {
180
410
  "type": "import",
181
411
  "named": false
412
+ },
413
+ {
414
+ "type": "integer_literal",
415
+ "named": true
416
+ },
417
+ {
418
+ "type": "null",
419
+ "named": false
420
+ },
421
+ {
422
+ "type": "package",
423
+ "named": false
424
+ },
425
+ {
426
+ "type": "true",
427
+ "named": false
182
428
  }
183
429
  ]
src/parser.c CHANGED
@@ -5,63 +5,126 @@
5
5
  #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
6
6
  #endif
7
7
 
8
- #define LANGUAGE_VERSION 14
8
+ #define LANGUAGE_VERSION 13
9
- #define STATE_COUNT 62
9
+ #define STATE_COUNT 119
10
10
  #define LARGE_STATE_COUNT 2
11
- #define SYMBOL_COUNT 32
11
+ #define SYMBOL_COUNT 74
12
- #define ALIAS_COUNT 0
12
+ #define ALIAS_COUNT 1
13
- #define TOKEN_COUNT 20
13
+ #define TOKEN_COUNT 40
14
14
  #define EXTERNAL_TOKEN_COUNT 10
15
- #define FIELD_COUNT 6
15
+ #define FIELD_COUNT 7
16
16
  #define MAX_ALIAS_SEQUENCE_LENGTH 8
17
- #define PRODUCTION_ID_COUNT 15
17
+ #define PRODUCTION_ID_COUNT 13
18
18
 
19
19
  enum {
20
+ anon_sym_package = 1,
20
- anon_sym_import = 1,
21
+ anon_sym_import = 2,
21
- anon_sym_SLASH = 2,
22
- anon_sym_COMMA = 3,
23
- anon_sym_class = 4,
22
+ anon_sym_class = 3,
24
- anon_sym_COLON = 5,
23
+ anon_sym_COLON = 4,
24
+ anon_sym_enum = 5,
25
25
  anon_sym_LPAREN = 6,
26
+ anon_sym_COMMA = 7,
26
- anon_sym_RPAREN = 7,
27
+ anon_sym_RPAREN = 8,
27
- anon_sym_LT = 8,
28
+ anon_sym_LT = 9,
28
- anon_sym_GT = 9,
29
+ anon_sym_GT = 10,
30
+ aux_sym_url_token1 = 11,
31
+ anon_sym_SLASH = 12,
29
- sym_identifier = 10,
32
+ sym_enum_identifier = 13,
33
+ anon_sym_true = 14,
34
+ anon_sym_false = 15,
35
+ sym_integer_literal = 16,
36
+ sym_hex_literal = 17,
37
+ sym_bin_literal = 18,
38
+ sym_float_literal = 19,
39
+ anon_sym_SQUOTE = 20,
40
+ aux_sym_character_literal_token1 = 21,
41
+ anon_sym_BSLASHu = 22,
42
+ aux_sym__uni_character_literal_token1 = 23,
43
+ sym__escaped_identifier = 24,
44
+ anon_sym_DQUOTE = 25,
45
+ anon_sym_BQUOTE = 26,
46
+ sym__line_str_text = 27,
47
+ sym__multi_line_str_text = 28,
48
+ anon_sym_DOLLAR = 29,
49
+ anon_sym_null = 30,
30
- anon_sym_RBRACK = 11,
50
+ anon_sym_RBRACK = 31,
31
- anon_sym_RBRACE = 12,
51
+ anon_sym_RBRACE = 32,
32
- sym__newline = 13,
52
+ sym__newline = 33,
33
- sym__indent = 14,
53
+ sym__indent = 34,
34
- sym__dedent = 15,
54
+ sym__dedent = 35,
35
- sym__string_start = 16,
55
+ sym__string_start = 36,
36
- sym__string_content = 17,
56
+ sym__string_content = 37,
37
- sym__string_end = 18,
57
+ sym__string_end = 38,
38
- sym_comment = 19,
58
+ sym_comment = 39,
39
- sym_module = 20,
59
+ sym_source_file = 40,
40
- sym__definitions = 21,
41
- sym_import_statement = 22,
60
+ sym_import_statement = 41,
42
- sym_class_definition = 23,
61
+ sym_class_definition = 42,
62
+ sym_enum_definition = 43,
63
+ sym_type_list = 44,
43
- sym_trait_list = 24,
64
+ sym_trait_list = 45,
44
- sym_generic_list = 25,
65
+ sym_generic_list = 46,
66
+ sym_class_field = 47,
67
+ sym_enum_field = 48,
68
+ sym__primary_expression = 49,
69
+ sym_url = 50,
45
- sym_type_pair = 26,
70
+ sym_package = 51,
71
+ sym_identifier = 52,
72
+ sym_boolean_literal = 53,
73
+ sym_character_literal = 54,
74
+ sym_character_escape_seq = 55,
75
+ sym__uni_character_literal = 56,
76
+ sym__string_literal = 57,
77
+ sym_line_string_literal = 58,
78
+ sym_multi_line_string_literal = 59,
79
+ sym__line_string_content = 60,
80
+ sym__multi_line_string_content = 61,
81
+ sym__interpolation = 62,
82
+ sym__literal_constant = 63,
46
- aux_sym_module_repeat1 = 27,
83
+ aux_sym_source_file_repeat1 = 64,
47
- aux_sym_import_statement_repeat1 = 28,
48
- aux_sym_import_statement_repeat2 = 29,
84
+ aux_sym_source_file_repeat2 = 65,
85
+ aux_sym_source_file_repeat3 = 66,
49
- aux_sym_class_definition_repeat1 = 30,
86
+ aux_sym_class_definition_repeat1 = 67,
87
+ aux_sym_enum_definition_repeat1 = 68,
50
- aux_sym_trait_list_repeat1 = 31,
88
+ aux_sym_type_list_repeat1 = 69,
89
+ aux_sym_enum_field_repeat1 = 70,
90
+ aux_sym_url_repeat1 = 71,
91
+ aux_sym_line_string_literal_repeat1 = 72,
92
+ aux_sym_multi_line_string_literal_repeat1 = 73,
93
+ alias_sym_interpolated_identifier = 74,
51
94
  };
52
95
 
53
96
  static const char * const ts_symbol_names[] = {
54
97
  [ts_builtin_sym_end] = "end",
98
+ [anon_sym_package] = "package",
55
99
  [anon_sym_import] = "import",
56
- [anon_sym_SLASH] = "/",
57
- [anon_sym_COMMA] = ",",
58
100
  [anon_sym_class] = "class",
59
101
  [anon_sym_COLON] = ":",
102
+ [anon_sym_enum] = "enum",
60
103
  [anon_sym_LPAREN] = "(",
104
+ [anon_sym_COMMA] = ",",
61
105
  [anon_sym_RPAREN] = ")",
62
106
  [anon_sym_LT] = "<",
63
107
  [anon_sym_GT] = ">",
108
+ [aux_sym_url_token1] = "url_token1",
109
+ [anon_sym_SLASH] = "/",
64
- [sym_identifier] = "identifier",
110
+ [sym_enum_identifier] = "enum_identifier",
111
+ [anon_sym_true] = "true",
112
+ [anon_sym_false] = "false",
113
+ [sym_integer_literal] = "integer_literal",
114
+ [sym_hex_literal] = "hex_literal",
115
+ [sym_bin_literal] = "bin_literal",
116
+ [sym_float_literal] = "float_literal",
117
+ [anon_sym_SQUOTE] = "'",
118
+ [aux_sym_character_literal_token1] = "character_literal_token1",
119
+ [anon_sym_BSLASHu] = "\\u",
120
+ [aux_sym__uni_character_literal_token1] = "_uni_character_literal_token1",
121
+ [sym__escaped_identifier] = "_escaped_identifier",
122
+ [anon_sym_DQUOTE] = "\"",
123
+ [anon_sym_BQUOTE] = "`",
124
+ [sym__line_str_text] = "_line_str_text",
125
+ [sym__multi_line_str_text] = "_multi_line_str_text",
126
+ [anon_sym_DOLLAR] = "$",
127
+ [anon_sym_null] = "null",
65
128
  [anon_sym_RBRACK] = "]",
66
129
  [anon_sym_RBRACE] = "}",
67
130
  [sym__newline] = "_newline",
@@ -71,32 +134,75 @@ static const char * const ts_symbol_names[] = {
71
134
  [sym__string_content] = "_string_content",
72
135
  [sym__string_end] = "_string_end",
73
136
  [sym_comment] = "comment",
74
- [sym_module] = "module",
137
+ [sym_source_file] = "source_file",
75
- [sym__definitions] = "_definitions",
76
138
  [sym_import_statement] = "import_statement",
77
139
  [sym_class_definition] = "class_definition",
140
+ [sym_enum_definition] = "enum_definition",
141
+ [sym_type_list] = "type_list",
78
142
  [sym_trait_list] = "trait_list",
79
143
  [sym_generic_list] = "generic_list",
144
+ [sym_class_field] = "class_field",
145
+ [sym_enum_field] = "enum_field",
146
+ [sym__primary_expression] = "_primary_expression",
147
+ [sym_url] = "url",
80
- [sym_type_pair] = "type_pair",
148
+ [sym_package] = "package",
149
+ [sym_identifier] = "identifier",
150
+ [sym_boolean_literal] = "boolean_literal",
151
+ [sym_character_literal] = "character_literal",
152
+ [sym_character_escape_seq] = "character_escape_seq",
153
+ [sym__uni_character_literal] = "_uni_character_literal",
154
+ [sym__string_literal] = "_string_literal",
155
+ [sym_line_string_literal] = "line_string_literal",
156
+ [sym_multi_line_string_literal] = "multi_line_string_literal",
157
+ [sym__line_string_content] = "_line_string_content",
158
+ [sym__multi_line_string_content] = "_multi_line_string_content",
159
+ [sym__interpolation] = "_interpolation",
160
+ [sym__literal_constant] = "_literal_constant",
81
- [aux_sym_module_repeat1] = "module_repeat1",
161
+ [aux_sym_source_file_repeat1] = "source_file_repeat1",
82
- [aux_sym_import_statement_repeat1] = "import_statement_repeat1",
83
- [aux_sym_import_statement_repeat2] = "import_statement_repeat2",
162
+ [aux_sym_source_file_repeat2] = "source_file_repeat2",
163
+ [aux_sym_source_file_repeat3] = "source_file_repeat3",
84
164
  [aux_sym_class_definition_repeat1] = "class_definition_repeat1",
165
+ [aux_sym_enum_definition_repeat1] = "enum_definition_repeat1",
85
- [aux_sym_trait_list_repeat1] = "trait_list_repeat1",
166
+ [aux_sym_type_list_repeat1] = "type_list_repeat1",
167
+ [aux_sym_enum_field_repeat1] = "enum_field_repeat1",
168
+ [aux_sym_url_repeat1] = "url_repeat1",
169
+ [aux_sym_line_string_literal_repeat1] = "line_string_literal_repeat1",
170
+ [aux_sym_multi_line_string_literal_repeat1] = "multi_line_string_literal_repeat1",
171
+ [alias_sym_interpolated_identifier] = "interpolated_identifier",
86
172
  };
87
173
 
88
174
  static const TSSymbol ts_symbol_map[] = {
89
175
  [ts_builtin_sym_end] = ts_builtin_sym_end,
176
+ [anon_sym_package] = anon_sym_package,
90
177
  [anon_sym_import] = anon_sym_import,
91
- [anon_sym_SLASH] = anon_sym_SLASH,
92
- [anon_sym_COMMA] = anon_sym_COMMA,
93
178
  [anon_sym_class] = anon_sym_class,
94
179
  [anon_sym_COLON] = anon_sym_COLON,
180
+ [anon_sym_enum] = anon_sym_enum,
95
181
  [anon_sym_LPAREN] = anon_sym_LPAREN,
182
+ [anon_sym_COMMA] = anon_sym_COMMA,
96
183
  [anon_sym_RPAREN] = anon_sym_RPAREN,
97
184
  [anon_sym_LT] = anon_sym_LT,
98
185
  [anon_sym_GT] = anon_sym_GT,
186
+ [aux_sym_url_token1] = aux_sym_url_token1,
187
+ [anon_sym_SLASH] = anon_sym_SLASH,
99
- [sym_identifier] = sym_identifier,
188
+ [sym_enum_identifier] = sym_enum_identifier,
189
+ [anon_sym_true] = anon_sym_true,
190
+ [anon_sym_false] = anon_sym_false,
191
+ [sym_integer_literal] = sym_integer_literal,
192
+ [sym_hex_literal] = sym_hex_literal,
193
+ [sym_bin_literal] = sym_bin_literal,
194
+ [sym_float_literal] = sym_float_literal,
195
+ [anon_sym_SQUOTE] = anon_sym_SQUOTE,
196
+ [aux_sym_character_literal_token1] = aux_sym_character_literal_token1,
197
+ [anon_sym_BSLASHu] = anon_sym_BSLASHu,
198
+ [aux_sym__uni_character_literal_token1] = aux_sym__uni_character_literal_token1,
199
+ [sym__escaped_identifier] = sym__escaped_identifier,
200
+ [anon_sym_DQUOTE] = anon_sym_DQUOTE,
201
+ [anon_sym_BQUOTE] = anon_sym_BQUOTE,
202
+ [sym__line_str_text] = sym__line_str_text,
203
+ [sym__multi_line_str_text] = sym__multi_line_str_text,
204
+ [anon_sym_DOLLAR] = anon_sym_DOLLAR,
205
+ [anon_sym_null] = anon_sym_null,
100
206
  [anon_sym_RBRACK] = anon_sym_RBRACK,
101
207
  [anon_sym_RBRACE] = anon_sym_RBRACE,
102
208
  [sym__newline] = sym__newline,
@@ -106,18 +212,41 @@ static const TSSymbol ts_symbol_map[] = {
106
212
  [sym__string_content] = sym__string_content,
107
213
  [sym__string_end] = sym__string_end,
108
214
  [sym_comment] = sym_comment,
109
- [sym_module] = sym_module,
215
+ [sym_source_file] = sym_source_file,
110
- [sym__definitions] = sym__definitions,
111
216
  [sym_import_statement] = sym_import_statement,
112
217
  [sym_class_definition] = sym_class_definition,
218
+ [sym_enum_definition] = sym_enum_definition,
219
+ [sym_type_list] = sym_type_list,
113
220
  [sym_trait_list] = sym_trait_list,
114
221
  [sym_generic_list] = sym_generic_list,
222
+ [sym_class_field] = sym_class_field,
223
+ [sym_enum_field] = sym_enum_field,
224
+ [sym__primary_expression] = sym__primary_expression,
225
+ [sym_url] = sym_url,
115
- [sym_type_pair] = sym_type_pair,
226
+ [sym_package] = sym_package,
227
+ [sym_identifier] = sym_identifier,
228
+ [sym_boolean_literal] = sym_boolean_literal,
229
+ [sym_character_literal] = sym_character_literal,
230
+ [sym_character_escape_seq] = sym_character_escape_seq,
231
+ [sym__uni_character_literal] = sym__uni_character_literal,
232
+ [sym__string_literal] = sym__string_literal,
233
+ [sym_line_string_literal] = sym_line_string_literal,
234
+ [sym_multi_line_string_literal] = sym_multi_line_string_literal,
235
+ [sym__line_string_content] = sym__line_string_content,
236
+ [sym__multi_line_string_content] = sym__multi_line_string_content,
237
+ [sym__interpolation] = sym__interpolation,
238
+ [sym__literal_constant] = sym__literal_constant,
116
- [aux_sym_module_repeat1] = aux_sym_module_repeat1,
239
+ [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
117
- [aux_sym_import_statement_repeat1] = aux_sym_import_statement_repeat1,
118
- [aux_sym_import_statement_repeat2] = aux_sym_import_statement_repeat2,
240
+ [aux_sym_source_file_repeat2] = aux_sym_source_file_repeat2,
241
+ [aux_sym_source_file_repeat3] = aux_sym_source_file_repeat3,
119
242
  [aux_sym_class_definition_repeat1] = aux_sym_class_definition_repeat1,
243
+ [aux_sym_enum_definition_repeat1] = aux_sym_enum_definition_repeat1,
120
- [aux_sym_trait_list_repeat1] = aux_sym_trait_list_repeat1,
244
+ [aux_sym_type_list_repeat1] = aux_sym_type_list_repeat1,
245
+ [aux_sym_enum_field_repeat1] = aux_sym_enum_field_repeat1,
246
+ [aux_sym_url_repeat1] = aux_sym_url_repeat1,
247
+ [aux_sym_line_string_literal_repeat1] = aux_sym_line_string_literal_repeat1,
248
+ [aux_sym_multi_line_string_literal_repeat1] = aux_sym_multi_line_string_literal_repeat1,
249
+ [alias_sym_interpolated_identifier] = alias_sym_interpolated_identifier,
121
250
  };
122
251
 
123
252
  static const TSSymbolMetadata ts_symbol_metadata[] = {
@@ -125,23 +254,23 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
125
254
  .visible = false,
126
255
  .named = true,
127
256
  },
128
- [anon_sym_import] = {
257
+ [anon_sym_package] = {
129
258
  .visible = true,
130
259
  .named = false,
131
260
  },
132
- [anon_sym_SLASH] = {
261
+ [anon_sym_import] = {
133
262
  .visible = true,
134
263
  .named = false,
135
264
  },
136
- [anon_sym_COMMA] = {
265
+ [anon_sym_class] = {
137
266
  .visible = true,
138
267
  .named = false,
139
268
  },
140
- [anon_sym_class] = {
269
+ [anon_sym_COLON] = {
141
270
  .visible = true,
142
271
  .named = false,
143
272
  },
144
- [anon_sym_COLON] = {
273
+ [anon_sym_enum] = {
145
274
  .visible = true,
146
275
  .named = false,
147
276
  },
@@ -149,6 +278,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
149
278
  .visible = true,
150
279
  .named = false,
151
280
  },
281
+ [anon_sym_COMMA] = {
282
+ .visible = true,
283
+ .named = false,
284
+ },
152
285
  [anon_sym_RPAREN] = {
153
286
  .visible = true,
154
287
  .named = false,
@@ -161,10 +294,86 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
161
294
  .visible = true,
162
295
  .named = false,
163
296
  },
297
+ [aux_sym_url_token1] = {
298
+ .visible = false,
299
+ .named = false,
300
+ },
301
+ [anon_sym_SLASH] = {
302
+ .visible = true,
303
+ .named = false,
304
+ },
164
- [sym_identifier] = {
305
+ [sym_enum_identifier] = {
306
+ .visible = true,
307
+ .named = true,
308
+ },
309
+ [anon_sym_true] = {
310
+ .visible = true,
311
+ .named = false,
312
+ },
313
+ [anon_sym_false] = {
314
+ .visible = true,
315
+ .named = false,
316
+ },
317
+ [sym_integer_literal] = {
318
+ .visible = true,
319
+ .named = true,
320
+ },
321
+ [sym_hex_literal] = {
322
+ .visible = true,
323
+ .named = true,
324
+ },
325
+ [sym_bin_literal] = {
326
+ .visible = true,
327
+ .named = true,
328
+ },
329
+ [sym_float_literal] = {
330
+ .visible = true,
331
+ .named = true,
332
+ },
333
+ [anon_sym_SQUOTE] = {
334
+ .visible = true,
335
+ .named = false,
336
+ },
337
+ [aux_sym_character_literal_token1] = {
338
+ .visible = false,
339
+ .named = false,
340
+ },
341
+ [anon_sym_BSLASHu] = {
342
+ .visible = true,
343
+ .named = false,
344
+ },
345
+ [aux_sym__uni_character_literal_token1] = {
346
+ .visible = false,
347
+ .named = false,
348
+ },
349
+ [sym__escaped_identifier] = {
350
+ .visible = false,
351
+ .named = true,
352
+ },
353
+ [anon_sym_DQUOTE] = {
165
354
  .visible = true,
355
+ .named = false,
356
+ },
357
+ [anon_sym_BQUOTE] = {
358
+ .visible = true,
359
+ .named = false,
360
+ },
361
+ [sym__line_str_text] = {
362
+ .visible = false,
363
+ .named = true,
364
+ },
365
+ [sym__multi_line_str_text] = {
366
+ .visible = false,
166
367
  .named = true,
167
368
  },
369
+ [anon_sym_DOLLAR] = {
370
+ .visible = true,
371
+ .named = false,
372
+ },
373
+ [anon_sym_null] = {
374
+ .visible = true,
375
+ .named = false,
376
+ },
168
377
  [anon_sym_RBRACK] = {
169
378
  .visible = true,
170
379
  .named = false,
@@ -201,14 +410,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
201
410
  .visible = true,
202
411
  .named = true,
203
412
  },
204
- [sym_module] = {
413
+ [sym_source_file] = {
205
414
  .visible = true,
206
415
  .named = true,
207
416
  },
208
- [sym__definitions] = {
209
- .visible = false,
210
- .named = true,
211
- },
212
417
  [sym_import_statement] = {
213
418
  .visible = true,
214
419
  .named = true,
@@ -217,6 +422,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
217
422
  .visible = true,
218
423
  .named = true,
219
424
  },
425
+ [sym_enum_definition] = {
426
+ .visible = true,
427
+ .named = true,
428
+ },
429
+ [sym_type_list] = {
430
+ .visible = true,
431
+ .named = true,
432
+ },
220
433
  [sym_trait_list] = {
221
434
  .visible = true,
222
435
  .named = true,
@@ -225,19 +438,83 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
225
438
  .visible = true,
226
439
  .named = true,
227
440
  },
441
+ [sym_class_field] = {
442
+ .visible = true,
443
+ .named = true,
444
+ },
445
+ [sym_enum_field] = {
446
+ .visible = true,
447
+ .named = true,
448
+ },
449
+ [sym__primary_expression] = {
450
+ .visible = false,
451
+ .named = true,
452
+ },
453
+ [sym_url] = {
454
+ .visible = true,
455
+ .named = true,
456
+ },
228
- [sym_type_pair] = {
457
+ [sym_package] = {
458
+ .visible = true,
459
+ .named = true,
460
+ },
461
+ [sym_identifier] = {
462
+ .visible = true,
463
+ .named = true,
464
+ },
465
+ [sym_boolean_literal] = {
466
+ .visible = true,
467
+ .named = true,
468
+ },
469
+ [sym_character_literal] = {
470
+ .visible = true,
471
+ .named = true,
472
+ },
473
+ [sym_character_escape_seq] = {
474
+ .visible = true,
475
+ .named = true,
476
+ },
477
+ [sym__uni_character_literal] = {
478
+ .visible = false,
479
+ .named = true,
480
+ },
481
+ [sym__string_literal] = {
482
+ .visible = false,
483
+ .named = true,
484
+ },
485
+ [sym_line_string_literal] = {
486
+ .visible = true,
487
+ .named = true,
488
+ },
489
+ [sym_multi_line_string_literal] = {
229
490
  .visible = true,
230
491
  .named = true,
231
492
  },
493
+ [sym__line_string_content] = {
494
+ .visible = false,
495
+ .named = true,
496
+ },
497
+ [sym__multi_line_string_content] = {
498
+ .visible = false,
499
+ .named = true,
500
+ },
501
+ [sym__interpolation] = {
502
+ .visible = false,
503
+ .named = true,
504
+ },
505
+ [sym__literal_constant] = {
506
+ .visible = false,
507
+ .named = true,
508
+ },
232
- [aux_sym_module_repeat1] = {
509
+ [aux_sym_source_file_repeat1] = {
233
510
  .visible = false,
234
511
  .named = false,
235
512
  },
236
- [aux_sym_import_statement_repeat1] = {
513
+ [aux_sym_source_file_repeat2] = {
237
514
  .visible = false,
238
515
  .named = false,
239
516
  },
240
- [aux_sym_import_statement_repeat2] = {
517
+ [aux_sym_source_file_repeat3] = {
241
518
  .visible = false,
242
519
  .named = false,
243
520
  },
@@ -245,10 +522,34 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
245
522
  .visible = false,
246
523
  .named = false,
247
524
  },
525
+ [aux_sym_enum_definition_repeat1] = {
526
+ .visible = false,
527
+ .named = false,
528
+ },
248
- [aux_sym_trait_list_repeat1] = {
529
+ [aux_sym_type_list_repeat1] = {
249
530
  .visible = false,
250
531
  .named = false,
251
532
  },
533
+ [aux_sym_enum_field_repeat1] = {
534
+ .visible = false,
535
+ .named = false,
536
+ },
537
+ [aux_sym_url_repeat1] = {
538
+ .visible = false,
539
+ .named = false,
540
+ },
541
+ [aux_sym_line_string_literal_repeat1] = {
542
+ .visible = false,
543
+ .named = false,
544
+ },
545
+ [aux_sym_multi_line_string_literal_repeat1] = {
546
+ .visible = false,
547
+ .named = false,
548
+ },
549
+ [alias_sym_interpolated_identifier] = {
550
+ .visible = true,
551
+ .named = true,
552
+ },
252
553
  };
253
554
 
254
555
  enum {
@@ -257,7 +558,8 @@ enum {
257
558
  field_key = 3,
258
559
  field_name = 4,
259
560
  field_traits = 5,
561
+ field_types = 6,
260
- field_value = 6,
562
+ field_value = 7,
261
563
  };
262
564
 
263
565
  static const char * const ts_field_names[] = {
@@ -267,83 +569,77 @@ static const char * const ts_field_names[] = {
267
569
  [field_key] = "key",
268
570
  [field_name] = "name",
269
571
  [field_traits] = "traits",
572
+ [field_types] = "types",
270
573
  [field_value] = "value",
271
574
  };
272
575
 
273
576
  static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
274
- [1] = {.index = 0, .length = 1},
577
+ [1] = {.index = 0, .length = 3},
275
- [2] = {.index = 1, .length = 2},
578
+ [2] = {.index = 3, .length = 4},
276
- [3] = {.index = 3, .length = 2},
579
+ [3] = {.index = 7, .length = 4},
277
- [4] = {.index = 5, .length = 3},
580
+ [4] = {.index = 11, .length = 4},
278
- [5] = {.index = 8, .length = 2},
581
+ [5] = {.index = 15, .length = 4},
279
- [6] = {.index = 10, .length = 3},
582
+ [6] = {.index = 19, .length = 2},
280
- [7] = {.index = 13, .length = 4},
281
- [8] = {.index = 17, .length = 4},
282
- [9] = {.index = 21, .length = 4},
583
+ [7] = {.index = 21, .length = 5},
283
- [10] = {.index = 25, .length = 2},
284
- [11] = {.index = 27, .length = 5},
584
+ [8] = {.index = 26, .length = 5},
585
+ [9] = {.index = 31, .length = 5},
285
- [12] = {.index = 32, .length = 5},
586
+ [10] = {.index = 36, .length = 5},
286
- [13] = {.index = 37, .length = 5},
287
- [14] = {.index = 42, .length = 6},
587
+ [11] = {.index = 41, .length = 6},
288
588
  };
289
589
 
290
590
  static const TSFieldMapEntry ts_field_map_entries[] = {
291
591
  [0] =
292
- {field_name, 1},
293
- [1] =
294
- {field_name, 1},
295
- {field_name, 2},
296
- [3] =
297
- {field_name, 1},
298
- {field_name, 2, .inherited = true},
299
- [5] =
300
- {field_name, 1},
301
- {field_name, 2},
302
- {field_name, 3, .inherited = true},
303
- [8] =
304
- {field_name, 0, .inherited = true},
305
- {field_name, 1, .inherited = true},
306
- [10] =
307
592
  {field_fields, 3},
308
593
  {field_fields, 4},
309
594
  {field_name, 1},
310
- [13] =
595
+ [3] =
311
596
  {field_fields, 3},
312
597
  {field_fields, 4},
313
598
  {field_fields, 5},
314
599
  {field_name, 1},
315
- [17] =
600
+ [7] =
316
601
  {field_fields, 4},
317
602
  {field_fields, 5},
318
603
  {field_name, 1},
319
604
  {field_traits, 2},
320
- [21] =
605
+ [11] =
321
606
  {field_fields, 4},
322
607
  {field_fields, 5},
323
608
  {field_generics, 2},
324
609
  {field_name, 1},
325
- [25] =
610
+ [15] =
611
+ {field_fields, 4},
612
+ {field_fields, 5},
613
+ {field_name, 1},
614
+ {field_types, 2},
615
+ [19] =
326
616
  {field_key, 0},
327
617
  {field_value, 2},
328
- [27] =
618
+ [21] =
329
619
  {field_fields, 4},
330
620
  {field_fields, 5},
331
621
  {field_fields, 6},
332
622
  {field_name, 1},
333
623
  {field_traits, 2},
334
- [32] =
624
+ [26] =
335
625
  {field_fields, 4},
336
626
  {field_fields, 5},
337
627
  {field_fields, 6},
338
628
  {field_generics, 2},
339
629
  {field_name, 1},
340
- [37] =
630
+ [31] =
341
631
  {field_fields, 5},
342
632
  {field_fields, 6},
343
633
  {field_generics, 2},
344
634
  {field_name, 1},
345
635
  {field_traits, 3},
636
+ [36] =
637
+ {field_fields, 4},
638
+ {field_fields, 5},
639
+ {field_fields, 6},
640
+ {field_name, 1},
641
+ {field_types, 2},
346
- [42] =
642
+ [41] =
347
643
  {field_fields, 5},
348
644
  {field_fields, 6},
349
645
  {field_fields, 7},
@@ -354,2093 +650,693 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
354
650
 
355
651
  static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
356
652
  [0] = {0},
653
+ [12] = {
654
+ [1] = alias_sym_interpolated_identifier,
655
+ },
357
656
  };
358
657
 
359
658
  static const uint16_t ts_non_terminal_alias_map[] = {
659
+ sym_identifier, 2,
660
+ sym_identifier,
661
+ alias_sym_interpolated_identifier,
360
662
  0,
361
663
  };
362
664
 
363
- static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
364
- [0] = 0,
365
- [1] = 1,
366
- [2] = 2,
367
- [3] = 3,
368
- [4] = 4,
369
- [5] = 5,
370
- [6] = 6,
371
- [7] = 7,
372
- [8] = 8,
373
- [9] = 9,
374
- [10] = 10,
375
- [11] = 11,
376
- [12] = 12,
377
- [13] = 13,
378
- [14] = 14,
379
- [15] = 15,
380
- [16] = 16,
381
- [17] = 17,
382
- [18] = 18,
383
- [19] = 19,
384
- [20] = 20,
385
- [21] = 21,
386
- [22] = 22,
387
- [23] = 23,
388
- [24] = 24,
389
- [25] = 25,
390
- [26] = 26,
391
- [27] = 27,
392
- [28] = 26,
393
- [29] = 29,
394
- [30] = 30,
395
- [31] = 31,
396
- [32] = 32,
397
- [33] = 33,
398
- [34] = 34,
399
- [35] = 35,
400
- [36] = 36,
401
- [37] = 37,
402
- [38] = 38,
403
- [39] = 39,
404
- [40] = 38,
405
- [41] = 41,
406
- [42] = 42,
407
- [43] = 43,
408
- [44] = 44,
409
- [45] = 45,
410
- [46] = 46,
411
- [47] = 47,
412
- [48] = 48,
413
- [49] = 49,
414
- [50] = 50,
415
- [51] = 51,
416
- [52] = 52,
417
- [53] = 53,
418
- [54] = 54,
419
- [55] = 55,
420
- [56] = 56,
421
- [57] = 57,
422
- [58] = 58,
423
- [59] = 59,
424
- [60] = 60,
425
- [61] = 44,
426
- };
427
-
428
- static inline bool sym_identifier_character_set_1(int32_t c) {
429
- return (c < 43514
430
- ? (c < 4193
431
- ? (c < 2707
432
- ? (c < 1994
433
- ? (c < 910
434
- ? (c < 736
435
- ? (c < 186
436
- ? (c < 'a'
437
- ? (c < '_'
438
- ? (c >= 'A' && c <= 'Z')
439
- : c <= '_')
440
- : (c <= 'z' || (c < 181
441
- ? c == 170
442
- : c <= 181)))
443
- : (c <= 186 || (c < 248
444
- ? (c < 216
445
- ? (c >= 192 && c <= 214)
446
- : c <= 246)
447
- : (c <= 705 || (c >= 710 && c <= 721)))))
448
- : (c <= 740 || (c < 891
449
- ? (c < 880
450
- ? (c < 750
451
- ? c == 748
452
- : c <= 750)
453
- : (c <= 884 || (c >= 886 && c <= 887)))
454
- : (c <= 893 || (c < 904
455
- ? (c < 902
456
- ? c == 895
457
- : c <= 902)
458
- : (c <= 906 || c == 908))))))
459
- : (c <= 929 || (c < 1649
460
- ? (c < 1376
461
- ? (c < 1162
462
- ? (c < 1015
463
- ? (c >= 931 && c <= 1013)
464
- : c <= 1153)
465
- : (c <= 1327 || (c < 1369
466
- ? (c >= 1329 && c <= 1366)
467
- : c <= 1369)))
468
- : (c <= 1416 || (c < 1568
469
- ? (c < 1519
470
- ? (c >= 1488 && c <= 1514)
471
- : c <= 1522)
472
- : (c <= 1610 || (c >= 1646 && c <= 1647)))))
473
- : (c <= 1747 || (c < 1791
474
- ? (c < 1774
475
- ? (c < 1765
476
- ? c == 1749
477
- : c <= 1766)
478
- : (c <= 1775 || (c >= 1786 && c <= 1788)))
479
- : (c <= 1791 || (c < 1869
480
- ? (c < 1810
481
- ? c == 1808
482
- : c <= 1839)
483
- : (c <= 1957 || c == 1969))))))))
484
- : (c <= 2026 || (c < 2482
485
- ? (c < 2208
486
- ? (c < 2088
487
- ? (c < 2048
488
- ? (c < 2042
489
- ? (c >= 2036 && c <= 2037)
490
- : c <= 2042)
491
- : (c <= 2069 || (c < 2084
492
- ? c == 2074
493
- : c <= 2084)))
494
- : (c <= 2088 || (c < 2160
495
- ? (c < 2144
496
- ? (c >= 2112 && c <= 2136)
497
- : c <= 2154)
498
- : (c <= 2183 || (c >= 2185 && c <= 2190)))))
499
- : (c <= 2249 || (c < 2417
500
- ? (c < 2384
501
- ? (c < 2365
502
- ? (c >= 2308 && c <= 2361)
503
- : c <= 2365)
504
- : (c <= 2384 || (c >= 2392 && c <= 2401)))
505
- : (c <= 2432 || (c < 2451
506
- ? (c < 2447
507
- ? (c >= 2437 && c <= 2444)
508
- : c <= 2448)
509
- : (c <= 2472 || (c >= 2474 && c <= 2480)))))))
510
- : (c <= 2482 || (c < 2579
511
- ? (c < 2527
512
- ? (c < 2510
513
- ? (c < 2493
514
- ? (c >= 2486 && c <= 2489)
515
- : c <= 2493)
516
- : (c <= 2510 || (c >= 2524 && c <= 2525)))
517
- : (c <= 2529 || (c < 2565
518
- ? (c < 2556
519
- ? (c >= 2544 && c <= 2545)
520
- : c <= 2556)
521
- : (c <= 2570 || (c >= 2575 && c <= 2576)))))
522
- : (c <= 2600 || (c < 2649
523
- ? (c < 2613
524
- ? (c < 2610
525
- ? (c >= 2602 && c <= 2608)
526
- : c <= 2611)
527
- : (c <= 2614 || (c >= 2616 && c <= 2617)))
528
- : (c <= 2652 || (c < 2693
529
- ? (c < 2674
530
- ? c == 2654
531
- : c <= 2676)
532
- : (c <= 2701 || (c >= 2703 && c <= 2705)))))))))))
533
- : (c <= 2728 || (c < 3242
534
- ? (c < 2962
535
- ? (c < 2858
536
- ? (c < 2784
537
- ? (c < 2741
538
- ? (c < 2738
539
- ? (c >= 2730 && c <= 2736)
540
- : c <= 2739)
541
- : (c <= 2745 || (c < 2768
542
- ? c == 2749
543
- : c <= 2768)))
544
- : (c <= 2785 || (c < 2831
545
- ? (c < 2821
546
- ? c == 2809
547
- : c <= 2828)
548
- : (c <= 2832 || (c >= 2835 && c <= 2856)))))
549
- : (c <= 2864 || (c < 2911
550
- ? (c < 2877
551
- ? (c < 2869
552
- ? (c >= 2866 && c <= 2867)
553
- : c <= 2873)
554
- : (c <= 2877 || (c >= 2908 && c <= 2909)))
555
- : (c <= 2913 || (c < 2949
556
- ? (c < 2947
557
- ? c == 2929
558
- : c <= 2947)
559
- : (c <= 2954 || (c >= 2958 && c <= 2960)))))))
560
- : (c <= 2965 || (c < 3090
561
- ? (c < 2984
562
- ? (c < 2974
563
- ? (c < 2972
564
- ? (c >= 2969 && c <= 2970)
565
- : c <= 2972)
566
- : (c <= 2975 || (c >= 2979 && c <= 2980)))
567
- : (c <= 2986 || (c < 3077
568
- ? (c < 3024
569
- ? (c >= 2990 && c <= 3001)
570
- : c <= 3024)
571
- : (c <= 3084 || (c >= 3086 && c <= 3088)))))
572
- : (c <= 3112 || (c < 3168
573
- ? (c < 3160
574
- ? (c < 3133
575
- ? (c >= 3114 && c <= 3129)
576
- : c <= 3133)
577
- : (c <= 3162 || c == 3165))
578
- : (c <= 3169 || (c < 3214
579
- ? (c < 3205
580
- ? c == 3200
581
- : c <= 3212)
582
- : (c <= 3216 || (c >= 3218 && c <= 3240)))))))))
583
- : (c <= 3251 || (c < 3648
584
- ? (c < 3412
585
- ? (c < 3332
586
- ? (c < 3293
587
- ? (c < 3261
588
- ? (c >= 3253 && c <= 3257)
589
- : c <= 3261)
590
- : (c <= 3294 || (c < 3313
591
- ? (c >= 3296 && c <= 3297)
592
- : c <= 3314)))
593
- : (c <= 3340 || (c < 3389
594
- ? (c < 3346
595
- ? (c >= 3342 && c <= 3344)
596
- : c <= 3386)
597
- : (c <= 3389 || c == 3406))))
598
- : (c <= 3414 || (c < 3507
599
- ? (c < 3461
600
- ? (c < 3450
601
- ? (c >= 3423 && c <= 3425)
602
- : c <= 3455)
603
- : (c <= 3478 || (c >= 3482 && c <= 3505)))
604
- : (c <= 3515 || (c < 3585
605
- ? (c < 3520
606
- ? c == 3517
607
- : c <= 3526)
608
- : (c <= 3632 || c == 3634))))))
609
- : (c <= 3654 || (c < 3782
610
- ? (c < 3749
611
- ? (c < 3718
612
- ? (c < 3716
613
- ? (c >= 3713 && c <= 3714)
614
- : c <= 3716)
615
- : (c <= 3722 || (c >= 3724 && c <= 3747)))
616
- : (c <= 3749 || (c < 3773
617
- ? (c < 3762
618
- ? (c >= 3751 && c <= 3760)
619
- : c <= 3762)
620
- : (c <= 3773 || (c >= 3776 && c <= 3780)))))
621
- : (c <= 3782 || (c < 3976
622
- ? (c < 3904
623
- ? (c < 3840
624
- ? (c >= 3804 && c <= 3807)
625
- : c <= 3840)
626
- : (c <= 3911 || (c >= 3913 && c <= 3948)))
627
- : (c <= 3980 || (c < 4176
628
- ? (c < 4159
629
- ? (c >= 4096 && c <= 4138)
630
- : c <= 4159)
631
- : (c <= 4181 || (c >= 4186 && c <= 4189)))))))))))))
632
- : (c <= 4193 || (c < 8134
633
- ? (c < 6176
634
- ? (c < 4808
635
- ? (c < 4688
636
- ? (c < 4295
637
- ? (c < 4213
638
- ? (c < 4206
639
- ? (c >= 4197 && c <= 4198)
640
- : c <= 4208)
641
- : (c <= 4225 || (c < 4256
642
- ? c == 4238
643
- : c <= 4293)))
644
- : (c <= 4295 || (c < 4348
645
- ? (c < 4304
646
- ? c == 4301
647
- : c <= 4346)
648
- : (c <= 4680 || (c >= 4682 && c <= 4685)))))
649
- : (c <= 4694 || (c < 4752
650
- ? (c < 4704
651
- ? (c < 4698
652
- ? c == 4696
653
- : c <= 4701)
654
- : (c <= 4744 || (c >= 4746 && c <= 4749)))
655
- : (c <= 4784 || (c < 4800
656
- ? (c < 4792
657
- ? (c >= 4786 && c <= 4789)
658
- : c <= 4798)
659
- : (c <= 4800 || (c >= 4802 && c <= 4805)))))))
660
- : (c <= 4822 || (c < 5792
661
- ? (c < 5024
662
- ? (c < 4888
663
- ? (c < 4882
664
- ? (c >= 4824 && c <= 4880)
665
- : c <= 4885)
666
- : (c <= 4954 || (c >= 4992 && c <= 5007)))
667
- : (c <= 5109 || (c < 5743
668
- ? (c < 5121
669
- ? (c >= 5112 && c <= 5117)
670
- : c <= 5740)
671
- : (c <= 5759 || (c >= 5761 && c <= 5786)))))
672
- : (c <= 5866 || (c < 5984
673
- ? (c < 5919
674
- ? (c < 5888
675
- ? (c >= 5870 && c <= 5880)
676
- : c <= 5905)
677
- : (c <= 5937 || (c >= 5952 && c <= 5969)))
678
- : (c <= 5996 || (c < 6103
679
- ? (c < 6016
680
- ? (c >= 5998 && c <= 6000)
681
- : c <= 6067)
682
- : (c <= 6103 || c == 6108))))))))
683
- : (c <= 6264 || (c < 7312
684
- ? (c < 6823
685
- ? (c < 6512
686
- ? (c < 6320
687
- ? (c < 6314
688
- ? (c >= 6272 && c <= 6312)
689
- : c <= 6314)
690
- : (c <= 6389 || (c < 6480
691
- ? (c >= 6400 && c <= 6430)
692
- : c <= 6509)))
693
- : (c <= 6516 || (c < 6656
694
- ? (c < 6576
695
- ? (c >= 6528 && c <= 6571)
696
- : c <= 6601)
697
- : (c <= 6678 || (c >= 6688 && c <= 6740)))))
698
- : (c <= 6823 || (c < 7098
699
- ? (c < 7043
700
- ? (c < 6981
701
- ? (c >= 6917 && c <= 6963)
702
- : c <= 6988)
703
- : (c <= 7072 || (c >= 7086 && c <= 7087)))
704
- : (c <= 7141 || (c < 7258
705
- ? (c < 7245
706
- ? (c >= 7168 && c <= 7203)
707
- : c <= 7247)
708
- : (c <= 7293 || (c >= 7296 && c <= 7304)))))))
709
- : (c <= 7354 || (c < 8008
710
- ? (c < 7418
711
- ? (c < 7406
712
- ? (c < 7401
713
- ? (c >= 7357 && c <= 7359)
714
- : c <= 7404)
715
- : (c <= 7411 || (c >= 7413 && c <= 7414)))
716
- : (c <= 7418 || (c < 7960
717
- ? (c < 7680
718
- ? (c >= 7424 && c <= 7615)
719
- : c <= 7957)
720
- : (c <= 7965 || (c >= 7968 && c <= 8005)))))
721
- : (c <= 8013 || (c < 8031
722
- ? (c < 8027
723
- ? (c < 8025
724
- ? (c >= 8016 && c <= 8023)
725
- : c <= 8025)
726
- : (c <= 8027 || c == 8029))
727
- : (c <= 8061 || (c < 8126
728
- ? (c < 8118
729
- ? (c >= 8064 && c <= 8116)
730
- : c <= 8124)
731
- : (c <= 8126 || (c >= 8130 && c <= 8132)))))))))))
732
- : (c <= 8140 || (c < 12337
733
- ? (c < 8544
734
- ? (c < 8458
735
- ? (c < 8305
736
- ? (c < 8160
737
- ? (c < 8150
738
- ? (c >= 8144 && c <= 8147)
739
- : c <= 8155)
740
- : (c <= 8172 || (c < 8182
741
- ? (c >= 8178 && c <= 8180)
742
- : c <= 8188)))
743
- : (c <= 8305 || (c < 8450
744
- ? (c < 8336
745
- ? c == 8319
746
- : c <= 8348)
747
- : (c <= 8450 || c == 8455))))
748
- : (c <= 8467 || (c < 8488
749
- ? (c < 8484
750
- ? (c < 8472
751
- ? c == 8469
752
- : c <= 8477)
753
- : (c <= 8484 || c == 8486))
754
- : (c <= 8488 || (c < 8517
755
- ? (c < 8508
756
- ? (c >= 8490 && c <= 8505)
757
- : c <= 8511)
758
- : (c <= 8521 || c == 8526))))))
759
- : (c <= 8584 || (c < 11680
760
- ? (c < 11559
761
- ? (c < 11506
762
- ? (c < 11499
763
- ? (c >= 11264 && c <= 11492)
764
- : c <= 11502)
765
- : (c <= 11507 || (c >= 11520 && c <= 11557)))
766
- : (c <= 11559 || (c < 11631
767
- ? (c < 11568
768
- ? c == 11565
769
- : c <= 11623)
770
- : (c <= 11631 || (c >= 11648 && c <= 11670)))))
771
- : (c <= 11686 || (c < 11720
772
- ? (c < 11704
773
- ? (c < 11696
774
- ? (c >= 11688 && c <= 11694)
775
- : c <= 11702)
776
- : (c <= 11710 || (c >= 11712 && c <= 11718)))
777
- : (c <= 11726 || (c < 12293
778
- ? (c < 11736
779
- ? (c >= 11728 && c <= 11734)
780
- : c <= 11742)
781
- : (c <= 12295 || (c >= 12321 && c <= 12329)))))))))
782
- : (c <= 12341 || (c < 42891
783
- ? (c < 19968
784
- ? (c < 12549
785
- ? (c < 12445
786
- ? (c < 12353
787
- ? (c >= 12344 && c <= 12348)
788
- : c <= 12438)
789
- : (c <= 12447 || (c < 12540
790
- ? (c >= 12449 && c <= 12538)
791
- : c <= 12543)))
792
- : (c <= 12591 || (c < 12784
793
- ? (c < 12704
794
- ? (c >= 12593 && c <= 12686)
795
- : c <= 12735)
796
- : (c <= 12799 || (c >= 13312 && c <= 19903)))))
797
- : (c <= 42124 || (c < 42560
798
- ? (c < 42512
799
- ? (c < 42240
800
- ? (c >= 42192 && c <= 42237)
801
- : c <= 42508)
802
- : (c <= 42527 || (c >= 42538 && c <= 42539)))
803
- : (c <= 42606 || (c < 42775
804
- ? (c < 42656
805
- ? (c >= 42623 && c <= 42653)
806
- : c <= 42735)
807
- : (c <= 42783 || (c >= 42786 && c <= 42888)))))))
808
- : (c <= 42954 || (c < 43250
809
- ? (c < 43011
810
- ? (c < 42965
811
- ? (c < 42963
812
- ? (c >= 42960 && c <= 42961)
813
- : c <= 42963)
814
- : (c <= 42969 || (c >= 42994 && c <= 43009)))
815
- : (c <= 43013 || (c < 43072
816
- ? (c < 43020
817
- ? (c >= 43015 && c <= 43018)
818
- : c <= 43042)
819
- : (c <= 43123 || (c >= 43138 && c <= 43187)))))
820
- : (c <= 43255 || (c < 43360
821
- ? (c < 43274
822
- ? (c < 43261
823
- ? c == 43259
824
- : c <= 43262)
825
- : (c <= 43301 || (c >= 43312 && c <= 43334)))
826
- : (c <= 43388 || (c < 43488
827
- ? (c < 43471
828
- ? (c >= 43396 && c <= 43442)
829
- : c <= 43471)
830
- : (c <= 43492 || (c >= 43494 && c <= 43503)))))))))))))))
831
- : (c <= 43518 || (c < 70727
832
- ? (c < 66956
833
- ? (c < 64914
834
- ? (c < 43868
835
- ? (c < 43714
836
- ? (c < 43646
837
- ? (c < 43588
838
- ? (c < 43584
839
- ? (c >= 43520 && c <= 43560)
840
- : c <= 43586)
841
- : (c <= 43595 || (c < 43642
842
- ? (c >= 43616 && c <= 43638)
843
- : c <= 43642)))
844
- : (c <= 43695 || (c < 43705
845
- ? (c < 43701
846
- ? c == 43697
847
- : c <= 43702)
848
- : (c <= 43709 || c == 43712))))
849
- : (c <= 43714 || (c < 43785
850
- ? (c < 43762
851
- ? (c < 43744
852
- ? (c >= 43739 && c <= 43741)
853
- : c <= 43754)
854
- : (c <= 43764 || (c >= 43777 && c <= 43782)))
855
- : (c <= 43790 || (c < 43816
856
- ? (c < 43808
857
- ? (c >= 43793 && c <= 43798)
858
- : c <= 43814)
859
- : (c <= 43822 || (c >= 43824 && c <= 43866)))))))
860
- : (c <= 43881 || (c < 64287
861
- ? (c < 63744
862
- ? (c < 55216
863
- ? (c < 44032
864
- ? (c >= 43888 && c <= 44002)
865
- : c <= 55203)
866
- : (c <= 55238 || (c >= 55243 && c <= 55291)))
867
- : (c <= 64109 || (c < 64275
868
- ? (c < 64256
869
- ? (c >= 64112 && c <= 64217)
870
- : c <= 64262)
871
- : (c <= 64279 || c == 64285))))
872
- : (c <= 64296 || (c < 64323
873
- ? (c < 64318
874
- ? (c < 64312
875
- ? (c >= 64298 && c <= 64310)
876
- : c <= 64316)
877
- : (c <= 64318 || (c >= 64320 && c <= 64321)))
878
- : (c <= 64324 || (c < 64612
879
- ? (c < 64467
880
- ? (c >= 64326 && c <= 64433)
881
- : c <= 64605)
882
- : (c <= 64829 || (c >= 64848 && c <= 64911)))))))))
883
- : (c <= 64967 || (c < 65599
884
- ? (c < 65382
885
- ? (c < 65147
886
- ? (c < 65139
887
- ? (c < 65137
888
- ? (c >= 65008 && c <= 65017)
889
- : c <= 65137)
890
- : (c <= 65139 || (c < 65145
891
- ? c == 65143
892
- : c <= 65145)))
893
- : (c <= 65147 || (c < 65313
894
- ? (c < 65151
895
- ? c == 65149
896
- : c <= 65276)
897
- : (c <= 65338 || (c >= 65345 && c <= 65370)))))
898
- : (c <= 65437 || (c < 65498
899
- ? (c < 65482
900
- ? (c < 65474
901
- ? (c >= 65440 && c <= 65470)
902
- : c <= 65479)
903
- : (c <= 65487 || (c >= 65490 && c <= 65495)))
904
- : (c <= 65500 || (c < 65576
905
- ? (c < 65549
906
- ? (c >= 65536 && c <= 65547)
907
- : c <= 65574)
908
- : (c <= 65594 || (c >= 65596 && c <= 65597)))))))
909
- : (c <= 65613 || (c < 66464
910
- ? (c < 66208
911
- ? (c < 65856
912
- ? (c < 65664
913
- ? (c >= 65616 && c <= 65629)
914
- : c <= 65786)
915
- : (c <= 65908 || (c >= 66176 && c <= 66204)))
916
- : (c <= 66256 || (c < 66384
917
- ? (c < 66349
918
- ? (c >= 66304 && c <= 66335)
919
- : c <= 66378)
920
- : (c <= 66421 || (c >= 66432 && c <= 66461)))))
921
- : (c <= 66499 || (c < 66776
922
- ? (c < 66560
923
- ? (c < 66513
924
- ? (c >= 66504 && c <= 66511)
925
- : c <= 66517)
926
- : (c <= 66717 || (c >= 66736 && c <= 66771)))
927
- : (c <= 66811 || (c < 66928
928
- ? (c < 66864
929
- ? (c >= 66816 && c <= 66855)
930
- : c <= 66915)
931
- : (c <= 66938 || (c >= 66940 && c <= 66954)))))))))))
932
- : (c <= 66962 || (c < 68864
933
- ? (c < 67828
934
- ? (c < 67506
935
- ? (c < 67072
936
- ? (c < 66979
937
- ? (c < 66967
938
- ? (c >= 66964 && c <= 66965)
939
- : c <= 66977)
940
- : (c <= 66993 || (c < 67003
941
- ? (c >= 66995 && c <= 67001)
942
- : c <= 67004)))
943
- : (c <= 67382 || (c < 67456
944
- ? (c < 67424
945
- ? (c >= 67392 && c <= 67413)
946
- : c <= 67431)
947
- : (c <= 67461 || (c >= 67463 && c <= 67504)))))
948
- : (c <= 67514 || (c < 67644
949
- ? (c < 67594
950
- ? (c < 67592
951
- ? (c >= 67584 && c <= 67589)
952
- : c <= 67592)
953
- : (c <= 67637 || (c >= 67639 && c <= 67640)))
954
- : (c <= 67644 || (c < 67712
955
- ? (c < 67680
956
- ? (c >= 67647 && c <= 67669)
957
- : c <= 67702)
958
- : (c <= 67742 || (c >= 67808 && c <= 67826)))))))
959
- : (c <= 67829 || (c < 68224
960
- ? (c < 68096
961
- ? (c < 67968
962
- ? (c < 67872
963
- ? (c >= 67840 && c <= 67861)
964
- : c <= 67897)
965
- : (c <= 68023 || (c >= 68030 && c <= 68031)))
966
- : (c <= 68096 || (c < 68121
967
- ? (c < 68117
968
- ? (c >= 68112 && c <= 68115)
969
- : c <= 68119)
970
- : (c <= 68149 || (c >= 68192 && c <= 68220)))))
971
- : (c <= 68252 || (c < 68448
972
- ? (c < 68352
973
- ? (c < 68297
974
- ? (c >= 68288 && c <= 68295)
975
- : c <= 68324)
976
- : (c <= 68405 || (c >= 68416 && c <= 68437)))
977
- : (c <= 68466 || (c < 68736
978
- ? (c < 68608
979
- ? (c >= 68480 && c <= 68497)
980
- : c <= 68680)
981
- : (c <= 68786 || (c >= 68800 && c <= 68850)))))))))
982
- : (c <= 68899 || (c < 70106
983
- ? (c < 69749
984
- ? (c < 69488
985
- ? (c < 69376
986
- ? (c < 69296
987
- ? (c >= 69248 && c <= 69289)
988
- : c <= 69297)
989
- : (c <= 69404 || (c < 69424
990
- ? c == 69415
991
- : c <= 69445)))
992
- : (c <= 69505 || (c < 69635
993
- ? (c < 69600
994
- ? (c >= 69552 && c <= 69572)
995
- : c <= 69622)
996
- : (c <= 69687 || (c >= 69745 && c <= 69746)))))
997
- : (c <= 69749 || (c < 69959
998
- ? (c < 69891
999
- ? (c < 69840
1000
- ? (c >= 69763 && c <= 69807)
1001
- : c <= 69864)
1002
- : (c <= 69926 || c == 69956))
1003
- : (c <= 69959 || (c < 70019
1004
- ? (c < 70006
1005
- ? (c >= 69968 && c <= 70002)
1006
- : c <= 70006)
1007
- : (c <= 70066 || (c >= 70081 && c <= 70084)))))))
1008
- : (c <= 70106 || (c < 70405
1009
- ? (c < 70280
1010
- ? (c < 70163
1011
- ? (c < 70144
1012
- ? c == 70108
1013
- : c <= 70161)
1014
- : (c <= 70187 || (c >= 70272 && c <= 70278)))
1015
- : (c <= 70280 || (c < 70303
1016
- ? (c < 70287
1017
- ? (c >= 70282 && c <= 70285)
1018
- : c <= 70301)
1019
- : (c <= 70312 || (c >= 70320 && c <= 70366)))))
1020
- : (c <= 70412 || (c < 70453
1021
- ? (c < 70442
1022
- ? (c < 70419
1023
- ? (c >= 70415 && c <= 70416)
1024
- : c <= 70440)
1025
- : (c <= 70448 || (c >= 70450 && c <= 70451)))
1026
- : (c <= 70457 || (c < 70493
1027
- ? (c < 70480
1028
- ? c == 70461
1029
- : c <= 70480)
1030
- : (c <= 70497 || (c >= 70656 && c <= 70708)))))))))))))
1031
- : (c <= 70730 || (c < 119894
1032
- ? (c < 73056
1033
- ? (c < 72001
1034
- ? (c < 71424
1035
- ? (c < 71128
1036
- ? (c < 70852
1037
- ? (c < 70784
1038
- ? (c >= 70751 && c <= 70753)
1039
- : c <= 70831)
1040
- : (c <= 70853 || (c < 71040
1041
- ? c == 70855
1042
- : c <= 71086)))
1043
- : (c <= 71131 || (c < 71296
1044
- ? (c < 71236
1045
- ? (c >= 71168 && c <= 71215)
1046
- : c <= 71236)
1047
- : (c <= 71338 || c == 71352))))
1048
- : (c <= 71450 || (c < 71945
1049
- ? (c < 71840
1050
- ? (c < 71680
1051
- ? (c >= 71488 && c <= 71494)
1052
- : c <= 71723)
1053
- : (c <= 71903 || (c >= 71935 && c <= 71942)))
1054
- : (c <= 71945 || (c < 71960
1055
- ? (c < 71957
1056
- ? (c >= 71948 && c <= 71955)
1057
- : c <= 71958)
1058
- : (c <= 71983 || c == 71999))))))
1059
- : (c <= 72001 || (c < 72349
1060
- ? (c < 72192
1061
- ? (c < 72161
1062
- ? (c < 72106
1063
- ? (c >= 72096 && c <= 72103)
1064
- : c <= 72144)
1065
- : (c <= 72161 || c == 72163))
1066
- : (c <= 72192 || (c < 72272
1067
- ? (c < 72250
1068
- ? (c >= 72203 && c <= 72242)
1069
- : c <= 72250)
1070
- : (c <= 72272 || (c >= 72284 && c <= 72329)))))
1071
- : (c <= 72349 || (c < 72818
1072
- ? (c < 72714
1073
- ? (c < 72704
1074
- ? (c >= 72368 && c <= 72440)
1075
- : c <= 72712)
1076
- : (c <= 72750 || c == 72768))
1077
- : (c <= 72847 || (c < 72971
1078
- ? (c < 72968
1079
- ? (c >= 72960 && c <= 72966)
1080
- : c <= 72969)
1081
- : (c <= 73008 || c == 73030))))))))
1082
- : (c <= 73061 || (c < 93952
1083
- ? (c < 82944
1084
- ? (c < 73728
1085
- ? (c < 73112
1086
- ? (c < 73066
1087
- ? (c >= 73063 && c <= 73064)
1088
- : c <= 73097)
1089
- : (c <= 73112 || (c < 73648
1090
- ? (c >= 73440 && c <= 73458)
1091
- : c <= 73648)))
1092
- : (c <= 74649 || (c < 77712
1093
- ? (c < 74880
1094
- ? (c >= 74752 && c <= 74862)
1095
- : c <= 75075)
1096
- : (c <= 77808 || (c >= 77824 && c <= 78894)))))
1097
- : (c <= 83526 || (c < 92928
1098
- ? (c < 92784
1099
- ? (c < 92736
1100
- ? (c >= 92160 && c <= 92728)
1101
- : c <= 92766)
1102
- : (c <= 92862 || (c >= 92880 && c <= 92909)))
1103
- : (c <= 92975 || (c < 93053
1104
- ? (c < 93027
1105
- ? (c >= 92992 && c <= 92995)
1106
- : c <= 93047)
1107
- : (c <= 93071 || (c >= 93760 && c <= 93823)))))))
1108
- : (c <= 94026 || (c < 110589
1109
- ? (c < 94208
1110
- ? (c < 94176
1111
- ? (c < 94099
1112
- ? c == 94032
1113
- : c <= 94111)
1114
- : (c <= 94177 || c == 94179))
1115
- : (c <= 100343 || (c < 110576
1116
- ? (c < 101632
1117
- ? (c >= 100352 && c <= 101589)
1118
- : c <= 101640)
1119
- : (c <= 110579 || (c >= 110581 && c <= 110587)))))
1120
- : (c <= 110590 || (c < 113664
1121
- ? (c < 110948
1122
- ? (c < 110928
1123
- ? (c >= 110592 && c <= 110882)
1124
- : c <= 110930)
1125
- : (c <= 110951 || (c >= 110960 && c <= 111355)))
1126
- : (c <= 113770 || (c < 113808
1127
- ? (c < 113792
1128
- ? (c >= 113776 && c <= 113788)
1129
- : c <= 113800)
1130
- : (c <= 113817 || (c >= 119808 && c <= 119892)))))))))))
1131
- : (c <= 119964 || (c < 125259
1132
- ? (c < 120572
1133
- ? (c < 120086
1134
- ? (c < 119995
1135
- ? (c < 119973
1136
- ? (c < 119970
1137
- ? (c >= 119966 && c <= 119967)
1138
- : c <= 119970)
1139
- : (c <= 119974 || (c < 119982
1140
- ? (c >= 119977 && c <= 119980)
1141
- : c <= 119993)))
1142
- : (c <= 119995 || (c < 120071
1143
- ? (c < 120005
1144
- ? (c >= 119997 && c <= 120003)
1145
- : c <= 120069)
1146
- : (c <= 120074 || (c >= 120077 && c <= 120084)))))
1147
- : (c <= 120092 || (c < 120138
1148
- ? (c < 120128
1149
- ? (c < 120123
1150
- ? (c >= 120094 && c <= 120121)
1151
- : c <= 120126)
1152
- : (c <= 120132 || c == 120134))
1153
- : (c <= 120144 || (c < 120514
1154
- ? (c < 120488
1155
- ? (c >= 120146 && c <= 120485)
1156
- : c <= 120512)
1157
- : (c <= 120538 || (c >= 120540 && c <= 120570)))))))
1158
- : (c <= 120596 || (c < 123191
1159
- ? (c < 120714
1160
- ? (c < 120656
1161
- ? (c < 120630
1162
- ? (c >= 120598 && c <= 120628)
1163
- : c <= 120654)
1164
- : (c <= 120686 || (c >= 120688 && c <= 120712)))
1165
- : (c <= 120744 || (c < 122624
1166
- ? (c < 120772
1167
- ? (c >= 120746 && c <= 120770)
1168
- : c <= 120779)
1169
- : (c <= 122654 || (c >= 123136 && c <= 123180)))))
1170
- : (c <= 123197 || (c < 124904
1171
- ? (c < 123584
1172
- ? (c < 123536
1173
- ? c == 123214
1174
- : c <= 123565)
1175
- : (c <= 123627 || (c >= 124896 && c <= 124902)))
1176
- : (c <= 124907 || (c < 124928
1177
- ? (c < 124912
1178
- ? (c >= 124909 && c <= 124910)
1179
- : c <= 124926)
1180
- : (c <= 125124 || (c >= 125184 && c <= 125251)))))))))
1181
- : (c <= 125259 || (c < 126559
1182
- ? (c < 126535
1183
- ? (c < 126505
1184
- ? (c < 126497
1185
- ? (c < 126469
1186
- ? (c >= 126464 && c <= 126467)
1187
- : c <= 126495)
1188
- : (c <= 126498 || (c < 126503
1189
- ? c == 126500
1190
- : c <= 126503)))
1191
- : (c <= 126514 || (c < 126523
1192
- ? (c < 126521
1193
- ? (c >= 126516 && c <= 126519)
1194
- : c <= 126521)
1195
- : (c <= 126523 || c == 126530))))
1196
- : (c <= 126535 || (c < 126548
1197
- ? (c < 126541
1198
- ? (c < 126539
1199
- ? c == 126537
1200
- : c <= 126539)
1201
- : (c <= 126543 || (c >= 126545 && c <= 126546)))
1202
- : (c <= 126548 || (c < 126555
1203
- ? (c < 126553
1204
- ? c == 126551
1205
- : c <= 126553)
1206
- : (c <= 126555 || c == 126557))))))
1207
- : (c <= 126559 || (c < 126625
1208
- ? (c < 126580
1209
- ? (c < 126567
1210
- ? (c < 126564
1211
- ? (c >= 126561 && c <= 126562)
1212
- : c <= 126564)
1213
- : (c <= 126570 || (c >= 126572 && c <= 126578)))
1214
- : (c <= 126583 || (c < 126592
1215
- ? (c < 126590
1216
- ? (c >= 126585 && c <= 126588)
1217
- : c <= 126590)
1218
- : (c <= 126601 || (c >= 126603 && c <= 126619)))))
1219
- : (c <= 126627 || (c < 177984
1220
- ? (c < 131072
1221
- ? (c < 126635
1222
- ? (c >= 126629 && c <= 126633)
1223
- : c <= 126651)
1224
- : (c <= 173791 || (c >= 173824 && c <= 177976)))
1225
- : (c <= 178205 || (c < 194560
1226
- ? (c < 183984
1227
- ? (c >= 178208 && c <= 183969)
1228
- : c <= 191456)
1229
- : (c <= 195101 || (c >= 196608 && c <= 201546)))))))))))))))));
1230
- }
1231
-
1232
- static inline bool sym_identifier_character_set_2(int32_t c) {
1233
- return (c < 43616
1234
- ? (c < 3782
1235
- ? (c < 2748
1236
- ? (c < 2045
1237
- ? (c < 1015
1238
- ? (c < 710
1239
- ? (c < 181
1240
- ? (c < '_'
1241
- ? (c < 'A'
1242
- ? (c >= '0' && c <= '9')
1243
- : c <= 'Z')
1244
- : (c <= '_' || (c < 170
1245
- ? (c >= 'a' && c <= 'z')
1246
- : c <= 170)))
1247
- : (c <= 181 || (c < 192
1248
- ? (c < 186
1249
- ? c == 183
1250
- : c <= 186)
1251
- : (c <= 214 || (c < 248
1252
- ? (c >= 216 && c <= 246)
1253
- : c <= 705)))))
1254
- : (c <= 721 || (c < 891
1255
- ? (c < 750
1256
- ? (c < 748
1257
- ? (c >= 736 && c <= 740)
1258
- : c <= 748)
1259
- : (c <= 750 || (c < 886
1260
- ? (c >= 768 && c <= 884)
1261
- : c <= 887)))
1262
- : (c <= 893 || (c < 908
1263
- ? (c < 902
1264
- ? c == 895
1265
- : c <= 906)
1266
- : (c <= 908 || (c < 931
1267
- ? (c >= 910 && c <= 929)
1268
- : c <= 1013)))))))
1269
- : (c <= 1153 || (c < 1519
1270
- ? (c < 1425
1271
- ? (c < 1329
1272
- ? (c < 1162
1273
- ? (c >= 1155 && c <= 1159)
1274
- : c <= 1327)
1275
- : (c <= 1366 || (c < 1376
1276
- ? c == 1369
1277
- : c <= 1416)))
1278
- : (c <= 1469 || (c < 1476
1279
- ? (c < 1473
1280
- ? c == 1471
1281
- : c <= 1474)
1282
- : (c <= 1477 || (c < 1488
1283
- ? c == 1479
1284
- : c <= 1514)))))
1285
- : (c <= 1522 || (c < 1770
1286
- ? (c < 1646
1287
- ? (c < 1568
1288
- ? (c >= 1552 && c <= 1562)
1289
- : c <= 1641)
1290
- : (c <= 1747 || (c < 1759
1291
- ? (c >= 1749 && c <= 1756)
1292
- : c <= 1768)))
1293
- : (c <= 1788 || (c < 1869
1294
- ? (c < 1808
1295
- ? c == 1791
1296
- : c <= 1866)
1297
- : (c <= 1969 || (c < 2042
1298
- ? (c >= 1984 && c <= 2037)
1299
- : c <= 2042)))))))))
1300
- : (c <= 2045 || (c < 2558
1301
- ? (c < 2451
1302
- ? (c < 2200
1303
- ? (c < 2144
1304
- ? (c < 2112
1305
- ? (c >= 2048 && c <= 2093)
1306
- : c <= 2139)
1307
- : (c <= 2154 || (c < 2185
1308
- ? (c >= 2160 && c <= 2183)
1309
- : c <= 2190)))
1310
- : (c <= 2273 || (c < 2417
1311
- ? (c < 2406
1312
- ? (c >= 2275 && c <= 2403)
1313
- : c <= 2415)
1314
- : (c <= 2435 || (c < 2447
1315
- ? (c >= 2437 && c <= 2444)
1316
- : c <= 2448)))))
1317
- : (c <= 2472 || (c < 2507
1318
- ? (c < 2486
1319
- ? (c < 2482
1320
- ? (c >= 2474 && c <= 2480)
1321
- : c <= 2482)
1322
- : (c <= 2489 || (c < 2503
1323
- ? (c >= 2492 && c <= 2500)
1324
- : c <= 2504)))
1325
- : (c <= 2510 || (c < 2527
1326
- ? (c < 2524
1327
- ? c == 2519
1328
- : c <= 2525)
1329
- : (c <= 2531 || (c < 2556
1330
- ? (c >= 2534 && c <= 2545)
1331
- : c <= 2556)))))))
1332
- : (c <= 2558 || (c < 2635
1333
- ? (c < 2610
1334
- ? (c < 2575
1335
- ? (c < 2565
1336
- ? (c >= 2561 && c <= 2563)
1337
- : c <= 2570)
1338
- : (c <= 2576 || (c < 2602
1339
- ? (c >= 2579 && c <= 2600)
1340
- : c <= 2608)))
1341
- : (c <= 2611 || (c < 2620
1342
- ? (c < 2616
1343
- ? (c >= 2613 && c <= 2614)
1344
- : c <= 2617)
1345
- : (c <= 2620 || (c < 2631
1346
- ? (c >= 2622 && c <= 2626)
1347
- : c <= 2632)))))
1348
- : (c <= 2637 || (c < 2693
1349
- ? (c < 2654
1350
- ? (c < 2649
1351
- ? c == 2641
1352
- : c <= 2652)
1353
- : (c <= 2654 || (c < 2689
1354
- ? (c >= 2662 && c <= 2677)
1355
- : c <= 2691)))
1356
- : (c <= 2701 || (c < 2730
1357
- ? (c < 2707
1358
- ? (c >= 2703 && c <= 2705)
1359
- : c <= 2728)
1360
- : (c <= 2736 || (c < 2741
1361
- ? (c >= 2738 && c <= 2739)
1362
- : c <= 2745)))))))))))
1363
- : (c <= 2757 || (c < 3168
1364
- ? (c < 2958
1365
- ? (c < 2866
1366
- ? (c < 2809
1367
- ? (c < 2768
1368
- ? (c < 2763
1369
- ? (c >= 2759 && c <= 2761)
1370
- : c <= 2765)
1371
- : (c <= 2768 || (c < 2790
1372
- ? (c >= 2784 && c <= 2787)
1373
- : c <= 2799)))
1374
- : (c <= 2815 || (c < 2831
1375
- ? (c < 2821
1376
- ? (c >= 2817 && c <= 2819)
1377
- : c <= 2828)
1378
- : (c <= 2832 || (c < 2858
1379
- ? (c >= 2835 && c <= 2856)
1380
- : c <= 2864)))))
1381
- : (c <= 2867 || (c < 2908
1382
- ? (c < 2887
1383
- ? (c < 2876
1384
- ? (c >= 2869 && c <= 2873)
1385
- : c <= 2884)
1386
- : (c <= 2888 || (c < 2901
1387
- ? (c >= 2891 && c <= 2893)
1388
- : c <= 2903)))
1389
- : (c <= 2909 || (c < 2929
1390
- ? (c < 2918
1391
- ? (c >= 2911 && c <= 2915)
1392
- : c <= 2927)
1393
- : (c <= 2929 || (c < 2949
1394
- ? (c >= 2946 && c <= 2947)
1395
- : c <= 2954)))))))
1396
- : (c <= 2960 || (c < 3031
1397
- ? (c < 2984
1398
- ? (c < 2972
1399
- ? (c < 2969
1400
- ? (c >= 2962 && c <= 2965)
1401
- : c <= 2970)
1402
- : (c <= 2972 || (c < 2979
1403
- ? (c >= 2974 && c <= 2975)
1404
- : c <= 2980)))
1405
- : (c <= 2986 || (c < 3014
1406
- ? (c < 3006
1407
- ? (c >= 2990 && c <= 3001)
1408
- : c <= 3010)
1409
- : (c <= 3016 || (c < 3024
1410
- ? (c >= 3018 && c <= 3021)
1411
- : c <= 3024)))))
1412
- : (c <= 3031 || (c < 3132
1413
- ? (c < 3086
1414
- ? (c < 3072
1415
- ? (c >= 3046 && c <= 3055)
1416
- : c <= 3084)
1417
- : (c <= 3088 || (c < 3114
1418
- ? (c >= 3090 && c <= 3112)
1419
- : c <= 3129)))
1420
- : (c <= 3140 || (c < 3157
1421
- ? (c < 3146
1422
- ? (c >= 3142 && c <= 3144)
1423
- : c <= 3149)
1424
- : (c <= 3158 || (c < 3165
1425
- ? (c >= 3160 && c <= 3162)
1426
- : c <= 3165)))))))))
1427
- : (c <= 3171 || (c < 3450
1428
- ? (c < 3293
1429
- ? (c < 3242
1430
- ? (c < 3205
1431
- ? (c < 3200
1432
- ? (c >= 3174 && c <= 3183)
1433
- : c <= 3203)
1434
- : (c <= 3212 || (c < 3218
1435
- ? (c >= 3214 && c <= 3216)
1436
- : c <= 3240)))
1437
- : (c <= 3251 || (c < 3270
1438
- ? (c < 3260
1439
- ? (c >= 3253 && c <= 3257)
1440
- : c <= 3268)
1441
- : (c <= 3272 || (c < 3285
1442
- ? (c >= 3274 && c <= 3277)
1443
- : c <= 3286)))))
1444
- : (c <= 3294 || (c < 3346
1445
- ? (c < 3313
1446
- ? (c < 3302
1447
- ? (c >= 3296 && c <= 3299)
1448
- : c <= 3311)
1449
- : (c <= 3314 || (c < 3342
1450
- ? (c >= 3328 && c <= 3340)
1451
- : c <= 3344)))
1452
- : (c <= 3396 || (c < 3412
1453
- ? (c < 3402
1454
- ? (c >= 3398 && c <= 3400)
1455
- : c <= 3406)
1456
- : (c <= 3415 || (c < 3430
1457
- ? (c >= 3423 && c <= 3427)
1458
- : c <= 3439)))))))
1459
- : (c <= 3455 || (c < 3570
1460
- ? (c < 3520
1461
- ? (c < 3482
1462
- ? (c < 3461
1463
- ? (c >= 3457 && c <= 3459)
1464
- : c <= 3478)
1465
- : (c <= 3505 || (c < 3517
1466
- ? (c >= 3507 && c <= 3515)
1467
- : c <= 3517)))
1468
- : (c <= 3526 || (c < 3542
1469
- ? (c < 3535
1470
- ? c == 3530
1471
- : c <= 3540)
1472
- : (c <= 3542 || (c < 3558
1473
- ? (c >= 3544 && c <= 3551)
1474
- : c <= 3567)))))
1475
- : (c <= 3571 || (c < 3718
1476
- ? (c < 3664
1477
- ? (c < 3648
1478
- ? (c >= 3585 && c <= 3642)
1479
- : c <= 3662)
1480
- : (c <= 3673 || (c < 3716
1481
- ? (c >= 3713 && c <= 3714)
1482
- : c <= 3716)))
1483
- : (c <= 3722 || (c < 3751
1484
- ? (c < 3749
1485
- ? (c >= 3724 && c <= 3747)
1486
- : c <= 3749)
1487
- : (c <= 3773 || (c >= 3776 && c <= 3780)))))))))))))
1488
- : (c <= 3782 || (c < 8025
1489
- ? (c < 5888
1490
- ? (c < 4688
1491
- ? (c < 3953
1492
- ? (c < 3872
1493
- ? (c < 3804
1494
- ? (c < 3792
1495
- ? (c >= 3784 && c <= 3789)
1496
- : c <= 3801)
1497
- : (c <= 3807 || (c < 3864
1498
- ? c == 3840
1499
- : c <= 3865)))
1500
- : (c <= 3881 || (c < 3897
1501
- ? (c < 3895
1502
- ? c == 3893
1503
- : c <= 3895)
1504
- : (c <= 3897 || (c < 3913
1505
- ? (c >= 3902 && c <= 3911)
1506
- : c <= 3948)))))
1507
- : (c <= 3972 || (c < 4256
1508
- ? (c < 4038
1509
- ? (c < 3993
1510
- ? (c >= 3974 && c <= 3991)
1511
- : c <= 4028)
1512
- : (c <= 4038 || (c < 4176
1513
- ? (c >= 4096 && c <= 4169)
1514
- : c <= 4253)))
1515
- : (c <= 4293 || (c < 4304
1516
- ? (c < 4301
1517
- ? c == 4295
1518
- : c <= 4301)
1519
- : (c <= 4346 || (c < 4682
1520
- ? (c >= 4348 && c <= 4680)
1521
- : c <= 4685)))))))
1522
- : (c <= 4694 || (c < 4882
1523
- ? (c < 4786
1524
- ? (c < 4704
1525
- ? (c < 4698
1526
- ? c == 4696
1527
- : c <= 4701)
1528
- : (c <= 4744 || (c < 4752
1529
- ? (c >= 4746 && c <= 4749)
1530
- : c <= 4784)))
1531
- : (c <= 4789 || (c < 4802
1532
- ? (c < 4800
1533
- ? (c >= 4792 && c <= 4798)
1534
- : c <= 4800)
1535
- : (c <= 4805 || (c < 4824
1536
- ? (c >= 4808 && c <= 4822)
1537
- : c <= 4880)))))
1538
- : (c <= 4885 || (c < 5112
1539
- ? (c < 4969
1540
- ? (c < 4957
1541
- ? (c >= 4888 && c <= 4954)
1542
- : c <= 4959)
1543
- : (c <= 4977 || (c < 5024
1544
- ? (c >= 4992 && c <= 5007)
1545
- : c <= 5109)))
1546
- : (c <= 5117 || (c < 5761
1547
- ? (c < 5743
1548
- ? (c >= 5121 && c <= 5740)
1549
- : c <= 5759)
1550
- : (c <= 5786 || (c < 5870
1551
- ? (c >= 5792 && c <= 5866)
1552
- : c <= 5880)))))))))
1553
- : (c <= 5909 || (c < 6688
1554
- ? (c < 6176
1555
- ? (c < 6016
1556
- ? (c < 5984
1557
- ? (c < 5952
1558
- ? (c >= 5919 && c <= 5940)
1559
- : c <= 5971)
1560
- : (c <= 5996 || (c < 6002
1561
- ? (c >= 5998 && c <= 6000)
1562
- : c <= 6003)))
1563
- : (c <= 6099 || (c < 6112
1564
- ? (c < 6108
1565
- ? c == 6103
1566
- : c <= 6109)
1567
- : (c <= 6121 || (c < 6159
1568
- ? (c >= 6155 && c <= 6157)
1569
- : c <= 6169)))))
1570
- : (c <= 6264 || (c < 6470
1571
- ? (c < 6400
1572
- ? (c < 6320
1573
- ? (c >= 6272 && c <= 6314)
1574
- : c <= 6389)
1575
- : (c <= 6430 || (c < 6448
1576
- ? (c >= 6432 && c <= 6443)
1577
- : c <= 6459)))
1578
- : (c <= 6509 || (c < 6576
1579
- ? (c < 6528
1580
- ? (c >= 6512 && c <= 6516)
1581
- : c <= 6571)
1582
- : (c <= 6601 || (c < 6656
1583
- ? (c >= 6608 && c <= 6618)
1584
- : c <= 6683)))))))
1585
- : (c <= 6750 || (c < 7232
1586
- ? (c < 6847
1587
- ? (c < 6800
1588
- ? (c < 6783
1589
- ? (c >= 6752 && c <= 6780)
1590
- : c <= 6793)
1591
- : (c <= 6809 || (c < 6832
1592
- ? c == 6823
1593
- : c <= 6845)))
1594
- : (c <= 6862 || (c < 7019
1595
- ? (c < 6992
1596
- ? (c >= 6912 && c <= 6988)
1597
- : c <= 7001)
1598
- : (c <= 7027 || (c < 7168
1599
- ? (c >= 7040 && c <= 7155)
1600
- : c <= 7223)))))
1601
- : (c <= 7241 || (c < 7380
1602
- ? (c < 7312
1603
- ? (c < 7296
1604
- ? (c >= 7245 && c <= 7293)
1605
- : c <= 7304)
1606
- : (c <= 7354 || (c < 7376
1607
- ? (c >= 7357 && c <= 7359)
1608
- : c <= 7378)))
1609
- : (c <= 7418 || (c < 7968
1610
- ? (c < 7960
1611
- ? (c >= 7424 && c <= 7957)
1612
- : c <= 7965)
1613
- : (c <= 8005 || (c < 8016
1614
- ? (c >= 8008 && c <= 8013)
1615
- : c <= 8023)))))))))))
1616
- : (c <= 8025 || (c < 11720
1617
- ? (c < 8458
1618
- ? (c < 8178
1619
- ? (c < 8126
1620
- ? (c < 8031
1621
- ? (c < 8029
1622
- ? c == 8027
1623
- : c <= 8029)
1624
- : (c <= 8061 || (c < 8118
1625
- ? (c >= 8064 && c <= 8116)
1626
- : c <= 8124)))
1627
- : (c <= 8126 || (c < 8144
1628
- ? (c < 8134
1629
- ? (c >= 8130 && c <= 8132)
1630
- : c <= 8140)
1631
- : (c <= 8147 || (c < 8160
1632
- ? (c >= 8150 && c <= 8155)
1633
- : c <= 8172)))))
1634
- : (c <= 8180 || (c < 8336
1635
- ? (c < 8276
1636
- ? (c < 8255
1637
- ? (c >= 8182 && c <= 8188)
1638
- : c <= 8256)
1639
- : (c <= 8276 || (c < 8319
1640
- ? c == 8305
1641
- : c <= 8319)))
1642
- : (c <= 8348 || (c < 8421
1643
- ? (c < 8417
1644
- ? (c >= 8400 && c <= 8412)
1645
- : c <= 8417)
1646
- : (c <= 8432 || (c < 8455
1647
- ? c == 8450
1648
- : c <= 8455)))))))
1649
- : (c <= 8467 || (c < 11499
1650
- ? (c < 8490
1651
- ? (c < 8484
1652
- ? (c < 8472
1653
- ? c == 8469
1654
- : c <= 8477)
1655
- : (c <= 8484 || (c < 8488
1656
- ? c == 8486
1657
- : c <= 8488)))
1658
- : (c <= 8505 || (c < 8526
1659
- ? (c < 8517
1660
- ? (c >= 8508 && c <= 8511)
1661
- : c <= 8521)
1662
- : (c <= 8526 || (c < 11264
1663
- ? (c >= 8544 && c <= 8584)
1664
- : c <= 11492)))))
1665
- : (c <= 11507 || (c < 11647
1666
- ? (c < 11565
1667
- ? (c < 11559
1668
- ? (c >= 11520 && c <= 11557)
1669
- : c <= 11559)
1670
- : (c <= 11565 || (c < 11631
1671
- ? (c >= 11568 && c <= 11623)
1672
- : c <= 11631)))
1673
- : (c <= 11670 || (c < 11696
1674
- ? (c < 11688
1675
- ? (c >= 11680 && c <= 11686)
1676
- : c <= 11694)
1677
- : (c <= 11702 || (c < 11712
1678
- ? (c >= 11704 && c <= 11710)
1679
- : c <= 11718)))))))))
1680
- : (c <= 11726 || (c < 42623
1681
- ? (c < 12540
1682
- ? (c < 12337
1683
- ? (c < 11744
1684
- ? (c < 11736
1685
- ? (c >= 11728 && c <= 11734)
1686
- : c <= 11742)
1687
- : (c <= 11775 || (c < 12321
1688
- ? (c >= 12293 && c <= 12295)
1689
- : c <= 12335)))
1690
- : (c <= 12341 || (c < 12441
1691
- ? (c < 12353
1692
- ? (c >= 12344 && c <= 12348)
1693
- : c <= 12438)
1694
- : (c <= 12442 || (c < 12449
1695
- ? (c >= 12445 && c <= 12447)
1696
- : c <= 12538)))))
1697
- : (c <= 12543 || (c < 19968
1698
- ? (c < 12704
1699
- ? (c < 12593
1700
- ? (c >= 12549 && c <= 12591)
1701
- : c <= 12686)
1702
- : (c <= 12735 || (c < 13312
1703
- ? (c >= 12784 && c <= 12799)
1704
- : c <= 19903)))
1705
- : (c <= 42124 || (c < 42512
1706
- ? (c < 42240
1707
- ? (c >= 42192 && c <= 42237)
1708
- : c <= 42508)
1709
- : (c <= 42539 || (c < 42612
1710
- ? (c >= 42560 && c <= 42607)
1711
- : c <= 42621)))))))
1712
- : (c <= 42737 || (c < 43232
1713
- ? (c < 42965
1714
- ? (c < 42891
1715
- ? (c < 42786
1716
- ? (c >= 42775 && c <= 42783)
1717
- : c <= 42888)
1718
- : (c <= 42954 || (c < 42963
1719
- ? (c >= 42960 && c <= 42961)
1720
- : c <= 42963)))
1721
- : (c <= 42969 || (c < 43072
1722
- ? (c < 43052
1723
- ? (c >= 42994 && c <= 43047)
1724
- : c <= 43052)
1725
- : (c <= 43123 || (c < 43216
1726
- ? (c >= 43136 && c <= 43205)
1727
- : c <= 43225)))))
1728
- : (c <= 43255 || (c < 43471
1729
- ? (c < 43312
1730
- ? (c < 43261
1731
- ? c == 43259
1732
- : c <= 43309)
1733
- : (c <= 43347 || (c < 43392
1734
- ? (c >= 43360 && c <= 43388)
1735
- : c <= 43456)))
1736
- : (c <= 43481 || (c < 43584
1737
- ? (c < 43520
1738
- ? (c >= 43488 && c <= 43518)
1739
- : c <= 43574)
1740
- : (c <= 43597 || (c >= 43600 && c <= 43609)))))))))))))))
1741
- : (c <= 43638 || (c < 71453
1742
- ? (c < 67639
1743
- ? (c < 65345
1744
- ? (c < 64312
1745
- ? (c < 43888
1746
- ? (c < 43785
1747
- ? (c < 43744
1748
- ? (c < 43739
1749
- ? (c >= 43642 && c <= 43714)
1750
- : c <= 43741)
1751
- : (c <= 43759 || (c < 43777
1752
- ? (c >= 43762 && c <= 43766)
1753
- : c <= 43782)))
1754
- : (c <= 43790 || (c < 43816
1755
- ? (c < 43808
1756
- ? (c >= 43793 && c <= 43798)
1757
- : c <= 43814)
1758
- : (c <= 43822 || (c < 43868
1759
- ? (c >= 43824 && c <= 43866)
1760
- : c <= 43881)))))
1761
- : (c <= 44010 || (c < 63744
1762
- ? (c < 44032
1763
- ? (c < 44016
1764
- ? (c >= 44012 && c <= 44013)
1765
- : c <= 44025)
1766
- : (c <= 55203 || (c < 55243
1767
- ? (c >= 55216 && c <= 55238)
1768
- : c <= 55291)))
1769
- : (c <= 64109 || (c < 64275
1770
- ? (c < 64256
1771
- ? (c >= 64112 && c <= 64217)
1772
- : c <= 64262)
1773
- : (c <= 64279 || (c < 64298
1774
- ? (c >= 64285 && c <= 64296)
1775
- : c <= 64310)))))))
1776
- : (c <= 64316 || (c < 65075
1777
- ? (c < 64612
1778
- ? (c < 64323
1779
- ? (c < 64320
1780
- ? c == 64318
1781
- : c <= 64321)
1782
- : (c <= 64324 || (c < 64467
1783
- ? (c >= 64326 && c <= 64433)
1784
- : c <= 64605)))
1785
- : (c <= 64829 || (c < 65008
1786
- ? (c < 64914
1787
- ? (c >= 64848 && c <= 64911)
1788
- : c <= 64967)
1789
- : (c <= 65017 || (c < 65056
1790
- ? (c >= 65024 && c <= 65039)
1791
- : c <= 65071)))))
1792
- : (c <= 65076 || (c < 65147
1793
- ? (c < 65139
1794
- ? (c < 65137
1795
- ? (c >= 65101 && c <= 65103)
1796
- : c <= 65137)
1797
- : (c <= 65139 || (c < 65145
1798
- ? c == 65143
1799
- : c <= 65145)))
1800
- : (c <= 65147 || (c < 65296
1801
- ? (c < 65151
1802
- ? c == 65149
1803
- : c <= 65276)
1804
- : (c <= 65305 || (c < 65343
1805
- ? (c >= 65313 && c <= 65338)
1806
- : c <= 65343)))))))))
1807
- : (c <= 65370 || (c < 66513
1808
- ? (c < 65664
1809
- ? (c < 65536
1810
- ? (c < 65482
1811
- ? (c < 65474
1812
- ? (c >= 65382 && c <= 65470)
1813
- : c <= 65479)
1814
- : (c <= 65487 || (c < 65498
1815
- ? (c >= 65490 && c <= 65495)
1816
- : c <= 65500)))
1817
- : (c <= 65547 || (c < 65596
1818
- ? (c < 65576
1819
- ? (c >= 65549 && c <= 65574)
1820
- : c <= 65594)
1821
- : (c <= 65597 || (c < 65616
1822
- ? (c >= 65599 && c <= 65613)
1823
- : c <= 65629)))))
1824
- : (c <= 65786 || (c < 66304
1825
- ? (c < 66176
1826
- ? (c < 66045
1827
- ? (c >= 65856 && c <= 65908)
1828
- : c <= 66045)
1829
- : (c <= 66204 || (c < 66272
1830
- ? (c >= 66208 && c <= 66256)
1831
- : c <= 66272)))
1832
- : (c <= 66335 || (c < 66432
1833
- ? (c < 66384
1834
- ? (c >= 66349 && c <= 66378)
1835
- : c <= 66426)
1836
- : (c <= 66461 || (c < 66504
1837
- ? (c >= 66464 && c <= 66499)
1838
- : c <= 66511)))))))
1839
- : (c <= 66517 || (c < 66979
1840
- ? (c < 66864
1841
- ? (c < 66736
1842
- ? (c < 66720
1843
- ? (c >= 66560 && c <= 66717)
1844
- : c <= 66729)
1845
- : (c <= 66771 || (c < 66816
1846
- ? (c >= 66776 && c <= 66811)
1847
- : c <= 66855)))
1848
- : (c <= 66915 || (c < 66956
1849
- ? (c < 66940
1850
- ? (c >= 66928 && c <= 66938)
1851
- : c <= 66954)
1852
- : (c <= 66962 || (c < 66967
1853
- ? (c >= 66964 && c <= 66965)
1854
- : c <= 66977)))))
1855
- : (c <= 66993 || (c < 67456
1856
- ? (c < 67072
1857
- ? (c < 67003
1858
- ? (c >= 66995 && c <= 67001)
1859
- : c <= 67004)
1860
- : (c <= 67382 || (c < 67424
1861
- ? (c >= 67392 && c <= 67413)
1862
- : c <= 67431)))
1863
- : (c <= 67461 || (c < 67584
1864
- ? (c < 67506
1865
- ? (c >= 67463 && c <= 67504)
1866
- : c <= 67514)
1867
- : (c <= 67589 || (c < 67594
1868
- ? c == 67592
1869
- : c <= 67637)))))))))))
1870
- : (c <= 67640 || (c < 69956
1871
- ? (c < 68448
1872
- ? (c < 68101
1873
- ? (c < 67828
1874
- ? (c < 67680
1875
- ? (c < 67647
1876
- ? c == 67644
1877
- : c <= 67669)
1878
- : (c <= 67702 || (c < 67808
1879
- ? (c >= 67712 && c <= 67742)
1880
- : c <= 67826)))
1881
- : (c <= 67829 || (c < 67968
1882
- ? (c < 67872
1883
- ? (c >= 67840 && c <= 67861)
1884
- : c <= 67897)
1885
- : (c <= 68023 || (c < 68096
1886
- ? (c >= 68030 && c <= 68031)
1887
- : c <= 68099)))))
1888
- : (c <= 68102 || (c < 68192
1889
- ? (c < 68121
1890
- ? (c < 68117
1891
- ? (c >= 68108 && c <= 68115)
1892
- : c <= 68119)
1893
- : (c <= 68149 || (c < 68159
1894
- ? (c >= 68152 && c <= 68154)
1895
- : c <= 68159)))
1896
- : (c <= 68220 || (c < 68297
1897
- ? (c < 68288
1898
- ? (c >= 68224 && c <= 68252)
1899
- : c <= 68295)
1900
- : (c <= 68326 || (c < 68416
1901
- ? (c >= 68352 && c <= 68405)
1902
- : c <= 68437)))))))
1903
- : (c <= 68466 || (c < 69424
1904
- ? (c < 68912
1905
- ? (c < 68736
1906
- ? (c < 68608
1907
- ? (c >= 68480 && c <= 68497)
1908
- : c <= 68680)
1909
- : (c <= 68786 || (c < 68864
1910
- ? (c >= 68800 && c <= 68850)
1911
- : c <= 68903)))
1912
- : (c <= 68921 || (c < 69296
1913
- ? (c < 69291
1914
- ? (c >= 69248 && c <= 69289)
1915
- : c <= 69292)
1916
- : (c <= 69297 || (c < 69415
1917
- ? (c >= 69376 && c <= 69404)
1918
- : c <= 69415)))))
1919
- : (c <= 69456 || (c < 69759
1920
- ? (c < 69600
1921
- ? (c < 69552
1922
- ? (c >= 69488 && c <= 69509)
1923
- : c <= 69572)
1924
- : (c <= 69622 || (c < 69734
1925
- ? (c >= 69632 && c <= 69702)
1926
- : c <= 69749)))
1927
- : (c <= 69818 || (c < 69872
1928
- ? (c < 69840
1929
- ? c == 69826
1930
- : c <= 69864)
1931
- : (c <= 69881 || (c < 69942
1932
- ? (c >= 69888 && c <= 69940)
1933
- : c <= 69951)))))))))
1934
- : (c <= 69959 || (c < 70459
1935
- ? (c < 70282
1936
- ? (c < 70108
1937
- ? (c < 70016
1938
- ? (c < 70006
1939
- ? (c >= 69968 && c <= 70003)
1940
- : c <= 70006)
1941
- : (c <= 70084 || (c < 70094
1942
- ? (c >= 70089 && c <= 70092)
1943
- : c <= 70106)))
1944
- : (c <= 70108 || (c < 70206
1945
- ? (c < 70163
1946
- ? (c >= 70144 && c <= 70161)
1947
- : c <= 70199)
1948
- : (c <= 70206 || (c < 70280
1949
- ? (c >= 70272 && c <= 70278)
1950
- : c <= 70280)))))
1951
- : (c <= 70285 || (c < 70405
1952
- ? (c < 70320
1953
- ? (c < 70303
1954
- ? (c >= 70287 && c <= 70301)
1955
- : c <= 70312)
1956
- : (c <= 70378 || (c < 70400
1957
- ? (c >= 70384 && c <= 70393)
1958
- : c <= 70403)))
1959
- : (c <= 70412 || (c < 70442
1960
- ? (c < 70419
1961
- ? (c >= 70415 && c <= 70416)
1962
- : c <= 70440)
1963
- : (c <= 70448 || (c < 70453
1964
- ? (c >= 70450 && c <= 70451)
1965
- : c <= 70457)))))))
1966
- : (c <= 70468 || (c < 70855
1967
- ? (c < 70502
1968
- ? (c < 70480
1969
- ? (c < 70475
1970
- ? (c >= 70471 && c <= 70472)
1971
- : c <= 70477)
1972
- : (c <= 70480 || (c < 70493
1973
- ? c == 70487
1974
- : c <= 70499)))
1975
- : (c <= 70508 || (c < 70736
1976
- ? (c < 70656
1977
- ? (c >= 70512 && c <= 70516)
1978
- : c <= 70730)
1979
- : (c <= 70745 || (c < 70784
1980
- ? (c >= 70750 && c <= 70753)
1981
- : c <= 70853)))))
1982
- : (c <= 70855 || (c < 71236
1983
- ? (c < 71096
1984
- ? (c < 71040
1985
- ? (c >= 70864 && c <= 70873)
1986
- : c <= 71093)
1987
- : (c <= 71104 || (c < 71168
1988
- ? (c >= 71128 && c <= 71133)
1989
- : c <= 71232)))
1990
- : (c <= 71236 || (c < 71360
1991
- ? (c < 71296
1992
- ? (c >= 71248 && c <= 71257)
1993
- : c <= 71352)
1994
- : (c <= 71369 || (c >= 71424 && c <= 71450)))))))))))))
1995
- : (c <= 71467 || (c < 119973
1996
- ? (c < 77824
1997
- ? (c < 72760
1998
- ? (c < 72016
1999
- ? (c < 71945
2000
- ? (c < 71680
2001
- ? (c < 71488
2002
- ? (c >= 71472 && c <= 71481)
2003
- : c <= 71494)
2004
- : (c <= 71738 || (c < 71935
2005
- ? (c >= 71840 && c <= 71913)
2006
- : c <= 71942)))
2007
- : (c <= 71945 || (c < 71960
2008
- ? (c < 71957
2009
- ? (c >= 71948 && c <= 71955)
2010
- : c <= 71958)
2011
- : (c <= 71989 || (c < 71995
2012
- ? (c >= 71991 && c <= 71992)
2013
- : c <= 72003)))))
2014
- : (c <= 72025 || (c < 72263
2015
- ? (c < 72154
2016
- ? (c < 72106
2017
- ? (c >= 72096 && c <= 72103)
2018
- : c <= 72151)
2019
- : (c <= 72161 || (c < 72192
2020
- ? (c >= 72163 && c <= 72164)
2021
- : c <= 72254)))
2022
- : (c <= 72263 || (c < 72368
2023
- ? (c < 72349
2024
- ? (c >= 72272 && c <= 72345)
2025
- : c <= 72349)
2026
- : (c <= 72440 || (c < 72714
2027
- ? (c >= 72704 && c <= 72712)
2028
- : c <= 72758)))))))
2029
- : (c <= 72768 || (c < 73056
2030
- ? (c < 72968
2031
- ? (c < 72850
2032
- ? (c < 72818
2033
- ? (c >= 72784 && c <= 72793)
2034
- : c <= 72847)
2035
- : (c <= 72871 || (c < 72960
2036
- ? (c >= 72873 && c <= 72886)
2037
- : c <= 72966)))
2038
- : (c <= 72969 || (c < 73020
2039
- ? (c < 73018
2040
- ? (c >= 72971 && c <= 73014)
2041
- : c <= 73018)
2042
- : (c <= 73021 || (c < 73040
2043
- ? (c >= 73023 && c <= 73031)
2044
- : c <= 73049)))))
2045
- : (c <= 73061 || (c < 73440
2046
- ? (c < 73104
2047
- ? (c < 73066
2048
- ? (c >= 73063 && c <= 73064)
2049
- : c <= 73102)
2050
- : (c <= 73105 || (c < 73120
2051
- ? (c >= 73107 && c <= 73112)
2052
- : c <= 73129)))
2053
- : (c <= 73462 || (c < 74752
2054
- ? (c < 73728
2055
- ? c == 73648
2056
- : c <= 74649)
2057
- : (c <= 74862 || (c < 77712
2058
- ? (c >= 74880 && c <= 75075)
2059
- : c <= 77808)))))))))
2060
- : (c <= 78894 || (c < 110576
2061
- ? (c < 93027
2062
- ? (c < 92864
2063
- ? (c < 92736
2064
- ? (c < 92160
2065
- ? (c >= 82944 && c <= 83526)
2066
- : c <= 92728)
2067
- : (c <= 92766 || (c < 92784
2068
- ? (c >= 92768 && c <= 92777)
2069
- : c <= 92862)))
2070
- : (c <= 92873 || (c < 92928
2071
- ? (c < 92912
2072
- ? (c >= 92880 && c <= 92909)
2073
- : c <= 92916)
2074
- : (c <= 92982 || (c < 93008
2075
- ? (c >= 92992 && c <= 92995)
2076
- : c <= 93017)))))
2077
- : (c <= 93047 || (c < 94176
2078
- ? (c < 93952
2079
- ? (c < 93760
2080
- ? (c >= 93053 && c <= 93071)
2081
- : c <= 93823)
2082
- : (c <= 94026 || (c < 94095
2083
- ? (c >= 94031 && c <= 94087)
2084
- : c <= 94111)))
2085
- : (c <= 94177 || (c < 94208
2086
- ? (c < 94192
2087
- ? (c >= 94179 && c <= 94180)
2088
- : c <= 94193)
2089
- : (c <= 100343 || (c < 101632
2090
- ? (c >= 100352 && c <= 101589)
2091
- : c <= 101640)))))))
2092
- : (c <= 110579 || (c < 118528
2093
- ? (c < 110960
2094
- ? (c < 110592
2095
- ? (c < 110589
2096
- ? (c >= 110581 && c <= 110587)
2097
- : c <= 110590)
2098
- : (c <= 110882 || (c < 110948
2099
- ? (c >= 110928 && c <= 110930)
2100
- : c <= 110951)))
2101
- : (c <= 111355 || (c < 113792
2102
- ? (c < 113776
2103
- ? (c >= 113664 && c <= 113770)
2104
- : c <= 113788)
2105
- : (c <= 113800 || (c < 113821
2106
- ? (c >= 113808 && c <= 113817)
2107
- : c <= 113822)))))
2108
- : (c <= 118573 || (c < 119210
2109
- ? (c < 119149
2110
- ? (c < 119141
2111
- ? (c >= 118576 && c <= 118598)
2112
- : c <= 119145)
2113
- : (c <= 119154 || (c < 119173
2114
- ? (c >= 119163 && c <= 119170)
2115
- : c <= 119179)))
2116
- : (c <= 119213 || (c < 119894
2117
- ? (c < 119808
2118
- ? (c >= 119362 && c <= 119364)
2119
- : c <= 119892)
2120
- : (c <= 119964 || (c < 119970
2121
- ? (c >= 119966 && c <= 119967)
2122
- : c <= 119970)))))))))))
2123
- : (c <= 119974 || (c < 124912
2124
- ? (c < 120746
2125
- ? (c < 120134
2126
- ? (c < 120071
2127
- ? (c < 119995
2128
- ? (c < 119982
2129
- ? (c >= 119977 && c <= 119980)
2130
- : c <= 119993)
2131
- : (c <= 119995 || (c < 120005
2132
- ? (c >= 119997 && c <= 120003)
2133
- : c <= 120069)))
2134
- : (c <= 120074 || (c < 120094
2135
- ? (c < 120086
2136
- ? (c >= 120077 && c <= 120084)
2137
- : c <= 120092)
2138
- : (c <= 120121 || (c < 120128
2139
- ? (c >= 120123 && c <= 120126)
2140
- : c <= 120132)))))
2141
- : (c <= 120134 || (c < 120572
2142
- ? (c < 120488
2143
- ? (c < 120146
2144
- ? (c >= 120138 && c <= 120144)
2145
- : c <= 120485)
2146
- : (c <= 120512 || (c < 120540
2147
- ? (c >= 120514 && c <= 120538)
2148
- : c <= 120570)))
2149
- : (c <= 120596 || (c < 120656
2150
- ? (c < 120630
2151
- ? (c >= 120598 && c <= 120628)
2152
- : c <= 120654)
2153
- : (c <= 120686 || (c < 120714
2154
- ? (c >= 120688 && c <= 120712)
2155
- : c <= 120744)))))))
2156
- : (c <= 120770 || (c < 122907
2157
- ? (c < 121476
2158
- ? (c < 121344
2159
- ? (c < 120782
2160
- ? (c >= 120772 && c <= 120779)
2161
- : c <= 120831)
2162
- : (c <= 121398 || (c < 121461
2163
- ? (c >= 121403 && c <= 121452)
2164
- : c <= 121461)))
2165
- : (c <= 121476 || (c < 122624
2166
- ? (c < 121505
2167
- ? (c >= 121499 && c <= 121503)
2168
- : c <= 121519)
2169
- : (c <= 122654 || (c < 122888
2170
- ? (c >= 122880 && c <= 122886)
2171
- : c <= 122904)))))
2172
- : (c <= 122913 || (c < 123214
2173
- ? (c < 123136
2174
- ? (c < 122918
2175
- ? (c >= 122915 && c <= 122916)
2176
- : c <= 122922)
2177
- : (c <= 123180 || (c < 123200
2178
- ? (c >= 123184 && c <= 123197)
2179
- : c <= 123209)))
2180
- : (c <= 123214 || (c < 124896
2181
- ? (c < 123584
2182
- ? (c >= 123536 && c <= 123566)
2183
- : c <= 123641)
2184
- : (c <= 124902 || (c < 124909
2185
- ? (c >= 124904 && c <= 124907)
2186
- : c <= 124910)))))))))
2187
- : (c <= 124926 || (c < 126557
2188
- ? (c < 126521
2189
- ? (c < 126469
2190
- ? (c < 125184
2191
- ? (c < 125136
2192
- ? (c >= 124928 && c <= 125124)
2193
- : c <= 125142)
2194
- : (c <= 125259 || (c < 126464
2195
- ? (c >= 125264 && c <= 125273)
2196
- : c <= 126467)))
2197
- : (c <= 126495 || (c < 126503
2198
- ? (c < 126500
2199
- ? (c >= 126497 && c <= 126498)
2200
- : c <= 126500)
2201
- : (c <= 126503 || (c < 126516
2202
- ? (c >= 126505 && c <= 126514)
2203
- : c <= 126519)))))
2204
- : (c <= 126521 || (c < 126541
2205
- ? (c < 126535
2206
- ? (c < 126530
2207
- ? c == 126523
2208
- : c <= 126530)
2209
- : (c <= 126535 || (c < 126539
2210
- ? c == 126537
2211
- : c <= 126539)))
2212
- : (c <= 126543 || (c < 126551
2213
- ? (c < 126548
2214
- ? (c >= 126545 && c <= 126546)
2215
- : c <= 126548)
2216
- : (c <= 126551 || (c < 126555
2217
- ? c == 126553
2218
- : c <= 126555)))))))
2219
- : (c <= 126557 || (c < 126629
2220
- ? (c < 126580
2221
- ? (c < 126564
2222
- ? (c < 126561
2223
- ? c == 126559
2224
- : c <= 126562)
2225
- : (c <= 126564 || (c < 126572
2226
- ? (c >= 126567 && c <= 126570)
2227
- : c <= 126578)))
2228
- : (c <= 126583 || (c < 126592
2229
- ? (c < 126590
2230
- ? (c >= 126585 && c <= 126588)
2231
- : c <= 126590)
2232
- : (c <= 126601 || (c < 126625
2233
- ? (c >= 126603 && c <= 126619)
2234
- : c <= 126627)))))
2235
- : (c <= 126633 || (c < 178208
2236
- ? (c < 131072
2237
- ? (c < 130032
2238
- ? (c >= 126635 && c <= 126651)
2239
- : c <= 130041)
2240
- : (c <= 173791 || (c < 177984
2241
- ? (c >= 173824 && c <= 177976)
2242
- : c <= 178205)))
2243
- : (c <= 183969 || (c < 196608
2244
- ? (c < 194560
2245
- ? (c >= 183984 && c <= 191456)
2246
- : c <= 195101)
2247
- : (c <= 201546 || (c >= 917760 && c <= 917999)))))))))))))))));
2248
- }
2249
-
2250
665
  static bool ts_lex(TSLexer *lexer, TSStateId state) {
2251
666
  START_LEXER();
2252
667
  eof = lexer->eof(lexer);
2253
668
  switch (state) {
2254
669
  case 0:
2255
- if (eof) ADVANCE(11);
670
+ if (eof) ADVANCE(50);
671
+ if (lookahead == '"') ADVANCE(87);
672
+ if (lookahead == '$') ADVANCE(94);
673
+ if (lookahead == '\'') ADVANCE(81);
2256
- if (lookahead == '(') ADVANCE(17);
674
+ if (lookahead == '(') ADVANCE(56);
2257
- if (lookahead == ')') ADVANCE(18);
675
+ if (lookahead == ')') ADVANCE(58);
2258
- if (lookahead == ',') ADVANCE(14);
676
+ if (lookahead == ',') ADVANCE(57);
2259
- if (lookahead == '/') ADVANCE(13);
677
+ if (lookahead == '/') ADVANCE(62);
678
+ if (lookahead == '0') ADVANCE(71);
2260
- if (lookahead == ':') ADVANCE(16);
679
+ if (lookahead == ':') ADVANCE(54);
2261
- if (lookahead == '<') ADVANCE(19);
680
+ if (lookahead == '<') ADVANCE(59);
2262
- if (lookahead == '>') ADVANCE(20);
681
+ if (lookahead == '>') ADVANCE(60);
682
+ if (lookahead == '\\') ADVANCE(37);
683
+ if (lookahead == ']') ADVANCE(96);
684
+ if (lookahead == '`') ADVANCE(88);
2263
- if (lookahead == ']') ADVANCE(22);
685
+ if (lookahead == 'c') ADVANCE(22);
2264
- if (lookahead == 'c') ADVANCE(2);
2265
- if (lookahead == 'i') ADVANCE(3);
2266
- if (lookahead == '}') ADVANCE(23);
686
+ if (lookahead == 'e') ADVANCE(28);
687
+ if (lookahead == 'f') ADVANCE(13);
688
+ if (lookahead == 'i') ADVANCE(26);
689
+ if (lookahead == 'n') ADVANCE(38);
690
+ if (lookahead == 'p') ADVANCE(10);
691
+ if (lookahead == 't') ADVANCE(32);
692
+ if (lookahead == '}') ADVANCE(97);
693
+ if (('a' <= lookahead && lookahead <= 'd')) ADVANCE(49);
2267
694
  if (lookahead == '\t' ||
2268
695
  lookahead == '\n' ||
2269
696
  lookahead == '\r' ||
2270
697
  lookahead == ' ') SKIP(0)
698
+ if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(65);
699
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(74);
700
+ if (('G' <= lookahead && lookahead <= 'Z') ||
701
+ lookahead == '_') ADVANCE(66);
2271
702
  END_STATE();
2272
703
  case 1:
704
+ if (lookahead == '"') ADVANCE(87);
2273
- if (lookahead == 'a') ADVANCE(8);
705
+ if (lookahead == '$') ADVANCE(94);
706
+ if (lookahead == '\\') ADVANCE(37);
707
+ if (lookahead == '\t' ||
708
+ lookahead == '\n' ||
709
+ lookahead == '\r' ||
710
+ lookahead == ' ') ADVANCE(90);
711
+ if (lookahead != 0) ADVANCE(91);
2274
712
  END_STATE();
2275
713
  case 2:
714
+ if (lookahead == '"') ADVANCE(87);
2276
- if (lookahead == 'l') ADVANCE(1);
715
+ if (lookahead == '$') ADVANCE(94);
716
+ if (lookahead == '`') ADVANCE(89);
717
+ if (lookahead == '\t' ||
718
+ lookahead == '\n' ||
719
+ lookahead == '\r' ||
720
+ lookahead == ' ') ADVANCE(92);
721
+ if (lookahead != 0) ADVANCE(93);
2277
722
  END_STATE();
2278
723
  case 3:
724
+ if (lookahead == '"') ADVANCE(87);
725
+ if (lookahead == '\'') ADVANCE(81);
2279
- if (lookahead == 'm') ADVANCE(5);
726
+ if (lookahead == '.') ADVANCE(45);
727
+ if (lookahead == '0') ADVANCE(69);
728
+ if (lookahead == '`') ADVANCE(88);
729
+ if (lookahead == 'f') ADVANCE(14);
730
+ if (lookahead == 'n') ADVANCE(38);
731
+ if (lookahead == 't') ADVANCE(32);
732
+ if (lookahead == '\t' ||
733
+ lookahead == '\n' ||
734
+ lookahead == '\r' ||
735
+ lookahead == ' ') SKIP(3)
736
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(70);
737
+ if (('A' <= lookahead && lookahead <= 'Z') ||
738
+ lookahead == '_') ADVANCE(66);
2280
739
  END_STATE();
2281
740
  case 4:
2282
- if (lookahead == 'o') ADVANCE(6);
741
+ if (lookahead == '\\') ADVANCE(37);
742
+ if (lookahead == '\t' ||
743
+ lookahead == ' ') ADVANCE(83);
744
+ if (lookahead == '\n' ||
745
+ lookahead == '\r') SKIP(4)
746
+ if (lookahead != 0 &&
747
+ lookahead != '\'') ADVANCE(82);
2283
748
  END_STATE();
2284
749
  case 5:
2285
- if (lookahead == 'p') ADVANCE(4);
750
+ if (lookahead == '_') ADVANCE(5);
751
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72);
2286
752
  END_STATE();
2287
753
  case 6:
2288
- if (lookahead == 'r') ADVANCE(9);
754
+ if (lookahead == '_') ADVANCE(6);
755
+ if (lookahead == '0' ||
756
+ lookahead == '1') ADVANCE(77);
2289
757
  END_STATE();
2290
758
  case 7:
2291
- if (lookahead == 's') ADVANCE(15);
759
+ if (lookahead == '_') ADVANCE(7);
760
+ if (('0' <= lookahead && lookahead <= '9') ||
761
+ ('A' <= lookahead && lookahead <= 'F') ||
762
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76);
2292
763
  END_STATE();
2293
764
  case 8:
2294
- if (lookahead == 's') ADVANCE(7);
765
+ if (lookahead == '_') ADVANCE(8);
766
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(70);
2295
767
  END_STATE();
2296
768
  case 9:
2297
- if (lookahead == 't') ADVANCE(12);
769
+ if (lookahead == '_') ADVANCE(9);
770
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80);
2298
771
  END_STATE();
2299
772
  case 10:
2300
- if (lookahead == '\t' ||
2301
- lookahead == '\n' ||
2302
- lookahead == '\r' ||
2303
- lookahead == ' ') SKIP(10)
773
+ if (lookahead == 'a') ADVANCE(15);
2304
- if (sym_identifier_character_set_1(lookahead)) ADVANCE(21);
2305
774
  END_STATE();
2306
775
  case 11:
2307
- ACCEPT_TOKEN(ts_builtin_sym_end);
776
+ if (lookahead == 'a') ADVANCE(35);
2308
777
  END_STATE();
2309
778
  case 12:
2310
- ACCEPT_TOKEN(anon_sym_import);
779
+ if (lookahead == 'a') ADVANCE(19);
2311
780
  END_STATE();
2312
781
  case 13:
2313
- ACCEPT_TOKEN(anon_sym_SLASH);
782
+ if (lookahead == 'a') ADVANCE(25);
783
+ if (('0' <= lookahead && lookahead <= '9') ||
784
+ ('A' <= lookahead && lookahead <= 'F') ||
785
+ ('b' <= lookahead && lookahead <= 'f')) ADVANCE(48);
2314
786
  END_STATE();
2315
787
  case 14:
2316
- ACCEPT_TOKEN(anon_sym_COMMA);
788
+ if (lookahead == 'a') ADVANCE(24);
2317
789
  END_STATE();
2318
790
  case 15:
2319
- ACCEPT_TOKEN(anon_sym_class);
791
+ if (lookahead == 'c') ADVANCE(20);
2320
792
  END_STATE();
2321
793
  case 16:
2322
- ACCEPT_TOKEN(anon_sym_COLON);
794
+ if (lookahead == 'e') ADVANCE(67);
2323
795
  END_STATE();
2324
796
  case 17:
2325
- ACCEPT_TOKEN(anon_sym_LPAREN);
797
+ if (lookahead == 'e') ADVANCE(68);
2326
798
  END_STATE();
2327
799
  case 18:
2328
- ACCEPT_TOKEN(anon_sym_RPAREN);
800
+ if (lookahead == 'e') ADVANCE(51);
2329
801
  END_STATE();
2330
802
  case 19:
2331
- ACCEPT_TOKEN(anon_sym_LT);
803
+ if (lookahead == 'g') ADVANCE(18);
2332
804
  END_STATE();
2333
805
  case 20:
2334
- ACCEPT_TOKEN(anon_sym_GT);
806
+ if (lookahead == 'k') ADVANCE(12);
2335
807
  END_STATE();
2336
808
  case 21:
2337
- ACCEPT_TOKEN(sym_identifier);
2338
- if (sym_identifier_character_set_2(lookahead)) ADVANCE(21);
809
+ if (lookahead == 'l') ADVANCE(95);
2339
810
  END_STATE();
2340
811
  case 22:
2341
- ACCEPT_TOKEN(anon_sym_RBRACK);
812
+ if (lookahead == 'l') ADVANCE(11);
813
+ if (('0' <= lookahead && lookahead <= '9') ||
814
+ ('A' <= lookahead && lookahead <= 'F') ||
815
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(48);
2342
816
  END_STATE();
2343
817
  case 23:
2344
- ACCEPT_TOKEN(anon_sym_RBRACE);
818
+ if (lookahead == 'l') ADVANCE(21);
2345
819
  END_STATE();
2346
- default:
2347
- return false;
2348
- }
2349
- }
2350
-
2351
- static const TSLexMode ts_lex_modes[STATE_COUNT] = {
2352
- [0] = {.lex_state = 0, .external_lex_state = 1},
2353
- [1] = {.lex_state = 0},
2354
- [2] = {.lex_state = 0},
2355
- [3] = {.lex_state = 0},
2356
- [4] = {.lex_state = 0},
2357
- [5] = {.lex_state = 0},
2358
- [6] = {.lex_state = 0},
2359
- [7] = {.lex_state = 0},
2360
- [8] = {.lex_state = 0},
2361
- [9] = {.lex_state = 0},
2362
- [10] = {.lex_state = 0},
2363
- [11] = {.lex_state = 0},
2364
- [12] = {.lex_state = 0},
2365
- [13] = {.lex_state = 0},
2366
- [14] = {.lex_state = 10, .external_lex_state = 2},
2367
- [15] = {.lex_state = 10, .external_lex_state = 2},
2368
- [16] = {.lex_state = 10, .external_lex_state = 2},
2369
- [17] = {.lex_state = 10, .external_lex_state = 2},
2370
- [18] = {.lex_state = 10, .external_lex_state = 2},
2371
- [19] = {.lex_state = 10, .external_lex_state = 2},
2372
- [20] = {.lex_state = 10, .external_lex_state = 2},
2373
- [21] = {.lex_state = 10, .external_lex_state = 2},
2374
- [22] = {.lex_state = 10, .external_lex_state = 2},
2375
- [23] = {.lex_state = 0},
2376
- [24] = {.lex_state = 0, .external_lex_state = 3},
2377
- [25] = {.lex_state = 0},
2378
- [26] = {.lex_state = 0},
2379
- [27] = {.lex_state = 0},
2380
- [28] = {.lex_state = 0, .external_lex_state = 3},
2381
- [29] = {.lex_state = 0},
2382
- [30] = {.lex_state = 0},
2383
- [31] = {.lex_state = 0},
2384
- [32] = {.lex_state = 0, .external_lex_state = 3},
2385
- [33] = {.lex_state = 0},
2386
- [34] = {.lex_state = 0},
2387
- [35] = {.lex_state = 0},
2388
- [36] = {.lex_state = 0},
2389
- [37] = {.lex_state = 0},
2390
- [38] = {.lex_state = 0, .external_lex_state = 3},
2391
- [39] = {.lex_state = 0},
2392
- [40] = {.lex_state = 0},
2393
- [41] = {.lex_state = 10, .external_lex_state = 2},
2394
- [42] = {.lex_state = 0},
2395
- [43] = {.lex_state = 0, .external_lex_state = 4},
2396
- [44] = {.lex_state = 10},
2397
- [45] = {.lex_state = 0},
2398
- [46] = {.lex_state = 0},
2399
- [47] = {.lex_state = 10},
2400
- [48] = {.lex_state = 0},
2401
- [49] = {.lex_state = 0},
2402
- [50] = {.lex_state = 0, .external_lex_state = 4},
2403
- [51] = {.lex_state = 0},
2404
- [52] = {.lex_state = 10},
2405
- [53] = {.lex_state = 0, .external_lex_state = 4},
2406
- [54] = {.lex_state = 10},
2407
- [55] = {.lex_state = 0, .external_lex_state = 4},
2408
- [56] = {.lex_state = 10},
2409
- [57] = {.lex_state = 10},
2410
- [58] = {.lex_state = 0},
2411
- [59] = {.lex_state = 10},
2412
- [60] = {.lex_state = 10},
2413
- [61] = {.lex_state = 10},
2414
- };
2415
-
2416
- enum {
2417
- ts_external_token__newline = 0,
2418
- ts_external_token__indent = 1,
2419
- ts_external_token__dedent = 2,
2420
- ts_external_token__string_start = 3,
2421
- ts_external_token__string_content = 4,
2422
- ts_external_token__string_end = 5,
2423
- ts_external_token_comment = 6,
2424
- ts_external_token_RBRACK = 7,
2425
- ts_external_token_RPAREN = 8,
2426
- ts_external_token_RBRACE = 9,
2427
- };
2428
-
2429
- static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
2430
- [ts_external_token__newline] = sym__newline,
2431
- [ts_external_token__indent] = sym__indent,
2432
- [ts_external_token__dedent] = sym__dedent,
2433
- [ts_external_token__string_start] = sym__string_start,
2434
- [ts_external_token__string_content] = sym__string_content,
2435
- [ts_external_token__string_end] = sym__string_end,
2436
- [ts_external_token_comment] = sym_comment,
2437
- [ts_external_token_RBRACK] = anon_sym_RBRACK,
2438
- [ts_external_token_RPAREN] = anon_sym_RPAREN,
2439
- [ts_external_token_RBRACE] = anon_sym_RBRACE,
2440
- };
2441
-
2442
- static const bool ts_external_scanner_states[5][EXTERNAL_TOKEN_COUNT] = {
2443
- [1] = {
820
+ case 24:
821
+ if (lookahead == 'l') ADVANCE(34);
822
+ END_STATE();
823
+ case 25:
824
+ if (lookahead == 'l') ADVANCE(34);
825
+ if (('0' <= lookahead && lookahead <= '9') ||
826
+ ('A' <= lookahead && lookahead <= 'F') ||
827
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(47);
828
+ END_STATE();
829
+ case 26:
830
+ if (lookahead == 'm') ADVANCE(30);
831
+ END_STATE();
832
+ case 27:
833
+ if (lookahead == 'm') ADVANCE(55);
834
+ END_STATE();
835
+ case 28:
836
+ if (lookahead == 'n') ADVANCE(40);
837
+ if (('0' <= lookahead && lookahead <= '9') ||
838
+ ('A' <= lookahead && lookahead <= 'F') ||
839
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(48);
840
+ END_STATE();
841
+ case 29:
842
+ if (lookahead == 'o') ADVANCE(31);
843
+ END_STATE();
844
+ case 30:
845
+ if (lookahead == 'p') ADVANCE(29);
846
+ END_STATE();
847
+ case 31:
848
+ if (lookahead == 'r') ADVANCE(36);
849
+ END_STATE();
850
+ case 32:
851
+ if (lookahead == 'r') ADVANCE(39);
852
+ END_STATE();
853
+ case 33:
854
+ if (lookahead == 's') ADVANCE(53);
855
+ END_STATE();
856
+ case 34:
857
+ if (lookahead == 's') ADVANCE(17);
858
+ END_STATE();
859
+ case 35:
860
+ if (lookahead == 's') ADVANCE(33);
861
+ END_STATE();
862
+ case 36:
863
+ if (lookahead == 't') ADVANCE(52);
864
+ END_STATE();
865
+ case 37:
866
+ if (lookahead == 'u') ADVANCE(84);
867
+ if (lookahead == '"' ||
868
+ lookahead == '$' ||
869
+ lookahead == '\'' ||
870
+ lookahead == '\\' ||
871
+ lookahead == 'b' ||
872
+ lookahead == 'n' ||
873
+ lookahead == 'r' ||
874
+ lookahead == 't') ADVANCE(86);
875
+ END_STATE();
876
+ case 38:
877
+ if (lookahead == 'u') ADVANCE(23);
878
+ END_STATE();
879
+ case 39:
880
+ if (lookahead == 'u') ADVANCE(16);
881
+ END_STATE();
882
+ case 40:
883
+ if (lookahead == 'u') ADVANCE(27);
884
+ END_STATE();
885
+ case 41:
886
+ if (lookahead == '0' ||
887
+ lookahead == '1') ADVANCE(78);
888
+ if (('2' <= lookahead && lookahead <= '9') ||
889
+ ('A' <= lookahead && lookahead <= 'F') ||
890
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(47);
891
+ END_STATE();
892
+ case 42:
893
+ if (lookahead == '0' ||
894
+ lookahead == '1') ADVANCE(77);
895
+ END_STATE();
896
+ case 43:
897
+ if (lookahead == '\t' ||
898
+ lookahead == '\n' ||
899
+ lookahead == '\r' ||
900
+ lookahead == ' ') SKIP(43)
901
+ if (('A' <= lookahead && lookahead <= 'Z') ||
902
+ lookahead == '_' ||
903
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
904
+ END_STATE();
905
+ case 44:
906
+ if (lookahead == '\t' ||
907
+ lookahead == '\n' ||
908
+ lookahead == '\r' ||
909
+ lookahead == ' ') SKIP(44)
910
+ if (('0' <= lookahead && lookahead <= '9') ||
911
+ ('A' <= lookahead && lookahead <= 'F') ||
912
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(49);
913
+ END_STATE();
914
+ case 45:
915
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80);
916
+ END_STATE();
917
+ case 46:
918
+ if (('0' <= lookahead && lookahead <= '9') ||
919
+ ('A' <= lookahead && lookahead <= 'F') ||
920
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76);
921
+ END_STATE();
922
+ case 47:
923
+ if (('0' <= lookahead && lookahead <= '9') ||
924
+ ('A' <= lookahead && lookahead <= 'F') ||
925
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85);
926
+ END_STATE();
927
+ case 48:
928
+ if (('0' <= lookahead && lookahead <= '9') ||
929
+ ('A' <= lookahead && lookahead <= 'F') ||
930
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(47);
931
+ END_STATE();
932
+ case 49:
933
+ if (('0' <= lookahead && lookahead <= '9') ||
934
+ ('A' <= lookahead && lookahead <= 'F') ||
935
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(48);
936
+ END_STATE();
937
+ case 50:
938
+ ACCEPT_TOKEN(ts_builtin_sym_end);
939
+ END_STATE();
940
+ case 51:
941
+ ACCEPT_TOKEN(anon_sym_package);
942
+ END_STATE();
943
+ case 52:
944
+ ACCEPT_TOKEN(anon_sym_import);
945
+ END_STATE();
946
+ case 53:
947
+ ACCEPT_TOKEN(anon_sym_class);
948
+ END_STATE();
949
+ case 54:
950
+ ACCEPT_TOKEN(anon_sym_COLON);
951
+ END_STATE();
952
+ case 55:
953
+ ACCEPT_TOKEN(anon_sym_enum);
954
+ END_STATE();
955
+ case 56:
956
+ ACCEPT_TOKEN(anon_sym_LPAREN);
957
+ END_STATE();
958
+ case 57:
959
+ ACCEPT_TOKEN(anon_sym_COMMA);
960
+ END_STATE();
961
+ case 58:
962
+ ACCEPT_TOKEN(anon_sym_RPAREN);
963
+ END_STATE();
964
+ case 59:
965
+ ACCEPT_TOKEN(anon_sym_LT);
966
+ END_STATE();
967
+ case 60:
968
+ ACCEPT_TOKEN(anon_sym_GT);
969
+ END_STATE();
970
+ case 61:
971
+ ACCEPT_TOKEN(aux_sym_url_token1);
972
+ if (('0' <= lookahead && lookahead <= '9') ||
973
+ ('A' <= lookahead && lookahead <= 'Z') ||
974
+ lookahead == '_' ||
975
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
976
+ END_STATE();
977
+ case 62:
978
+ ACCEPT_TOKEN(anon_sym_SLASH);
979
+ END_STATE();
980
+ case 63:
981
+ ACCEPT_TOKEN(sym_enum_identifier);
982
+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(85);
983
+ if (('0' <= lookahead && lookahead <= '9') ||
984
+ ('A' <= lookahead && lookahead <= 'F')) ADVANCE(66);
985
+ if (('G' <= lookahead && lookahead <= 'Z') ||
986
+ lookahead == '_') ADVANCE(66);
987
+ END_STATE();
988
+ case 64:
989
+ ACCEPT_TOKEN(sym_enum_identifier);
990
+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(47);
991
+ if (('0' <= lookahead && lookahead <= '9') ||
992
+ ('A' <= lookahead && lookahead <= 'F')) ADVANCE(63);
993
+ if (('G' <= lookahead && lookahead <= 'Z') ||
994
+ lookahead == '_') ADVANCE(66);
995
+ END_STATE();
996
+ case 65:
997
+ ACCEPT_TOKEN(sym_enum_identifier);
998
+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(48);
999
+ if (('0' <= lookahead && lookahead <= '9') ||
1000
+ ('A' <= lookahead && lookahead <= 'F')) ADVANCE(64);
1001
+ if (('G' <= lookahead && lookahead <= 'Z') ||
1002
+ lookahead == '_') ADVANCE(66);
1003
+ END_STATE();
1004
+ case 66:
1005
+ ACCEPT_TOKEN(sym_enum_identifier);
1006
+ if (('0' <= lookahead && lookahead <= '9') ||
1007
+ ('A' <= lookahead && lookahead <= 'Z') ||
1008
+ lookahead == '_') ADVANCE(66);
1009
+ END_STATE();
1010
+ case 67:
1011
+ ACCEPT_TOKEN(anon_sym_true);
1012
+ END_STATE();
1013
+ case 68:
1014
+ ACCEPT_TOKEN(anon_sym_false);
1015
+ END_STATE();
1016
+ case 69:
1017
+ ACCEPT_TOKEN(sym_integer_literal);
1018
+ if (lookahead == '.') ADVANCE(45);
1019
+ if (lookahead == '_') ADVANCE(8);
1020
+ if (lookahead == 'B' ||
1021
+ lookahead == 'b') ADVANCE(42);
1022
+ if (lookahead == 'F' ||
1023
+ lookahead == 'f') ADVANCE(79);
1024
+ if (lookahead == 'X' ||
1025
+ lookahead == 'x') ADVANCE(46);
1026
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(70);
1027
+ END_STATE();
1028
+ case 70:
1029
+ ACCEPT_TOKEN(sym_integer_literal);
1030
+ if (lookahead == '.') ADVANCE(45);
1031
+ if (lookahead == '_') ADVANCE(8);
1032
+ if (lookahead == 'F' ||
1033
+ lookahead == 'f') ADVANCE(79);
1034
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(70);
1035
+ END_STATE();
1036
+ case 71:
1037
+ ACCEPT_TOKEN(sym_integer_literal);
1038
+ if (lookahead == '_') ADVANCE(5);
1039
+ if (lookahead == 'B' ||
1040
+ lookahead == 'b') ADVANCE(41);
1041
+ if (lookahead == 'X' ||
1042
+ lookahead == 'x') ADVANCE(46);
1043
+ if (('A' <= lookahead && lookahead <= 'F') ||
1044
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(48);
1045
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75);
1046
+ END_STATE();
1047
+ case 72:
1048
+ ACCEPT_TOKEN(sym_integer_literal);
1049
+ if (lookahead == '_') ADVANCE(5);
1050
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72);
1051
+ END_STATE();
1052
+ case 73:
1053
+ ACCEPT_TOKEN(sym_integer_literal);
1054
+ if (lookahead == '_') ADVANCE(5);
1055
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72);
1056
+ if (('A' <= lookahead && lookahead <= 'F') ||
1057
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85);
1058
+ END_STATE();
1059
+ case 74:
1060
+ ACCEPT_TOKEN(sym_integer_literal);
1061
+ if (lookahead == '_') ADVANCE(5);
1062
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75);
1063
+ if (('A' <= lookahead && lookahead <= 'F') ||
1064
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(48);
1065
+ END_STATE();
1066
+ case 75:
1067
+ ACCEPT_TOKEN(sym_integer_literal);
1068
+ if (lookahead == '_') ADVANCE(5);
1069
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(73);
1070
+ if (('A' <= lookahead && lookahead <= 'F') ||
1071
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(47);
1072
+ END_STATE();
1073
+ case 76:
1074
+ ACCEPT_TOKEN(sym_hex_literal);
1075
+ if (lookahead == '_') ADVANCE(7);
1076
+ if (('0' <= lookahead && lookahead <= '9') ||
1077
+ ('A' <= lookahead && lookahead <= 'F') ||
1078
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76);
1079
+ END_STATE();
1080
+ case 77:
1081
+ ACCEPT_TOKEN(sym_bin_literal);
1082
+ if (lookahead == '_') ADVANCE(6);
1083
+ END_STATE();
1084
+ case 78:
1085
+ ACCEPT_TOKEN(sym_bin_literal);
1086
+ if (lookahead == '_') ADVANCE(6);
1087
+ if (('0' <= lookahead && lookahead <= '9') ||
1088
+ ('A' <= lookahead && lookahead <= 'F') ||
1089
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85);
1090
+ END_STATE();
1091
+ case 79:
1092
+ ACCEPT_TOKEN(sym_float_literal);
1093
+ END_STATE();
1094
+ case 80:
1095
+ ACCEPT_TOKEN(sym_float_literal);
1096
+ if (lookahead == '_') ADVANCE(9);
1097
+ if (lookahead == 'F' ||
1098
+ lookahead == 'f') ADVANCE(79);
1099
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80);
1100
+ END_STATE();
1101
+ case 81:
1102
+ ACCEPT_TOKEN(anon_sym_SQUOTE);
1103
+ END_STATE();
1104
+ case 82:
1105
+ ACCEPT_TOKEN(aux_sym_character_literal_token1);
1106
+ END_STATE();
1107
+ case 83:
1108
+ ACCEPT_TOKEN(aux_sym_character_literal_token1);
1109
+ if (lookahead == '\t' ||
1110
+ lookahead == ' ') ADVANCE(83);
1111
+ if (lookahead != 0 &&
1112
+ lookahead != '\n' &&
1113
+ lookahead != '\r' &&
1114
+ lookahead != '\'' &&
1115
+ lookahead != '\\') ADVANCE(82);
1116
+ END_STATE();
1117
+ case 84:
1118
+ ACCEPT_TOKEN(anon_sym_BSLASHu);
1119
+ END_STATE();
1120
+ case 85:
1121
+ ACCEPT_TOKEN(aux_sym__uni_character_literal_token1);
1122
+ END_STATE();
1123
+ case 86:
1124
+ ACCEPT_TOKEN(sym__escaped_identifier);
1125
+ END_STATE();
1126
+ case 87:
1127
+ ACCEPT_TOKEN(anon_sym_DQUOTE);
1128
+ END_STATE();
1129
+ case 88:
1130
+ ACCEPT_TOKEN(anon_sym_BQUOTE);
1131
+ END_STATE();
1132
+ case 89:
1133
+ ACCEPT_TOKEN(anon_sym_BQUOTE);
1134
+ if (lookahead != 0 &&
1135
+ lookahead != '"' &&
1136
+ lookahead != '$') ADVANCE(93);
1137
+ END_STATE();
1138
+ case 90:
1139
+ ACCEPT_TOKEN(sym__line_str_text);
1140
+ if (lookahead == '\t' ||
1141
+ lookahead == '\n' ||
1142
+ lookahead == '\r' ||
1143
+ lookahead == ' ') ADVANCE(90);
1144
+ if (lookahead != 0 &&
1145
+ lookahead != '"' &&
1146
+ lookahead != '$' &&
1147
+ lookahead != '\\') ADVANCE(91);
1148
+ END_STATE();
1149
+ case 91:
1150
+ ACCEPT_TOKEN(sym__line_str_text);
1151
+ if (lookahead != 0 &&
1152
+ lookahead != '"' &&
1153
+ lookahead != '$' &&
1154
+ lookahead != '\\') ADVANCE(91);
1155
+ END_STATE();
1156
+ case 92:
1157
+ ACCEPT_TOKEN(sym__multi_line_str_text);
1158
+ if (lookahead == '`') ADVANCE(89);
1159
+ if (lookahead == '\t' ||
1160
+ lookahead == '\n' ||
1161
+ lookahead == '\r' ||
1162
+ lookahead == ' ') ADVANCE(92);
1163
+ if (lookahead != 0 &&
1164
+ lookahead != '"' &&
1165
+ lookahead != '$') ADVANCE(93);
1166
+ END_STATE();
1167
+ case 93:
1168
+ ACCEPT_TOKEN(sym__multi_line_str_text);
1169
+ if (lookahead != 0 &&
1170
+ lookahead != '"' &&
1171
+ lookahead != '$') ADVANCE(93);
1172
+ END_STATE();
1173
+ case 94:
1174
+ ACCEPT_TOKEN(anon_sym_DOLLAR);
1175
+ END_STATE();
1176
+ case 95:
1177
+ ACCEPT_TOKEN(anon_sym_null);
1178
+ END_STATE();
1179
+ case 96:
1180
+ ACCEPT_TOKEN(anon_sym_RBRACK);
1181
+ END_STATE();
1182
+ case 97:
1183
+ ACCEPT_TOKEN(anon_sym_RBRACE);
1184
+ END_STATE();
1185
+ default:
1186
+ return false;
1187
+ }
1188
+ }
1189
+
1190
+ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
1191
+ [0] = {.lex_state = 0, .external_lex_state = 1},
1192
+ [1] = {.lex_state = 0},
1193
+ [2] = {.lex_state = 3},
1194
+ [3] = {.lex_state = 3},
1195
+ [4] = {.lex_state = 1},
1196
+ [5] = {.lex_state = 0},
1197
+ [6] = {.lex_state = 1},
1198
+ [7] = {.lex_state = 0},
1199
+ [8] = {.lex_state = 1},
1200
+ [9] = {.lex_state = 0},
1201
+ [10] = {.lex_state = 2},
1202
+ [11] = {.lex_state = 2},
1203
+ [12] = {.lex_state = 2},
1204
+ [13] = {.lex_state = 0},
1205
+ [14] = {.lex_state = 0},
1206
+ [15] = {.lex_state = 0},
1207
+ [16] = {.lex_state = 0},
1208
+ [17] = {.lex_state = 0},
1209
+ [18] = {.lex_state = 0},
1210
+ [19] = {.lex_state = 43, .external_lex_state = 2},
1211
+ [20] = {.lex_state = 43, .external_lex_state = 2},
1212
+ [21] = {.lex_state = 1},
1213
+ [22] = {.lex_state = 43, .external_lex_state = 2},
1214
+ [23] = {.lex_state = 0},
1215
+ [24] = {.lex_state = 43, .external_lex_state = 2},
1216
+ [25] = {.lex_state = 43, .external_lex_state = 2},
1217
+ [26] = {.lex_state = 43, .external_lex_state = 2},
1218
+ [27] = {.lex_state = 1},
1219
+ [28] = {.lex_state = 43, .external_lex_state = 2},
1220
+ [29] = {.lex_state = 43, .external_lex_state = 2},
1221
+ [30] = {.lex_state = 43, .external_lex_state = 2},
1222
+ [31] = {.lex_state = 4},
1223
+ [32] = {.lex_state = 0},
1224
+ [33] = {.lex_state = 0},
1225
+ [34] = {.lex_state = 1},
1226
+ [35] = {.lex_state = 1},
1227
+ [36] = {.lex_state = 3, .external_lex_state = 2},
1228
+ [37] = {.lex_state = 0},
1229
+ [38] = {.lex_state = 3, .external_lex_state = 2},
1230
+ [39] = {.lex_state = 2},
1231
+ [40] = {.lex_state = 0},
1232
+ [41] = {.lex_state = 3, .external_lex_state = 2},
1233
+ [42] = {.lex_state = 2},
1234
+ [43] = {.lex_state = 0},
1235
+ [44] = {.lex_state = 0},
1236
+ [45] = {.lex_state = 0},
1237
+ [46] = {.lex_state = 0},
1238
+ [47] = {.lex_state = 0},
1239
+ [48] = {.lex_state = 0},
1240
+ [49] = {.lex_state = 0, .external_lex_state = 3},
1241
+ [50] = {.lex_state = 0},
1242
+ [51] = {.lex_state = 0},
1243
+ [52] = {.lex_state = 0, .external_lex_state = 3},
1244
+ [53] = {.lex_state = 0, .external_lex_state = 3},
1245
+ [54] = {.lex_state = 0, .external_lex_state = 3},
1246
+ [55] = {.lex_state = 43},
1247
+ [56] = {.lex_state = 0},
1248
+ [57] = {.lex_state = 0},
1249
+ [58] = {.lex_state = 0, .external_lex_state = 3},
1250
+ [59] = {.lex_state = 0},
1251
+ [60] = {.lex_state = 0, .external_lex_state = 3},
1252
+ [61] = {.lex_state = 0},
1253
+ [62] = {.lex_state = 0},
1254
+ [63] = {.lex_state = 0},
1255
+ [64] = {.lex_state = 0, .external_lex_state = 3},
1256
+ [65] = {.lex_state = 0},
1257
+ [66] = {.lex_state = 0, .external_lex_state = 3},
1258
+ [67] = {.lex_state = 0},
1259
+ [68] = {.lex_state = 43},
1260
+ [69] = {.lex_state = 3, .external_lex_state = 2},
1261
+ [70] = {.lex_state = 43},
1262
+ [71] = {.lex_state = 0},
1263
+ [72] = {.lex_state = 43, .external_lex_state = 2},
1264
+ [73] = {.lex_state = 43},
1265
+ [74] = {.lex_state = 43},
1266
+ [75] = {.lex_state = 43, .external_lex_state = 2},
1267
+ [76] = {.lex_state = 0, .external_lex_state = 3},
1268
+ [77] = {.lex_state = 43},
1269
+ [78] = {.lex_state = 0},
1270
+ [79] = {.lex_state = 43},
1271
+ [80] = {.lex_state = 0},
1272
+ [81] = {.lex_state = 0, .external_lex_state = 3},
1273
+ [82] = {.lex_state = 0},
1274
+ [83] = {.lex_state = 0},
1275
+ [84] = {.lex_state = 43},
1276
+ [85] = {.lex_state = 43},
1277
+ [86] = {.lex_state = 0, .external_lex_state = 3},
1278
+ [87] = {.lex_state = 43},
1279
+ [88] = {.lex_state = 0},
1280
+ [89] = {.lex_state = 0, .external_lex_state = 3},
1281
+ [90] = {.lex_state = 43},
1282
+ [91] = {.lex_state = 0, .external_lex_state = 3},
1283
+ [92] = {.lex_state = 0, .external_lex_state = 3},
1284
+ [93] = {.lex_state = 43},
1285
+ [94] = {.lex_state = 0, .external_lex_state = 3},
1286
+ [95] = {.lex_state = 3, .external_lex_state = 2},
1287
+ [96] = {.lex_state = 0, .external_lex_state = 3},
1288
+ [97] = {.lex_state = 0, .external_lex_state = 3},
1289
+ [98] = {.lex_state = 0},
1290
+ [99] = {.lex_state = 0},
1291
+ [100] = {.lex_state = 0, .external_lex_state = 4},
1292
+ [101] = {.lex_state = 0},
1293
+ [102] = {.lex_state = 0, .external_lex_state = 4},
1294
+ [103] = {.lex_state = 0},
1295
+ [104] = {.lex_state = 0, .external_lex_state = 4},
1296
+ [105] = {.lex_state = 0},
1297
+ [106] = {.lex_state = 44},
1298
+ [107] = {.lex_state = 0},
1299
+ [108] = {.lex_state = 0},
1300
+ [109] = {.lex_state = 0},
1301
+ [110] = {.lex_state = 0, .external_lex_state = 4},
1302
+ [111] = {.lex_state = 43},
1303
+ [112] = {.lex_state = 0, .external_lex_state = 4},
1304
+ [113] = {.lex_state = 0},
1305
+ [114] = {.lex_state = 0},
1306
+ [115] = {.lex_state = 0},
1307
+ [116] = {.lex_state = 0},
1308
+ [117] = {.lex_state = 44},
1309
+ [118] = {.lex_state = 0},
1310
+ };
1311
+
1312
+ enum {
1313
+ ts_external_token__newline = 0,
1314
+ ts_external_token__indent = 1,
1315
+ ts_external_token__dedent = 2,
1316
+ ts_external_token__string_start = 3,
1317
+ ts_external_token__string_content = 4,
1318
+ ts_external_token__string_end = 5,
1319
+ ts_external_token_comment = 6,
1320
+ ts_external_token_RBRACK = 7,
1321
+ ts_external_token_RPAREN = 8,
1322
+ ts_external_token_RBRACE = 9,
1323
+ };
1324
+
1325
+ static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
1326
+ [ts_external_token__newline] = sym__newline,
1327
+ [ts_external_token__indent] = sym__indent,
1328
+ [ts_external_token__dedent] = sym__dedent,
1329
+ [ts_external_token__string_start] = sym__string_start,
1330
+ [ts_external_token__string_content] = sym__string_content,
1331
+ [ts_external_token__string_end] = sym__string_end,
1332
+ [ts_external_token_comment] = sym_comment,
1333
+ [ts_external_token_RBRACK] = anon_sym_RBRACK,
1334
+ [ts_external_token_RPAREN] = anon_sym_RPAREN,
1335
+ [ts_external_token_RBRACE] = anon_sym_RBRACE,
1336
+ };
1337
+
1338
+ static const bool ts_external_scanner_states[5][EXTERNAL_TOKEN_COUNT] = {
1339
+ [1] = {
2444
1340
  [ts_external_token__newline] = true,
2445
1341
  [ts_external_token__indent] = true,
2446
1342
  [ts_external_token__dedent] = true,
@@ -2466,15 +1362,31 @@ static const bool ts_external_scanner_states[5][EXTERNAL_TOKEN_COUNT] = {
2466
1362
  static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
2467
1363
  [0] = {
2468
1364
  [ts_builtin_sym_end] = ACTIONS(1),
1365
+ [anon_sym_package] = ACTIONS(1),
2469
1366
  [anon_sym_import] = ACTIONS(1),
2470
- [anon_sym_SLASH] = ACTIONS(1),
2471
- [anon_sym_COMMA] = ACTIONS(1),
2472
1367
  [anon_sym_class] = ACTIONS(1),
2473
1368
  [anon_sym_COLON] = ACTIONS(1),
1369
+ [anon_sym_enum] = ACTIONS(1),
2474
1370
  [anon_sym_LPAREN] = ACTIONS(1),
1371
+ [anon_sym_COMMA] = ACTIONS(1),
2475
1372
  [anon_sym_RPAREN] = ACTIONS(1),
2476
1373
  [anon_sym_LT] = ACTIONS(1),
2477
1374
  [anon_sym_GT] = ACTIONS(1),
1375
+ [anon_sym_SLASH] = ACTIONS(1),
1376
+ [sym_enum_identifier] = ACTIONS(1),
1377
+ [anon_sym_true] = ACTIONS(1),
1378
+ [anon_sym_false] = ACTIONS(1),
1379
+ [sym_integer_literal] = ACTIONS(1),
1380
+ [sym_hex_literal] = ACTIONS(1),
1381
+ [sym_bin_literal] = ACTIONS(1),
1382
+ [anon_sym_SQUOTE] = ACTIONS(1),
1383
+ [anon_sym_BSLASHu] = ACTIONS(1),
1384
+ [aux_sym__uni_character_literal_token1] = ACTIONS(1),
1385
+ [sym__escaped_identifier] = ACTIONS(1),
1386
+ [anon_sym_DQUOTE] = ACTIONS(1),
1387
+ [anon_sym_BQUOTE] = ACTIONS(1),
1388
+ [anon_sym_DOLLAR] = ACTIONS(1),
1389
+ [anon_sym_null] = ACTIONS(1),
2478
1390
  [anon_sym_RBRACK] = ACTIONS(1),
2479
1391
  [anon_sym_RBRACE] = ACTIONS(1),
2480
1392
  [sym__newline] = ACTIONS(1),
@@ -2486,522 +1398,1098 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
2486
1398
  [sym_comment] = ACTIONS(1),
2487
1399
  },
2488
1400
  [1] = {
2489
- [sym_module] = STATE(58),
1401
+ [sym_source_file] = STATE(114),
2490
- [sym__definitions] = STATE(2),
2491
- [sym_import_statement] = STATE(2),
2492
- [sym_class_definition] = STATE(2),
2493
- [aux_sym_module_repeat1] = STATE(2),
2494
- [ts_builtin_sym_end] = ACTIONS(3),
2495
- [anon_sym_import] = ACTIONS(5),
2496
- [anon_sym_class] = ACTIONS(7),
1402
+ [anon_sym_package] = ACTIONS(3),
2497
1403
  },
2498
1404
  };
2499
1405
 
2500
1406
  static const uint16_t ts_small_parse_table[] = {
2501
- [0] = 4,
1407
+ [0] = 7,
2502
- ACTIONS(5), 1,
2503
- anon_sym_import,
2504
1408
  ACTIONS(7), 1,
2505
- anon_sym_class,
1409
+ sym_integer_literal,
2506
- ACTIONS(9), 1,
1410
+ ACTIONS(11), 1,
2507
- ts_builtin_sym_end,
1411
+ anon_sym_SQUOTE,
2508
- STATE(4), 4,
2509
- sym__definitions,
2510
- sym_import_statement,
2511
- sym_class_definition,
2512
- aux_sym_module_repeat1,
2513
- [16] = 5,
2514
1412
  ACTIONS(13), 1,
2515
- anon_sym_SLASH,
1413
+ anon_sym_DQUOTE,
2516
1414
  ACTIONS(15), 1,
1415
+ anon_sym_BQUOTE,
1416
+ ACTIONS(5), 2,
1417
+ anon_sym_true,
2517
- anon_sym_COMMA,
1418
+ anon_sym_false,
2518
- STATE(5), 1,
1419
+ ACTIONS(9), 4,
1420
+ sym_hex_literal,
1421
+ sym_bin_literal,
2519
- aux_sym_import_statement_repeat1,
1422
+ sym_float_literal,
1423
+ anon_sym_null,
2520
- STATE(13), 1,
1424
+ STATE(64), 7,
1425
+ sym__primary_expression,
1426
+ sym_boolean_literal,
1427
+ sym_character_literal,
1428
+ sym__string_literal,
1429
+ sym_line_string_literal,
2521
- aux_sym_import_statement_repeat2,
1430
+ sym_multi_line_string_literal,
1431
+ sym__literal_constant,
1432
+ [32] = 7,
2522
- ACTIONS(11), 3,
1433
+ ACTIONS(11), 1,
2523
- ts_builtin_sym_end,
2524
- anon_sym_import,
1434
+ anon_sym_SQUOTE,
1435
+ ACTIONS(13), 1,
2525
- anon_sym_class,
1436
+ anon_sym_DQUOTE,
2526
- [34] = 4,
1437
+ ACTIONS(15), 1,
1438
+ anon_sym_BQUOTE,
2527
1439
  ACTIONS(17), 1,
1440
+ sym_integer_literal,
1441
+ ACTIONS(5), 2,
1442
+ anon_sym_true,
1443
+ anon_sym_false,
1444
+ ACTIONS(19), 4,
1445
+ sym_hex_literal,
1446
+ sym_bin_literal,
1447
+ sym_float_literal,
1448
+ anon_sym_null,
1449
+ STATE(91), 7,
1450
+ sym__primary_expression,
1451
+ sym_boolean_literal,
1452
+ sym_character_literal,
1453
+ sym__string_literal,
1454
+ sym_line_string_literal,
1455
+ sym_multi_line_string_literal,
1456
+ sym__literal_constant,
1457
+ [64] = 7,
1458
+ ACTIONS(21), 1,
1459
+ anon_sym_BSLASHu,
1460
+ ACTIONS(23), 1,
1461
+ sym__escaped_identifier,
1462
+ ACTIONS(25), 1,
1463
+ anon_sym_DQUOTE,
1464
+ ACTIONS(27), 1,
1465
+ sym__line_str_text,
1466
+ ACTIONS(29), 1,
1467
+ anon_sym_DOLLAR,
1468
+ STATE(21), 1,
1469
+ sym__uni_character_literal,
1470
+ STATE(6), 4,
1471
+ sym_character_escape_seq,
1472
+ sym__line_string_content,
1473
+ sym__interpolation,
1474
+ aux_sym_line_string_literal_repeat1,
1475
+ [89] = 7,
1476
+ ACTIONS(31), 1,
2528
1477
  ts_builtin_sym_end,
2529
- ACTIONS(19), 1,
1478
+ ACTIONS(33), 1,
2530
1479
  anon_sym_import,
2531
- ACTIONS(22), 1,
1480
+ ACTIONS(35), 1,
2532
1481
  anon_sym_class,
1482
+ ACTIONS(37), 1,
1483
+ anon_sym_enum,
2533
- STATE(4), 4,
1484
+ STATE(7), 2,
2534
- sym__definitions,
2535
1485
  sym_import_statement,
1486
+ aux_sym_source_file_repeat1,
1487
+ STATE(13), 2,
2536
1488
  sym_class_definition,
2537
- aux_sym_module_repeat1,
1489
+ aux_sym_source_file_repeat2,
1490
+ STATE(37), 2,
1491
+ sym_enum_definition,
1492
+ aux_sym_source_file_repeat3,
2538
- [50] = 5,
1493
+ [114] = 7,
1494
+ ACTIONS(21), 1,
1495
+ anon_sym_BSLASHu,
2539
- ACTIONS(13), 1,
1496
+ ACTIONS(23), 1,
2540
- anon_sym_SLASH,
1497
+ sym__escaped_identifier,
2541
- ACTIONS(15), 1,
1498
+ ACTIONS(29), 1,
2542
- anon_sym_COMMA,
1499
+ anon_sym_DOLLAR,
2543
- STATE(6), 1,
1500
+ ACTIONS(39), 1,
1501
+ anon_sym_DQUOTE,
1502
+ ACTIONS(41), 1,
2544
- aux_sym_import_statement_repeat1,
1503
+ sym__line_str_text,
2545
- STATE(11), 1,
1504
+ STATE(21), 1,
1505
+ sym__uni_character_literal,
1506
+ STATE(8), 4,
1507
+ sym_character_escape_seq,
1508
+ sym__line_string_content,
1509
+ sym__interpolation,
2546
- aux_sym_import_statement_repeat2,
1510
+ aux_sym_line_string_literal_repeat1,
1511
+ [139] = 7,
2547
- ACTIONS(25), 3,
1512
+ ACTIONS(33), 1,
2548
- ts_builtin_sym_end,
2549
1513
  anon_sym_import,
1514
+ ACTIONS(35), 1,
2550
1515
  anon_sym_class,
2551
- [68] = 3,
2552
- ACTIONS(29), 1,
1516
+ ACTIONS(37), 1,
1517
+ anon_sym_enum,
1518
+ ACTIONS(43), 1,
1519
+ ts_builtin_sym_end,
1520
+ STATE(14), 2,
1521
+ sym_class_definition,
1522
+ aux_sym_source_file_repeat2,
1523
+ STATE(18), 2,
1524
+ sym_import_statement,
1525
+ aux_sym_source_file_repeat1,
1526
+ STATE(43), 2,
1527
+ sym_enum_definition,
1528
+ aux_sym_source_file_repeat3,
1529
+ [164] = 7,
1530
+ ACTIONS(45), 1,
2553
- anon_sym_SLASH,
1531
+ anon_sym_BSLASHu,
1532
+ ACTIONS(48), 1,
1533
+ sym__escaped_identifier,
1534
+ ACTIONS(51), 1,
1535
+ anon_sym_DQUOTE,
1536
+ ACTIONS(53), 1,
1537
+ sym__line_str_text,
1538
+ ACTIONS(56), 1,
1539
+ anon_sym_DOLLAR,
2554
- STATE(6), 1,
1540
+ STATE(21), 1,
1541
+ sym__uni_character_literal,
1542
+ STATE(8), 4,
1543
+ sym_character_escape_seq,
1544
+ sym__line_string_content,
1545
+ sym__interpolation,
2555
- aux_sym_import_statement_repeat1,
1546
+ aux_sym_line_string_literal_repeat1,
1547
+ [189] = 1,
2556
- ACTIONS(27), 4,
1548
+ ACTIONS(59), 9,
2557
1549
  ts_builtin_sym_end,
2558
1550
  anon_sym_import,
1551
+ anon_sym_class,
1552
+ anon_sym_COLON,
1553
+ anon_sym_enum,
1554
+ anon_sym_LPAREN,
2559
1555
  anon_sym_COMMA,
1556
+ anon_sym_LT,
1557
+ anon_sym_GT,
1558
+ [201] = 4,
1559
+ ACTIONS(64), 1,
1560
+ anon_sym_BQUOTE,
1561
+ ACTIONS(66), 1,
1562
+ anon_sym_DOLLAR,
1563
+ ACTIONS(61), 2,
1564
+ anon_sym_DQUOTE,
1565
+ sym__multi_line_str_text,
1566
+ STATE(10), 3,
1567
+ sym__multi_line_string_content,
1568
+ sym__interpolation,
1569
+ aux_sym_multi_line_string_literal_repeat1,
1570
+ [217] = 4,
1571
+ ACTIONS(71), 1,
1572
+ anon_sym_BQUOTE,
1573
+ ACTIONS(73), 1,
1574
+ anon_sym_DOLLAR,
1575
+ ACTIONS(69), 2,
1576
+ anon_sym_DQUOTE,
1577
+ sym__multi_line_str_text,
1578
+ STATE(12), 3,
1579
+ sym__multi_line_string_content,
1580
+ sym__interpolation,
1581
+ aux_sym_multi_line_string_literal_repeat1,
1582
+ [233] = 4,
1583
+ ACTIONS(73), 1,
1584
+ anon_sym_DOLLAR,
1585
+ ACTIONS(77), 1,
1586
+ anon_sym_BQUOTE,
1587
+ ACTIONS(75), 2,
1588
+ anon_sym_DQUOTE,
1589
+ sym__multi_line_str_text,
1590
+ STATE(10), 3,
1591
+ sym__multi_line_string_content,
1592
+ sym__interpolation,
1593
+ aux_sym_multi_line_string_literal_repeat1,
1594
+ [249] = 5,
1595
+ ACTIONS(35), 1,
2560
1596
  anon_sym_class,
2561
- [81] = 3,
1597
+ ACTIONS(37), 1,
1598
+ anon_sym_enum,
2562
- ACTIONS(13), 1,
1599
+ ACTIONS(43), 1,
2563
- anon_sym_SLASH,
2564
- STATE(8), 1,
2565
- aux_sym_import_statement_repeat1,
2566
- ACTIONS(32), 4,
2567
1600
  ts_builtin_sym_end,
1601
+ STATE(23), 2,
1602
+ sym_class_definition,
2568
- anon_sym_import,
1603
+ aux_sym_source_file_repeat2,
1604
+ STATE(43), 2,
1605
+ sym_enum_definition,
1606
+ aux_sym_source_file_repeat3,
1607
+ [267] = 5,
2569
- anon_sym_COMMA,
1608
+ ACTIONS(35), 1,
2570
1609
  anon_sym_class,
1610
+ ACTIONS(37), 1,
1611
+ anon_sym_enum,
1612
+ ACTIONS(79), 1,
1613
+ ts_builtin_sym_end,
1614
+ STATE(23), 2,
1615
+ sym_class_definition,
1616
+ aux_sym_source_file_repeat2,
1617
+ STATE(46), 2,
1618
+ sym_enum_definition,
1619
+ aux_sym_source_file_repeat3,
2571
- [94] = 3,
1620
+ [285] = 3,
2572
- ACTIONS(13), 1,
1621
+ ACTIONS(83), 1,
2573
1622
  anon_sym_SLASH,
2574
- STATE(6), 1,
1623
+ STATE(15), 1,
2575
- aux_sym_import_statement_repeat1,
1624
+ aux_sym_url_repeat1,
2576
- ACTIONS(34), 4,
1625
+ ACTIONS(81), 4,
2577
1626
  ts_builtin_sym_end,
2578
1627
  anon_sym_import,
2579
- anon_sym_COMMA,
2580
1628
  anon_sym_class,
1629
+ anon_sym_enum,
2581
- [107] = 1,
1630
+ [298] = 3,
2582
- ACTIONS(27), 5,
1631
+ ACTIONS(88), 1,
2583
- ts_builtin_sym_end,
2584
- anon_sym_import,
2585
1632
  anon_sym_SLASH,
2586
- anon_sym_COMMA,
2587
- anon_sym_class,
2588
- [115] = 3,
2589
- ACTIONS(38), 1,
2590
- anon_sym_COMMA,
2591
- STATE(10), 1,
1633
+ STATE(17), 1,
2592
- aux_sym_import_statement_repeat2,
1634
+ aux_sym_url_repeat1,
2593
- ACTIONS(36), 3,
1635
+ ACTIONS(86), 4,
2594
1636
  ts_builtin_sym_end,
2595
1637
  anon_sym_import,
2596
1638
  anon_sym_class,
1639
+ anon_sym_enum,
2597
- [127] = 3,
1640
+ [311] = 3,
2598
- ACTIONS(15), 1,
1641
+ ACTIONS(88), 1,
2599
- anon_sym_COMMA,
1642
+ anon_sym_SLASH,
2600
- STATE(10), 1,
1643
+ STATE(15), 1,
2601
- aux_sym_import_statement_repeat2,
1644
+ aux_sym_url_repeat1,
2602
- ACTIONS(41), 3,
1645
+ ACTIONS(90), 4,
2603
1646
  ts_builtin_sym_end,
2604
1647
  anon_sym_import,
2605
1648
  anon_sym_class,
1649
+ anon_sym_enum,
2606
- [139] = 5,
1650
+ [324] = 3,
2607
- ACTIONS(43), 1,
1651
+ ACTIONS(94), 1,
2608
- anon_sym_COLON,
2609
- ACTIONS(45), 1,
2610
- anon_sym_LPAREN,
2611
- ACTIONS(47), 1,
2612
- anon_sym_LT,
2613
- STATE(29), 1,
2614
- sym_generic_list,
2615
- STATE(51), 1,
2616
- sym_trait_list,
2617
- [155] = 3,
2618
- ACTIONS(15), 1,
2619
- anon_sym_COMMA,
2620
- STATE(10), 1,
2621
- aux_sym_import_statement_repeat2,
2622
- ACTIONS(49), 3,
2623
- ts_builtin_sym_end,
2624
1652
  anon_sym_import,
1653
+ STATE(18), 2,
1654
+ sym_import_statement,
1655
+ aux_sym_source_file_repeat1,
1656
+ ACTIONS(92), 3,
1657
+ ts_builtin_sym_end,
2625
1658
  anon_sym_class,
1659
+ anon_sym_enum,
2626
- [167] = 3,
1660
+ [337] = 4,
2627
- ACTIONS(51), 1,
1661
+ ACTIONS(97), 1,
2628
- sym_identifier,
1662
+ aux_sym_url_token1,
2629
- ACTIONS(53), 1,
1663
+ ACTIONS(99), 1,
2630
1664
  sym__dedent,
2631
- STATE(17), 2,
1665
+ STATE(108), 1,
2632
- sym_type_pair,
2633
- aux_sym_class_definition_repeat1,
2634
- [178] = 3,
2635
- ACTIONS(51), 1,
2636
1666
  sym_identifier,
2637
- ACTIONS(55), 1,
2638
- sym__dedent,
2639
- STATE(19), 2,
1667
+ STATE(20), 2,
2640
- sym_type_pair,
1668
+ sym_class_field,
2641
1669
  aux_sym_class_definition_repeat1,
2642
- [189] = 3,
1670
+ [351] = 4,
2643
- ACTIONS(51), 1,
2644
- sym_identifier,
2645
- ACTIONS(57), 1,
1671
+ ACTIONS(97), 1,
1672
+ aux_sym_url_token1,
1673
+ ACTIONS(101), 1,
2646
1674
  sym__dedent,
2647
- STATE(19), 2,
1675
+ STATE(108), 1,
2648
- sym_type_pair,
2649
- aux_sym_class_definition_repeat1,
2650
- [200] = 3,
2651
- ACTIONS(51), 1,
2652
1676
  sym_identifier,
2653
- ACTIONS(59), 1,
2654
- sym__dedent,
2655
- STATE(19), 2,
1677
+ STATE(26), 2,
2656
- sym_type_pair,
1678
+ sym_class_field,
2657
1679
  aux_sym_class_definition_repeat1,
2658
- [211] = 3,
1680
+ [365] = 2,
1681
+ ACTIONS(105), 1,
1682
+ sym__line_str_text,
1683
+ ACTIONS(103), 4,
1684
+ anon_sym_BSLASHu,
1685
+ sym__escaped_identifier,
1686
+ anon_sym_DQUOTE,
1687
+ anon_sym_DOLLAR,
1688
+ [375] = 4,
2659
- ACTIONS(51), 1,
1689
+ ACTIONS(97), 1,
2660
- sym_identifier,
1690
+ aux_sym_url_token1,
2661
- ACTIONS(61), 1,
1691
+ ACTIONS(107), 1,
2662
1692
  sym__dedent,
2663
- STATE(21), 2,
1693
+ STATE(108), 1,
2664
- sym_type_pair,
2665
- aux_sym_class_definition_repeat1,
2666
- [222] = 3,
2667
- ACTIONS(63), 1,
2668
1694
  sym_identifier,
2669
- ACTIONS(66), 1,
2670
- sym__dedent,
2671
- STATE(19), 2,
1695
+ STATE(28), 2,
2672
- sym_type_pair,
1696
+ sym_class_field,
2673
1697
  aux_sym_class_definition_repeat1,
2674
- [233] = 3,
1698
+ [389] = 3,
2675
- ACTIONS(51), 1,
1699
+ ACTIONS(111), 1,
1700
+ anon_sym_class,
1701
+ ACTIONS(109), 2,
1702
+ ts_builtin_sym_end,
1703
+ anon_sym_enum,
1704
+ STATE(23), 2,
1705
+ sym_class_definition,
1706
+ aux_sym_source_file_repeat2,
1707
+ [401] = 4,
1708
+ ACTIONS(97), 1,
1709
+ aux_sym_url_token1,
1710
+ ACTIONS(114), 1,
1711
+ sym__dedent,
1712
+ STATE(108), 1,
2676
1713
  sym_identifier,
1714
+ STATE(26), 2,
1715
+ sym_class_field,
1716
+ aux_sym_class_definition_repeat1,
1717
+ [415] = 4,
2677
- ACTIONS(68), 1,
1718
+ ACTIONS(97), 1,
1719
+ aux_sym_url_token1,
1720
+ ACTIONS(116), 1,
2678
1721
  sym__dedent,
1722
+ STATE(108), 1,
1723
+ sym_identifier,
2679
- STATE(16), 2,
1724
+ STATE(26), 2,
2680
- sym_type_pair,
1725
+ sym_class_field,
2681
1726
  aux_sym_class_definition_repeat1,
2682
- [244] = 3,
1727
+ [429] = 4,
2683
- ACTIONS(51), 1,
1728
+ ACTIONS(118), 1,
1729
+ aux_sym_url_token1,
1730
+ ACTIONS(121), 1,
1731
+ sym__dedent,
1732
+ STATE(108), 1,
2684
1733
  sym_identifier,
1734
+ STATE(26), 2,
1735
+ sym_class_field,
1736
+ aux_sym_class_definition_repeat1,
1737
+ [443] = 2,
1738
+ ACTIONS(125), 1,
1739
+ sym__line_str_text,
1740
+ ACTIONS(123), 4,
1741
+ anon_sym_BSLASHu,
1742
+ sym__escaped_identifier,
1743
+ anon_sym_DQUOTE,
1744
+ anon_sym_DOLLAR,
1745
+ [453] = 4,
2685
- ACTIONS(70), 1,
1746
+ ACTIONS(97), 1,
1747
+ aux_sym_url_token1,
1748
+ ACTIONS(127), 1,
2686
1749
  sym__dedent,
1750
+ STATE(108), 1,
1751
+ sym_identifier,
2687
- STATE(19), 2,
1752
+ STATE(26), 2,
2688
- sym_type_pair,
1753
+ sym_class_field,
2689
1754
  aux_sym_class_definition_repeat1,
2690
- [255] = 3,
1755
+ [467] = 4,
2691
- ACTIONS(51), 1,
1756
+ ACTIONS(97), 1,
1757
+ aux_sym_url_token1,
1758
+ ACTIONS(129), 1,
1759
+ sym__dedent,
1760
+ STATE(108), 1,
2692
1761
  sym_identifier,
1762
+ STATE(24), 2,
1763
+ sym_class_field,
1764
+ aux_sym_class_definition_repeat1,
1765
+ [481] = 4,
2693
- ACTIONS(72), 1,
1766
+ ACTIONS(97), 1,
1767
+ aux_sym_url_token1,
1768
+ ACTIONS(131), 1,
2694
1769
  sym__dedent,
1770
+ STATE(108), 1,
1771
+ sym_identifier,
2695
- STATE(15), 2,
1772
+ STATE(25), 2,
2696
- sym_type_pair,
1773
+ sym_class_field,
2697
1774
  aux_sym_class_definition_repeat1,
1775
+ [495] = 5,
1776
+ ACTIONS(133), 1,
1777
+ aux_sym_character_literal_token1,
1778
+ ACTIONS(135), 1,
1779
+ anon_sym_BSLASHu,
1780
+ ACTIONS(137), 1,
1781
+ sym__escaped_identifier,
1782
+ STATE(105), 1,
1783
+ sym__uni_character_literal,
1784
+ STATE(107), 1,
1785
+ sym_character_escape_seq,
2698
- [266] = 1,
1786
+ [511] = 1,
2699
- ACTIONS(74), 3,
1787
+ ACTIONS(81), 5,
2700
1788
  ts_builtin_sym_end,
2701
1789
  anon_sym_import,
2702
1790
  anon_sym_class,
1791
+ anon_sym_enum,
1792
+ anon_sym_SLASH,
1793
+ [519] = 5,
1794
+ ACTIONS(139), 1,
1795
+ anon_sym_COLON,
1796
+ ACTIONS(141), 1,
1797
+ anon_sym_LPAREN,
1798
+ ACTIONS(143), 1,
1799
+ anon_sym_LT,
1800
+ STATE(56), 1,
1801
+ sym_generic_list,
1802
+ STATE(101), 1,
1803
+ sym_trait_list,
1804
+ [535] = 2,
1805
+ ACTIONS(59), 1,
1806
+ sym__line_str_text,
1807
+ ACTIONS(145), 4,
1808
+ anon_sym_BSLASHu,
1809
+ sym__escaped_identifier,
1810
+ anon_sym_DQUOTE,
1811
+ anon_sym_DOLLAR,
1812
+ [545] = 2,
1813
+ ACTIONS(149), 1,
1814
+ sym__line_str_text,
1815
+ ACTIONS(147), 4,
1816
+ anon_sym_BSLASHu,
1817
+ sym__escaped_identifier,
1818
+ anon_sym_DQUOTE,
1819
+ anon_sym_DOLLAR,
1820
+ [555] = 3,
1821
+ ACTIONS(151), 1,
1822
+ sym_enum_identifier,
1823
+ ACTIONS(154), 1,
1824
+ sym__dedent,
1825
+ STATE(36), 2,
1826
+ sym_enum_field,
1827
+ aux_sym_enum_definition_repeat1,
1828
+ [566] = 3,
1829
+ ACTIONS(37), 1,
1830
+ anon_sym_enum,
1831
+ ACTIONS(43), 1,
1832
+ ts_builtin_sym_end,
1833
+ STATE(40), 2,
1834
+ sym_enum_definition,
1835
+ aux_sym_source_file_repeat3,
2703
- [272] = 3,
1836
+ [577] = 3,
1837
+ ACTIONS(156), 1,
1838
+ sym_enum_identifier,
1839
+ ACTIONS(158), 1,
1840
+ sym__dedent,
1841
+ STATE(36), 2,
1842
+ sym_enum_field,
1843
+ aux_sym_enum_definition_repeat1,
1844
+ [588] = 1,
1845
+ ACTIONS(123), 4,
1846
+ anon_sym_DQUOTE,
1847
+ anon_sym_BQUOTE,
1848
+ sym__multi_line_str_text,
1849
+ anon_sym_DOLLAR,
1850
+ [595] = 3,
1851
+ ACTIONS(160), 1,
1852
+ ts_builtin_sym_end,
1853
+ ACTIONS(162), 1,
1854
+ anon_sym_enum,
1855
+ STATE(40), 2,
1856
+ sym_enum_definition,
1857
+ aux_sym_source_file_repeat3,
1858
+ [606] = 3,
1859
+ ACTIONS(156), 1,
1860
+ sym_enum_identifier,
1861
+ ACTIONS(165), 1,
1862
+ sym__dedent,
1863
+ STATE(38), 2,
1864
+ sym_enum_field,
1865
+ aux_sym_enum_definition_repeat1,
1866
+ [617] = 1,
1867
+ ACTIONS(145), 4,
1868
+ anon_sym_DQUOTE,
1869
+ anon_sym_BQUOTE,
1870
+ sym__multi_line_str_text,
1871
+ anon_sym_DOLLAR,
1872
+ [624] = 3,
1873
+ ACTIONS(37), 1,
1874
+ anon_sym_enum,
2704
- ACTIONS(76), 1,
1875
+ ACTIONS(79), 1,
1876
+ ts_builtin_sym_end,
1877
+ STATE(40), 2,
1878
+ sym_enum_definition,
1879
+ aux_sym_source_file_repeat3,
1880
+ [635] = 1,
1881
+ ACTIONS(167), 4,
1882
+ ts_builtin_sym_end,
1883
+ anon_sym_import,
1884
+ anon_sym_class,
1885
+ anon_sym_enum,
1886
+ [642] = 1,
1887
+ ACTIONS(169), 4,
1888
+ ts_builtin_sym_end,
1889
+ anon_sym_import,
1890
+ anon_sym_class,
1891
+ anon_sym_enum,
1892
+ [649] = 3,
1893
+ ACTIONS(37), 1,
1894
+ anon_sym_enum,
1895
+ ACTIONS(171), 1,
1896
+ ts_builtin_sym_end,
1897
+ STATE(40), 2,
1898
+ sym_enum_definition,
1899
+ aux_sym_source_file_repeat3,
1900
+ [660] = 1,
1901
+ ACTIONS(173), 3,
1902
+ ts_builtin_sym_end,
1903
+ anon_sym_class,
1904
+ anon_sym_enum,
1905
+ [666] = 1,
1906
+ ACTIONS(175), 3,
1907
+ ts_builtin_sym_end,
1908
+ anon_sym_class,
1909
+ anon_sym_enum,
1910
+ [672] = 3,
1911
+ ACTIONS(177), 1,
2705
1912
  anon_sym_COMMA,
2706
- ACTIONS(78), 1,
1913
+ ACTIONS(179), 1,
2707
1914
  anon_sym_RPAREN,
2708
- STATE(32), 1,
1915
+ STATE(60), 1,
2709
- aux_sym_trait_list_repeat1,
1916
+ aux_sym_type_list_repeat1,
2710
- [282] = 3,
1917
+ [682] = 1,
1918
+ ACTIONS(181), 3,
1919
+ ts_builtin_sym_end,
1920
+ anon_sym_class,
1921
+ anon_sym_enum,
1922
+ [688] = 3,
2711
- ACTIONS(80), 1,
1923
+ ACTIONS(183), 1,
2712
1924
  anon_sym_COMMA,
2713
- ACTIONS(82), 1,
1925
+ ACTIONS(185), 1,
2714
1926
  anon_sym_GT,
2715
- STATE(33), 1,
1927
+ STATE(62), 1,
2716
- aux_sym_trait_list_repeat1,
1928
+ aux_sym_type_list_repeat1,
2717
- [292] = 3,
1929
+ [698] = 3,
2718
- ACTIONS(84), 1,
1930
+ ACTIONS(187), 1,
2719
1931
  anon_sym_COMMA,
2720
- ACTIONS(87), 1,
1932
+ ACTIONS(189), 1,
2721
- anon_sym_GT,
2722
- STATE(26), 1,
2723
- aux_sym_trait_list_repeat1,
2724
- [302] = 1,
2725
- ACTIONS(89), 3,
2726
- ts_builtin_sym_end,
2727
- anon_sym_import,
2728
- anon_sym_class,
2729
- [308] = 3,
2730
- ACTIONS(87), 1,
2731
1933
  anon_sym_RPAREN,
1934
+ STATE(58), 1,
1935
+ aux_sym_enum_field_repeat1,
1936
+ [708] = 3,
2732
- ACTIONS(91), 1,
1937
+ ACTIONS(177), 1,
2733
1938
  anon_sym_COMMA,
1939
+ ACTIONS(191), 1,
1940
+ anon_sym_RPAREN,
2734
- STATE(28), 1,
1941
+ STATE(49), 1,
2735
- aux_sym_trait_list_repeat1,
1942
+ aux_sym_type_list_repeat1,
2736
- [318] = 3,
1943
+ [718] = 3,
1944
+ ACTIONS(177), 1,
1945
+ anon_sym_COMMA,
1946
+ ACTIONS(193), 1,
1947
+ anon_sym_RPAREN,
1948
+ STATE(60), 1,
1949
+ aux_sym_type_list_repeat1,
1950
+ [728] = 3,
1951
+ ACTIONS(97), 1,
1952
+ aux_sym_url_token1,
1953
+ STATE(5), 1,
1954
+ sym_package,
1955
+ STATE(45), 1,
1956
+ sym_identifier,
1957
+ [738] = 3,
2737
- ACTIONS(45), 1,
1958
+ ACTIONS(141), 1,
2738
1959
  anon_sym_LPAREN,
2739
- ACTIONS(94), 1,
1960
+ ACTIONS(195), 1,
2740
1961
  anon_sym_COLON,
2741
- STATE(48), 1,
1962
+ STATE(103), 1,
2742
1963
  sym_trait_list,
2743
- [328] = 1,
1964
+ [748] = 1,
2744
- ACTIONS(96), 3,
1965
+ ACTIONS(197), 3,
2745
1966
  ts_builtin_sym_end,
2746
- anon_sym_import,
2747
1967
  anon_sym_class,
1968
+ anon_sym_enum,
2748
- [334] = 1,
1969
+ [754] = 3,
2749
- ACTIONS(98), 3,
1970
+ ACTIONS(199), 1,
1971
+ anon_sym_COMMA,
1972
+ ACTIONS(202), 1,
1973
+ anon_sym_RPAREN,
1974
+ STATE(58), 1,
1975
+ aux_sym_enum_field_repeat1,
1976
+ [764] = 1,
1977
+ ACTIONS(204), 3,
2750
1978
  ts_builtin_sym_end,
2751
- anon_sym_import,
2752
1979
  anon_sym_class,
1980
+ anon_sym_enum,
2753
- [340] = 3,
1981
+ [770] = 3,
2754
- ACTIONS(76), 1,
1982
+ ACTIONS(206), 1,
2755
1983
  anon_sym_COMMA,
2756
- ACTIONS(100), 1,
1984
+ ACTIONS(209), 1,
2757
1985
  anon_sym_RPAREN,
2758
- STATE(28), 1,
1986
+ STATE(60), 1,
2759
- aux_sym_trait_list_repeat1,
1987
+ aux_sym_type_list_repeat1,
2760
- [350] = 3,
2761
- ACTIONS(80), 1,
2762
- anon_sym_COMMA,
2763
- ACTIONS(102), 1,
2764
- anon_sym_GT,
2765
- STATE(26), 1,
2766
- aux_sym_trait_list_repeat1,
2767
- [360] = 1,
1988
+ [780] = 1,
2768
- ACTIONS(104), 3,
1989
+ ACTIONS(211), 3,
2769
1990
  ts_builtin_sym_end,
2770
- anon_sym_import,
2771
1991
  anon_sym_class,
1992
+ anon_sym_enum,
1993
+ [786] = 3,
1994
+ ACTIONS(209), 1,
1995
+ anon_sym_GT,
1996
+ ACTIONS(213), 1,
1997
+ anon_sym_COMMA,
1998
+ STATE(62), 1,
1999
+ aux_sym_type_list_repeat1,
2772
- [366] = 1,
2000
+ [796] = 1,
2773
- ACTIONS(106), 3,
2001
+ ACTIONS(216), 3,
2774
2002
  ts_builtin_sym_end,
2775
- anon_sym_import,
2776
2003
  anon_sym_class,
2004
+ anon_sym_enum,
2777
- [372] = 1,
2005
+ [802] = 3,
2778
- ACTIONS(108), 3,
2006
+ ACTIONS(187), 1,
2007
+ anon_sym_COMMA,
2008
+ ACTIONS(218), 1,
2009
+ anon_sym_RPAREN,
2010
+ STATE(52), 1,
2011
+ aux_sym_enum_field_repeat1,
2012
+ [812] = 3,
2013
+ ACTIONS(183), 1,
2014
+ anon_sym_COMMA,
2015
+ ACTIONS(220), 1,
2016
+ anon_sym_GT,
2017
+ STATE(51), 1,
2018
+ aux_sym_type_list_repeat1,
2019
+ [822] = 3,
2020
+ ACTIONS(177), 1,
2021
+ anon_sym_COMMA,
2022
+ ACTIONS(222), 1,
2023
+ anon_sym_RPAREN,
2024
+ STATE(54), 1,
2025
+ aux_sym_type_list_repeat1,
2026
+ [832] = 1,
2027
+ ACTIONS(224), 3,
2779
2028
  ts_builtin_sym_end,
2780
- anon_sym_import,
2781
2029
  anon_sym_class,
2030
+ anon_sym_enum,
2782
- [378] = 1,
2031
+ [838] = 2,
2032
+ ACTIONS(226), 1,
2033
+ aux_sym_url_token1,
2034
+ STATE(66), 1,
2035
+ sym_identifier,
2036
+ [845] = 1,
2037
+ ACTIONS(228), 2,
2038
+ sym__dedent,
2039
+ sym_enum_identifier,
2040
+ [850] = 2,
2783
- ACTIONS(110), 3,
2041
+ ACTIONS(230), 1,
2042
+ aux_sym_url_token1,
2043
+ STATE(39), 1,
2044
+ sym_identifier,
2045
+ [857] = 1,
2046
+ ACTIONS(232), 2,
2047
+ anon_sym_COLON,
2048
+ anon_sym_LPAREN,
2049
+ [862] = 1,
2050
+ ACTIONS(234), 2,
2051
+ sym__dedent,
2052
+ aux_sym_url_token1,
2053
+ [867] = 2,
2054
+ ACTIONS(236), 1,
2055
+ aux_sym_url_token1,
2056
+ STATE(44), 1,
2057
+ sym_url,
2058
+ [874] = 2,
2059
+ ACTIONS(97), 1,
2060
+ aux_sym_url_token1,
2061
+ STATE(33), 1,
2062
+ sym_identifier,
2063
+ [881] = 1,
2064
+ ACTIONS(59), 2,
2065
+ sym__dedent,
2066
+ aux_sym_url_token1,
2067
+ [886] = 1,
2068
+ ACTIONS(209), 2,
2069
+ anon_sym_COMMA,
2070
+ anon_sym_RPAREN,
2071
+ [891] = 2,
2072
+ ACTIONS(238), 1,
2073
+ aux_sym_url_token1,
2074
+ STATE(72), 1,
2075
+ sym_identifier,
2076
+ [898] = 1,
2077
+ ACTIONS(240), 2,
2784
2078
  ts_builtin_sym_end,
2785
- anon_sym_import,
2786
- anon_sym_class,
2079
+ anon_sym_enum,
2787
- [384] = 1,
2080
+ [903] = 2,
2788
- ACTIONS(87), 2,
2081
+ ACTIONS(97), 1,
2082
+ aux_sym_url_token1,
2083
+ STATE(80), 1,
2084
+ sym_identifier,
2085
+ [910] = 2,
2086
+ ACTIONS(242), 1,
2087
+ anon_sym_LPAREN,
2088
+ STATE(99), 1,
2089
+ sym_type_list,
2090
+ [917] = 1,
2091
+ ACTIONS(244), 2,
2789
2092
  anon_sym_COMMA,
2790
2093
  anon_sym_RPAREN,
2791
- [389] = 1,
2094
+ [922] = 1,
2792
- ACTIONS(112), 2,
2095
+ ACTIONS(246), 2,
2793
2096
  anon_sym_COLON,
2794
2097
  anon_sym_LPAREN,
2795
- [394] = 1,
2098
+ [927] = 1,
2796
- ACTIONS(87), 2,
2099
+ ACTIONS(209), 2,
2797
2100
  anon_sym_COMMA,
2798
2101
  anon_sym_GT,
2799
- [399] = 1,
2102
+ [932] = 2,
2800
- ACTIONS(114), 2,
2103
+ ACTIONS(226), 1,
2801
- sym__dedent,
2104
+ aux_sym_url_token1,
2105
+ STATE(76), 1,
2802
2106
  sym_identifier,
2803
- [404] = 1,
2804
- ACTIONS(116), 2,
2805
- anon_sym_COLON,
2806
- anon_sym_LPAREN,
2807
- [409] = 1,
2107
+ [939] = 2,
2808
- ACTIONS(118), 1,
2108
+ ACTIONS(97), 1,
2809
- sym__indent,
2109
+ aux_sym_url_token1,
2810
- [413] = 1,
2811
- ACTIONS(120), 1,
2110
+ STATE(83), 1,
2812
2111
  sym_identifier,
2813
- [417] = 1,
2112
+ [946] = 1,
2814
- ACTIONS(122), 1,
2113
+ ACTIONS(59), 2,
2815
- anon_sym_COLON,
2114
+ anon_sym_COMMA,
2115
+ anon_sym_RPAREN,
2816
- [421] = 1,
2116
+ [951] = 2,
2817
- ACTIONS(124), 1,
2818
- anon_sym_COLON,
2819
- [425] = 1,
2820
- ACTIONS(126), 1,
2117
+ ACTIONS(226), 1,
2118
+ aux_sym_url_token1,
2119
+ STATE(53), 1,
2120
+ sym_identifier,
2121
+ [958] = 1,
2122
+ ACTIONS(248), 2,
2123
+ ts_builtin_sym_end,
2124
+ anon_sym_enum,
2125
+ [963] = 1,
2126
+ ACTIONS(250), 2,
2127
+ anon_sym_COMMA,
2128
+ anon_sym_RPAREN,
2129
+ [968] = 2,
2130
+ ACTIONS(252), 1,
2131
+ aux_sym_url_token1,
2132
+ STATE(27), 1,
2133
+ sym_identifier,
2134
+ [975] = 1,
2135
+ ACTIONS(202), 2,
2136
+ anon_sym_COMMA,
2137
+ anon_sym_RPAREN,
2138
+ [980] = 1,
2139
+ ACTIONS(254), 2,
2140
+ anon_sym_COMMA,
2141
+ anon_sym_RPAREN,
2142
+ [985] = 2,
2143
+ ACTIONS(97), 1,
2144
+ aux_sym_url_token1,
2145
+ STATE(65), 1,
2821
2146
  sym_identifier,
2822
- [429] = 1,
2147
+ [992] = 1,
2148
+ ACTIONS(256), 2,
2149
+ anon_sym_COMMA,
2150
+ anon_sym_RPAREN,
2151
+ [997] = 1,
2152
+ ACTIONS(258), 2,
2153
+ sym__dedent,
2154
+ sym_enum_identifier,
2155
+ [1002] = 1,
2156
+ ACTIONS(260), 2,
2157
+ anon_sym_COMMA,
2158
+ anon_sym_RPAREN,
2159
+ [1007] = 1,
2160
+ ACTIONS(262), 2,
2161
+ anon_sym_COMMA,
2162
+ anon_sym_RPAREN,
2163
+ [1012] = 1,
2823
- ACTIONS(128), 1,
2164
+ ACTIONS(149), 1,
2165
+ anon_sym_SQUOTE,
2166
+ [1016] = 1,
2167
+ ACTIONS(264), 1,
2824
2168
  anon_sym_COLON,
2825
- [433] = 1,
2169
+ [1020] = 1,
2826
- ACTIONS(130), 1,
2170
+ ACTIONS(266), 1,
2171
+ sym__indent,
2172
+ [1024] = 1,
2173
+ ACTIONS(268), 1,
2827
2174
  anon_sym_COLON,
2828
- [437] = 1,
2175
+ [1028] = 1,
2829
- ACTIONS(132), 1,
2176
+ ACTIONS(270), 1,
2830
2177
  sym__indent,
2831
- [441] = 1,
2178
+ [1032] = 1,
2832
- ACTIONS(134), 1,
2179
+ ACTIONS(272), 1,
2833
2180
  anon_sym_COLON,
2834
- [445] = 1,
2181
+ [1036] = 1,
2835
- ACTIONS(136), 1,
2182
+ ACTIONS(274), 1,
2836
- sym_identifier,
2837
- [449] = 1,
2838
- ACTIONS(138), 1,
2839
2183
  sym__indent,
2840
- [453] = 1,
2184
+ [1040] = 1,
2841
- ACTIONS(140), 1,
2185
+ ACTIONS(105), 1,
2842
- sym_identifier,
2186
+ anon_sym_SQUOTE,
2187
+ [1044] = 1,
2188
+ ACTIONS(276), 1,
2189
+ aux_sym__uni_character_literal_token1,
2190
+ [1048] = 1,
2191
+ ACTIONS(278), 1,
2192
+ anon_sym_SQUOTE,
2843
- [457] = 1,
2193
+ [1052] = 1,
2194
+ ACTIONS(280), 1,
2195
+ anon_sym_COLON,
2196
+ [1056] = 1,
2844
- ACTIONS(142), 1,
2197
+ ACTIONS(282), 1,
2198
+ anon_sym_COLON,
2199
+ [1060] = 1,
2200
+ ACTIONS(284), 1,
2845
2201
  sym__indent,
2846
- [461] = 1,
2202
+ [1064] = 1,
2847
- ACTIONS(144), 1,
2848
- sym_identifier,
2849
- [465] = 1,
2850
- ACTIONS(146), 1,
2203
+ ACTIONS(286), 1,
2851
- sym_identifier,
2204
+ aux_sym_url_token1,
2852
- [469] = 1,
2205
+ [1068] = 1,
2853
- ACTIONS(148), 1,
2206
+ ACTIONS(288), 1,
2207
+ sym__indent,
2208
+ [1072] = 1,
2209
+ ACTIONS(290), 1,
2210
+ anon_sym_COLON,
2211
+ [1076] = 1,
2212
+ ACTIONS(292), 1,
2854
2213
  ts_builtin_sym_end,
2855
- [473] = 1,
2214
+ [1080] = 1,
2215
+ ACTIONS(294), 1,
2216
+ anon_sym_COLON,
2217
+ [1084] = 1,
2218
+ ACTIONS(296), 1,
2219
+ anon_sym_COLON,
2220
+ [1088] = 1,
2221
+ ACTIONS(298), 1,
2222
+ aux_sym__uni_character_literal_token1,
2223
+ [1092] = 1,
2856
- ACTIONS(150), 1,
2224
+ ACTIONS(300), 1,
2857
- sym_identifier,
2225
+ anon_sym_LPAREN,
2858
- [477] = 1,
2859
- ACTIONS(152), 1,
2860
- sym_identifier,
2861
- [481] = 1,
2862
- ACTIONS(154), 1,
2863
- sym_identifier,
2864
2226
  };
2865
2227
 
2866
2228
  static const uint32_t ts_small_parse_table_map[] = {
2867
2229
  [SMALL_STATE(2)] = 0,
2868
- [SMALL_STATE(3)] = 16,
2869
- [SMALL_STATE(4)] = 34,
2870
- [SMALL_STATE(5)] = 50,
2871
- [SMALL_STATE(6)] = 68,
2872
- [SMALL_STATE(7)] = 81,
2873
- [SMALL_STATE(8)] = 94,
2874
- [SMALL_STATE(9)] = 107,
2875
- [SMALL_STATE(10)] = 115,
2876
- [SMALL_STATE(11)] = 127,
2877
- [SMALL_STATE(12)] = 139,
2878
- [SMALL_STATE(13)] = 155,
2879
- [SMALL_STATE(14)] = 167,
2880
- [SMALL_STATE(15)] = 178,
2881
- [SMALL_STATE(16)] = 189,
2882
- [SMALL_STATE(17)] = 200,
2883
- [SMALL_STATE(18)] = 211,
2884
- [SMALL_STATE(19)] = 222,
2885
- [SMALL_STATE(20)] = 233,
2886
- [SMALL_STATE(21)] = 244,
2887
- [SMALL_STATE(22)] = 255,
2888
- [SMALL_STATE(23)] = 266,
2889
- [SMALL_STATE(24)] = 272,
2890
- [SMALL_STATE(25)] = 282,
2891
- [SMALL_STATE(26)] = 292,
2892
- [SMALL_STATE(27)] = 302,
2893
- [SMALL_STATE(28)] = 308,
2894
- [SMALL_STATE(29)] = 318,
2895
- [SMALL_STATE(30)] = 328,
2896
- [SMALL_STATE(31)] = 334,
2897
- [SMALL_STATE(32)] = 340,
2898
- [SMALL_STATE(33)] = 350,
2899
- [SMALL_STATE(34)] = 360,
2900
- [SMALL_STATE(35)] = 366,
2901
- [SMALL_STATE(36)] = 372,
2902
- [SMALL_STATE(37)] = 378,
2903
- [SMALL_STATE(38)] = 384,
2904
- [SMALL_STATE(39)] = 389,
2905
- [SMALL_STATE(40)] = 394,
2906
- [SMALL_STATE(41)] = 399,
2907
- [SMALL_STATE(42)] = 404,
2908
- [SMALL_STATE(43)] = 409,
2909
- [SMALL_STATE(44)] = 413,
2910
- [SMALL_STATE(45)] = 417,
2911
- [SMALL_STATE(46)] = 421,
2912
- [SMALL_STATE(47)] = 425,
2913
- [SMALL_STATE(48)] = 429,
2914
- [SMALL_STATE(49)] = 433,
2915
- [SMALL_STATE(50)] = 437,
2916
- [SMALL_STATE(51)] = 441,
2917
- [SMALL_STATE(52)] = 445,
2918
- [SMALL_STATE(53)] = 449,
2919
- [SMALL_STATE(54)] = 453,
2920
- [SMALL_STATE(55)] = 457,
2921
- [SMALL_STATE(56)] = 461,
2922
- [SMALL_STATE(57)] = 465,
2923
- [SMALL_STATE(58)] = 469,
2924
- [SMALL_STATE(59)] = 473,
2925
- [SMALL_STATE(60)] = 477,
2926
- [SMALL_STATE(61)] = 481,
2230
+ [SMALL_STATE(3)] = 32,
2231
+ [SMALL_STATE(4)] = 64,
2232
+ [SMALL_STATE(5)] = 89,
2233
+ [SMALL_STATE(6)] = 114,
2234
+ [SMALL_STATE(7)] = 139,
2235
+ [SMALL_STATE(8)] = 164,
2236
+ [SMALL_STATE(9)] = 189,
2237
+ [SMALL_STATE(10)] = 201,
2238
+ [SMALL_STATE(11)] = 217,
2239
+ [SMALL_STATE(12)] = 233,
2240
+ [SMALL_STATE(13)] = 249,
2241
+ [SMALL_STATE(14)] = 267,
2242
+ [SMALL_STATE(15)] = 285,
2243
+ [SMALL_STATE(16)] = 298,
2244
+ [SMALL_STATE(17)] = 311,
2245
+ [SMALL_STATE(18)] = 324,
2246
+ [SMALL_STATE(19)] = 337,
2247
+ [SMALL_STATE(20)] = 351,
2248
+ [SMALL_STATE(21)] = 365,
2249
+ [SMALL_STATE(22)] = 375,
2250
+ [SMALL_STATE(23)] = 389,
2251
+ [SMALL_STATE(24)] = 401,
2252
+ [SMALL_STATE(25)] = 415,
2253
+ [SMALL_STATE(26)] = 429,
2254
+ [SMALL_STATE(27)] = 443,
2255
+ [SMALL_STATE(28)] = 453,
2256
+ [SMALL_STATE(29)] = 467,
2257
+ [SMALL_STATE(30)] = 481,
2258
+ [SMALL_STATE(31)] = 495,
2259
+ [SMALL_STATE(32)] = 511,
2260
+ [SMALL_STATE(33)] = 519,
2261
+ [SMALL_STATE(34)] = 535,
2262
+ [SMALL_STATE(35)] = 545,
2263
+ [SMALL_STATE(36)] = 555,
2264
+ [SMALL_STATE(37)] = 566,
2265
+ [SMALL_STATE(38)] = 577,
2266
+ [SMALL_STATE(39)] = 588,
2267
+ [SMALL_STATE(40)] = 595,
2268
+ [SMALL_STATE(41)] = 606,
2269
+ [SMALL_STATE(42)] = 617,
2270
+ [SMALL_STATE(43)] = 624,
2271
+ [SMALL_STATE(44)] = 635,
2272
+ [SMALL_STATE(45)] = 642,
2273
+ [SMALL_STATE(46)] = 649,
2274
+ [SMALL_STATE(47)] = 660,
2275
+ [SMALL_STATE(48)] = 666,
2276
+ [SMALL_STATE(49)] = 672,
2277
+ [SMALL_STATE(50)] = 682,
2278
+ [SMALL_STATE(51)] = 688,
2279
+ [SMALL_STATE(52)] = 698,
2280
+ [SMALL_STATE(53)] = 708,
2281
+ [SMALL_STATE(54)] = 718,
2282
+ [SMALL_STATE(55)] = 728,
2283
+ [SMALL_STATE(56)] = 738,
2284
+ [SMALL_STATE(57)] = 748,
2285
+ [SMALL_STATE(58)] = 754,
2286
+ [SMALL_STATE(59)] = 764,
2287
+ [SMALL_STATE(60)] = 770,
2288
+ [SMALL_STATE(61)] = 780,
2289
+ [SMALL_STATE(62)] = 786,
2290
+ [SMALL_STATE(63)] = 796,
2291
+ [SMALL_STATE(64)] = 802,
2292
+ [SMALL_STATE(65)] = 812,
2293
+ [SMALL_STATE(66)] = 822,
2294
+ [SMALL_STATE(67)] = 832,
2295
+ [SMALL_STATE(68)] = 838,
2296
+ [SMALL_STATE(69)] = 845,
2297
+ [SMALL_STATE(70)] = 850,
2298
+ [SMALL_STATE(71)] = 857,
2299
+ [SMALL_STATE(72)] = 862,
2300
+ [SMALL_STATE(73)] = 867,
2301
+ [SMALL_STATE(74)] = 874,
2302
+ [SMALL_STATE(75)] = 881,
2303
+ [SMALL_STATE(76)] = 886,
2304
+ [SMALL_STATE(77)] = 891,
2305
+ [SMALL_STATE(78)] = 898,
2306
+ [SMALL_STATE(79)] = 903,
2307
+ [SMALL_STATE(80)] = 910,
2308
+ [SMALL_STATE(81)] = 917,
2309
+ [SMALL_STATE(82)] = 922,
2310
+ [SMALL_STATE(83)] = 927,
2311
+ [SMALL_STATE(84)] = 932,
2312
+ [SMALL_STATE(85)] = 939,
2313
+ [SMALL_STATE(86)] = 946,
2314
+ [SMALL_STATE(87)] = 951,
2315
+ [SMALL_STATE(88)] = 958,
2316
+ [SMALL_STATE(89)] = 963,
2317
+ [SMALL_STATE(90)] = 968,
2318
+ [SMALL_STATE(91)] = 975,
2319
+ [SMALL_STATE(92)] = 980,
2320
+ [SMALL_STATE(93)] = 985,
2321
+ [SMALL_STATE(94)] = 992,
2322
+ [SMALL_STATE(95)] = 997,
2323
+ [SMALL_STATE(96)] = 1002,
2324
+ [SMALL_STATE(97)] = 1007,
2325
+ [SMALL_STATE(98)] = 1012,
2326
+ [SMALL_STATE(99)] = 1016,
2327
+ [SMALL_STATE(100)] = 1020,
2328
+ [SMALL_STATE(101)] = 1024,
2329
+ [SMALL_STATE(102)] = 1028,
2330
+ [SMALL_STATE(103)] = 1032,
2331
+ [SMALL_STATE(104)] = 1036,
2332
+ [SMALL_STATE(105)] = 1040,
2333
+ [SMALL_STATE(106)] = 1044,
2334
+ [SMALL_STATE(107)] = 1048,
2335
+ [SMALL_STATE(108)] = 1052,
2336
+ [SMALL_STATE(109)] = 1056,
2337
+ [SMALL_STATE(110)] = 1060,
2338
+ [SMALL_STATE(111)] = 1064,
2339
+ [SMALL_STATE(112)] = 1068,
2340
+ [SMALL_STATE(113)] = 1072,
2341
+ [SMALL_STATE(114)] = 1076,
2342
+ [SMALL_STATE(115)] = 1080,
2343
+ [SMALL_STATE(116)] = 1084,
2344
+ [SMALL_STATE(117)] = 1088,
2345
+ [SMALL_STATE(118)] = 1092,
2927
2346
  };
2928
2347
 
2929
2348
  static const TSParseActionEntry ts_parse_actions[] = {
2930
2349
  [0] = {.entry = {.count = 0, .reusable = false}},
2931
2350
  [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
2932
- [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 0),
2933
- [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
2934
- [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
2935
- [9] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1),
2936
- [11] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 2, .production_id = 1),
2937
- [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
2938
- [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
2939
- [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2),
2940
- [19] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(47),
2941
- [22] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(60),
2942
- [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 3, .production_id = 2),
2943
- [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_statement_repeat1, 2),
2944
- [29] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_statement_repeat1, 2), SHIFT_REPEAT(57),
2945
- [32] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_statement_repeat2, 2, .production_id = 1),
2946
- [34] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_statement_repeat2, 3, .production_id = 2),
2947
- [36] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_statement_repeat2, 2, .production_id = 5),
2948
- [38] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_statement_repeat2, 2, .production_id = 5), SHIFT_REPEAT(56),
2949
- [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 4, .production_id = 4),
2950
- [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
2951
- [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
2952
- [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
2953
- [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 3, .production_id = 3),
2954
- [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
2955
- [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
2956
- [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
2957
- [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
2958
- [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
2959
- [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
2960
- [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2), SHIFT_REPEAT(49),
2961
- [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2),
2962
- [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
2963
- [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
2964
- [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
2965
- [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 13),
2966
- [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
2967
- [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
2968
- [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
2969
- [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
2970
- [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2), SHIFT_REPEAT(61),
2971
- [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2),
2972
- [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 8),
2973
- [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2), SHIFT_REPEAT(44),
2974
- [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
2975
- [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 6),
2976
- [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 9),
2977
- [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
2978
- [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
2979
- [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 11),
2980
- [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 12),
2981
- [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 7),
2982
- [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 14),
2983
- [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 4),
2984
- [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_pair, 3, .production_id = 10),
2985
- [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 3),
2986
- [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
2987
- [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
2988
- [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 3),
2989
- [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 4),
2990
- [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
2991
- [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
2992
- [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
2993
- [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
2994
- [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
2995
- [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
2996
- [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
2997
- [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
2998
- [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
2999
- [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
3000
- [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
3001
- [148] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
3002
- [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
3003
- [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
3004
- [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
2351
+ [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
2352
+ [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
2353
+ [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64),
2354
+ [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
2355
+ [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
2356
+ [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
2357
+ [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
2358
+ [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91),
2359
+ [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
2360
+ [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
2361
+ [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21),
2362
+ [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89),
2363
+ [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
2364
+ [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90),
2365
+ [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
2366
+ [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
2367
+ [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
2368
+ [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
2369
+ [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
2370
+ [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
2371
+ [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3),
2372
+ [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(117),
2373
+ [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(21),
2374
+ [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2),
2375
+ [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(8),
2376
+ [56] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(90),
2377
+ [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1),
2378
+ [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2), SHIFT_REPEAT(10),
2379
+ [64] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2),
2380
+ [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2), SHIFT_REPEAT(70),
2381
+ [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
2382
+ [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92),
2383
+ [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
2384
+ [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10),
2385
+ [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94),
2386
+ [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 4),
2387
+ [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_url_repeat1, 2),
2388
+ [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_url_repeat1, 2), SHIFT_REPEAT(111),
2389
+ [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_url, 1),
2390
+ [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
2391
+ [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_url, 2),
2392
+ [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
2393
+ [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(73),
2394
+ [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
2395
+ [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
2396
+ [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
2397
+ [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_escape_seq, 1),
2398
+ [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_escape_seq, 1),
2399
+ [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
2400
+ [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
2401
+ [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(74),
2402
+ [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
2403
+ [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
2404
+ [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2), SHIFT_REPEAT(9),
2405
+ [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2),
2406
+ [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolation, 2, .production_id = 12),
2407
+ [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation, 2, .production_id = 12),
2408
+ [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
2409
+ [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
2410
+ [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
2411
+ [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
2412
+ [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106),
2413
+ [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105),
2414
+ [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
2415
+ [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
2416
+ [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
2417
+ [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1),
2418
+ [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__uni_character_literal, 2),
2419
+ [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__uni_character_literal, 2),
2420
+ [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2), SHIFT_REPEAT(118),
2421
+ [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2),
2422
+ [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
2423
+ [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
2424
+ [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat3, 2),
2425
+ [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat3, 2), SHIFT_REPEAT(79),
2426
+ [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
2427
+ [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 2),
2428
+ [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package, 1),
2429
+ [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 5),
2430
+ [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 1),
2431
+ [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 8),
2432
+ [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
2433
+ [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
2434
+ [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 11),
2435
+ [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
2436
+ [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
2437
+ [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
2438
+ [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
2439
+ [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
2440
+ [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
2441
+ [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
2442
+ [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 2),
2443
+ [199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_field_repeat1, 2), SHIFT_REPEAT(3),
2444
+ [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_field_repeat1, 2),
2445
+ [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 9),
2446
+ [206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_list_repeat1, 2), SHIFT_REPEAT(84),
2447
+ [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_list_repeat1, 2),
2448
+ [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 3),
2449
+ [213] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_list_repeat1, 2), SHIFT_REPEAT(85),
2450
+ [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 4),
2451
+ [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
2452
+ [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
2453
+ [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
2454
+ [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 7),
2455
+ [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
2456
+ [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_field, 5),
2457
+ [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
2458
+ [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 4),
2459
+ [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 3, .production_id = 6),
2460
+ [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
2461
+ [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
2462
+ [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 7, .production_id = 10),
2463
+ [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
2464
+ [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1),
2465
+ [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 3),
2466
+ [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, .production_id = 5),
2467
+ [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 2),
2468
+ [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
2469
+ [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 2),
2470
+ [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 3),
2471
+ [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_field, 4),
2472
+ [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 3),
2473
+ [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_literal, 3),
2474
+ [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
2475
+ [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
2476
+ [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
2477
+ [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
2478
+ [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
2479
+ [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
2480
+ [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
2481
+ [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
2482
+ [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
2483
+ [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 3),
2484
+ [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
2485
+ [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
2486
+ [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
2487
+ [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_list, 3),
2488
+ [292] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
2489
+ [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_list, 4),
2490
+ [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 4),
2491
+ [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
2492
+ [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
3005
2493
  };
3006
2494
 
3007
2495
  #ifdef __cplusplus
@@ -3052,7 +2540,6 @@ extern const TSLanguage *tree_sitter_pine(void) {
3052
2540
  tree_sitter_pine_external_scanner_serialize,
3053
2541
  tree_sitter_pine_external_scanner_deserialize,
3054
2542
  },
3055
- .primary_state_ids = ts_primary_state_ids,
3056
2543
  };
3057
2544
  return &language;
3058
2545
  }
test/corpus/class_definitions.txt CHANGED
@@ -2,6 +2,8 @@
2
2
  Class definitions
3
3
  ================================================================================
4
4
 
5
+ package definitions
6
+
5
7
  class A:
6
8
  a: String
7
9
  b: Int
@@ -20,13 +22,15 @@ class A<S, T>(B, C):
20
22
 
21
23
  --------------------------------------------------------------------------------
22
24
 
25
+ (source_file
23
- (module
26
+ (package
27
+ (identifier))
24
28
  (class_definition
25
29
  (identifier)
26
- (type_pair
30
+ (class_field
27
31
  (identifier)
28
32
  (identifier))
29
- (type_pair
33
+ (class_field
30
34
  (identifier)
31
35
  (identifier)))
32
36
  (class_definition
@@ -34,10 +38,10 @@ class A<S, T>(B, C):
34
38
  (generic_list
35
39
  (identifier)
36
40
  (identifier))
37
- (type_pair
41
+ (class_field
38
42
  (identifier)
39
43
  (identifier))
40
- (type_pair
44
+ (class_field
41
45
  (identifier)
42
46
  (identifier)))
43
47
  (class_definition
@@ -45,10 +49,10 @@ class A<S, T>(B, C):
45
49
  (trait_list
46
50
  (identifier)
47
51
  (identifier))
48
- (type_pair
52
+ (class_field
49
53
  (identifier)
50
54
  (identifier))
51
- (type_pair
55
+ (class_field
52
56
  (identifier)
53
57
  (identifier)))
54
58
  (class_definition
@@ -59,9 +63,9 @@ class A<S, T>(B, C):
59
63
  (trait_list
60
64
  (identifier)
61
65
  (identifier))
62
- (type_pair
66
+ (class_field
63
67
  (identifier)
64
68
  (identifier))
65
- (type_pair
69
+ (class_field
66
70
  (identifier)
67
71
  (identifier))))
test/corpus/enum_definitions.txt ADDED
@@ -0,0 +1,97 @@
1
+ ================================================================================
2
+ Enum definitions - Int
3
+ ================================================================================
4
+
5
+ package definitions
6
+
7
+ enum Colors(Int):
8
+ RED(0xFF0000)
9
+ GREEN(0x00FF00)
10
+ BLUE(0x0000FF)
11
+
12
+ --------------------------------------------------------------------------------
13
+
14
+ (source_file
15
+ (package
16
+ (identifier))
17
+ (enum_definition
18
+ (identifier)
19
+ (type_list
20
+ (identifier))
21
+ (enum_field
22
+ (enum_identifier)
23
+ (hex_literal))
24
+ (enum_field
25
+ (enum_identifier)
26
+ (hex_literal))
27
+ (enum_field
28
+ (enum_identifier)
29
+ (hex_literal))))
30
+
31
+ ================================================================================
32
+ Enum definitions - Float
33
+ ================================================================================
34
+
35
+ package definitions
36
+
37
+ enum ColorsAlpha(Int, Float):
38
+ RED(1, 0.1)
39
+ GREEN(2, 0.2)
40
+ BLUE(3, 0.3)
41
+
42
+ --------------------------------------------------------------------------------
43
+
44
+ (source_file
45
+ (package
46
+ (identifier))
47
+ (enum_definition
48
+ (identifier)
49
+ (type_list
50
+ (identifier)
51
+ (identifier))
52
+ (enum_field
53
+ (enum_identifier)
54
+ (integer_literal)
55
+ (float_literal))
56
+ (enum_field
57
+ (enum_identifier)
58
+ (integer_literal)
59
+ (float_literal))
60
+ (enum_field
61
+ (enum_identifier)
62
+ (integer_literal)
63
+ (float_literal))))
64
+
65
+ ================================================================================
66
+ Enum definitions - String
67
+ ================================================================================
68
+
69
+ package definitions
70
+
71
+ enum ColorsAlpha(Int, String):
72
+ RED(1, "1")
73
+ GREEN(2, "2")
74
+ BLUE(3, "3")
75
+
76
+ --------------------------------------------------------------------------------
77
+
78
+ (source_file
79
+ (package
80
+ (identifier))
81
+ (enum_definition
82
+ (identifier)
83
+ (type_list
84
+ (identifier)
85
+ (identifier))
86
+ (enum_field
87
+ (enum_identifier)
88
+ (integer_literal)
89
+ (line_string_literal))
90
+ (enum_field
91
+ (enum_identifier)
92
+ (integer_literal)
93
+ (line_string_literal))
94
+ (enum_field
95
+ (enum_identifier)
96
+ (integer_literal)
97
+ (line_string_literal))))
test/corpus/import_statements.txt CHANGED
@@ -2,12 +2,14 @@
2
2
  Import statements
3
3
  ================================================================================
4
4
 
5
+ package imports
6
+
5
7
  import github/pyros2097/std
6
8
 
7
9
  --------------------------------------------------------------------------------
8
10
 
11
+ (source_file
9
- (module
12
+ (package
13
+ (identifier))
10
14
  (import_statement
11
- (identifier)
12
- (identifier)
13
- (identifier)))
15
+ (url)))