~repos /plum

#treesitter#compiler#wasm

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

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


ca4e97c2 Peter John

3 years ago
improve grammar
.github/workflows/ci.yml ADDED
@@ -0,0 +1,22 @@
1
+ name: Build/test
2
+ on:
3
+ pull_request:
4
+ branches:
5
+ - "**"
6
+ push:
7
+ branches:
8
+ - "master"
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: true
14
+ matrix:
15
+ os: [macos-latest, ubuntu-latest, windows-latest]
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - uses: actions/setup-node@v2
19
+ with:
20
+ node-version: 16
21
+ - run: npm install
22
+ - run: npm test
examples/Logger.kt ADDED
@@ -0,0 +1,182 @@
1
+ package logger
2
+
3
+ import github/pine/io
4
+ import github/pine/util
5
+ import github/pine/time
6
+
7
+
8
+ val log = Logger()
9
+
10
+ @cache
11
+ fun log() => Logger {
12
+ return Logger()
13
+ }
14
+
15
+ @Handler
16
+ class JULRedirector(
17
+ val downstream: Logger
18
+ )
19
+
20
+ fun JULRedirector.publish(record: LogRecord) => {
21
+ when (record.level) {
22
+ Level.SEVERE -> downstream.error(record.message)
23
+ Level.WARNING -> downstream.warn(record.message)
24
+ Level.INFO -> downstream.info(record.message)
25
+ Level.CONFIG -> downstream.debug(record.message)
26
+ Level.FINE -> downstream.trace(record.message)
27
+ else -> downstream.deepTrace(record.message)
28
+ }
29
+ }
30
+
31
+ fun JULRedirector.flush() => {}
32
+
33
+ fun JULRedirector.close() => {}
34
+
35
+ enum class LogLevel(val value: Int) {
36
+ NONE(100),
37
+ ERROR(2),
38
+ WARN(1),
39
+ INFO(0),
40
+ DEBUG(-1),
41
+ TRACE(-2),
42
+ DEEP_TRACE(-3),
43
+ ALL(-100)
44
+ }
45
+
46
+ class LogMessage(
47
+ val level: LogLevel,
48
+ val message: String
49
+ )
50
+
51
+ fun LogMessage.formatted() => String {
52
+ return "[$level] $message"
53
+ }
54
+
55
+ class Logger(
56
+ var outBackend: ((LogMessage) -> Unit)? = null,
57
+ var errBackend: ((LogMessage) -> Unit)? = null,
58
+ val outQueue: Queue<LogMessage> = ArrayDeque(),
59
+ val errQueue: Queue<LogMessage> = ArrayDeque(),
60
+ val newline: String = System.lineSeparator(),
61
+ val logTime: Bool = false,
62
+ var level: LogLevel = LogLevel.INFO,
63
+ )
64
+
65
+ fun Logger.outputError(msg: LogMessage) => {
66
+ if (errBackend == null) {
67
+ errQueue.offer(msg)
68
+ } else {
69
+ errBackend?.invoke(msg)
70
+ }
71
+ }
72
+
73
+ fun Logger.output(msg: LogMessage) => {
74
+ if (outBackend == null) {
75
+ outQueue.offer(msg)
76
+ } else {
77
+ outBackend?.invoke(msg)
78
+ }
79
+ }
80
+
81
+ fun Logger.log(msgLevel: LogLevel, msg: String, placeholders: Array<out Any?>) => {
82
+ if (level.value <= msgLevel.value) {
83
+ output(LogMessage(msgLevel, format(insertPlaceholders(msg, placeholders))))
84
+ }
85
+ }
86
+
87
+ fun Logger.error(msg: String, vararg placeholders: Any?) => {
88
+ log(LogLevel.ERROR, msg, placeholders)
89
+ }
90
+
91
+ fun Logger.warn(msg: String, vararg placeholders: Any?) => {
92
+ log(LogLevel.WARN, msg, placeholders)
93
+ }
94
+
95
+ fun Logger.info(msg: String, vararg placeholders: Any?) => {
96
+ log(LogLevel.INFO, msg, placeholders)
97
+ }
98
+
99
+ fun Logger.debug(msg: String, vararg placeholders: Any?) => {
100
+ log(LogLevel.DEBUG, msg, placeholders)
101
+ }
102
+
103
+ fun Logger.trace(msg: String, vararg placeholders: Any?) => {
104
+ log(LogLevel.TRACE, msg, placeholders)
105
+ }
106
+
107
+ fun Logger.deepTrace(msg: String, vararg placeholders: Any?) => {
108
+ log(LogLevel.DEEP_TRACE, msg, placeholders)
109
+ }
110
+
111
+ fun Logger.connectJULFrontend() => {
112
+ val rootLogger = java.util.logging.Logger.getLogger("")
113
+ rootLogger.addHandler(JULRedirector(this))
114
+ }
115
+
116
+ fun Logger.connectOutputBackend(outBackend: (LogMessage) -> Unit) => {
117
+ this.outBackend = outBackend
118
+ flushOutQueue()
119
+ }
120
+
121
+ fun Logger.connectErrorBackend(errBackend: (LogMessage) -> Unit) => {
122
+ this.errBackend = errBackend
123
+ flushErrQueue()
124
+ }
125
+
126
+ fun Logger.connectStdioBackend() => {
127
+ connectOutputBackend { println(it.formatted) }
128
+ connectOutputBackend { System.err.println(it.formatted) }
129
+ }
130
+
131
+ fun Logger.insertPlaceholders(msg: String, placeholders: Array<out Any?>) => String {
132
+ val msgLength = msg.length
133
+ val lastIndex = msgLength - 1
134
+ var charIndex = 0
135
+ var placeholderIndex = 0
136
+ var result = StringBuilder()
137
+
138
+ while (charIndex < msgLength) {
139
+ val currentChar = msg.get(charIndex)
140
+ val nextChar = if (charIndex != lastIndex) msg.get(charIndex + 1) else '?'
141
+ if ((currentChar == '{') && (nextChar == '}')) {
142
+ if (placeholderIndex >= placeholders.size) {
143
+ return "ERROR: Tried to log more '{}' placeholders than there are values"
144
+ }
145
+ result.append(placeholders[placeholderIndex] ?: "null")
146
+ placeholderIndex += 1
147
+ charIndex += 2
148
+ } else {
149
+ result.append(currentChar)
150
+ charIndex += 1
151
+ }
152
+ }
153
+
154
+ return result.toString()
155
+ }
156
+
157
+ fun Logger.flushOutQueue() => {
158
+ while (outQueue.isNotEmpty()) {
159
+ outBackend?.invoke(outQueue.poll())
160
+ }
161
+ }
162
+
163
+ fun Logger.flushErrQueue() => {
164
+ while (errQueue.isNotEmpty()) {
165
+ errBackend?.invoke(errQueue.poll())
166
+ }
167
+ }
168
+
169
+ fun Logger.format(msg: String) => String {
170
+ val time = if (logTime) "${Instant.now()} " else ""
171
+ var thread = Thread.currentThread().name
172
+
173
+ return time + shortenOrPad(thread, 10) + msg
174
+ }
175
+
176
+ fun Logger.shortenOrPad(str: String, length: Int) => String {
177
+ if (str.length <= length) {
178
+ return str.padEnd(length, ' ')
179
+ } else {
180
+ return ".." + str.substring(str.length - length + 2)
181
+ }
182
+ }
examples/all.kt ADDED
@@ -0,0 +1,115 @@
1
+ import github.com/std/http
2
+
3
+ enum Color(val rgb: Int) {
4
+ RED(0xFF0000),
5
+ GREEN(0x00FF00),
6
+ BLUE(0x0000FF)
7
+ }
8
+
9
+ fun Color.isReddish() => Bool {
10
+ return this == Color.Red
11
+ }
12
+
13
+ trait List(
14
+ val name: String
15
+ fun area(): Float
16
+ )
17
+
18
+ class Email(value: String)
19
+
20
+ fun Email.init() => {
21
+ if !value.match("/s\@/s") {
22
+ throw error("Email not value ${value}")
23
+ }
24
+ }
25
+
26
+ class Array<T>(
27
+ var items: []T,
28
+ var size: Int
29
+ )
30
+
31
+ fun Array<T>.get(index: Int): T => {
32
+ return items[int]
33
+ }
34
+
35
+ fun Array<T>.set(index: Int, value: T) => {
36
+ items[i] = value
37
+ }
38
+
39
+ fun listOf<T>(elements: ...T): List<T> => {
40
+ return Array(elements)
41
+ }
42
+
43
+ class User(
44
+ val name: String,
45
+ val age: Int,
46
+ val email: Email,
47
+ )
48
+
49
+ fun User.init() => {
50
+ assert(name.size > 5, "name is not valid")
51
+ assert(age > 0 && age < 130, "age is not valid")
52
+ assert(email.test("regex"), "email is not valid")
53
+ }
54
+
55
+ fun User.invoke() => {
56
+ println("Hello")
57
+ listOf(0, 1, 2, 3).map { "Number ${it}" }
58
+ range(0, 10, 1).each { i, v ->
59
+ echo i, v
60
+ }
61
+ }
62
+
63
+ fun User.getFullName() => String {
64
+ return "${name} 123"
65
+ }
66
+
67
+ @Get("/about")
68
+ fun about() => HtmlNode {
69
+ val sir = "John"
70
+ html {
71
+ head {
72
+ title {
73
+ "Tesla"
74
+ }
75
+ }
76
+ body {
77
+ div {
78
+ "Welcome ${sir}"
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ fun main(args: List<String>) => {
85
+ println(hello)
86
+ val items = args?
87
+ .map { it.name }
88
+ .filter { it.isVerified }
89
+ .each { it -> it.name } ?: listOf()
90
+ val john = User("John", 2)
91
+ val jill = User(name = "Jill", age = 3)
92
+ val jack = john.copy(age = 5)
93
+ val (name, age) = jack
94
+ // Pair, Triple
95
+
96
+ val name2 = jill?.let {
97
+ it.name + "123"
98
+ }
99
+
100
+ jill?.run {
101
+ println(it)
102
+ }
103
+
104
+
105
+ names.each { name, i ->
106
+ println(name, i)
107
+ }
108
+
109
+ TODO()
110
+
111
+ when message {
112
+ New -> println("new $id: $quantity")
113
+ Cancel -> println("cancel $id")
114
+ }
115
+ }
grammar.js CHANGED
@@ -2,10 +2,40 @@ const DEC_DIGITS = token(sep1(/[0-9]+/, /_+/));
2
2
  const HEX_DIGITS = token(sep1(/[0-9a-fA-F]+/, /_+/));
3
3
  const BIN_DIGITS = token(sep1(/[01]/, /_+/));
4
4
 
5
+ const PREC = {
6
+ POSTFIX: 16,
7
+ PREFIX: 15,
8
+ TYPE_RHS: 14,
9
+ AS: 13,
10
+ MULTIPLICATIVE: 12,
11
+ ADDITIVE: 11,
12
+ RANGE: 10,
13
+ INFIX: 9,
14
+ ELVIS: 8,
15
+ CHECK: 7,
16
+ COMPARISON: 6,
17
+ EQUALITY: 5,
18
+ CONJUNCTION: 4,
19
+ DISJUNCTION: 3,
20
+ SPREAD: 2,
21
+ SIMPLE_USER_TYPE: 2,
22
+ VAR_DECL: 1,
23
+ ASSIGNMENT: 1,
24
+ BLOCK: 1,
25
+ LAMBDA_LITERAL: 0,
26
+ RETURN_OR_THROW: 0,
27
+ COMMENT: 0
28
+ };
29
+
5
30
  module.exports = grammar({
6
31
  name: 'pine',
7
32
  conflicts: $ => [
8
33
  [$.fun_field],
34
+ [$.decorator_name],
35
+ ],
36
+ extras: $ => [
37
+ $.comment,
38
+ /\s+/ // Whitespace
9
39
  ],
10
40
  rules: {
11
41
  source_file: $ => seq(
@@ -16,6 +46,8 @@ module.exports = grammar({
16
46
 
17
47
  import_statement: $ => seq('import', $.url),
18
48
 
49
+ // Definitions
50
+
19
51
  definitions: $ => choice(
20
52
  $.class_definition,
21
53
  $.trait_definition,
@@ -24,10 +56,11 @@ module.exports = grammar({
24
56
  ),
25
57
 
26
58
  class_definition: $ => seq(
27
- field('traits', optional(repeat($.trait_name))),
59
+ field('decorators', optional(repeat($.decorator_name))),
28
60
  'class',
29
61
  field('name', $.definition_name),
30
62
  field('generics', optional($.generic_list)),
63
+ field('traits', optional($.trait_list)),
31
64
  field('fields', seq('(', commaSep1($.type_field), ')')),
32
65
  ),
33
66
 
@@ -46,20 +79,21 @@ module.exports = grammar({
46
79
  ),
47
80
 
48
81
  fun_definition: $ => seq(
82
+ field('decorators', optional(repeat($.decorator_name))),
49
83
  'fun',
50
84
  field('name', choice($.identifier, $._extension)),
85
+ field('generics', optional($.generic_list)),
51
86
  field('params', seq('(', optional(commaSep1($.param)), ')')),
52
87
  '=>',
53
88
  field('returns', optional(commaSep1($.type))),
54
- '{', '}',
89
+ field('body', $._block)
55
90
  ),
56
91
 
57
- trait_name: $ => seq("@", $.definition_name),
92
+ decorator_name: $ => seq("@", $.identifier, '(', optional(commaSep1($._primary_expression)), ')'),
58
93
 
59
94
  trait_list: $ => seq(
60
- '(',
95
+ ':',
61
- commaSep1($.identifier),
96
+ commaSep1($.definition_name),
62
- ')'
63
97
  ),
64
98
 
65
99
  generic_list: $ => seq(
@@ -98,6 +132,172 @@ module.exports = grammar({
98
132
 
99
133
  enum_field: $ => seq($.enum_field_name, '(', commaSep1($._primary_expression), ')'),
100
134
 
135
+ // Expressions
136
+
137
+ _block: $ => prec(PREC.BLOCK, seq(
138
+ "{",
139
+ // optional($.statements),
140
+ "}"
141
+ )),
142
+
143
+ // statements: $ => seq(
144
+ // $._statement,
145
+ // ),
146
+
147
+ // _statement: $ => choice(
148
+ // choice(
149
+ // $.assignment,
150
+ // $._loop_statement,
151
+ // $._expression
152
+ // )
153
+ // ),
154
+
155
+ // _loop_statement: $ => choice(
156
+ // $.for_statement,
157
+ // $.while_statement,
158
+ // ),
159
+
160
+ // for_statement: $ => prec.right(seq(
161
+ // "for",
162
+ // "(",
163
+ // repeat($.annotation),
164
+ // choice($.variable_declaration, $.multi_variable_declaration),
165
+ // "in",
166
+ // $._expression,
167
+ // ")",
168
+ // optional($.control_structure_body)
169
+ // )),
170
+
171
+ // while_statement: $ => seq(
172
+ // "while",
173
+ // "(",
174
+ // $._expression,
175
+ // ")",
176
+ // choice(";", $.control_structure_body)
177
+ // ),
178
+
179
+ // assignment: $ => choice(
180
+ // prec.left(PREC.ASSIGNMENT, seq($.directly_assignable_expression, $._assignment_and_operator, $._expression)),
181
+ // prec.left(PREC.ASSIGNMENT, seq($.directly_assignable_expression, "=", $._expression)),
182
+ // // TODO
183
+ // ),
184
+
185
+ // // ==========
186
+ // // Expressions
187
+ // // ==========
188
+
189
+ // _expression: $ => choice(
190
+ // $._unary_expression,
191
+ // $._binary_expression,
192
+ // $._primary_expression
193
+ // ),
194
+
195
+ // // Unary expressions
196
+
197
+ // _unary_expression: $ => choice(
198
+ // $.postfix_expression,
199
+ // $.call_expression,
200
+ // $.indexing_expression,
201
+ // $.navigation_expression,
202
+ // $.prefix_expression,
203
+ // $.as_expression,
204
+ // $.spread_expression
205
+ // ),
206
+
207
+ // postfix_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $._postfix_unary_operator)),
208
+
209
+ // call_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $.call_suffix)),
210
+
211
+ // indexing_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $.indexing_suffix)),
212
+
213
+ // navigation_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $.navigation_suffix)),
214
+
215
+ // prefix_expression: $ => prec.right(seq(choice($.annotation, $.label, $._prefix_unary_operator), $._expression)),
216
+
217
+ // as_expression: $ => prec.left(PREC.AS, seq($._expression, $._as_operator, $._type)),
218
+
219
+ // spread_expression: $ => prec.left(PREC.SPREAD, seq("*", $._expression)),
220
+
221
+ // _binary_expression: $ => choice(
222
+ // $.multiplicative_expression,
223
+ // $.additive_expression,
224
+ // $.range_expression,
225
+ // $.infix_expression,
226
+ // $.elvis_expression,
227
+ // $.check_expression,
228
+ // $.comparison_expression,
229
+ // $.equality_expression,
230
+ // $.comparison_expression,
231
+ // $.equality_expression,
232
+ // $.conjunction_expression,
233
+ // $.disjunction_expression
234
+ // ),
235
+
236
+ // multiplicative_expression: $ => prec.left(PREC.MULTIPLICATIVE, seq($._expression, $._multiplicative_operator, $._expression)),
237
+
238
+ // additive_expression: $ => prec.left(PREC.ADDITIVE, seq($._expression, $._additive_operator, $._expression)),
239
+
240
+ // range_expression: $ => prec.left(PREC.RANGE, seq($._expression, "..", $._expression)),
241
+
242
+ // infix_expression: $ => prec.left(PREC.INFIX, seq($._expression, $.simple_identifier, $._expression)),
243
+
244
+ // elvis_expression: $ => prec.left(PREC.ELVIS, seq($._expression, "?:", $._expression)),
245
+
246
+ // check_expression: $ => prec.left(PREC.CHECK, seq($._expression, choice(
247
+ // seq($._in_operator, $._expression),
248
+ // seq($._is_operator, $._type)))),
249
+
250
+ // comparison_expression: $ => prec.left(PREC.COMPARISON, seq($._expression, $._comparison_operator, $._expression)),
251
+
252
+ // equality_expression: $ => prec.left(PREC.EQUALITY, seq($._expression, $._equality_operator, $._expression)),
253
+
254
+ // conjunction_expression: $ => prec.left(PREC.CONJUNCTION, seq($._expression, "&&", $._expression)),
255
+
256
+ // disjunction_expression: $ => prec.left(PREC.DISJUNCTION, seq($._expression, "||", $._expression)),
257
+
258
+ // // Suffixes
259
+
260
+ // indexing_suffix: $ => seq("[", sep1($._expression, ","), "]"),
261
+
262
+ // navigation_suffix: $ => seq(
263
+ // $._member_access_operator,
264
+ // choice(
265
+ // $.simple_identifier,
266
+ // $.parenthesized_expression,
267
+ // "class"
268
+ // )
269
+ // ),
270
+
271
+ // call_suffix: $ => prec.left(seq(
272
+ // // this introduces ambiguities with 'less than' for comparisons
273
+ // optional($.type_arguments),
274
+ // choice(
275
+ // seq(optional($.value_arguments), $.annotated_lambda),
276
+ // $.value_arguments
277
+ // )
278
+ // )),
279
+
280
+ // variable_declaration: $ => prec.left(PREC.VAR_DECL, seq(
281
+ // // repeat($.annotation), TODO
282
+ // $.simple_identifier,
283
+ // optional(seq(":", $._type))
284
+ // )),
285
+
286
+ // function_type: $ => seq(
287
+ // optional(seq($._simple_user_type, ".")), // TODO: Support "real" types
288
+ // $.function_type_parameters,
289
+ // "->",
290
+ // $._type
291
+ // ),
292
+
293
+ // function_type_parameters: $ => prec.left(1, seq(
294
+ // "(",
295
+ // optional(sep1(choice($.parameter, $._type), ",")),
296
+ // ")"
297
+ // )),
298
+
299
+ // parenthesized_type: $ => seq("(", $._type, ")"),
300
+
101
301
  _primary_expression: $ => choice(
102
302
  $._literal_constant,
103
303
  $._string_literal,
@@ -180,6 +380,10 @@ module.exports = grammar({
180
380
  $.float_literal,
181
381
  "null",
182
382
  ),
383
+
384
+ comment: $ => token(prec(PREC.COMMENT, choice(
385
+ seq("#", /.*/),
386
+ ))),
183
387
  }
184
388
  });
185
389
 
package.json CHANGED
@@ -1,20 +1,24 @@
1
1
  {
2
2
  "name": "tree-sitter-pine",
3
- "version": "1.0.0",
3
+ "version": "0.1.0",
4
4
  "main": "bindings/node",
5
- "description": "Pine grammar for tree-sitter",
5
+ "description": "Tree-Sitter grammar for pine",
6
6
  "scripts": {
7
+ "test": "tree-sitter test",
8
+ "install": "node-gyp rebuild",
7
- "build": "tree-sitter generate && node-gyp build",
9
+ "generate": "tree-sitter generate",
8
- "test": "tree-sitter test && script/parse-examples",
9
10
  "parse": "tree-sitter parse",
10
- "test-windows": "tree-sitter test"
11
+ "build-wasm": "tree-sitter build-wasm",
12
+ "playground": "tree-sitter playground"
11
13
  },
12
14
  "author": "pyrossh",
13
15
  "license": "MIT",
14
16
  "keywords": [
17
+ "tree-sitter",
18
+ "pine",
19
+ "grammar",
15
20
  "parser",
16
- "lexer",
21
+ "lexer"
17
- "pine"
18
22
  ],
19
23
  "dependencies": {
20
24
  "nan": "^2.17.0"
src/grammar.json CHANGED
@@ -72,7 +72,7 @@
72
72
  "members": [
73
73
  {
74
74
  "type": "FIELD",
75
- "name": "traits",
75
+ "name": "decorators",
76
76
  "content": {
77
77
  "type": "CHOICE",
78
78
  "members": [
@@ -80,7 +80,7 @@
80
80
  "type": "REPEAT",
81
81
  "content": {
82
82
  "type": "SYMBOL",
83
- "name": "trait_name"
83
+ "name": "decorator_name"
84
84
  }
85
85
  },
86
86
  {
@@ -117,6 +117,22 @@
117
117
  ]
118
118
  }
119
119
  },
120
+ {
121
+ "type": "FIELD",
122
+ "name": "traits",
123
+ "content": {
124
+ "type": "CHOICE",
125
+ "members": [
126
+ {
127
+ "type": "SYMBOL",
128
+ "name": "trait_list"
129
+ },
130
+ {
131
+ "type": "BLANK"
132
+ }
133
+ ]
134
+ }
135
+ },
120
136
  {
121
137
  "type": "FIELD",
122
138
  "name": "fields",
@@ -340,6 +356,25 @@
340
356
  "fun_definition": {
341
357
  "type": "SEQ",
342
358
  "members": [
359
+ {
360
+ "type": "FIELD",
361
+ "name": "decorators",
362
+ "content": {
363
+ "type": "CHOICE",
364
+ "members": [
365
+ {
366
+ "type": "REPEAT",
367
+ "content": {
368
+ "type": "SYMBOL",
369
+ "name": "decorator_name"
370
+ }
371
+ },
372
+ {
373
+ "type": "BLANK"
374
+ }
375
+ ]
376
+ }
377
+ },
343
378
  {
344
379
  "type": "STRING",
345
380
  "value": "fun"
@@ -361,6 +396,22 @@
361
396
  ]
362
397
  }
363
398
  },
399
+ {
400
+ "type": "FIELD",
401
+ "name": "generics",
402
+ "content": {
403
+ "type": "CHOICE",
404
+ "members": [
405
+ {
406
+ "type": "SYMBOL",
407
+ "name": "generic_list"
408
+ },
409
+ {
410
+ "type": "BLANK"
411
+ }
412
+ ]
413
+ }
414
+ },
364
415
  {
365
416
  "type": "FIELD",
366
417
  "name": "params",
@@ -453,16 +504,16 @@
453
504
  }
454
505
  },
455
506
  {
507
+ "type": "FIELD",
508
+ "name": "body",
509
+ "content": {
456
- "type": "STRING",
510
+ "type": "SYMBOL",
457
- "value": "{"
511
+ "name": "_block"
458
- },
512
+ }
459
- {
460
- "type": "STRING",
461
- "value": "}"
462
513
  }
463
514
  ]
464
515
  },
465
- "trait_name": {
516
+ "decorator_name": {
466
517
  "type": "SEQ",
467
518
  "members": [
468
519
  {
@@ -471,7 +522,48 @@
471
522
  },
472
523
  {
473
524
  "type": "SYMBOL",
474
- "name": "definition_name"
525
+ "name": "identifier"
526
+ },
527
+ {
528
+ "type": "STRING",
529
+ "value": "("
530
+ },
531
+ {
532
+ "type": "CHOICE",
533
+ "members": [
534
+ {
535
+ "type": "SEQ",
536
+ "members": [
537
+ {
538
+ "type": "SYMBOL",
539
+ "name": "_primary_expression"
540
+ },
541
+ {
542
+ "type": "REPEAT",
543
+ "content": {
544
+ "type": "SEQ",
545
+ "members": [
546
+ {
547
+ "type": "STRING",
548
+ "value": ","
549
+ },
550
+ {
551
+ "type": "SYMBOL",
552
+ "name": "_primary_expression"
553
+ }
554
+ ]
555
+ }
556
+ }
557
+ ]
558
+ },
559
+ {
560
+ "type": "BLANK"
561
+ }
562
+ ]
563
+ },
564
+ {
565
+ "type": "STRING",
566
+ "value": ")"
475
567
  }
476
568
  ]
477
569
  },
@@ -480,14 +572,14 @@
480
572
  "members": [
481
573
  {
482
574
  "type": "STRING",
483
- "value": "("
575
+ "value": ":"
484
576
  },
485
577
  {
486
578
  "type": "SEQ",
487
579
  "members": [
488
580
  {
489
581
  "type": "SYMBOL",
490
- "name": "identifier"
582
+ "name": "definition_name"
491
583
  },
492
584
  {
493
585
  "type": "REPEAT",
@@ -500,16 +592,12 @@
500
592
  },
501
593
  {
502
594
  "type": "SYMBOL",
503
- "name": "identifier"
595
+ "name": "definition_name"
504
596
  }
505
597
  ]
506
598
  }
507
599
  }
508
600
  ]
509
- },
510
- {
511
- "type": "STRING",
512
- "value": ")"
513
601
  }
514
602
  ]
515
603
  },
@@ -789,6 +877,23 @@
789
877
  }
790
878
  ]
791
879
  },
880
+ "_block": {
881
+ "type": "PREC",
882
+ "value": 1,
883
+ "content": {
884
+ "type": "SEQ",
885
+ "members": [
886
+ {
887
+ "type": "STRING",
888
+ "value": "{"
889
+ },
890
+ {
891
+ "type": "STRING",
892
+ "value": "}"
893
+ }
894
+ ]
895
+ }
896
+ },
792
897
  "_primary_expression": {
793
898
  "type": "CHOICE",
794
899
  "members": [
@@ -1364,17 +1469,49 @@
1364
1469
  "value": "null"
1365
1470
  }
1366
1471
  ]
1472
+ },
1473
+ "comment": {
1474
+ "type": "TOKEN",
1475
+ "content": {
1476
+ "type": "PREC",
1477
+ "value": 0,
1478
+ "content": {
1479
+ "type": "CHOICE",
1480
+ "members": [
1481
+ {
1482
+ "type": "SEQ",
1483
+ "members": [
1484
+ {
1485
+ "type": "STRING",
1486
+ "value": "#"
1487
+ },
1488
+ {
1489
+ "type": "PATTERN",
1490
+ "value": ".*"
1491
+ }
1492
+ ]
1493
+ }
1494
+ ]
1495
+ }
1496
+ }
1367
1497
  }
1368
1498
  },
1369
1499
  "extras": [
1500
+ {
1501
+ "type": "SYMBOL",
1502
+ "name": "comment"
1503
+ },
1370
1504
  {
1371
1505
  "type": "PATTERN",
1372
- "value": "\\s"
1506
+ "value": "\\s+"
1373
1507
  }
1374
1508
  ],
1375
1509
  "conflicts": [
1376
1510
  [
1377
1511
  "fun_field"
1512
+ ],
1513
+ [
1514
+ "decorator_name"
1378
1515
  ]
1379
1516
  ],
1380
1517
  "precedences": [],
src/node-types.json CHANGED
@@ -28,6 +28,16 @@
28
28
  "type": "class_definition",
29
29
  "named": true,
30
30
  "fields": {
31
+ "decorators": {
32
+ "multiple": true,
33
+ "required": false,
34
+ "types": [
35
+ {
36
+ "type": "decorator_name",
37
+ "named": true
38
+ }
39
+ ]
40
+ },
31
41
  "fields": {
32
42
  "multiple": true,
33
43
  "required": true,
@@ -71,17 +81,64 @@
71
81
  ]
72
82
  },
73
83
  "traits": {
74
- "multiple": true,
84
+ "multiple": false,
75
85
  "required": false,
76
86
  "types": [
77
87
  {
78
- "type": "trait_name",
88
+ "type": "trait_list",
79
89
  "named": true
80
90
  }
81
91
  ]
82
92
  }
83
93
  }
84
94
  },
95
+ {
96
+ "type": "decorator_name",
97
+ "named": true,
98
+ "fields": {},
99
+ "children": {
100
+ "multiple": true,
101
+ "required": true,
102
+ "types": [
103
+ {
104
+ "type": "bin_literal",
105
+ "named": true
106
+ },
107
+ {
108
+ "type": "boolean_literal",
109
+ "named": true
110
+ },
111
+ {
112
+ "type": "character_literal",
113
+ "named": true
114
+ },
115
+ {
116
+ "type": "float_literal",
117
+ "named": true
118
+ },
119
+ {
120
+ "type": "hex_literal",
121
+ "named": true
122
+ },
123
+ {
124
+ "type": "identifier",
125
+ "named": true
126
+ },
127
+ {
128
+ "type": "integer_literal",
129
+ "named": true
130
+ },
131
+ {
132
+ "type": "line_string_literal",
133
+ "named": true
134
+ },
135
+ {
136
+ "type": "multi_line_string_literal",
137
+ "named": true
138
+ }
139
+ ]
140
+ }
141
+ },
85
142
  {
86
143
  "type": "definitions",
87
144
  "named": true,
@@ -220,6 +277,40 @@
220
277
  "type": "fun_definition",
221
278
  "named": true,
222
279
  "fields": {
280
+ "body": {
281
+ "multiple": true,
282
+ "required": true,
283
+ "types": [
284
+ {
285
+ "type": "{",
286
+ "named": false
287
+ },
288
+ {
289
+ "type": "}",
290
+ "named": false
291
+ }
292
+ ]
293
+ },
294
+ "decorators": {
295
+ "multiple": true,
296
+ "required": false,
297
+ "types": [
298
+ {
299
+ "type": "decorator_name",
300
+ "named": true
301
+ }
302
+ ]
303
+ },
304
+ "generics": {
305
+ "multiple": false,
306
+ "required": false,
307
+ "types": [
308
+ {
309
+ "type": "generic_list",
310
+ "named": true
311
+ }
312
+ ]
313
+ },
223
314
  "name": {
224
315
  "multiple": true,
225
316
  "required": true,
@@ -530,11 +621,11 @@
530
621
  }
531
622
  },
532
623
  {
533
- "type": "trait_name",
624
+ "type": "trait_list",
534
625
  "named": true,
535
626
  "fields": {},
536
627
  "children": {
537
- "multiple": false,
628
+ "multiple": true,
538
629
  "required": true,
539
630
  "types": [
540
631
  {
@@ -662,6 +753,10 @@
662
753
  "type": "class",
663
754
  "named": false
664
755
  },
756
+ {
757
+ "type": "comment",
758
+ "named": true
759
+ },
665
760
  {
666
761
  "type": "definition_name",
667
762
  "named": true
src/parser.c CHANGED
@@ -5,16 +5,16 @@
5
5
  #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
6
6
  #endif
7
7
 
8
- #define LANGUAGE_VERSION 13
8
+ #define LANGUAGE_VERSION 14
9
- #define STATE_COUNT 203
9
+ #define STATE_COUNT 309
10
10
  #define LARGE_STATE_COUNT 2
11
- #define SYMBOL_COUNT 86
11
+ #define SYMBOL_COUNT 90
12
12
  #define ALIAS_COUNT 1
13
- #define TOKEN_COUNT 42
13
+ #define TOKEN_COUNT 43
14
14
  #define EXTERNAL_TOKEN_COUNT 0
15
- #define FIELD_COUNT 8
15
+ #define FIELD_COUNT 10
16
- #define MAX_ALIAS_SEQUENCE_LENGTH 11
16
+ #define MAX_ALIAS_SEQUENCE_LENGTH 12
17
- #define PRODUCTION_ID_COUNT 25
17
+ #define PRODUCTION_ID_COUNT 69
18
18
 
19
19
  enum {
20
20
  anon_sym_package = 1,
@@ -30,10 +30,10 @@ enum {
30
30
  anon_sym_fun = 11,
31
31
  anon_sym_EQ_GT = 12,
32
32
  anon_sym_AT = 13,
33
+ anon_sym_COLON = 14,
33
- anon_sym_LT = 14,
34
+ anon_sym_LT = 15,
34
- anon_sym_GT = 15,
35
+ anon_sym_GT = 16,
35
- anon_sym_QMARK = 16,
36
+ anon_sym_QMARK = 17,
36
- anon_sym_COLON = 17,
37
37
  anon_sym_val = 18,
38
38
  anon_sym_DOT = 19,
39
39
  aux_sym_url_token1 = 20,
@@ -58,51 +58,55 @@ enum {
58
58
  sym__multi_line_str_text = 39,
59
59
  anon_sym_DOLLAR = 40,
60
60
  anon_sym_null = 41,
61
+ sym_comment = 42,
61
- sym_source_file = 42,
62
+ sym_source_file = 43,
62
- sym_import_statement = 43,
63
+ sym_import_statement = 44,
63
- sym_definitions = 44,
64
+ sym_definitions = 45,
64
- sym_class_definition = 45,
65
+ sym_class_definition = 46,
65
- sym_trait_definition = 46,
66
+ sym_trait_definition = 47,
66
- sym_enum_definition = 47,
67
+ sym_enum_definition = 48,
67
- sym_fun_definition = 48,
68
+ sym_fun_definition = 49,
69
+ sym_decorator_name = 50,
68
- sym_trait_name = 49,
70
+ sym_trait_list = 51,
69
- sym_generic_list = 50,
71
+ sym_generic_list = 52,
70
- sym_type = 51,
72
+ sym_type = 53,
71
- sym_param = 52,
73
+ sym_param = 54,
72
- sym_type_field = 53,
74
+ sym_type_field = 55,
73
- sym_fun_field = 54,
75
+ sym_fun_field = 56,
74
- sym_trait_field = 55,
76
+ sym_trait_field = 57,
75
- sym_enum_field = 56,
77
+ sym_enum_field = 58,
78
+ sym__block = 59,
76
- sym__primary_expression = 57,
79
+ sym__primary_expression = 60,
77
- sym__extension = 58,
80
+ sym__extension = 61,
78
- sym_url = 59,
81
+ sym_url = 62,
79
- sym_package = 60,
82
+ sym_package = 63,
80
- sym_identifier = 61,
83
+ sym_identifier = 64,
81
- sym_boolean_literal = 62,
84
+ sym_boolean_literal = 65,
82
- sym_character_literal = 63,
85
+ sym_character_literal = 66,
83
- sym_character_escape_seq = 64,
86
+ sym_character_escape_seq = 67,
84
- sym__uni_character_literal = 65,
87
+ sym__uni_character_literal = 68,
85
- sym__string_literal = 66,
88
+ sym__string_literal = 69,
86
- sym_line_string_literal = 67,
89
+ sym_line_string_literal = 70,
87
- sym_multi_line_string_literal = 68,
90
+ sym_multi_line_string_literal = 71,
88
- sym__line_string_content = 69,
91
+ sym__line_string_content = 72,
89
- sym__multi_line_string_content = 70,
92
+ sym__multi_line_string_content = 73,
90
- sym__interpolation = 71,
93
+ sym__interpolation = 74,
91
- sym__literal_constant = 72,
94
+ sym__literal_constant = 75,
92
- aux_sym_source_file_repeat1 = 73,
95
+ aux_sym_source_file_repeat1 = 76,
93
- aux_sym_source_file_repeat2 = 74,
96
+ aux_sym_source_file_repeat2 = 77,
94
- aux_sym_class_definition_repeat1 = 75,
97
+ aux_sym_class_definition_repeat1 = 78,
95
- aux_sym_class_definition_repeat2 = 76,
98
+ aux_sym_class_definition_repeat2 = 79,
96
- aux_sym_trait_definition_repeat1 = 77,
99
+ aux_sym_trait_definition_repeat1 = 80,
97
- aux_sym_enum_definition_repeat1 = 78,
100
+ aux_sym_enum_definition_repeat1 = 81,
98
- aux_sym_fun_definition_repeat1 = 79,
101
+ aux_sym_fun_definition_repeat1 = 82,
99
- aux_sym_fun_definition_repeat2 = 80,
102
+ aux_sym_fun_definition_repeat2 = 83,
103
+ aux_sym_decorator_name_repeat1 = 84,
100
- aux_sym_trait_list_repeat1 = 81,
104
+ aux_sym_trait_list_repeat1 = 85,
101
- aux_sym_enum_field_repeat1 = 82,
105
+ aux_sym_generic_list_repeat1 = 86,
102
- aux_sym_url_repeat1 = 83,
106
+ aux_sym_url_repeat1 = 87,
103
- aux_sym_line_string_literal_repeat1 = 84,
107
+ aux_sym_line_string_literal_repeat1 = 88,
104
- aux_sym_multi_line_string_literal_repeat1 = 85,
108
+ aux_sym_multi_line_string_literal_repeat1 = 89,
105
- alias_sym_interpolated_identifier = 86,
109
+ alias_sym_interpolated_identifier = 90,
106
110
  };
107
111
 
108
112
  static const char * const ts_symbol_names[] = {
@@ -120,10 +124,10 @@ static const char * const ts_symbol_names[] = {
120
124
  [anon_sym_fun] = "fun",
121
125
  [anon_sym_EQ_GT] = "=>",
122
126
  [anon_sym_AT] = "@",
127
+ [anon_sym_COLON] = ":",
123
128
  [anon_sym_LT] = "<",
124
129
  [anon_sym_GT] = ">",
125
130
  [anon_sym_QMARK] = "\?",
126
- [anon_sym_COLON] = ":",
127
131
  [anon_sym_val] = "val",
128
132
  [anon_sym_DOT] = ".",
129
133
  [aux_sym_url_token1] = "url_token1",
@@ -148,6 +152,7 @@ static const char * const ts_symbol_names[] = {
148
152
  [sym__multi_line_str_text] = "_multi_line_str_text",
149
153
  [anon_sym_DOLLAR] = "$",
150
154
  [anon_sym_null] = "null",
155
+ [sym_comment] = "comment",
151
156
  [sym_source_file] = "source_file",
152
157
  [sym_import_statement] = "import_statement",
153
158
  [sym_definitions] = "definitions",
@@ -155,7 +160,8 @@ static const char * const ts_symbol_names[] = {
155
160
  [sym_trait_definition] = "trait_definition",
156
161
  [sym_enum_definition] = "enum_definition",
157
162
  [sym_fun_definition] = "fun_definition",
163
+ [sym_decorator_name] = "decorator_name",
158
- [sym_trait_name] = "trait_name",
164
+ [sym_trait_list] = "trait_list",
159
165
  [sym_generic_list] = "generic_list",
160
166
  [sym_type] = "type",
161
167
  [sym_param] = "param",
@@ -163,6 +169,7 @@ static const char * const ts_symbol_names[] = {
163
169
  [sym_fun_field] = "fun_field",
164
170
  [sym_trait_field] = "trait_field",
165
171
  [sym_enum_field] = "enum_field",
172
+ [sym__block] = "_block",
166
173
  [sym__primary_expression] = "_primary_expression",
167
174
  [sym__extension] = "_extension",
168
175
  [sym_url] = "url",
@@ -187,8 +194,9 @@ static const char * const ts_symbol_names[] = {
187
194
  [aux_sym_enum_definition_repeat1] = "enum_definition_repeat1",
188
195
  [aux_sym_fun_definition_repeat1] = "fun_definition_repeat1",
189
196
  [aux_sym_fun_definition_repeat2] = "fun_definition_repeat2",
197
+ [aux_sym_decorator_name_repeat1] = "decorator_name_repeat1",
190
198
  [aux_sym_trait_list_repeat1] = "trait_list_repeat1",
191
- [aux_sym_enum_field_repeat1] = "enum_field_repeat1",
199
+ [aux_sym_generic_list_repeat1] = "generic_list_repeat1",
192
200
  [aux_sym_url_repeat1] = "url_repeat1",
193
201
  [aux_sym_line_string_literal_repeat1] = "line_string_literal_repeat1",
194
202
  [aux_sym_multi_line_string_literal_repeat1] = "multi_line_string_literal_repeat1",
@@ -210,10 +218,10 @@ static const TSSymbol ts_symbol_map[] = {
210
218
  [anon_sym_fun] = anon_sym_fun,
211
219
  [anon_sym_EQ_GT] = anon_sym_EQ_GT,
212
220
  [anon_sym_AT] = anon_sym_AT,
221
+ [anon_sym_COLON] = anon_sym_COLON,
213
222
  [anon_sym_LT] = anon_sym_LT,
214
223
  [anon_sym_GT] = anon_sym_GT,
215
224
  [anon_sym_QMARK] = anon_sym_QMARK,
216
- [anon_sym_COLON] = anon_sym_COLON,
217
225
  [anon_sym_val] = anon_sym_val,
218
226
  [anon_sym_DOT] = anon_sym_DOT,
219
227
  [aux_sym_url_token1] = aux_sym_url_token1,
@@ -238,6 +246,7 @@ static const TSSymbol ts_symbol_map[] = {
238
246
  [sym__multi_line_str_text] = sym__multi_line_str_text,
239
247
  [anon_sym_DOLLAR] = anon_sym_DOLLAR,
240
248
  [anon_sym_null] = anon_sym_null,
249
+ [sym_comment] = sym_comment,
241
250
  [sym_source_file] = sym_source_file,
242
251
  [sym_import_statement] = sym_import_statement,
243
252
  [sym_definitions] = sym_definitions,
@@ -245,7 +254,8 @@ static const TSSymbol ts_symbol_map[] = {
245
254
  [sym_trait_definition] = sym_trait_definition,
246
255
  [sym_enum_definition] = sym_enum_definition,
247
256
  [sym_fun_definition] = sym_fun_definition,
257
+ [sym_decorator_name] = sym_decorator_name,
248
- [sym_trait_name] = sym_trait_name,
258
+ [sym_trait_list] = sym_trait_list,
249
259
  [sym_generic_list] = sym_generic_list,
250
260
  [sym_type] = sym_type,
251
261
  [sym_param] = sym_param,
@@ -253,6 +263,7 @@ static const TSSymbol ts_symbol_map[] = {
253
263
  [sym_fun_field] = sym_fun_field,
254
264
  [sym_trait_field] = sym_trait_field,
255
265
  [sym_enum_field] = sym_enum_field,
266
+ [sym__block] = sym__block,
256
267
  [sym__primary_expression] = sym__primary_expression,
257
268
  [sym__extension] = sym__extension,
258
269
  [sym_url] = sym_url,
@@ -277,8 +288,9 @@ static const TSSymbol ts_symbol_map[] = {
277
288
  [aux_sym_enum_definition_repeat1] = aux_sym_enum_definition_repeat1,
278
289
  [aux_sym_fun_definition_repeat1] = aux_sym_fun_definition_repeat1,
279
290
  [aux_sym_fun_definition_repeat2] = aux_sym_fun_definition_repeat2,
291
+ [aux_sym_decorator_name_repeat1] = aux_sym_decorator_name_repeat1,
280
292
  [aux_sym_trait_list_repeat1] = aux_sym_trait_list_repeat1,
281
- [aux_sym_enum_field_repeat1] = aux_sym_enum_field_repeat1,
293
+ [aux_sym_generic_list_repeat1] = aux_sym_generic_list_repeat1,
282
294
  [aux_sym_url_repeat1] = aux_sym_url_repeat1,
283
295
  [aux_sym_line_string_literal_repeat1] = aux_sym_line_string_literal_repeat1,
284
296
  [aux_sym_multi_line_string_literal_repeat1] = aux_sym_multi_line_string_literal_repeat1,
@@ -342,19 +354,19 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
342
354
  .visible = true,
343
355
  .named = false,
344
356
  },
345
- [anon_sym_LT] = {
357
+ [anon_sym_COLON] = {
346
358
  .visible = true,
347
359
  .named = false,
348
360
  },
349
- [anon_sym_GT] = {
361
+ [anon_sym_LT] = {
350
362
  .visible = true,
351
363
  .named = false,
352
364
  },
353
- [anon_sym_QMARK] = {
365
+ [anon_sym_GT] = {
354
366
  .visible = true,
355
367
  .named = false,
356
368
  },
357
- [anon_sym_COLON] = {
369
+ [anon_sym_QMARK] = {
358
370
  .visible = true,
359
371
  .named = false,
360
372
  },
@@ -454,6 +466,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
454
466
  .visible = true,
455
467
  .named = false,
456
468
  },
469
+ [sym_comment] = {
470
+ .visible = true,
471
+ .named = true,
472
+ },
457
473
  [sym_source_file] = {
458
474
  .visible = true,
459
475
  .named = true,
@@ -482,7 +498,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
482
498
  .visible = true,
483
499
  .named = true,
484
500
  },
501
+ [sym_decorator_name] = {
502
+ .visible = true,
503
+ .named = true,
504
+ },
485
- [sym_trait_name] = {
505
+ [sym_trait_list] = {
486
506
  .visible = true,
487
507
  .named = true,
488
508
  },
@@ -514,6 +534,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
514
534
  .visible = true,
515
535
  .named = true,
516
536
  },
537
+ [sym__block] = {
538
+ .visible = false,
539
+ .named = true,
540
+ },
517
541
  [sym__primary_expression] = {
518
542
  .visible = false,
519
543
  .named = true,
@@ -610,11 +634,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
610
634
  .visible = false,
611
635
  .named = false,
612
636
  },
637
+ [aux_sym_decorator_name_repeat1] = {
638
+ .visible = false,
639
+ .named = false,
640
+ },
613
641
  [aux_sym_trait_list_repeat1] = {
614
642
  .visible = false,
615
643
  .named = false,
616
644
  },
617
- [aux_sym_enum_field_repeat1] = {
645
+ [aux_sym_generic_list_repeat1] = {
618
646
  .visible = false,
619
647
  .named = false,
620
648
  },
@@ -637,18 +665,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
637
665
  };
638
666
 
639
667
  enum {
668
+ field_body = 1,
669
+ field_decorators = 2,
640
- field_fields = 1,
670
+ field_fields = 3,
641
- field_generics = 2,
671
+ field_generics = 4,
642
- field_name = 3,
672
+ field_name = 5,
643
- field_params = 4,
673
+ field_params = 6,
644
- field_returns = 5,
674
+ field_returns = 7,
645
- field_traits = 6,
675
+ field_traits = 8,
646
- field_type = 7,
676
+ field_type = 9,
647
- field_types = 8,
677
+ field_types = 10,
648
678
  };
649
679
 
650
680
  static const char * const ts_field_names[] = {
651
681
  [0] = NULL,
682
+ [field_body] = "body",
683
+ [field_decorators] = "decorators",
652
684
  [field_fields] = "fields",
653
685
  [field_generics] = "generics",
654
686
  [field_name] = "name",
@@ -663,26 +695,70 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
663
695
  [1] = {.index = 0, .length = 4},
664
696
  [2] = {.index = 4, .length = 5},
665
697
  [3] = {.index = 9, .length = 5},
666
- [4] = {.index = 14, .length = 2},
698
+ [4] = {.index = 14, .length = 5},
667
- [5] = {.index = 16, .length = 5},
699
+ [5] = {.index = 19, .length = 4},
668
- [6] = {.index = 21, .length = 2},
700
+ [6] = {.index = 23, .length = 2},
669
- [7] = {.index = 23, .length = 6},
670
- [8] = {.index = 29, .length = 3},
701
+ [8] = {.index = 25, .length = 5},
671
- [9] = {.index = 32, .length = 6},
702
+ [9] = {.index = 30, .length = 2},
672
- [10] = {.index = 38, .length = 6},
703
+ [10] = {.index = 32, .length = 6},
704
+ [11] = {.index = 38, .length = 6},
673
- [11] = {.index = 44, .length = 7},
705
+ [12] = {.index = 44, .length = 6},
674
- [12] = {.index = 51, .length = 4},
675
- [13] = {.index = 55, .length = 4},
706
+ [13] = {.index = 50, .length = 5},
676
- [14] = {.index = 59, .length = 7},
707
+ [14] = {.index = 55, .length = 5},
677
- [15] = {.index = 66, .length = 8},
708
+ [15] = {.index = 60, .length = 5},
678
- [16] = {.index = 74, .length = 8},
709
+ [16] = {.index = 65, .length = 6},
710
+ [17] = {.index = 71, .length = 6},
711
+ [18] = {.index = 77, .length = 6},
679
- [17] = {.index = 82, .length = 5},
712
+ [19] = {.index = 83, .length = 5},
680
- [18] = {.index = 87, .length = 5},
681
- [19] = {.index = 92, .length = 5},
682
- [20] = {.index = 97, .length = 9},
713
+ [20] = {.index = 88, .length = 7},
714
+ [21] = {.index = 95, .length = 3},
715
+ [22] = {.index = 98, .length = 7},
683
- [21] = {.index = 106, .length = 6},
716
+ [23] = {.index = 105, .length = 6},
684
- [22] = {.index = 112, .length = 6},
717
+ [24] = {.index = 111, .length = 6},
685
- [24] = {.index = 118, .length = 7},
718
+ [25] = {.index = 117, .length = 6},
719
+ [26] = {.index = 123, .length = 6},
720
+ [27] = {.index = 129, .length = 6},
721
+ [28] = {.index = 135, .length = 7},
722
+ [29] = {.index = 142, .length = 7},
723
+ [30] = {.index = 149, .length = 7},
724
+ [31] = {.index = 156, .length = 6},
725
+ [32] = {.index = 162, .length = 6},
726
+ [33] = {.index = 168, .length = 6},
727
+ [34] = {.index = 174, .length = 4},
728
+ [35] = {.index = 178, .length = 4},
729
+ [36] = {.index = 182, .length = 8},
730
+ [37] = {.index = 190, .length = 8},
731
+ [38] = {.index = 198, .length = 7},
732
+ [39] = {.index = 205, .length = 7},
733
+ [40] = {.index = 212, .length = 7},
734
+ [41] = {.index = 219, .length = 7},
735
+ [42] = {.index = 226, .length = 7},
736
+ [43] = {.index = 233, .length = 8},
737
+ [44] = {.index = 241, .length = 7},
738
+ [45] = {.index = 248, .length = 7},
739
+ [46] = {.index = 255, .length = 7},
740
+ [47] = {.index = 262, .length = 7},
741
+ [48] = {.index = 269, .length = 7},
742
+ [49] = {.index = 276, .length = 5},
743
+ [50] = {.index = 281, .length = 5},
744
+ [51] = {.index = 286, .length = 5},
745
+ [52] = {.index = 291, .length = 9},
746
+ [53] = {.index = 300, .length = 8},
747
+ [54] = {.index = 308, .length = 8},
748
+ [55] = {.index = 316, .length = 8},
749
+ [56] = {.index = 324, .length = 8},
750
+ [57] = {.index = 332, .length = 8},
751
+ [58] = {.index = 340, .length = 8},
752
+ [59] = {.index = 348, .length = 8},
753
+ [60] = {.index = 356, .length = 8},
754
+ [61] = {.index = 364, .length = 6},
755
+ [62] = {.index = 370, .length = 6},
756
+ [63] = {.index = 376, .length = 9},
757
+ [64] = {.index = 385, .length = 9},
758
+ [65] = {.index = 394, .length = 9},
759
+ [66] = {.index = 403, .length = 9},
760
+ [67] = {.index = 412, .length = 7},
761
+ [68] = {.index = 419, .length = 10},
686
762
  };
687
763
 
688
764
  static const TSFieldMapEntry ts_field_map_entries[] = {
@@ -701,46 +777,110 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
701
777
  {field_fields, 3},
702
778
  {field_fields, 4},
703
779
  {field_fields, 5},
704
- {field_generics, 2},
705
780
  {field_name, 1},
781
+ {field_traits, 2},
706
782
  [14] =
783
+ {field_fields, 3},
784
+ {field_fields, 4},
785
+ {field_fields, 5},
786
+ {field_generics, 2},
787
+ {field_name, 1},
788
+ [19] =
789
+ {field_body, 5},
790
+ {field_name, 1},
791
+ {field_params, 2},
792
+ {field_params, 3},
793
+ [23] =
707
794
  {field_name, 0},
708
795
  {field_type, 2},
709
- [16] =
796
+ [25] =
797
+ {field_decorators, 0},
710
798
  {field_fields, 3},
711
799
  {field_fields, 4},
712
800
  {field_fields, 5},
713
801
  {field_name, 2},
714
- {field_traits, 0},
715
- [21] =
802
+ [30] =
716
803
  {field_name, 1},
717
804
  {field_type, 3},
718
- [23] =
805
+ [32] =
806
+ {field_fields, 3},
807
+ {field_fields, 4},
808
+ {field_fields, 5},
809
+ {field_fields, 6},
810
+ {field_name, 1},
811
+ {field_traits, 2},
812
+ [38] =
719
813
  {field_fields, 3},
720
814
  {field_fields, 4},
721
815
  {field_fields, 5},
722
816
  {field_fields, 6},
723
817
  {field_generics, 2},
724
818
  {field_name, 1},
725
- [29] =
819
+ [44] =
820
+ {field_fields, 4},
821
+ {field_fields, 5},
822
+ {field_fields, 6},
823
+ {field_generics, 2},
824
+ {field_name, 1},
825
+ {field_traits, 3},
826
+ [50] =
827
+ {field_body, 6},
726
828
  {field_name, 1},
727
829
  {field_params, 2},
728
830
  {field_params, 3},
831
+ {field_returns, 5},
729
- [32] =
832
+ [55] =
833
+ {field_body, 6},
834
+ {field_name, 1},
835
+ {field_params, 2},
836
+ {field_params, 3},
837
+ {field_params, 4},
838
+ [60] =
839
+ {field_body, 6},
840
+ {field_generics, 2},
841
+ {field_name, 1},
842
+ {field_params, 3},
843
+ {field_params, 4},
844
+ [65] =
845
+ {field_decorators, 0},
730
846
  {field_fields, 3},
731
847
  {field_fields, 4},
732
848
  {field_fields, 5},
733
849
  {field_fields, 6},
734
850
  {field_name, 2},
851
+ [71] =
852
+ {field_decorators, 0},
853
+ {field_fields, 4},
854
+ {field_fields, 5},
855
+ {field_fields, 6},
856
+ {field_name, 2},
735
- {field_traits, 0},
857
+ {field_traits, 3},
736
- [38] =
858
+ [77] =
859
+ {field_decorators, 0},
737
860
  {field_fields, 4},
738
861
  {field_fields, 5},
739
862
  {field_fields, 6},
740
863
  {field_generics, 3},
741
864
  {field_name, 2},
865
+ [83] =
866
+ {field_body, 6},
867
+ {field_decorators, 0},
868
+ {field_name, 2},
869
+ {field_params, 3},
870
+ {field_params, 4},
871
+ [88] =
872
+ {field_fields, 4},
873
+ {field_fields, 5},
874
+ {field_fields, 6},
875
+ {field_fields, 7},
876
+ {field_generics, 2},
877
+ {field_name, 1},
742
- {field_traits, 0},
878
+ {field_traits, 3},
743
- [44] =
879
+ [95] =
880
+ {field_name, 1},
881
+ {field_params, 2},
882
+ {field_params, 3},
883
+ [98] =
744
884
  {field_fields, 5},
745
885
  {field_fields, 6},
746
886
  {field_fields, 7},
@@ -748,25 +888,97 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
748
888
  {field_types, 2},
749
889
  {field_types, 3},
750
890
  {field_types, 4},
751
- [51] =
891
+ [105] =
892
+ {field_body, 7},
752
893
  {field_name, 1},
753
894
  {field_params, 2},
754
895
  {field_params, 3},
755
896
  {field_returns, 5},
897
+ {field_returns, 6},
756
- [55] =
898
+ [111] =
899
+ {field_body, 7},
900
+ {field_name, 1},
901
+ {field_params, 2},
902
+ {field_params, 3},
903
+ {field_params, 4},
904
+ {field_returns, 6},
905
+ [117] =
906
+ {field_body, 7},
757
907
  {field_name, 1},
758
908
  {field_params, 2},
759
909
  {field_params, 3},
760
910
  {field_params, 4},
911
+ {field_params, 5},
912
+ [123] =
913
+ {field_body, 7},
914
+ {field_generics, 2},
915
+ {field_name, 1},
916
+ {field_params, 3},
917
+ {field_params, 4},
918
+ {field_returns, 6},
761
- [59] =
919
+ [129] =
920
+ {field_body, 7},
921
+ {field_generics, 2},
922
+ {field_name, 1},
923
+ {field_params, 3},
924
+ {field_params, 4},
925
+ {field_params, 5},
926
+ [135] =
927
+ {field_decorators, 0},
928
+ {field_fields, 4},
929
+ {field_fields, 5},
930
+ {field_fields, 6},
931
+ {field_fields, 7},
932
+ {field_name, 2},
933
+ {field_traits, 3},
934
+ [142] =
935
+ {field_decorators, 0},
762
936
  {field_fields, 4},
763
937
  {field_fields, 5},
764
938
  {field_fields, 6},
765
939
  {field_fields, 7},
766
940
  {field_generics, 3},
767
941
  {field_name, 2},
942
+ [149] =
943
+ {field_decorators, 0},
944
+ {field_fields, 5},
945
+ {field_fields, 6},
946
+ {field_fields, 7},
947
+ {field_generics, 3},
948
+ {field_name, 2},
768
- {field_traits, 0},
949
+ {field_traits, 4},
769
- [66] =
950
+ [156] =
951
+ {field_body, 7},
952
+ {field_decorators, 0},
953
+ {field_name, 2},
954
+ {field_params, 3},
955
+ {field_params, 4},
956
+ {field_returns, 6},
957
+ [162] =
958
+ {field_body, 7},
959
+ {field_decorators, 0},
960
+ {field_name, 2},
961
+ {field_params, 3},
962
+ {field_params, 4},
963
+ {field_params, 5},
964
+ [168] =
965
+ {field_body, 7},
966
+ {field_decorators, 0},
967
+ {field_generics, 3},
968
+ {field_name, 2},
969
+ {field_params, 4},
970
+ {field_params, 5},
971
+ [174] =
972
+ {field_name, 1},
973
+ {field_params, 2},
974
+ {field_params, 3},
975
+ {field_returns, 5},
976
+ [178] =
977
+ {field_name, 1},
978
+ {field_params, 2},
979
+ {field_params, 3},
980
+ {field_params, 4},
981
+ [182] =
770
982
  {field_fields, 5},
771
983
  {field_fields, 6},
772
984
  {field_fields, 7},
@@ -775,7 +987,7 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
775
987
  {field_types, 2},
776
988
  {field_types, 3},
777
989
  {field_types, 4},
778
- [74] =
990
+ [190] =
779
991
  {field_fields, 6},
780
992
  {field_fields, 7},
781
993
  {field_fields, 8},
@@ -784,25 +996,114 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
784
996
  {field_types, 3},
785
997
  {field_types, 4},
786
998
  {field_types, 5},
999
+ [198] =
1000
+ {field_body, 8},
1001
+ {field_name, 1},
1002
+ {field_params, 2},
1003
+ {field_params, 3},
1004
+ {field_params, 4},
1005
+ {field_returns, 6},
1006
+ {field_returns, 7},
1007
+ [205] =
1008
+ {field_body, 8},
1009
+ {field_name, 1},
1010
+ {field_params, 2},
1011
+ {field_params, 3},
1012
+ {field_params, 4},
1013
+ {field_params, 5},
1014
+ {field_returns, 7},
787
- [82] =
1015
+ [212] =
1016
+ {field_body, 8},
1017
+ {field_generics, 2},
1018
+ {field_name, 1},
1019
+ {field_params, 3},
1020
+ {field_params, 4},
1021
+ {field_returns, 6},
1022
+ {field_returns, 7},
1023
+ [219] =
1024
+ {field_body, 8},
1025
+ {field_generics, 2},
1026
+ {field_name, 1},
1027
+ {field_params, 3},
1028
+ {field_params, 4},
1029
+ {field_params, 5},
1030
+ {field_returns, 7},
1031
+ [226] =
1032
+ {field_body, 8},
1033
+ {field_generics, 2},
1034
+ {field_name, 1},
1035
+ {field_params, 3},
1036
+ {field_params, 4},
1037
+ {field_params, 5},
1038
+ {field_params, 6},
1039
+ [233] =
1040
+ {field_decorators, 0},
1041
+ {field_fields, 5},
1042
+ {field_fields, 6},
1043
+ {field_fields, 7},
1044
+ {field_fields, 8},
1045
+ {field_generics, 3},
1046
+ {field_name, 2},
1047
+ {field_traits, 4},
1048
+ [241] =
1049
+ {field_body, 8},
1050
+ {field_decorators, 0},
1051
+ {field_name, 2},
1052
+ {field_params, 3},
1053
+ {field_params, 4},
1054
+ {field_returns, 6},
1055
+ {field_returns, 7},
1056
+ [248] =
1057
+ {field_body, 8},
1058
+ {field_decorators, 0},
1059
+ {field_name, 2},
1060
+ {field_params, 3},
1061
+ {field_params, 4},
1062
+ {field_params, 5},
1063
+ {field_returns, 7},
1064
+ [255] =
1065
+ {field_body, 8},
1066
+ {field_decorators, 0},
1067
+ {field_name, 2},
1068
+ {field_params, 3},
1069
+ {field_params, 4},
1070
+ {field_params, 5},
1071
+ {field_params, 6},
1072
+ [262] =
1073
+ {field_body, 8},
1074
+ {field_decorators, 0},
1075
+ {field_generics, 3},
1076
+ {field_name, 2},
1077
+ {field_params, 4},
1078
+ {field_params, 5},
1079
+ {field_returns, 7},
1080
+ [269] =
1081
+ {field_body, 8},
1082
+ {field_decorators, 0},
1083
+ {field_generics, 3},
1084
+ {field_name, 2},
1085
+ {field_params, 4},
1086
+ {field_params, 5},
1087
+ {field_params, 6},
1088
+ [276] =
788
1089
  {field_name, 1},
789
1090
  {field_params, 2},
790
1091
  {field_params, 3},
791
1092
  {field_returns, 5},
792
1093
  {field_returns, 6},
793
- [87] =
1094
+ [281] =
794
1095
  {field_name, 1},
795
1096
  {field_params, 2},
796
1097
  {field_params, 3},
797
1098
  {field_params, 4},
798
1099
  {field_returns, 6},
799
- [92] =
1100
+ [286] =
800
1101
  {field_name, 1},
801
1102
  {field_params, 2},
802
1103
  {field_params, 3},
803
1104
  {field_params, 4},
804
1105
  {field_params, 5},
805
- [97] =
1106
+ [291] =
806
1107
  {field_fields, 6},
807
1108
  {field_fields, 7},
808
1109
  {field_fields, 8},
@@ -812,21 +1113,133 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
812
1113
  {field_types, 3},
813
1114
  {field_types, 4},
814
1115
  {field_types, 5},
815
- [106] =
1116
+ [300] =
1117
+ {field_body, 9},
1118
+ {field_name, 1},
1119
+ {field_params, 2},
1120
+ {field_params, 3},
1121
+ {field_params, 4},
1122
+ {field_params, 5},
1123
+ {field_returns, 7},
1124
+ {field_returns, 8},
1125
+ [308] =
1126
+ {field_body, 9},
1127
+ {field_generics, 2},
1128
+ {field_name, 1},
1129
+ {field_params, 3},
1130
+ {field_params, 4},
1131
+ {field_params, 5},
1132
+ {field_returns, 7},
1133
+ {field_returns, 8},
1134
+ [316] =
1135
+ {field_body, 9},
1136
+ {field_generics, 2},
1137
+ {field_name, 1},
1138
+ {field_params, 3},
1139
+ {field_params, 4},
1140
+ {field_params, 5},
1141
+ {field_params, 6},
1142
+ {field_returns, 8},
1143
+ [324] =
1144
+ {field_body, 9},
1145
+ {field_decorators, 0},
1146
+ {field_name, 2},
1147
+ {field_params, 3},
1148
+ {field_params, 4},
1149
+ {field_params, 5},
1150
+ {field_returns, 7},
1151
+ {field_returns, 8},
1152
+ [332] =
1153
+ {field_body, 9},
1154
+ {field_decorators, 0},
1155
+ {field_name, 2},
1156
+ {field_params, 3},
1157
+ {field_params, 4},
1158
+ {field_params, 5},
1159
+ {field_params, 6},
1160
+ {field_returns, 8},
1161
+ [340] =
1162
+ {field_body, 9},
1163
+ {field_decorators, 0},
1164
+ {field_generics, 3},
1165
+ {field_name, 2},
1166
+ {field_params, 4},
1167
+ {field_params, 5},
1168
+ {field_returns, 7},
1169
+ {field_returns, 8},
1170
+ [348] =
1171
+ {field_body, 9},
1172
+ {field_decorators, 0},
1173
+ {field_generics, 3},
1174
+ {field_name, 2},
1175
+ {field_params, 4},
1176
+ {field_params, 5},
1177
+ {field_params, 6},
1178
+ {field_returns, 8},
1179
+ [356] =
1180
+ {field_body, 9},
1181
+ {field_decorators, 0},
1182
+ {field_generics, 3},
1183
+ {field_name, 2},
1184
+ {field_params, 4},
1185
+ {field_params, 5},
1186
+ {field_params, 6},
1187
+ {field_params, 7},
1188
+ [364] =
816
1189
  {field_name, 1},
817
1190
  {field_params, 2},
818
1191
  {field_params, 3},
819
1192
  {field_params, 4},
820
1193
  {field_returns, 6},
821
1194
  {field_returns, 7},
822
- [112] =
1195
+ [370] =
823
1196
  {field_name, 1},
824
1197
  {field_params, 2},
825
1198
  {field_params, 3},
826
1199
  {field_params, 4},
827
1200
  {field_params, 5},
828
1201
  {field_returns, 7},
1202
+ [376] =
1203
+ {field_body, 10},
1204
+ {field_generics, 2},
1205
+ {field_name, 1},
1206
+ {field_params, 3},
1207
+ {field_params, 4},
1208
+ {field_params, 5},
1209
+ {field_params, 6},
1210
+ {field_returns, 8},
1211
+ {field_returns, 9},
1212
+ [385] =
1213
+ {field_body, 10},
1214
+ {field_decorators, 0},
1215
+ {field_name, 2},
1216
+ {field_params, 3},
1217
+ {field_params, 4},
1218
+ {field_params, 5},
1219
+ {field_params, 6},
1220
+ {field_returns, 8},
1221
+ {field_returns, 9},
1222
+ [394] =
1223
+ {field_body, 10},
1224
+ {field_decorators, 0},
1225
+ {field_generics, 3},
1226
+ {field_name, 2},
1227
+ {field_params, 4},
1228
+ {field_params, 5},
1229
+ {field_params, 6},
1230
+ {field_returns, 8},
1231
+ {field_returns, 9},
1232
+ [403] =
1233
+ {field_body, 10},
1234
+ {field_decorators, 0},
1235
+ {field_generics, 3},
1236
+ {field_name, 2},
1237
+ {field_params, 4},
1238
+ {field_params, 5},
1239
+ {field_params, 6},
1240
+ {field_params, 7},
1241
+ {field_returns, 9},
829
- [118] =
1242
+ [412] =
830
1243
  {field_name, 1},
831
1244
  {field_params, 2},
832
1245
  {field_params, 3},
@@ -834,11 +1247,22 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
834
1247
  {field_params, 5},
835
1248
  {field_returns, 7},
836
1249
  {field_returns, 8},
1250
+ [419] =
1251
+ {field_body, 11},
1252
+ {field_decorators, 0},
1253
+ {field_generics, 3},
1254
+ {field_name, 2},
1255
+ {field_params, 4},
1256
+ {field_params, 5},
1257
+ {field_params, 6},
1258
+ {field_params, 7},
1259
+ {field_returns, 9},
1260
+ {field_returns, 10},
837
1261
  };
838
1262
 
839
1263
  static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
840
1264
  [0] = {0},
841
- [23] = {
1265
+ [7] = {
842
1266
  [1] = alias_sym_interpolated_identifier,
843
1267
  },
844
1268
  };
@@ -850,14 +1274,327 @@ static const uint16_t ts_non_terminal_alias_map[] = {
850
1274
  0,
851
1275
  };
852
1276
 
1277
+ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
1278
+ [0] = 0,
1279
+ [1] = 1,
1280
+ [2] = 2,
1281
+ [3] = 3,
1282
+ [4] = 4,
1283
+ [5] = 5,
1284
+ [6] = 6,
1285
+ [7] = 7,
1286
+ [8] = 8,
1287
+ [9] = 9,
1288
+ [10] = 10,
1289
+ [11] = 11,
1290
+ [12] = 12,
1291
+ [13] = 13,
1292
+ [14] = 14,
1293
+ [15] = 15,
1294
+ [16] = 16,
1295
+ [17] = 17,
1296
+ [18] = 18,
1297
+ [19] = 19,
1298
+ [20] = 20,
1299
+ [21] = 21,
1300
+ [22] = 22,
1301
+ [23] = 23,
1302
+ [24] = 24,
1303
+ [25] = 25,
1304
+ [26] = 26,
1305
+ [27] = 27,
1306
+ [28] = 28,
1307
+ [29] = 29,
1308
+ [30] = 30,
1309
+ [31] = 31,
1310
+ [32] = 32,
1311
+ [33] = 33,
1312
+ [34] = 34,
1313
+ [35] = 35,
1314
+ [36] = 36,
1315
+ [37] = 37,
1316
+ [38] = 38,
1317
+ [39] = 39,
1318
+ [40] = 40,
1319
+ [41] = 41,
1320
+ [42] = 42,
1321
+ [43] = 43,
1322
+ [44] = 44,
1323
+ [45] = 45,
1324
+ [46] = 46,
1325
+ [47] = 47,
1326
+ [48] = 48,
1327
+ [49] = 49,
1328
+ [50] = 50,
1329
+ [51] = 51,
1330
+ [52] = 52,
1331
+ [53] = 53,
1332
+ [54] = 54,
1333
+ [55] = 55,
1334
+ [56] = 56,
1335
+ [57] = 57,
1336
+ [58] = 58,
1337
+ [59] = 59,
1338
+ [60] = 60,
1339
+ [61] = 61,
1340
+ [62] = 62,
1341
+ [63] = 63,
1342
+ [64] = 64,
1343
+ [65] = 65,
1344
+ [66] = 66,
1345
+ [67] = 67,
1346
+ [68] = 68,
1347
+ [69] = 69,
1348
+ [70] = 70,
1349
+ [71] = 71,
1350
+ [72] = 72,
1351
+ [73] = 73,
1352
+ [74] = 74,
1353
+ [75] = 75,
1354
+ [76] = 76,
1355
+ [77] = 77,
1356
+ [78] = 78,
1357
+ [79] = 79,
1358
+ [80] = 80,
1359
+ [81] = 81,
1360
+ [82] = 82,
1361
+ [83] = 83,
1362
+ [84] = 84,
1363
+ [85] = 85,
1364
+ [86] = 10,
1365
+ [87] = 87,
1366
+ [88] = 88,
1367
+ [89] = 89,
1368
+ [90] = 90,
1369
+ [91] = 91,
1370
+ [92] = 92,
1371
+ [93] = 93,
1372
+ [94] = 94,
1373
+ [95] = 95,
1374
+ [96] = 96,
1375
+ [97] = 97,
1376
+ [98] = 98,
1377
+ [99] = 99,
1378
+ [100] = 100,
1379
+ [101] = 101,
1380
+ [102] = 102,
1381
+ [103] = 103,
1382
+ [104] = 10,
1383
+ [105] = 105,
1384
+ [106] = 106,
1385
+ [107] = 107,
1386
+ [108] = 108,
1387
+ [109] = 109,
1388
+ [110] = 110,
1389
+ [111] = 111,
1390
+ [112] = 112,
1391
+ [113] = 113,
1392
+ [114] = 114,
1393
+ [115] = 115,
1394
+ [116] = 116,
1395
+ [117] = 117,
1396
+ [118] = 118,
1397
+ [119] = 119,
1398
+ [120] = 120,
1399
+ [121] = 121,
1400
+ [122] = 122,
1401
+ [123] = 123,
1402
+ [124] = 124,
1403
+ [125] = 125,
1404
+ [126] = 126,
1405
+ [127] = 127,
1406
+ [128] = 128,
1407
+ [129] = 129,
1408
+ [130] = 130,
1409
+ [131] = 131,
1410
+ [132] = 132,
1411
+ [133] = 133,
1412
+ [134] = 134,
1413
+ [135] = 135,
1414
+ [136] = 136,
1415
+ [137] = 137,
1416
+ [138] = 138,
1417
+ [139] = 139,
1418
+ [140] = 140,
1419
+ [141] = 141,
1420
+ [142] = 88,
1421
+ [143] = 143,
1422
+ [144] = 144,
1423
+ [145] = 145,
1424
+ [146] = 146,
1425
+ [147] = 147,
1426
+ [148] = 148,
1427
+ [149] = 149,
1428
+ [150] = 150,
1429
+ [151] = 151,
1430
+ [152] = 152,
1431
+ [153] = 153,
1432
+ [154] = 154,
1433
+ [155] = 155,
1434
+ [156] = 156,
1435
+ [157] = 157,
1436
+ [158] = 158,
1437
+ [159] = 159,
1438
+ [160] = 160,
1439
+ [161] = 161,
1440
+ [162] = 162,
1441
+ [163] = 163,
1442
+ [164] = 164,
1443
+ [165] = 165,
1444
+ [166] = 166,
1445
+ [167] = 167,
1446
+ [168] = 168,
1447
+ [169] = 169,
1448
+ [170] = 170,
1449
+ [171] = 171,
1450
+ [172] = 172,
1451
+ [173] = 173,
1452
+ [174] = 174,
1453
+ [175] = 175,
1454
+ [176] = 176,
1455
+ [177] = 177,
1456
+ [178] = 178,
1457
+ [179] = 179,
1458
+ [180] = 180,
1459
+ [181] = 181,
1460
+ [182] = 182,
1461
+ [183] = 183,
1462
+ [184] = 184,
1463
+ [185] = 185,
1464
+ [186] = 186,
1465
+ [187] = 187,
1466
+ [188] = 188,
1467
+ [189] = 189,
1468
+ [190] = 190,
1469
+ [191] = 191,
1470
+ [192] = 192,
1471
+ [193] = 193,
1472
+ [194] = 194,
1473
+ [195] = 195,
1474
+ [196] = 196,
1475
+ [197] = 197,
1476
+ [198] = 198,
1477
+ [199] = 199,
1478
+ [200] = 200,
1479
+ [201] = 201,
1480
+ [202] = 202,
1481
+ [203] = 203,
1482
+ [204] = 204,
1483
+ [205] = 205,
1484
+ [206] = 206,
1485
+ [207] = 207,
1486
+ [208] = 208,
1487
+ [209] = 209,
1488
+ [210] = 210,
1489
+ [211] = 211,
1490
+ [212] = 212,
1491
+ [213] = 213,
1492
+ [214] = 214,
1493
+ [215] = 215,
1494
+ [216] = 216,
1495
+ [217] = 217,
1496
+ [218] = 218,
1497
+ [219] = 219,
1498
+ [220] = 220,
1499
+ [221] = 221,
1500
+ [222] = 222,
1501
+ [223] = 223,
1502
+ [224] = 224,
1503
+ [225] = 225,
1504
+ [226] = 226,
1505
+ [227] = 227,
1506
+ [228] = 228,
1507
+ [229] = 229,
1508
+ [230] = 230,
1509
+ [231] = 231,
1510
+ [232] = 232,
1511
+ [233] = 233,
1512
+ [234] = 234,
1513
+ [235] = 235,
1514
+ [236] = 220,
1515
+ [237] = 237,
1516
+ [238] = 238,
1517
+ [239] = 239,
1518
+ [240] = 240,
1519
+ [241] = 241,
1520
+ [242] = 242,
1521
+ [243] = 243,
1522
+ [244] = 244,
1523
+ [245] = 245,
1524
+ [246] = 246,
1525
+ [247] = 247,
1526
+ [248] = 248,
1527
+ [249] = 249,
1528
+ [250] = 250,
1529
+ [251] = 251,
1530
+ [252] = 252,
1531
+ [253] = 253,
1532
+ [254] = 254,
1533
+ [255] = 255,
1534
+ [256] = 256,
1535
+ [257] = 257,
1536
+ [258] = 258,
1537
+ [259] = 259,
1538
+ [260] = 260,
1539
+ [261] = 261,
1540
+ [262] = 262,
1541
+ [263] = 263,
1542
+ [264] = 264,
1543
+ [265] = 265,
1544
+ [266] = 266,
1545
+ [267] = 267,
1546
+ [268] = 268,
1547
+ [269] = 269,
1548
+ [270] = 270,
1549
+ [271] = 271,
1550
+ [272] = 272,
1551
+ [273] = 273,
1552
+ [274] = 274,
1553
+ [275] = 275,
1554
+ [276] = 276,
1555
+ [277] = 277,
1556
+ [278] = 278,
1557
+ [279] = 279,
1558
+ [280] = 280,
1559
+ [281] = 281,
1560
+ [282] = 282,
1561
+ [283] = 283,
1562
+ [284] = 284,
1563
+ [285] = 285,
1564
+ [286] = 286,
1565
+ [287] = 287,
1566
+ [288] = 288,
1567
+ [289] = 289,
1568
+ [290] = 89,
1569
+ [291] = 291,
1570
+ [292] = 87,
1571
+ [293] = 293,
1572
+ [294] = 294,
1573
+ [295] = 295,
1574
+ [296] = 296,
1575
+ [297] = 297,
1576
+ [298] = 298,
1577
+ [299] = 299,
1578
+ [300] = 300,
1579
+ [301] = 301,
1580
+ [302] = 302,
1581
+ [303] = 303,
1582
+ [304] = 304,
1583
+ [305] = 305,
1584
+ [306] = 306,
1585
+ [307] = 299,
1586
+ [308] = 308,
1587
+ };
1588
+
853
1589
  static bool ts_lex(TSLexer *lexer, TSStateId state) {
854
1590
  START_LEXER();
855
1591
  eof = lexer->eof(lexer);
856
1592
  switch (state) {
857
1593
  case 0:
858
1594
  if (eof) ADVANCE(59);
859
- if (lookahead == '"') ADVANCE(113);
1595
+ if (lookahead == '"') ADVANCE(114);
1596
+ if (lookahead == '#') ADVANCE(125);
860
- if (lookahead == '$') ADVANCE(120);
1597
+ if (lookahead == '$') ADVANCE(123);
861
1598
  if (lookahead == '\'') ADVANCE(107);
862
1599
  if (lookahead == '(') ADVANCE(63);
863
1600
  if (lookahead == ')') ADVANCE(65);
@@ -865,24 +1602,24 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
865
1602
  if (lookahead == '.') ADVANCE(78);
866
1603
  if (lookahead == '/') ADVANCE(80);
867
1604
  if (lookahead == '0') ADVANCE(97);
868
- if (lookahead == ':') ADVANCE(76);
1605
+ if (lookahead == ':') ADVANCE(73);
869
- if (lookahead == '<') ADVANCE(73);
1606
+ if (lookahead == '<') ADVANCE(74);
870
- if (lookahead == '=') ADVANCE(5);
1607
+ if (lookahead == '=') ADVANCE(8);
871
- if (lookahead == '>') ADVANCE(74);
1608
+ if (lookahead == '>') ADVANCE(75);
872
- if (lookahead == '?') ADVANCE(75);
1609
+ if (lookahead == '?') ADVANCE(76);
873
1610
  if (lookahead == '@') ADVANCE(72);
874
- if (lookahead == '\\') ADVANCE(46);
1611
+ if (lookahead == '\\') ADVANCE(48);
875
1612
  if (lookahead == '_') ADVANCE(92);
876
- if (lookahead == '`') ADVANCE(114);
1613
+ if (lookahead == '`') ADVANCE(115);
877
- if (lookahead == 'c') ADVANCE(30);
1614
+ if (lookahead == 'c') ADVANCE(32);
878
- if (lookahead == 'e') ADVANCE(35);
1615
+ if (lookahead == 'e') ADVANCE(37);
879
- if (lookahead == 'f') ADVANCE(16);
1616
+ if (lookahead == 'f') ADVANCE(18);
880
- if (lookahead == 'i') ADVANCE(32);
1617
+ if (lookahead == 'i') ADVANCE(34);
881
- if (lookahead == 'n') ADVANCE(47);
1618
+ if (lookahead == 'n') ADVANCE(49);
882
- if (lookahead == 'p') ADVANCE(12);
1619
+ if (lookahead == 'p') ADVANCE(14);
883
- if (lookahead == 't') ADVANCE(38);
1620
+ if (lookahead == 't') ADVANCE(40);
884
- if (lookahead == 'v') ADVANCE(17);
1621
+ if (lookahead == 'v') ADVANCE(19);
885
- if (lookahead == '{') ADVANCE(68);
1622
+ if (lookahead == '{') ADVANCE(68);
886
1623
  if (lookahead == '}') ADVANCE(69);
887
1624
  if (('a' <= lookahead && lookahead <= 'd')) ADVANCE(58);
888
1625
  if (lookahead == '\t' ||
@@ -894,19 +1631,30 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
894
1631
  if (('G' <= lookahead && lookahead <= 'Z')) ADVANCE(87);
895
1632
  END_STATE();
896
1633
  case 1:
897
- if (lookahead == '"') ADVANCE(113);
1634
+ if (lookahead == '"') ADVANCE(114);
898
- if (lookahead == '$') ADVANCE(120);
1635
+ if (lookahead == '#') ADVANCE(125);
1636
+ if (lookahead == '\'') ADVANCE(107);
1637
+ if (lookahead == ')') ADVANCE(65);
1638
+ if (lookahead == ',') ADVANCE(64);
1639
+ if (lookahead == '.') ADVANCE(54);
1640
+ if (lookahead == '0') ADVANCE(95);
1641
+ if (lookahead == '`') ADVANCE(115);
1642
+ if (lookahead == 'f') ADVANCE(20);
899
- if (lookahead == '\\') ADVANCE(46);
1643
+ if (lookahead == 'n') ADVANCE(49);
1644
+ if (lookahead == 't') ADVANCE(42);
1645
+ if (lookahead == '{') ADVANCE(68);
900
1646
  if (lookahead == '\t' ||
901
1647
  lookahead == '\n' ||
902
1648
  lookahead == '\r' ||
903
- lookahead == ' ') ADVANCE(116);
1649
+ lookahead == ' ') SKIP(1)
904
- if (lookahead != 0) ADVANCE(117);
1650
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(96);
1651
+ if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(86);
905
1652
  END_STATE();
906
1653
  case 2:
907
- if (lookahead == '"') ADVANCE(113);
1654
+ if (lookahead == '"') ADVANCE(114);
1655
+ if (lookahead == '#') ADVANCE(117);
908
- if (lookahead == '$') ADVANCE(120);
1656
+ if (lookahead == '$') ADVANCE(123);
909
- if (lookahead == '`') ADVANCE(115);
1657
+ if (lookahead == '\\') ADVANCE(48);
910
1658
  if (lookahead == '\t' ||
911
1659
  lookahead == '\n' ||
912
1660
  lookahead == '\r' ||
@@ -914,25 +1662,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
914
1662
  if (lookahead != 0) ADVANCE(119);
915
1663
  END_STATE();
916
1664
  case 3:
917
- if (lookahead == '"') ADVANCE(113);
1665
+ if (lookahead == '"') ADVANCE(114);
918
- if (lookahead == '\'') ADVANCE(107);
919
- if (lookahead == ')') ADVANCE(65);
1666
+ if (lookahead == '#') ADVANCE(120);
920
- if (lookahead == ',') ADVANCE(64);
1667
+ if (lookahead == '$') ADVANCE(123);
921
- if (lookahead == '.') ADVANCE(54);
922
- if (lookahead == '0') ADVANCE(95);
923
- if (lookahead == '`') ADVANCE(114);
1668
+ if (lookahead == '`') ADVANCE(116);
924
- if (lookahead == 'f') ADVANCE(18);
925
- if (lookahead == 'n') ADVANCE(47);
926
- if (lookahead == 't') ADVANCE(40);
927
- if (lookahead == '{') ADVANCE(68);
928
1669
  if (lookahead == '\t' ||
929
1670
  lookahead == '\n' ||
930
1671
  lookahead == '\r' ||
931
- lookahead == ' ') SKIP(3)
1672
+ lookahead == ' ') ADVANCE(121);
932
- if (('1' <= lookahead && lookahead <= '9')) ADVANCE(96);
1673
+ if (lookahead != 0) ADVANCE(122);
933
- if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(86);
934
1674
  END_STATE();
935
1675
  case 4:
1676
+ if (lookahead == '#') ADVANCE(125);
936
1677
  if (lookahead == ')') ADVANCE(65);
937
1678
  if (lookahead == '\t' ||
938
1679
  lookahead == '\n' ||
@@ -943,158 +1684,179 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
943
1684
  lookahead == '_') ADVANCE(92);
944
1685
  END_STATE();
945
1686
  case 5:
946
- if (lookahead == '>') ADVANCE(71);
1687
+ if (lookahead == '#') ADVANCE(125);
1688
+ if (lookahead == '\t' ||
1689
+ lookahead == '\n' ||
1690
+ lookahead == '\r' ||
1691
+ lookahead == ' ') SKIP(5)
1692
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1693
+ lookahead == '_' ||
1694
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(79);
947
1695
  END_STATE();
948
1696
  case 6:
1697
+ if (lookahead == '#') ADVANCE(125);
1698
+ if (lookahead == '\t' ||
1699
+ lookahead == '\n' ||
1700
+ lookahead == '\r' ||
1701
+ lookahead == ' ') SKIP(6)
1702
+ if (('0' <= lookahead && lookahead <= '9') ||
1703
+ ('A' <= lookahead && lookahead <= 'F') ||
1704
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(58);
1705
+ END_STATE();
1706
+ case 7:
1707
+ if (lookahead == '#') ADVANCE(110);
949
- if (lookahead == '\\') ADVANCE(46);
1708
+ if (lookahead == '\\') ADVANCE(48);
950
1709
  if (lookahead == '\t' ||
951
1710
  lookahead == ' ') ADVANCE(109);
952
1711
  if (lookahead == '\n' ||
953
- lookahead == '\r') SKIP(6)
1712
+ lookahead == '\r') SKIP(7)
954
1713
  if (lookahead != 0 &&
955
1714
  lookahead != '\'') ADVANCE(108);
956
1715
  END_STATE();
957
- case 7:
958
- if (lookahead == '_') ADVANCE(7);
959
- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98);
960
- END_STATE();
961
1716
  case 8:
962
- if (lookahead == '_') ADVANCE(8);
1717
+ if (lookahead == '>') ADVANCE(71);
963
- if (lookahead == '0' ||
964
- lookahead == '1') ADVANCE(103);
965
1718
  END_STATE();
966
1719
  case 9:
967
1720
  if (lookahead == '_') ADVANCE(9);
968
- if (('0' <= lookahead && lookahead <= '9') ||
969
- ('A' <= lookahead && lookahead <= 'F') ||
970
- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
1721
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98);
971
1722
  END_STATE();
972
1723
  case 10:
973
1724
  if (lookahead == '_') ADVANCE(10);
1725
+ if (lookahead == '0' ||
974
- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96);
1726
+ lookahead == '1') ADVANCE(103);
975
1727
  END_STATE();
976
1728
  case 11:
977
1729
  if (lookahead == '_') ADVANCE(11);
1730
+ if (('0' <= lookahead && lookahead <= '9') ||
1731
+ ('A' <= lookahead && lookahead <= 'F') ||
978
- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(106);
1732
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
979
1733
  END_STATE();
980
1734
  case 12:
981
- if (lookahead == 'a') ADVANCE(19);
1735
+ if (lookahead == '_') ADVANCE(12);
1736
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96);
982
1737
  END_STATE();
983
1738
  case 13:
984
- if (lookahead == 'a') ADVANCE(43);
1739
+ if (lookahead == '_') ADVANCE(13);
1740
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(106);
985
1741
  END_STATE();
986
1742
  case 14:
987
- if (lookahead == 'a') ADVANCE(24);
1743
+ if (lookahead == 'a') ADVANCE(21);
988
- if (lookahead == 'u') ADVANCE(20);
989
1744
  END_STATE();
990
1745
  case 15:
991
- if (lookahead == 'a') ADVANCE(23);
1746
+ if (lookahead == 'a') ADVANCE(45);
992
1747
  END_STATE();
993
1748
  case 16:
994
- if (lookahead == 'a') ADVANCE(29);
1749
+ if (lookahead == 'a') ADVANCE(26);
995
- if (lookahead == 'u') ADVANCE(34);
1750
+ if (lookahead == 'u') ADVANCE(22);
996
- if (('0' <= lookahead && lookahead <= '9') ||
997
- ('A' <= lookahead && lookahead <= 'F') ||
998
- ('b' <= lookahead && lookahead <= 'f')) ADVANCE(57);
999
1751
  END_STATE();
1000
1752
  case 17:
1001
- if (lookahead == 'a') ADVANCE(26);
1753
+ if (lookahead == 'a') ADVANCE(25);
1002
1754
  END_STATE();
1003
1755
  case 18:
1004
- if (lookahead == 'a') ADVANCE(28);
1756
+ if (lookahead == 'a') ADVANCE(31);
1757
+ if (lookahead == 'u') ADVANCE(36);
1758
+ if (('0' <= lookahead && lookahead <= '9') ||
1759
+ ('A' <= lookahead && lookahead <= 'F') ||
1760
+ ('b' <= lookahead && lookahead <= 'f')) ADVANCE(57);
1005
1761
  END_STATE();
1006
1762
  case 19:
1007
- if (lookahead == 'c') ADVANCE(25);
1763
+ if (lookahead == 'a') ADVANCE(28);
1008
1764
  END_STATE();
1009
1765
  case 20:
1010
- if (lookahead == 'e') ADVANCE(93);
1766
+ if (lookahead == 'a') ADVANCE(30);
1011
1767
  END_STATE();
1012
1768
  case 21:
1013
- if (lookahead == 'e') ADVANCE(94);
1769
+ if (lookahead == 'c') ADVANCE(27);
1014
1770
  END_STATE();
1015
1771
  case 22:
1016
- if (lookahead == 'e') ADVANCE(60);
1772
+ if (lookahead == 'e') ADVANCE(93);
1017
1773
  END_STATE();
1018
1774
  case 23:
1019
- if (lookahead == 'g') ADVANCE(22);
1775
+ if (lookahead == 'e') ADVANCE(94);
1020
1776
  END_STATE();
1021
1777
  case 24:
1022
- if (lookahead == 'i') ADVANCE(44);
1778
+ if (lookahead == 'e') ADVANCE(60);
1023
1779
  END_STATE();
1024
1780
  case 25:
1025
- if (lookahead == 'k') ADVANCE(15);
1781
+ if (lookahead == 'g') ADVANCE(24);
1026
1782
  END_STATE();
1027
1783
  case 26:
1028
- if (lookahead == 'l') ADVANCE(77);
1784
+ if (lookahead == 'i') ADVANCE(46);
1029
1785
  END_STATE();
1030
1786
  case 27:
1031
- if (lookahead == 'l') ADVANCE(121);
1787
+ if (lookahead == 'k') ADVANCE(17);
1032
1788
  END_STATE();
1033
1789
  case 28:
1034
- if (lookahead == 'l') ADVANCE(42);
1790
+ if (lookahead == 'l') ADVANCE(77);
1035
1791
  END_STATE();
1036
1792
  case 29:
1793
+ if (lookahead == 'l') ADVANCE(124);
1794
+ END_STATE();
1795
+ case 30:
1037
- if (lookahead == 'l') ADVANCE(42);
1796
+ if (lookahead == 'l') ADVANCE(44);
1797
+ END_STATE();
1798
+ case 31:
1799
+ if (lookahead == 'l') ADVANCE(44);
1038
1800
  if (('0' <= lookahead && lookahead <= '9') ||
1039
1801
  ('A' <= lookahead && lookahead <= 'F') ||
1040
1802
  ('a' <= lookahead && lookahead <= 'f')) ADVANCE(56);
1041
1803
  END_STATE();
1042
- case 30:
1804
+ case 32:
1043
- if (lookahead == 'l') ADVANCE(13);
1805
+ if (lookahead == 'l') ADVANCE(15);
1044
1806
  if (('0' <= lookahead && lookahead <= '9') ||
1045
1807
  ('A' <= lookahead && lookahead <= 'F') ||
1046
1808
  ('a' <= lookahead && lookahead <= 'f')) ADVANCE(57);
1047
1809
  END_STATE();
1048
- case 31:
1049
- if (lookahead == 'l') ADVANCE(27);
1050
- END_STATE();
1051
- case 32:
1052
- if (lookahead == 'm') ADVANCE(37);
1053
- END_STATE();
1054
1810
  case 33:
1055
- if (lookahead == 'm') ADVANCE(67);
1811
+ if (lookahead == 'l') ADVANCE(29);
1056
1812
  END_STATE();
1057
1813
  case 34:
1058
- if (lookahead == 'n') ADVANCE(70);
1814
+ if (lookahead == 'm') ADVANCE(39);
1059
1815
  END_STATE();
1060
1816
  case 35:
1061
- if (lookahead == 'n') ADVANCE(49);
1817
+ if (lookahead == 'm') ADVANCE(67);
1062
- if (('0' <= lookahead && lookahead <= '9') ||
1063
- ('A' <= lookahead && lookahead <= 'F') ||
1064
- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(57);
1065
1818
  END_STATE();
1066
1819
  case 36:
1067
- if (lookahead == 'o') ADVANCE(39);
1820
+ if (lookahead == 'n') ADVANCE(70);
1068
1821
  END_STATE();
1069
1822
  case 37:
1070
- if (lookahead == 'p') ADVANCE(36);
1823
+ if (lookahead == 'n') ADVANCE(51);
1824
+ if (('0' <= lookahead && lookahead <= '9') ||
1825
+ ('A' <= lookahead && lookahead <= 'F') ||
1826
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(57);
1071
1827
  END_STATE();
1072
1828
  case 38:
1073
- if (lookahead == 'r') ADVANCE(14);
1829
+ if (lookahead == 'o') ADVANCE(41);
1074
1830
  END_STATE();
1075
1831
  case 39:
1076
- if (lookahead == 'r') ADVANCE(45);
1832
+ if (lookahead == 'p') ADVANCE(38);
1077
1833
  END_STATE();
1078
1834
  case 40:
1079
- if (lookahead == 'r') ADVANCE(48);
1835
+ if (lookahead == 'r') ADVANCE(16);
1080
1836
  END_STATE();
1081
1837
  case 41:
1082
- if (lookahead == 's') ADVANCE(62);
1838
+ if (lookahead == 'r') ADVANCE(47);
1083
1839
  END_STATE();
1084
1840
  case 42:
1085
- if (lookahead == 's') ADVANCE(21);
1841
+ if (lookahead == 'r') ADVANCE(50);
1086
1842
  END_STATE();
1087
1843
  case 43:
1088
- if (lookahead == 's') ADVANCE(41);
1844
+ if (lookahead == 's') ADVANCE(62);
1089
1845
  END_STATE();
1090
1846
  case 44:
1091
- if (lookahead == 't') ADVANCE(66);
1847
+ if (lookahead == 's') ADVANCE(23);
1092
1848
  END_STATE();
1093
1849
  case 45:
1094
- if (lookahead == 't') ADVANCE(61);
1850
+ if (lookahead == 's') ADVANCE(43);
1095
1851
  END_STATE();
1096
1852
  case 46:
1853
+ if (lookahead == 't') ADVANCE(66);
1854
+ END_STATE();
1855
+ case 47:
1856
+ if (lookahead == 't') ADVANCE(61);
1857
+ END_STATE();
1858
+ case 48:
1097
- if (lookahead == 'u') ADVANCE(110);
1859
+ if (lookahead == 'u') ADVANCE(111);
1098
1860
  if (lookahead == '"' ||
1099
1861
  lookahead == '$' ||
1100
1862
  lookahead == '\'' ||
@@ -1102,46 +1864,28 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1102
1864
  lookahead == 'b' ||
1103
1865
  lookahead == 'n' ||
1104
1866
  lookahead == 'r' ||
1105
- lookahead == 't') ADVANCE(112);
1867
+ lookahead == 't') ADVANCE(113);
1106
- END_STATE();
1107
- case 47:
1108
- if (lookahead == 'u') ADVANCE(31);
1109
- END_STATE();
1110
- case 48:
1111
- if (lookahead == 'u') ADVANCE(20);
1112
1868
  END_STATE();
1113
1869
  case 49:
1114
1870
  if (lookahead == 'u') ADVANCE(33);
1115
1871
  END_STATE();
1116
1872
  case 50:
1873
+ if (lookahead == 'u') ADVANCE(22);
1874
+ END_STATE();
1875
+ case 51:
1876
+ if (lookahead == 'u') ADVANCE(35);
1877
+ END_STATE();
1878
+ case 52:
1117
1879
  if (lookahead == '0' ||
1118
1880
  lookahead == '1') ADVANCE(104);
1119
1881
  if (('2' <= lookahead && lookahead <= '9') ||
1120
1882
  ('A' <= lookahead && lookahead <= 'F') ||
1121
1883
  ('a' <= lookahead && lookahead <= 'f')) ADVANCE(56);
1122
1884
  END_STATE();
1123
- case 51:
1885
+ case 53:
1124
1886
  if (lookahead == '0' ||
1125
1887
  lookahead == '1') ADVANCE(103);
1126
1888
  END_STATE();
1127
- case 52:
1128
- if (lookahead == '\t' ||
1129
- lookahead == '\n' ||
1130
- lookahead == '\r' ||
1131
- lookahead == ' ') SKIP(52)
1132
- if (('A' <= lookahead && lookahead <= 'Z') ||
1133
- lookahead == '_' ||
1134
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(79);
1135
- END_STATE();
1136
- case 53:
1137
- if (lookahead == '\t' ||
1138
- lookahead == '\n' ||
1139
- lookahead == '\r' ||
1140
- lookahead == ' ') SKIP(53)
1141
- if (('0' <= lookahead && lookahead <= '9') ||
1142
- ('A' <= lookahead && lookahead <= 'F') ||
1143
- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(58);
1144
- END_STATE();
1145
1889
  case 54:
1146
1890
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(106);
1147
1891
  END_STATE();
@@ -1153,7 +1897,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1153
1897
  case 56:
1154
1898
  if (('0' <= lookahead && lookahead <= '9') ||
1155
1899
  ('A' <= lookahead && lookahead <= 'F') ||
1156
- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(111);
1900
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(112);
1157
1901
  END_STATE();
1158
1902
  case 57:
1159
1903
  if (('0' <= lookahead && lookahead <= '9') ||
@@ -1208,16 +1952,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1208
1952
  ACCEPT_TOKEN(anon_sym_AT);
1209
1953
  END_STATE();
1210
1954
  case 73:
1211
- ACCEPT_TOKEN(anon_sym_LT);
1955
+ ACCEPT_TOKEN(anon_sym_COLON);
1212
1956
  END_STATE();
1213
1957
  case 74:
1214
- ACCEPT_TOKEN(anon_sym_GT);
1958
+ ACCEPT_TOKEN(anon_sym_LT);
1215
1959
  END_STATE();
1216
1960
  case 75:
1217
- ACCEPT_TOKEN(anon_sym_QMARK);
1961
+ ACCEPT_TOKEN(anon_sym_GT);
1218
1962
  END_STATE();
1219
1963
  case 76:
1220
- ACCEPT_TOKEN(anon_sym_COLON);
1964
+ ACCEPT_TOKEN(anon_sym_QMARK);
1221
1965
  END_STATE();
1222
1966
  case 77:
1223
1967
  ACCEPT_TOKEN(anon_sym_val);
@@ -1247,7 +1991,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1247
1991
  ACCEPT_TOKEN(sym_definition_name);
1248
1992
  if (('A' <= lookahead && lookahead <= 'F')) ADVANCE(86);
1249
1993
  if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(85);
1250
- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111);
1994
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112);
1251
1995
  if (('G' <= lookahead && lookahead <= 'Z')) ADVANCE(86);
1252
1996
  if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(85);
1253
1997
  END_STATE();
@@ -1264,7 +2008,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1264
2008
  ACCEPT_TOKEN(sym_definition_name);
1265
2009
  if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(85);
1266
2010
  if (('0' <= lookahead && lookahead <= '9') ||
1267
- ('A' <= lookahead && lookahead <= 'F')) ADVANCE(111);
2011
+ ('A' <= lookahead && lookahead <= 'F')) ADVANCE(112);
1268
2012
  if (('g' <= lookahead && lookahead <= 'z')) ADVANCE(85);
1269
2013
  END_STATE();
1270
2014
  case 85:
@@ -1294,7 +2038,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1294
2038
  END_STATE();
1295
2039
  case 90:
1296
2040
  ACCEPT_TOKEN(sym_enum_field_name);
1297
- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(111);
2041
+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(112);
1298
2042
  if (('0' <= lookahead && lookahead <= '9') ||
1299
2043
  ('A' <= lookahead && lookahead <= 'F')) ADVANCE(92);
1300
2044
  if (('G' <= lookahead && lookahead <= 'Z') ||
@@ -1323,9 +2067,9 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1323
2067
  case 95:
1324
2068
  ACCEPT_TOKEN(sym_integer_literal);
1325
2069
  if (lookahead == '.') ADVANCE(54);
1326
- if (lookahead == '_') ADVANCE(10);
2070
+ if (lookahead == '_') ADVANCE(12);
1327
2071
  if (lookahead == 'B' ||
1328
- lookahead == 'b') ADVANCE(51);
2072
+ lookahead == 'b') ADVANCE(53);
1329
2073
  if (lookahead == 'F' ||
1330
2074
  lookahead == 'f') ADVANCE(105);
1331
2075
  if (lookahead == 'X' ||
@@ -1335,16 +2079,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1335
2079
  case 96:
1336
2080
  ACCEPT_TOKEN(sym_integer_literal);
1337
2081
  if (lookahead == '.') ADVANCE(54);
1338
- if (lookahead == '_') ADVANCE(10);
2082
+ if (lookahead == '_') ADVANCE(12);
1339
2083
  if (lookahead == 'F' ||
1340
2084
  lookahead == 'f') ADVANCE(105);
1341
2085
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96);
1342
2086
  END_STATE();
1343
2087
  case 97:
1344
2088
  ACCEPT_TOKEN(sym_integer_literal);
1345
- if (lookahead == '_') ADVANCE(7);
2089
+ if (lookahead == '_') ADVANCE(9);
1346
2090
  if (lookahead == 'B' ||
1347
- lookahead == 'b') ADVANCE(50);
2091
+ lookahead == 'b') ADVANCE(52);
1348
2092
  if (lookahead == 'X' ||
1349
2093
  lookahead == 'x') ADVANCE(55);
1350
2094
  if (('A' <= lookahead && lookahead <= 'F') ||
@@ -1353,54 +2097,54 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1353
2097
  END_STATE();
1354
2098
  case 98:
1355
2099
  ACCEPT_TOKEN(sym_integer_literal);
1356
- if (lookahead == '_') ADVANCE(7);
2100
+ if (lookahead == '_') ADVANCE(9);
1357
2101
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98);
1358
2102
  END_STATE();
1359
2103
  case 99:
1360
2104
  ACCEPT_TOKEN(sym_integer_literal);
1361
- if (lookahead == '_') ADVANCE(7);
2105
+ if (lookahead == '_') ADVANCE(9);
1362
2106
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98);
1363
2107
  if (('A' <= lookahead && lookahead <= 'F') ||
1364
- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(111);
2108
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(112);
1365
2109
  END_STATE();
1366
2110
  case 100:
1367
2111
  ACCEPT_TOKEN(sym_integer_literal);
1368
- if (lookahead == '_') ADVANCE(7);
2112
+ if (lookahead == '_') ADVANCE(9);
1369
2113
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(101);
1370
2114
  if (('A' <= lookahead && lookahead <= 'F') ||
1371
2115
  ('a' <= lookahead && lookahead <= 'f')) ADVANCE(57);
1372
2116
  END_STATE();
1373
2117
  case 101:
1374
2118
  ACCEPT_TOKEN(sym_integer_literal);
1375
- if (lookahead == '_') ADVANCE(7);
2119
+ if (lookahead == '_') ADVANCE(9);
1376
2120
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(99);
1377
2121
  if (('A' <= lookahead && lookahead <= 'F') ||
1378
2122
  ('a' <= lookahead && lookahead <= 'f')) ADVANCE(56);
1379
2123
  END_STATE();
1380
2124
  case 102:
1381
2125
  ACCEPT_TOKEN(sym_hex_literal);
1382
- if (lookahead == '_') ADVANCE(9);
2126
+ if (lookahead == '_') ADVANCE(11);
1383
2127
  if (('0' <= lookahead && lookahead <= '9') ||
1384
2128
  ('A' <= lookahead && lookahead <= 'F') ||
1385
2129
  ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
1386
2130
  END_STATE();
1387
2131
  case 103:
1388
2132
  ACCEPT_TOKEN(sym_bin_literal);
1389
- if (lookahead == '_') ADVANCE(8);
2133
+ if (lookahead == '_') ADVANCE(10);
1390
2134
  END_STATE();
1391
2135
  case 104:
1392
2136
  ACCEPT_TOKEN(sym_bin_literal);
1393
- if (lookahead == '_') ADVANCE(8);
2137
+ if (lookahead == '_') ADVANCE(10);
1394
2138
  if (('0' <= lookahead && lookahead <= '9') ||
1395
2139
  ('A' <= lookahead && lookahead <= 'F') ||
1396
- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(111);
2140
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(112);
1397
2141
  END_STATE();
1398
2142
  case 105:
1399
2143
  ACCEPT_TOKEN(sym_float_literal);
1400
2144
  END_STATE();
1401
2145
  case 106:
1402
2146
  ACCEPT_TOKEN(sym_float_literal);
1403
- if (lookahead == '_') ADVANCE(11);
2147
+ if (lookahead == '_') ADVANCE(13);
1404
2148
  if (lookahead == 'F' ||
1405
2149
  lookahead == 'f') ADVANCE(105);
1406
2150
  if (('0' <= lookahead && lookahead <= '9')) ADVANCE(106);
@@ -1413,6 +2157,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1413
2157
  END_STATE();
1414
2158
  case 109:
1415
2159
  ACCEPT_TOKEN(aux_sym_character_literal_token1);
2160
+ if (lookahead == '#') ADVANCE(110);
1416
2161
  if (lookahead == '\t' ||
1417
2162
  lookahead == ' ') ADVANCE(109);
1418
2163
  if (lookahead != 0 &&
@@ -1422,67 +2167,92 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1422
2167
  lookahead != '\\') ADVANCE(108);
1423
2168
  END_STATE();
1424
2169
  case 110:
1425
- ACCEPT_TOKEN(anon_sym_BSLASHu);
2170
+ ACCEPT_TOKEN(aux_sym_character_literal_token1);
2171
+ if (lookahead != 0 &&
2172
+ lookahead != '\n') ADVANCE(125);
1426
2173
  END_STATE();
1427
2174
  case 111:
1428
- ACCEPT_TOKEN(aux_sym__uni_character_literal_token1);
2175
+ ACCEPT_TOKEN(anon_sym_BSLASHu);
1429
2176
  END_STATE();
1430
2177
  case 112:
1431
- ACCEPT_TOKEN(sym__escaped_identifier);
2178
+ ACCEPT_TOKEN(aux_sym__uni_character_literal_token1);
1432
2179
  END_STATE();
1433
2180
  case 113:
1434
- ACCEPT_TOKEN(anon_sym_DQUOTE);
2181
+ ACCEPT_TOKEN(sym__escaped_identifier);
1435
2182
  END_STATE();
1436
2183
  case 114:
1437
- ACCEPT_TOKEN(anon_sym_BQUOTE);
2184
+ ACCEPT_TOKEN(anon_sym_DQUOTE);
1438
2185
  END_STATE();
1439
2186
  case 115:
2187
+ ACCEPT_TOKEN(anon_sym_BQUOTE);
2188
+ END_STATE();
2189
+ case 116:
1440
2190
  ACCEPT_TOKEN(anon_sym_BQUOTE);
1441
2191
  if (lookahead != 0 &&
1442
2192
  lookahead != '"' &&
1443
- lookahead != '$') ADVANCE(119);
2193
+ lookahead != '$') ADVANCE(122);
1444
2194
  END_STATE();
1445
- case 116:
2195
+ case 117:
2196
+ ACCEPT_TOKEN(sym__line_str_text);
2197
+ if (lookahead == '\n') ADVANCE(119);
2198
+ if (lookahead == '"' ||
2199
+ lookahead == '$' ||
2200
+ lookahead == '\\') ADVANCE(125);
2201
+ if (lookahead != 0) ADVANCE(117);
2202
+ END_STATE();
2203
+ case 118:
1446
2204
  ACCEPT_TOKEN(sym__line_str_text);
2205
+ if (lookahead == '#') ADVANCE(117);
1447
2206
  if (lookahead == '\t' ||
1448
2207
  lookahead == '\n' ||
1449
2208
  lookahead == '\r' ||
1450
- lookahead == ' ') ADVANCE(116);
2209
+ lookahead == ' ') ADVANCE(118);
1451
2210
  if (lookahead != 0 &&
1452
- lookahead != '"' &&
2211
+ (lookahead < '"' || '$' < lookahead) &&
1453
- lookahead != '$' &&
1454
- lookahead != '\\') ADVANCE(117);
2212
+ lookahead != '\\') ADVANCE(119);
1455
2213
  END_STATE();
1456
- case 117:
2214
+ case 119:
1457
2215
  ACCEPT_TOKEN(sym__line_str_text);
1458
2216
  if (lookahead != 0 &&
1459
2217
  lookahead != '"' &&
1460
2218
  lookahead != '$' &&
1461
- lookahead != '\\') ADVANCE(117);
2219
+ lookahead != '\\') ADVANCE(119);
1462
2220
  END_STATE();
1463
- case 118:
2221
+ case 120:
1464
2222
  ACCEPT_TOKEN(sym__multi_line_str_text);
2223
+ if (lookahead == '\n') ADVANCE(122);
2224
+ if (lookahead == '"' ||
2225
+ lookahead == '$') ADVANCE(125);
2226
+ if (lookahead != 0) ADVANCE(120);
2227
+ END_STATE();
2228
+ case 121:
2229
+ ACCEPT_TOKEN(sym__multi_line_str_text);
2230
+ if (lookahead == '#') ADVANCE(120);
1465
- if (lookahead == '`') ADVANCE(115);
2231
+ if (lookahead == '`') ADVANCE(116);
1466
2232
  if (lookahead == '\t' ||
1467
2233
  lookahead == '\n' ||
1468
2234
  lookahead == '\r' ||
1469
- lookahead == ' ') ADVANCE(118);
2235
+ lookahead == ' ') ADVANCE(121);
1470
2236
  if (lookahead != 0 &&
1471
- lookahead != '"' &&
1472
- lookahead != '$') ADVANCE(119);
2237
+ (lookahead < '"' || '$' < lookahead)) ADVANCE(122);
1473
2238
  END_STATE();
1474
- case 119:
2239
+ case 122:
1475
2240
  ACCEPT_TOKEN(sym__multi_line_str_text);
1476
2241
  if (lookahead != 0 &&
1477
2242
  lookahead != '"' &&
1478
- lookahead != '$') ADVANCE(119);
2243
+ lookahead != '$') ADVANCE(122);
1479
2244
  END_STATE();
1480
- case 120:
2245
+ case 123:
1481
2246
  ACCEPT_TOKEN(anon_sym_DOLLAR);
1482
2247
  END_STATE();
1483
- case 121:
2248
+ case 124:
1484
2249
  ACCEPT_TOKEN(anon_sym_null);
1485
2250
  END_STATE();
2251
+ case 125:
2252
+ ACCEPT_TOKEN(sym_comment);
2253
+ if (lookahead != 0 &&
2254
+ lookahead != '\n') ADVANCE(125);
2255
+ END_STATE();
1486
2256
  default:
1487
2257
  return false;
1488
2258
  }
@@ -1491,28 +2261,28 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1491
2261
  static const TSLexMode ts_lex_modes[STATE_COUNT] = {
1492
2262
  [0] = {.lex_state = 0},
1493
2263
  [1] = {.lex_state = 0},
1494
- [2] = {.lex_state = 0},
2264
+ [2] = {.lex_state = 1},
1495
- [3] = {.lex_state = 3},
2265
+ [3] = {.lex_state = 0},
1496
- [4] = {.lex_state = 3},
2266
+ [4] = {.lex_state = 1},
1497
- [5] = {.lex_state = 0},
2267
+ [5] = {.lex_state = 1},
1498
2268
  [6] = {.lex_state = 0},
1499
2269
  [7] = {.lex_state = 0},
1500
2270
  [8] = {.lex_state = 0},
1501
2271
  [9] = {.lex_state = 0},
1502
- [10] = {.lex_state = 1},
2272
+ [10] = {.lex_state = 0},
1503
- [11] = {.lex_state = 1},
2273
+ [11] = {.lex_state = 2},
1504
- [12] = {.lex_state = 1},
2274
+ [12] = {.lex_state = 2},
1505
- [13] = {.lex_state = 0},
2275
+ [13] = {.lex_state = 2},
1506
2276
  [14] = {.lex_state = 0},
1507
2277
  [15] = {.lex_state = 0},
1508
2278
  [16] = {.lex_state = 0},
1509
2279
  [17] = {.lex_state = 0},
1510
- [18] = {.lex_state = 2},
2280
+ [18] = {.lex_state = 0},
1511
- [19] = {.lex_state = 2},
2281
+ [19] = {.lex_state = 0},
1512
2282
  [20] = {.lex_state = 0},
1513
- [21] = {.lex_state = 0},
2283
+ [21] = {.lex_state = 3},
1514
- [22] = {.lex_state = 2},
2284
+ [22] = {.lex_state = 3},
1515
- [23] = {.lex_state = 0},
2285
+ [23] = {.lex_state = 3},
1516
2286
  [24] = {.lex_state = 0},
1517
2287
  [25] = {.lex_state = 0},
1518
2288
  [26] = {.lex_state = 0},
@@ -1538,28 +2308,28 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
1538
2308
  [46] = {.lex_state = 0},
1539
2309
  [47] = {.lex_state = 0},
1540
2310
  [48] = {.lex_state = 0},
1541
- [49] = {.lex_state = 1},
2311
+ [49] = {.lex_state = 0},
1542
2312
  [50] = {.lex_state = 0},
1543
- [51] = {.lex_state = 1},
2313
+ [51] = {.lex_state = 0},
1544
- [52] = {.lex_state = 1},
2314
+ [52] = {.lex_state = 0},
1545
- [53] = {.lex_state = 6},
2315
+ [53] = {.lex_state = 0},
1546
2316
  [54] = {.lex_state = 0},
1547
2317
  [55] = {.lex_state = 0},
1548
- [56] = {.lex_state = 1},
2318
+ [56] = {.lex_state = 0},
1549
- [57] = {.lex_state = 2},
2319
+ [57] = {.lex_state = 0},
1550
- [58] = {.lex_state = 3},
2320
+ [58] = {.lex_state = 0},
1551
2321
  [59] = {.lex_state = 0},
1552
- [60] = {.lex_state = 3},
2322
+ [60] = {.lex_state = 0},
1553
2323
  [61] = {.lex_state = 0},
1554
- [62] = {.lex_state = 3},
2324
+ [62] = {.lex_state = 0},
1555
2325
  [63] = {.lex_state = 0},
1556
2326
  [64] = {.lex_state = 0},
1557
- [65] = {.lex_state = 2},
2327
+ [65] = {.lex_state = 0},
1558
2328
  [66] = {.lex_state = 0},
1559
2329
  [67] = {.lex_state = 0},
1560
2330
  [68] = {.lex_state = 0},
1561
2331
  [69] = {.lex_state = 0},
1562
- [70] = {.lex_state = 52},
2332
+ [70] = {.lex_state = 0},
1563
2333
  [71] = {.lex_state = 0},
1564
2334
  [72] = {.lex_state = 0},
1565
2335
  [73] = {.lex_state = 0},
@@ -1567,7 +2337,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
1567
2337
  [75] = {.lex_state = 0},
1568
2338
  [76] = {.lex_state = 0},
1569
2339
  [77] = {.lex_state = 0},
1570
- [78] = {.lex_state = 3},
2340
+ [78] = {.lex_state = 0},
1571
2341
  [79] = {.lex_state = 0},
1572
2342
  [80] = {.lex_state = 0},
1573
2343
  [81] = {.lex_state = 0},
@@ -1575,123 +2345,229 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
1575
2345
  [83] = {.lex_state = 0},
1576
2346
  [84] = {.lex_state = 0},
1577
2347
  [85] = {.lex_state = 0},
1578
- [86] = {.lex_state = 0},
2348
+ [86] = {.lex_state = 2},
1579
- [87] = {.lex_state = 0},
2349
+ [87] = {.lex_state = 2},
1580
- [88] = {.lex_state = 0},
2350
+ [88] = {.lex_state = 2},
1581
- [89] = {.lex_state = 0},
2351
+ [89] = {.lex_state = 2},
1582
2352
  [90] = {.lex_state = 0},
1583
2353
  [91] = {.lex_state = 0},
1584
- [92] = {.lex_state = 4},
2354
+ [92] = {.lex_state = 0},
1585
2355
  [93] = {.lex_state = 0},
1586
2356
  [94] = {.lex_state = 0},
1587
2357
  [95] = {.lex_state = 0},
1588
- [96] = {.lex_state = 4},
2358
+ [96] = {.lex_state = 0},
1589
- [97] = {.lex_state = 0},
2359
+ [97] = {.lex_state = 7},
1590
2360
  [98] = {.lex_state = 0},
1591
2361
  [99] = {.lex_state = 0},
1592
- [100] = {.lex_state = 0},
2362
+ [100] = {.lex_state = 1},
1593
- [101] = {.lex_state = 0},
2363
+ [101] = {.lex_state = 1},
1594
- [102] = {.lex_state = 3},
2364
+ [102] = {.lex_state = 0},
1595
2365
  [103] = {.lex_state = 0},
1596
- [104] = {.lex_state = 0},
2366
+ [104] = {.lex_state = 3},
1597
- [105] = {.lex_state = 52},
2367
+ [105] = {.lex_state = 1},
1598
2368
  [106] = {.lex_state = 0},
1599
- [107] = {.lex_state = 0},
2369
+ [107] = {.lex_state = 1},
1600
- [108] = {.lex_state = 0},
2370
+ [108] = {.lex_state = 1},
1601
2371
  [109] = {.lex_state = 0},
1602
2372
  [110] = {.lex_state = 0},
1603
2373
  [111] = {.lex_state = 0},
1604
2374
  [112] = {.lex_state = 0},
1605
2375
  [113] = {.lex_state = 0},
1606
2376
  [114] = {.lex_state = 0},
1607
- [115] = {.lex_state = 0},
2377
+ [115] = {.lex_state = 1},
1608
- [116] = {.lex_state = 3},
2378
+ [116] = {.lex_state = 0},
1609
2379
  [117] = {.lex_state = 0},
1610
- [118] = {.lex_state = 0},
2380
+ [118] = {.lex_state = 1},
1611
2381
  [119] = {.lex_state = 0},
1612
2382
  [120] = {.lex_state = 0},
1613
2383
  [121] = {.lex_state = 0},
1614
- [122] = {.lex_state = 0},
2384
+ [122] = {.lex_state = 1},
1615
- [123] = {.lex_state = 52},
2385
+ [123] = {.lex_state = 1},
1616
- [124] = {.lex_state = 3},
2386
+ [124] = {.lex_state = 1},
1617
- [125] = {.lex_state = 52},
2387
+ [125] = {.lex_state = 0},
1618
- [126] = {.lex_state = 52},
2388
+ [126] = {.lex_state = 0},
1619
2389
  [127] = {.lex_state = 0},
1620
- [128] = {.lex_state = 0},
2390
+ [128] = {.lex_state = 1},
1621
- [129] = {.lex_state = 0},
2391
+ [129] = {.lex_state = 1},
1622
- [130] = {.lex_state = 3},
2392
+ [130] = {.lex_state = 0},
1623
- [131] = {.lex_state = 4},
2393
+ [131] = {.lex_state = 0},
1624
- [132] = {.lex_state = 52},
2394
+ [132] = {.lex_state = 0},
1625
- [133] = {.lex_state = 4},
2395
+ [133] = {.lex_state = 0},
1626
2396
  [134] = {.lex_state = 0},
1627
- [135] = {.lex_state = 4},
2397
+ [135] = {.lex_state = 0},
1628
- [136] = {.lex_state = 0},
2398
+ [136] = {.lex_state = 1},
1629
- [137] = {.lex_state = 0},
2399
+ [137] = {.lex_state = 1},
1630
- [138] = {.lex_state = 52},
2400
+ [138] = {.lex_state = 1},
1631
2401
  [139] = {.lex_state = 0},
1632
2402
  [140] = {.lex_state = 0},
1633
2403
  [141] = {.lex_state = 0},
1634
- [142] = {.lex_state = 0},
2404
+ [142] = {.lex_state = 3},
1635
- [143] = {.lex_state = 3},
2405
+ [143] = {.lex_state = 0},
1636
2406
  [144] = {.lex_state = 0},
1637
2407
  [145] = {.lex_state = 0},
1638
2408
  [146] = {.lex_state = 0},
1639
- [147] = {.lex_state = 0},
2409
+ [147] = {.lex_state = 4},
1640
- [148] = {.lex_state = 0},
2410
+ [148] = {.lex_state = 5},
1641
2411
  [149] = {.lex_state = 0},
1642
2412
  [150] = {.lex_state = 0},
1643
- [151] = {.lex_state = 52},
2413
+ [151] = {.lex_state = 0},
1644
- [152] = {.lex_state = 52},
2414
+ [152] = {.lex_state = 0},
1645
2415
  [153] = {.lex_state = 0},
1646
2416
  [154] = {.lex_state = 0},
1647
- [155] = {.lex_state = 4},
2417
+ [155] = {.lex_state = 0},
1648
2418
  [156] = {.lex_state = 0},
1649
- [157] = {.lex_state = 0},
2419
+ [157] = {.lex_state = 5},
1650
2420
  [158] = {.lex_state = 0},
1651
2421
  [159] = {.lex_state = 0},
1652
2422
  [160] = {.lex_state = 0},
1653
- [161] = {.lex_state = 0},
2423
+ [161] = {.lex_state = 4},
1654
2424
  [162] = {.lex_state = 0},
1655
2425
  [163] = {.lex_state = 0},
1656
2426
  [164] = {.lex_state = 0},
1657
2427
  [165] = {.lex_state = 0},
1658
2428
  [166] = {.lex_state = 0},
1659
2429
  [167] = {.lex_state = 0},
1660
- [168] = {.lex_state = 53},
2430
+ [168] = {.lex_state = 0},
1661
2431
  [169] = {.lex_state = 0},
1662
2432
  [170] = {.lex_state = 0},
1663
2433
  [171] = {.lex_state = 0},
1664
- [172] = {.lex_state = 52},
2434
+ [172] = {.lex_state = 0},
1665
2435
  [173] = {.lex_state = 0},
1666
- [174] = {.lex_state = 3},
2436
+ [174] = {.lex_state = 0},
1667
- [175] = {.lex_state = 4},
2437
+ [175] = {.lex_state = 0},
1668
2438
  [176] = {.lex_state = 0},
1669
2439
  [177] = {.lex_state = 0},
1670
2440
  [178] = {.lex_state = 0},
1671
- [179] = {.lex_state = 0},
2441
+ [179] = {.lex_state = 5},
1672
2442
  [180] = {.lex_state = 0},
1673
2443
  [181] = {.lex_state = 0},
1674
2444
  [182] = {.lex_state = 0},
1675
- [183] = {.lex_state = 0},
2445
+ [183] = {.lex_state = 4},
1676
2446
  [184] = {.lex_state = 0},
1677
2447
  [185] = {.lex_state = 0},
1678
2448
  [186] = {.lex_state = 0},
1679
2449
  [187] = {.lex_state = 0},
1680
2450
  [188] = {.lex_state = 0},
1681
2451
  [189] = {.lex_state = 0},
1682
- [190] = {.lex_state = 3},
2452
+ [190] = {.lex_state = 0},
1683
2453
  [191] = {.lex_state = 0},
1684
- [192] = {.lex_state = 0},
2454
+ [192] = {.lex_state = 4},
1685
2455
  [193] = {.lex_state = 0},
1686
2456
  [194] = {.lex_state = 0},
1687
2457
  [195] = {.lex_state = 0},
1688
- [196] = {.lex_state = 3},
2458
+ [196] = {.lex_state = 4},
1689
- [197] = {.lex_state = 3},
2459
+ [197] = {.lex_state = 0},
1690
- [198] = {.lex_state = 3},
2460
+ [198] = {.lex_state = 0},
1691
2461
  [199] = {.lex_state = 0},
1692
2462
  [200] = {.lex_state = 0},
1693
- [201] = {.lex_state = 53},
2463
+ [201] = {.lex_state = 0},
1694
2464
  [202] = {.lex_state = 0},
2465
+ [203] = {.lex_state = 0},
2466
+ [204] = {.lex_state = 0},
2467
+ [205] = {.lex_state = 0},
2468
+ [206] = {.lex_state = 0},
2469
+ [207] = {.lex_state = 0},
2470
+ [208] = {.lex_state = 0},
2471
+ [209] = {.lex_state = 0},
2472
+ [210] = {.lex_state = 0},
2473
+ [211] = {.lex_state = 0},
2474
+ [212] = {.lex_state = 0},
2475
+ [213] = {.lex_state = 0},
2476
+ [214] = {.lex_state = 0},
2477
+ [215] = {.lex_state = 0},
2478
+ [216] = {.lex_state = 0},
2479
+ [217] = {.lex_state = 0},
2480
+ [218] = {.lex_state = 1},
2481
+ [219] = {.lex_state = 0},
2482
+ [220] = {.lex_state = 5},
2483
+ [221] = {.lex_state = 4},
2484
+ [222] = {.lex_state = 5},
2485
+ [223] = {.lex_state = 0},
2486
+ [224] = {.lex_state = 4},
2487
+ [225] = {.lex_state = 0},
2488
+ [226] = {.lex_state = 0},
2489
+ [227] = {.lex_state = 5},
2490
+ [228] = {.lex_state = 0},
2491
+ [229] = {.lex_state = 0},
2492
+ [230] = {.lex_state = 0},
2493
+ [231] = {.lex_state = 0},
2494
+ [232] = {.lex_state = 0},
2495
+ [233] = {.lex_state = 5},
2496
+ [234] = {.lex_state = 0},
2497
+ [235] = {.lex_state = 0},
2498
+ [236] = {.lex_state = 5},
2499
+ [237] = {.lex_state = 5},
2500
+ [238] = {.lex_state = 0},
2501
+ [239] = {.lex_state = 0},
2502
+ [240] = {.lex_state = 0},
2503
+ [241] = {.lex_state = 0},
2504
+ [242] = {.lex_state = 4},
2505
+ [243] = {.lex_state = 5},
2506
+ [244] = {.lex_state = 0},
2507
+ [245] = {.lex_state = 0},
2508
+ [246] = {.lex_state = 0},
2509
+ [247] = {.lex_state = 0},
2510
+ [248] = {.lex_state = 0},
2511
+ [249] = {.lex_state = 0},
2512
+ [250] = {.lex_state = 0},
2513
+ [251] = {.lex_state = 0},
2514
+ [252] = {.lex_state = 1},
2515
+ [253] = {.lex_state = 0},
2516
+ [254] = {.lex_state = 0},
2517
+ [255] = {.lex_state = 1},
2518
+ [256] = {.lex_state = 0},
2519
+ [257] = {.lex_state = 4},
2520
+ [258] = {.lex_state = 0},
2521
+ [259] = {.lex_state = 0},
2522
+ [260] = {.lex_state = 0},
2523
+ [261] = {.lex_state = 0},
2524
+ [262] = {.lex_state = 5},
2525
+ [263] = {.lex_state = 0},
2526
+ [264] = {.lex_state = 0},
2527
+ [265] = {.lex_state = 0},
2528
+ [266] = {.lex_state = 0},
2529
+ [267] = {.lex_state = 0},
2530
+ [268] = {.lex_state = 0},
2531
+ [269] = {.lex_state = 0},
2532
+ [270] = {.lex_state = 0},
2533
+ [271] = {.lex_state = 0},
2534
+ [272] = {.lex_state = 0},
2535
+ [273] = {.lex_state = 4},
2536
+ [274] = {.lex_state = 0},
2537
+ [275] = {.lex_state = 0},
2538
+ [276] = {.lex_state = 0},
2539
+ [277] = {.lex_state = 0},
2540
+ [278] = {.lex_state = 0},
2541
+ [279] = {.lex_state = 0},
2542
+ [280] = {.lex_state = 0},
2543
+ [281] = {.lex_state = 0},
2544
+ [282] = {.lex_state = 0},
2545
+ [283] = {.lex_state = 0},
2546
+ [284] = {.lex_state = 0},
2547
+ [285] = {.lex_state = 0},
2548
+ [286] = {.lex_state = 1},
2549
+ [287] = {.lex_state = 1},
2550
+ [288] = {.lex_state = 0},
2551
+ [289] = {.lex_state = 5},
2552
+ [290] = {.lex_state = 0},
2553
+ [291] = {.lex_state = 1},
2554
+ [292] = {.lex_state = 0},
2555
+ [293] = {.lex_state = 0},
2556
+ [294] = {.lex_state = 0},
2557
+ [295] = {.lex_state = 0},
2558
+ [296] = {.lex_state = 0},
2559
+ [297] = {.lex_state = 0},
2560
+ [298] = {.lex_state = 0},
2561
+ [299] = {.lex_state = 6},
2562
+ [300] = {.lex_state = 0},
2563
+ [301] = {.lex_state = 0},
2564
+ [302] = {.lex_state = 1},
2565
+ [303] = {.lex_state = 1},
2566
+ [304] = {.lex_state = 1},
2567
+ [305] = {.lex_state = 0},
2568
+ [306] = {.lex_state = 0},
2569
+ [307] = {.lex_state = 6},
2570
+ [308] = {.lex_state = 0},
1695
2571
  };
1696
2572
 
1697
2573
  static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
@@ -1710,10 +2586,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1710
2586
  [anon_sym_fun] = ACTIONS(1),
1711
2587
  [anon_sym_EQ_GT] = ACTIONS(1),
1712
2588
  [anon_sym_AT] = ACTIONS(1),
2589
+ [anon_sym_COLON] = ACTIONS(1),
1713
2590
  [anon_sym_LT] = ACTIONS(1),
1714
2591
  [anon_sym_GT] = ACTIONS(1),
1715
2592
  [anon_sym_QMARK] = ACTIONS(1),
1716
- [anon_sym_COLON] = ACTIONS(1),
1717
2593
  [anon_sym_val] = ACTIONS(1),
1718
2594
  [anon_sym_DOT] = ACTIONS(1),
1719
2595
  [anon_sym_SLASH] = ACTIONS(1),
@@ -1732,61 +2608,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1732
2608
  [anon_sym_BQUOTE] = ACTIONS(1),
1733
2609
  [anon_sym_DOLLAR] = ACTIONS(1),
1734
2610
  [anon_sym_null] = ACTIONS(1),
2611
+ [sym_comment] = ACTIONS(3),
1735
2612
  },
1736
2613
  [1] = {
1737
- [sym_source_file] = STATE(200),
2614
+ [sym_source_file] = STATE(306),
1738
- [anon_sym_package] = ACTIONS(3),
2615
+ [anon_sym_package] = ACTIONS(5),
2616
+ [sym_comment] = ACTIONS(3),
1739
2617
  },
1740
2618
  };
1741
2619
 
1742
2620
  static const uint16_t ts_small_parse_table[] = {
1743
- [0] = 11,
2621
+ [0] = 9,
1744
- ACTIONS(5), 1,
2622
+ ACTIONS(3), 1,
1745
- ts_builtin_sym_end,
2623
+ sym_comment,
1746
2624
  ACTIONS(7), 1,
2625
+ anon_sym_RPAREN,
2626
+ ACTIONS(11), 1,
2627
+ sym_integer_literal,
2628
+ ACTIONS(15), 1,
2629
+ anon_sym_SQUOTE,
2630
+ ACTIONS(17), 1,
2631
+ anon_sym_DQUOTE,
2632
+ ACTIONS(19), 1,
2633
+ anon_sym_BQUOTE,
2634
+ ACTIONS(9), 2,
2635
+ anon_sym_true,
2636
+ anon_sym_false,
2637
+ ACTIONS(13), 4,
2638
+ sym_hex_literal,
2639
+ sym_bin_literal,
2640
+ sym_float_literal,
2641
+ anon_sym_null,
2642
+ STATE(186), 7,
2643
+ sym__primary_expression,
2644
+ sym_boolean_literal,
2645
+ sym_character_literal,
2646
+ sym__string_literal,
2647
+ sym_line_string_literal,
2648
+ sym_multi_line_string_literal,
2649
+ sym__literal_constant,
2650
+ [38] = 12,
2651
+ ACTIONS(3), 1,
2652
+ sym_comment,
2653
+ ACTIONS(21), 1,
2654
+ ts_builtin_sym_end,
2655
+ ACTIONS(23), 1,
1747
2656
  anon_sym_import,
1748
- ACTIONS(9), 1,
2657
+ ACTIONS(25), 1,
1749
2658
  anon_sym_class,
1750
- ACTIONS(11), 1,
2659
+ ACTIONS(27), 1,
1751
2660
  anon_sym_trait,
1752
- ACTIONS(13), 1,
2661
+ ACTIONS(29), 1,
1753
2662
  anon_sym_enum,
1754
- ACTIONS(15), 1,
2663
+ ACTIONS(31), 1,
1755
2664
  anon_sym_fun,
1756
- ACTIONS(17), 1,
2665
+ ACTIONS(33), 1,
1757
2666
  anon_sym_AT,
2667
+ STATE(6), 2,
2668
+ sym_import_statement,
2669
+ aux_sym_source_file_repeat1,
1758
2670
  STATE(8), 2,
1759
2671
  sym_definitions,
1760
2672
  aux_sym_source_file_repeat2,
1761
- STATE(16), 2,
2673
+ STATE(90), 2,
1762
- sym_import_statement,
1763
- aux_sym_source_file_repeat1,
1764
- STATE(61), 2,
1765
- sym_trait_name,
2674
+ sym_decorator_name,
1766
2675
  aux_sym_class_definition_repeat1,
1767
- STATE(38), 4,
2676
+ STATE(26), 4,
1768
2677
  sym_class_definition,
1769
2678
  sym_trait_definition,
1770
2679
  sym_enum_definition,
1771
2680
  sym_fun_definition,
1772
- [40] = 7,
2681
+ [81] = 8,
1773
- ACTIONS(21), 1,
2682
+ ACTIONS(3), 1,
1774
- sym_integer_literal,
2683
+ sym_comment,
1775
- ACTIONS(25), 1,
2684
+ ACTIONS(15), 1,
1776
2685
  anon_sym_SQUOTE,
1777
- ACTIONS(27), 1,
2686
+ ACTIONS(17), 1,
1778
2687
  anon_sym_DQUOTE,
1779
- ACTIONS(29), 1,
2688
+ ACTIONS(19), 1,
1780
2689
  anon_sym_BQUOTE,
2690
+ ACTIONS(35), 1,
2691
+ sym_integer_literal,
1781
- ACTIONS(19), 2,
2692
+ ACTIONS(9), 2,
1782
2693
  anon_sym_true,
1783
2694
  anon_sym_false,
1784
- ACTIONS(23), 4,
2695
+ ACTIONS(37), 4,
1785
2696
  sym_hex_literal,
1786
2697
  sym_bin_literal,
1787
2698
  sym_float_literal,
1788
2699
  anon_sym_null,
1789
- STATE(97), 7,
2700
+ STATE(245), 7,
1790
2701
  sym__primary_expression,
1791
2702
  sym_boolean_literal,
1792
2703
  sym_character_literal,
@@ -1794,24 +2705,26 @@ static const uint16_t ts_small_parse_table[] = {
1794
2705
  sym_line_string_literal,
1795
2706
  sym_multi_line_string_literal,
1796
2707
  sym__literal_constant,
1797
- [72] = 7,
2708
+ [116] = 8,
2709
+ ACTIONS(3), 1,
2710
+ sym_comment,
1798
- ACTIONS(25), 1,
2711
+ ACTIONS(15), 1,
1799
2712
  anon_sym_SQUOTE,
1800
- ACTIONS(27), 1,
2713
+ ACTIONS(17), 1,
1801
2714
  anon_sym_DQUOTE,
1802
- ACTIONS(29), 1,
2715
+ ACTIONS(19), 1,
1803
2716
  anon_sym_BQUOTE,
1804
- ACTIONS(31), 1,
2717
+ ACTIONS(39), 1,
1805
2718
  sym_integer_literal,
1806
- ACTIONS(19), 2,
2719
+ ACTIONS(9), 2,
1807
2720
  anon_sym_true,
1808
2721
  anon_sym_false,
1809
- ACTIONS(33), 4,
2722
+ ACTIONS(41), 4,
1810
2723
  sym_hex_literal,
1811
2724
  sym_bin_literal,
1812
2725
  sym_float_literal,
1813
2726
  anon_sym_null,
1814
- STATE(128), 7,
2727
+ STATE(191), 7,
1815
2728
  sym__primary_expression,
1816
2729
  sym_boolean_literal,
1817
2730
  sym_character_literal,
@@ -1819,109 +2732,119 @@ static const uint16_t ts_small_parse_table[] = {
1819
2732
  sym_line_string_literal,
1820
2733
  sym_multi_line_string_literal,
1821
2734
  sym__literal_constant,
1822
- [104] = 11,
2735
+ [151] = 12,
1823
- ACTIONS(7), 1,
2736
+ ACTIONS(3), 1,
2737
+ sym_comment,
2738
+ ACTIONS(23), 1,
1824
2739
  anon_sym_import,
1825
- ACTIONS(9), 1,
2740
+ ACTIONS(25), 1,
1826
2741
  anon_sym_class,
1827
- ACTIONS(11), 1,
2742
+ ACTIONS(27), 1,
1828
2743
  anon_sym_trait,
1829
- ACTIONS(13), 1,
2744
+ ACTIONS(29), 1,
1830
2745
  anon_sym_enum,
1831
- ACTIONS(15), 1,
2746
+ ACTIONS(31), 1,
1832
2747
  anon_sym_fun,
1833
- ACTIONS(17), 1,
2748
+ ACTIONS(33), 1,
1834
2749
  anon_sym_AT,
1835
- ACTIONS(35), 1,
2750
+ ACTIONS(43), 1,
1836
2751
  ts_builtin_sym_end,
1837
- STATE(2), 2,
2752
+ STATE(7), 2,
1838
- sym_import_statement,
1839
- aux_sym_source_file_repeat1,
1840
- STATE(6), 2,
1841
2753
  sym_definitions,
1842
2754
  aux_sym_source_file_repeat2,
1843
- STATE(61), 2,
2755
+ STATE(16), 2,
2756
+ sym_import_statement,
2757
+ aux_sym_source_file_repeat1,
2758
+ STATE(90), 2,
1844
- sym_trait_name,
2759
+ sym_decorator_name,
1845
2760
  aux_sym_class_definition_repeat1,
1846
- STATE(38), 4,
2761
+ STATE(26), 4,
1847
2762
  sym_class_definition,
1848
2763
  sym_trait_definition,
1849
2764
  sym_enum_definition,
1850
2765
  sym_fun_definition,
1851
- [144] = 9,
2766
+ [194] = 10,
2767
+ ACTIONS(3), 1,
2768
+ sym_comment,
1852
- ACTIONS(5), 1,
2769
+ ACTIONS(25), 1,
1853
- ts_builtin_sym_end,
1854
- ACTIONS(9), 1,
1855
2770
  anon_sym_class,
1856
- ACTIONS(11), 1,
2771
+ ACTIONS(27), 1,
1857
2772
  anon_sym_trait,
1858
- ACTIONS(13), 1,
2773
+ ACTIONS(29), 1,
1859
2774
  anon_sym_enum,
1860
- ACTIONS(15), 1,
2775
+ ACTIONS(31), 1,
1861
2776
  anon_sym_fun,
1862
- ACTIONS(17), 1,
2777
+ ACTIONS(33), 1,
1863
2778
  anon_sym_AT,
2779
+ ACTIONS(45), 1,
2780
+ ts_builtin_sym_end,
1864
- STATE(7), 2,
2781
+ STATE(9), 2,
1865
2782
  sym_definitions,
1866
2783
  aux_sym_source_file_repeat2,
1867
- STATE(61), 2,
2784
+ STATE(90), 2,
1868
- sym_trait_name,
2785
+ sym_decorator_name,
1869
2786
  aux_sym_class_definition_repeat1,
1870
- STATE(38), 4,
2787
+ STATE(26), 4,
1871
2788
  sym_class_definition,
1872
2789
  sym_trait_definition,
1873
2790
  sym_enum_definition,
1874
2791
  sym_fun_definition,
1875
- [177] = 9,
2792
+ [230] = 10,
1876
- ACTIONS(37), 1,
2793
+ ACTIONS(3), 1,
1877
- ts_builtin_sym_end,
2794
+ sym_comment,
1878
- ACTIONS(39), 1,
2795
+ ACTIONS(25), 1,
1879
2796
  anon_sym_class,
1880
- ACTIONS(42), 1,
2797
+ ACTIONS(27), 1,
1881
2798
  anon_sym_trait,
1882
- ACTIONS(45), 1,
2799
+ ACTIONS(29), 1,
1883
2800
  anon_sym_enum,
1884
- ACTIONS(48), 1,
2801
+ ACTIONS(31), 1,
1885
2802
  anon_sym_fun,
1886
- ACTIONS(51), 1,
2803
+ ACTIONS(33), 1,
1887
2804
  anon_sym_AT,
2805
+ ACTIONS(43), 1,
2806
+ ts_builtin_sym_end,
1888
- STATE(7), 2,
2807
+ STATE(9), 2,
1889
2808
  sym_definitions,
1890
2809
  aux_sym_source_file_repeat2,
1891
- STATE(61), 2,
2810
+ STATE(90), 2,
1892
- sym_trait_name,
2811
+ sym_decorator_name,
1893
2812
  aux_sym_class_definition_repeat1,
1894
- STATE(38), 4,
2813
+ STATE(26), 4,
1895
2814
  sym_class_definition,
1896
2815
  sym_trait_definition,
1897
2816
  sym_enum_definition,
1898
2817
  sym_fun_definition,
1899
- [210] = 9,
2818
+ [266] = 10,
2819
+ ACTIONS(3), 1,
2820
+ sym_comment,
2821
+ ACTIONS(47), 1,
2822
+ ts_builtin_sym_end,
1900
- ACTIONS(9), 1,
2823
+ ACTIONS(49), 1,
1901
2824
  anon_sym_class,
1902
- ACTIONS(11), 1,
2825
+ ACTIONS(52), 1,
1903
2826
  anon_sym_trait,
1904
- ACTIONS(13), 1,
2827
+ ACTIONS(55), 1,
1905
2828
  anon_sym_enum,
1906
- ACTIONS(15), 1,
2829
+ ACTIONS(58), 1,
1907
2830
  anon_sym_fun,
1908
- ACTIONS(17), 1,
2831
+ ACTIONS(61), 1,
1909
2832
  anon_sym_AT,
1910
- ACTIONS(54), 1,
1911
- ts_builtin_sym_end,
1912
- STATE(7), 2,
2833
+ STATE(9), 2,
1913
2834
  sym_definitions,
1914
2835
  aux_sym_source_file_repeat2,
1915
- STATE(61), 2,
2836
+ STATE(90), 2,
1916
- sym_trait_name,
2837
+ sym_decorator_name,
1917
2838
  aux_sym_class_definition_repeat1,
1918
- STATE(38), 4,
2839
+ STATE(26), 4,
1919
2840
  sym_class_definition,
1920
2841
  sym_trait_definition,
1921
2842
  sym_enum_definition,
1922
2843
  sym_fun_definition,
1923
- [243] = 1,
2844
+ [302] = 2,
2845
+ ACTIONS(3), 1,
2846
+ sym_comment,
1924
- ACTIONS(56), 11,
2847
+ ACTIONS(64), 12,
1925
2848
  ts_builtin_sym_end,
1926
2849
  anon_sym_import,
1927
2850
  anon_sym_class,
@@ -1931,68 +2854,77 @@ static const uint16_t ts_small_parse_table[] = {
1931
2854
  anon_sym_enum,
1932
2855
  anon_sym_fun,
1933
2856
  anon_sym_AT,
2857
+ anon_sym_LT,
1934
2858
  anon_sym_GT,
1935
2859
  anon_sym_DOT,
1936
- [257] = 7,
2860
+ [320] = 8,
1937
- ACTIONS(58), 1,
2861
+ ACTIONS(66), 1,
1938
2862
  anon_sym_BSLASHu,
1939
- ACTIONS(60), 1,
2863
+ ACTIONS(69), 1,
1940
2864
  sym__escaped_identifier,
1941
- ACTIONS(62), 1,
2865
+ ACTIONS(72), 1,
1942
2866
  anon_sym_DQUOTE,
1943
- ACTIONS(64), 1,
2867
+ ACTIONS(74), 1,
1944
2868
  sym__line_str_text,
1945
- ACTIONS(66), 1,
2869
+ ACTIONS(77), 1,
1946
2870
  anon_sym_DOLLAR,
2871
+ ACTIONS(80), 1,
2872
+ sym_comment,
1947
- STATE(51), 1,
2873
+ STATE(89), 1,
1948
2874
  sym__uni_character_literal,
1949
- STATE(12), 4,
2875
+ STATE(11), 4,
1950
2876
  sym_character_escape_seq,
1951
2877
  sym__line_string_content,
1952
2878
  sym__interpolation,
1953
2879
  aux_sym_line_string_literal_repeat1,
1954
- [282] = 7,
2880
+ [348] = 8,
1955
- ACTIONS(68), 1,
2881
+ ACTIONS(80), 1,
2882
+ sym_comment,
2883
+ ACTIONS(82), 1,
1956
2884
  anon_sym_BSLASHu,
1957
- ACTIONS(71), 1,
2885
+ ACTIONS(84), 1,
1958
2886
  sym__escaped_identifier,
1959
- ACTIONS(74), 1,
2887
+ ACTIONS(86), 1,
1960
2888
  anon_sym_DQUOTE,
1961
- ACTIONS(76), 1,
2889
+ ACTIONS(88), 1,
1962
2890
  sym__line_str_text,
1963
- ACTIONS(79), 1,
2891
+ ACTIONS(90), 1,
1964
2892
  anon_sym_DOLLAR,
1965
- STATE(51), 1,
2893
+ STATE(89), 1,
1966
2894
  sym__uni_character_literal,
1967
- STATE(11), 4,
2895
+ STATE(13), 4,
1968
2896
  sym_character_escape_seq,
1969
2897
  sym__line_string_content,
1970
2898
  sym__interpolation,
1971
2899
  aux_sym_line_string_literal_repeat1,
1972
- [307] = 7,
2900
+ [376] = 8,
1973
- ACTIONS(58), 1,
2901
+ ACTIONS(80), 1,
2902
+ sym_comment,
2903
+ ACTIONS(82), 1,
1974
2904
  anon_sym_BSLASHu,
1975
- ACTIONS(60), 1,
2905
+ ACTIONS(84), 1,
1976
2906
  sym__escaped_identifier,
1977
- ACTIONS(66), 1,
2907
+ ACTIONS(90), 1,
1978
2908
  anon_sym_DOLLAR,
1979
- ACTIONS(82), 1,
2909
+ ACTIONS(92), 1,
1980
2910
  anon_sym_DQUOTE,
1981
- ACTIONS(84), 1,
2911
+ ACTIONS(94), 1,
1982
2912
  sym__line_str_text,
1983
- STATE(51), 1,
2913
+ STATE(89), 1,
1984
2914
  sym__uni_character_literal,
1985
2915
  STATE(11), 4,
1986
2916
  sym_character_escape_seq,
1987
2917
  sym__line_string_content,
1988
2918
  sym__interpolation,
1989
2919
  aux_sym_line_string_literal_repeat1,
1990
- [332] = 3,
2920
+ [404] = 4,
2921
+ ACTIONS(3), 1,
2922
+ sym_comment,
1991
- ACTIONS(88), 1,
2923
+ ACTIONS(98), 1,
1992
2924
  anon_sym_SLASH,
1993
- STATE(13), 1,
2925
+ STATE(14), 1,
1994
2926
  aux_sym_url_repeat1,
1995
- ACTIONS(86), 7,
2927
+ ACTIONS(96), 7,
1996
2928
  ts_builtin_sym_end,
1997
2929
  anon_sym_import,
1998
2930
  anon_sym_class,
@@ -2000,12 +2932,14 @@ static const uint16_t ts_small_parse_table[] = {
2000
2932
  anon_sym_enum,
2001
2933
  anon_sym_fun,
2002
2934
  anon_sym_AT,
2003
- [348] = 3,
2935
+ [423] = 4,
2004
- ACTIONS(93), 1,
2936
+ ACTIONS(3), 1,
2937
+ sym_comment,
2938
+ ACTIONS(103), 1,
2005
2939
  anon_sym_SLASH,
2006
- STATE(13), 1,
2940
+ STATE(14), 1,
2007
2941
  aux_sym_url_repeat1,
2008
- ACTIONS(91), 7,
2942
+ ACTIONS(101), 7,
2009
2943
  ts_builtin_sym_end,
2010
2944
  anon_sym_import,
2011
2945
  anon_sym_class,
@@ -2013,12 +2947,29 @@ static const uint16_t ts_small_parse_table[] = {
2013
2947
  anon_sym_enum,
2014
2948
  anon_sym_fun,
2015
2949
  anon_sym_AT,
2016
- [364] = 3,
2950
+ [442] = 4,
2017
- ACTIONS(93), 1,
2951
+ ACTIONS(3), 1,
2952
+ sym_comment,
2953
+ ACTIONS(107), 1,
2954
+ anon_sym_import,
2955
+ STATE(16), 2,
2956
+ sym_import_statement,
2957
+ aux_sym_source_file_repeat1,
2958
+ ACTIONS(105), 6,
2959
+ ts_builtin_sym_end,
2960
+ anon_sym_class,
2961
+ anon_sym_trait,
2962
+ anon_sym_enum,
2963
+ anon_sym_fun,
2964
+ anon_sym_AT,
2965
+ [461] = 4,
2966
+ ACTIONS(3), 1,
2967
+ sym_comment,
2968
+ ACTIONS(103), 1,
2018
2969
  anon_sym_SLASH,
2019
- STATE(14), 1,
2970
+ STATE(15), 1,
2020
2971
  aux_sym_url_repeat1,
2021
- ACTIONS(95), 7,
2972
+ ACTIONS(110), 7,
2022
2973
  ts_builtin_sym_end,
2023
2974
  anon_sym_import,
2024
2975
  anon_sym_class,
@@ -2026,21 +2977,33 @@ static const uint16_t ts_small_parse_table[] = {
2026
2977
  anon_sym_enum,
2027
2978
  anon_sym_fun,
2028
2979
  anon_sym_AT,
2029
- [380] = 3,
2980
+ [480] = 2,
2981
+ ACTIONS(3), 1,
2982
+ sym_comment,
2030
- ACTIONS(99), 1,
2983
+ ACTIONS(96), 8,
2984
+ ts_builtin_sym_end,
2031
2985
  anon_sym_import,
2986
+ anon_sym_class,
2987
+ anon_sym_trait,
2988
+ anon_sym_enum,
2989
+ anon_sym_fun,
2990
+ anon_sym_AT,
2991
+ anon_sym_SLASH,
2032
- STATE(16), 2,
2992
+ [494] = 2,
2033
- sym_import_statement,
2034
- aux_sym_source_file_repeat1,
2035
- ACTIONS(97), 6,
2993
+ ACTIONS(3), 1,
2994
+ sym_comment,
2995
+ ACTIONS(112), 7,
2036
2996
  ts_builtin_sym_end,
2997
+ anon_sym_import,
2037
2998
  anon_sym_class,
2038
2999
  anon_sym_trait,
2039
3000
  anon_sym_enum,
2040
3001
  anon_sym_fun,
2041
3002
  anon_sym_AT,
2042
- [396] = 1,
3003
+ [507] = 2,
2043
- ACTIONS(86), 8,
3004
+ ACTIONS(3), 1,
3005
+ sym_comment,
3006
+ ACTIONS(114), 7,
2044
3007
  ts_builtin_sym_end,
2045
3008
  anon_sym_import,
2046
3009
  anon_sym_class,
@@ -2048,1544 +3011,3096 @@ static const uint16_t ts_small_parse_table[] = {
2048
3011
  anon_sym_enum,
2049
3012
  anon_sym_fun,
2050
3013
  anon_sym_AT,
2051
- anon_sym_SLASH,
2052
- [407] = 4,
3014
+ [520] = 5,
3015
+ ACTIONS(80), 1,
3016
+ sym_comment,
2053
- ACTIONS(104), 1,
3017
+ ACTIONS(119), 1,
2054
3018
  anon_sym_BQUOTE,
2055
- ACTIONS(106), 1,
3019
+ ACTIONS(121), 1,
2056
3020
  anon_sym_DOLLAR,
2057
- ACTIONS(102), 2,
3021
+ ACTIONS(116), 2,
2058
3022
  anon_sym_DQUOTE,
2059
3023
  sym__multi_line_str_text,
2060
- STATE(22), 3,
3024
+ STATE(21), 3,
2061
3025
  sym__multi_line_string_content,
2062
3026
  sym__interpolation,
2063
3027
  aux_sym_multi_line_string_literal_repeat1,
2064
- [423] = 4,
3028
+ [539] = 5,
3029
+ ACTIONS(80), 1,
3030
+ sym_comment,
2065
- ACTIONS(111), 1,
3031
+ ACTIONS(126), 1,
2066
3032
  anon_sym_BQUOTE,
2067
- ACTIONS(113), 1,
3033
+ ACTIONS(128), 1,
3034
+ anon_sym_DOLLAR,
3035
+ ACTIONS(124), 2,
3036
+ anon_sym_DQUOTE,
3037
+ sym__multi_line_str_text,
3038
+ STATE(23), 3,
3039
+ sym__multi_line_string_content,
3040
+ sym__interpolation,
3041
+ aux_sym_multi_line_string_literal_repeat1,
3042
+ [558] = 5,
3043
+ ACTIONS(80), 1,
3044
+ sym_comment,
3045
+ ACTIONS(128), 1,
2068
3046
  anon_sym_DOLLAR,
3047
+ ACTIONS(132), 1,
3048
+ anon_sym_BQUOTE,
2069
- ACTIONS(108), 2,
3049
+ ACTIONS(130), 2,
2070
3050
  anon_sym_DQUOTE,
2071
3051
  sym__multi_line_str_text,
2072
- STATE(19), 3,
3052
+ STATE(21), 3,
2073
3053
  sym__multi_line_string_content,
2074
3054
  sym__interpolation,
2075
3055
  aux_sym_multi_line_string_literal_repeat1,
2076
- [439] = 1,
3056
+ [577] = 2,
3057
+ ACTIONS(3), 1,
3058
+ sym_comment,
2077
- ACTIONS(116), 7,
3059
+ ACTIONS(134), 6,
2078
3060
  ts_builtin_sym_end,
2079
- anon_sym_import,
2080
3061
  anon_sym_class,
2081
3062
  anon_sym_trait,
2082
3063
  anon_sym_enum,
2083
3064
  anon_sym_fun,
2084
3065
  anon_sym_AT,
2085
- [449] = 1,
3066
+ [589] = 2,
3067
+ ACTIONS(3), 1,
3068
+ sym_comment,
2086
- ACTIONS(118), 7,
3069
+ ACTIONS(136), 6,
2087
3070
  ts_builtin_sym_end,
2088
- anon_sym_import,
2089
3071
  anon_sym_class,
2090
3072
  anon_sym_trait,
2091
3073
  anon_sym_enum,
2092
3074
  anon_sym_fun,
2093
3075
  anon_sym_AT,
2094
- [459] = 4,
3076
+ [601] = 2,
2095
- ACTIONS(106), 1,
3077
+ ACTIONS(3), 1,
2096
- anon_sym_DOLLAR,
2097
- ACTIONS(122), 1,
2098
- anon_sym_BQUOTE,
2099
- ACTIONS(120), 2,
2100
- anon_sym_DQUOTE,
2101
- sym__multi_line_str_text,
2102
- STATE(19), 3,
2103
- sym__multi_line_string_content,
2104
- sym__interpolation,
3078
+ sym_comment,
2105
- aux_sym_multi_line_string_literal_repeat1,
2106
- [475] = 1,
2107
- ACTIONS(124), 6,
3079
+ ACTIONS(138), 6,
2108
3080
  ts_builtin_sym_end,
2109
3081
  anon_sym_class,
2110
3082
  anon_sym_trait,
2111
3083
  anon_sym_enum,
2112
3084
  anon_sym_fun,
2113
3085
  anon_sym_AT,
2114
- [484] = 1,
3086
+ [613] = 2,
3087
+ ACTIONS(3), 1,
3088
+ sym_comment,
2115
- ACTIONS(126), 6,
3089
+ ACTIONS(140), 6,
2116
3090
  ts_builtin_sym_end,
2117
3091
  anon_sym_class,
2118
3092
  anon_sym_trait,
2119
3093
  anon_sym_enum,
2120
3094
  anon_sym_fun,
2121
3095
  anon_sym_AT,
2122
- [493] = 1,
3096
+ [625] = 2,
3097
+ ACTIONS(3), 1,
3098
+ sym_comment,
2123
- ACTIONS(128), 6,
3099
+ ACTIONS(142), 6,
2124
3100
  ts_builtin_sym_end,
2125
3101
  anon_sym_class,
2126
3102
  anon_sym_trait,
2127
3103
  anon_sym_enum,
2128
3104
  anon_sym_fun,
2129
3105
  anon_sym_AT,
2130
- [502] = 1,
3106
+ [637] = 2,
3107
+ ACTIONS(3), 1,
3108
+ sym_comment,
2131
- ACTIONS(130), 6,
3109
+ ACTIONS(144), 6,
2132
3110
  ts_builtin_sym_end,
2133
3111
  anon_sym_class,
2134
3112
  anon_sym_trait,
2135
3113
  anon_sym_enum,
2136
3114
  anon_sym_fun,
2137
3115
  anon_sym_AT,
2138
- [511] = 1,
3116
+ [649] = 2,
3117
+ ACTIONS(3), 1,
3118
+ sym_comment,
2139
- ACTIONS(132), 6,
3119
+ ACTIONS(146), 6,
2140
3120
  ts_builtin_sym_end,
2141
3121
  anon_sym_class,
2142
3122
  anon_sym_trait,
2143
3123
  anon_sym_enum,
2144
3124
  anon_sym_fun,
2145
3125
  anon_sym_AT,
2146
- [520] = 1,
3126
+ [661] = 2,
3127
+ ACTIONS(3), 1,
3128
+ sym_comment,
2147
- ACTIONS(134), 6,
3129
+ ACTIONS(148), 6,
2148
3130
  ts_builtin_sym_end,
2149
3131
  anon_sym_class,
2150
3132
  anon_sym_trait,
2151
3133
  anon_sym_enum,
2152
3134
  anon_sym_fun,
2153
3135
  anon_sym_AT,
2154
- [529] = 1,
3136
+ [673] = 2,
3137
+ ACTIONS(3), 1,
3138
+ sym_comment,
2155
- ACTIONS(136), 6,
3139
+ ACTIONS(150), 6,
2156
3140
  ts_builtin_sym_end,
2157
3141
  anon_sym_class,
2158
3142
  anon_sym_trait,
2159
3143
  anon_sym_enum,
2160
3144
  anon_sym_fun,
2161
3145
  anon_sym_AT,
2162
- [538] = 1,
3146
+ [685] = 2,
3147
+ ACTIONS(3), 1,
3148
+ sym_comment,
2163
- ACTIONS(138), 6,
3149
+ ACTIONS(152), 6,
2164
3150
  ts_builtin_sym_end,
2165
3151
  anon_sym_class,
2166
3152
  anon_sym_trait,
2167
3153
  anon_sym_enum,
2168
3154
  anon_sym_fun,
2169
3155
  anon_sym_AT,
2170
- [547] = 1,
3156
+ [697] = 2,
3157
+ ACTIONS(3), 1,
3158
+ sym_comment,
2171
- ACTIONS(140), 6,
3159
+ ACTIONS(154), 6,
2172
3160
  ts_builtin_sym_end,
2173
3161
  anon_sym_class,
2174
3162
  anon_sym_trait,
2175
3163
  anon_sym_enum,
2176
3164
  anon_sym_fun,
2177
3165
  anon_sym_AT,
2178
- [556] = 1,
3166
+ [709] = 2,
3167
+ ACTIONS(3), 1,
3168
+ sym_comment,
2179
- ACTIONS(142), 6,
3169
+ ACTIONS(156), 6,
2180
3170
  ts_builtin_sym_end,
2181
3171
  anon_sym_class,
2182
3172
  anon_sym_trait,
2183
3173
  anon_sym_enum,
2184
3174
  anon_sym_fun,
2185
3175
  anon_sym_AT,
2186
- [565] = 1,
3176
+ [721] = 2,
3177
+ ACTIONS(3), 1,
3178
+ sym_comment,
2187
- ACTIONS(144), 6,
3179
+ ACTIONS(158), 6,
2188
3180
  ts_builtin_sym_end,
2189
3181
  anon_sym_class,
2190
3182
  anon_sym_trait,
2191
3183
  anon_sym_enum,
2192
3184
  anon_sym_fun,
2193
3185
  anon_sym_AT,
2194
- [574] = 1,
3186
+ [733] = 2,
3187
+ ACTIONS(3), 1,
3188
+ sym_comment,
2195
- ACTIONS(146), 6,
3189
+ ACTIONS(160), 6,
2196
3190
  ts_builtin_sym_end,
2197
3191
  anon_sym_class,
2198
3192
  anon_sym_trait,
2199
3193
  anon_sym_enum,
2200
3194
  anon_sym_fun,
2201
3195
  anon_sym_AT,
2202
- [583] = 1,
3196
+ [745] = 2,
3197
+ ACTIONS(3), 1,
3198
+ sym_comment,
2203
- ACTIONS(148), 6,
3199
+ ACTIONS(162), 6,
2204
3200
  ts_builtin_sym_end,
2205
3201
  anon_sym_class,
2206
3202
  anon_sym_trait,
2207
3203
  anon_sym_enum,
2208
3204
  anon_sym_fun,
2209
3205
  anon_sym_AT,
2210
- [592] = 1,
3206
+ [757] = 2,
3207
+ ACTIONS(3), 1,
3208
+ sym_comment,
2211
- ACTIONS(150), 6,
3209
+ ACTIONS(164), 6,
2212
3210
  ts_builtin_sym_end,
2213
3211
  anon_sym_class,
2214
3212
  anon_sym_trait,
2215
3213
  anon_sym_enum,
2216
3214
  anon_sym_fun,
2217
3215
  anon_sym_AT,
2218
- [601] = 1,
3216
+ [769] = 2,
3217
+ ACTIONS(3), 1,
3218
+ sym_comment,
2219
- ACTIONS(152), 6,
3219
+ ACTIONS(166), 6,
2220
3220
  ts_builtin_sym_end,
2221
3221
  anon_sym_class,
2222
3222
  anon_sym_trait,
2223
3223
  anon_sym_enum,
2224
3224
  anon_sym_fun,
2225
3225
  anon_sym_AT,
2226
- [610] = 1,
3226
+ [781] = 2,
3227
+ ACTIONS(3), 1,
3228
+ sym_comment,
2227
- ACTIONS(154), 6,
3229
+ ACTIONS(168), 6,
2228
3230
  ts_builtin_sym_end,
2229
3231
  anon_sym_class,
2230
3232
  anon_sym_trait,
2231
3233
  anon_sym_enum,
2232
3234
  anon_sym_fun,
2233
3235
  anon_sym_AT,
2234
- [619] = 1,
3236
+ [793] = 2,
3237
+ ACTIONS(3), 1,
3238
+ sym_comment,
2235
- ACTIONS(156), 6,
3239
+ ACTIONS(170), 6,
2236
3240
  ts_builtin_sym_end,
2237
3241
  anon_sym_class,
2238
3242
  anon_sym_trait,
2239
3243
  anon_sym_enum,
2240
3244
  anon_sym_fun,
2241
3245
  anon_sym_AT,
2242
- [628] = 1,
3246
+ [805] = 2,
3247
+ ACTIONS(3), 1,
3248
+ sym_comment,
2243
- ACTIONS(158), 6,
3249
+ ACTIONS(172), 6,
2244
3250
  ts_builtin_sym_end,
2245
3251
  anon_sym_class,
2246
3252
  anon_sym_trait,
2247
3253
  anon_sym_enum,
2248
3254
  anon_sym_fun,
2249
3255
  anon_sym_AT,
2250
- [637] = 1,
3256
+ [817] = 2,
3257
+ ACTIONS(3), 1,
3258
+ sym_comment,
2251
- ACTIONS(160), 6,
3259
+ ACTIONS(174), 6,
2252
3260
  ts_builtin_sym_end,
2253
3261
  anon_sym_class,
2254
3262
  anon_sym_trait,
2255
3263
  anon_sym_enum,
2256
3264
  anon_sym_fun,
2257
3265
  anon_sym_AT,
2258
- [646] = 1,
3266
+ [829] = 2,
3267
+ ACTIONS(3), 1,
3268
+ sym_comment,
2259
- ACTIONS(162), 6,
3269
+ ACTIONS(176), 6,
2260
3270
  ts_builtin_sym_end,
2261
3271
  anon_sym_class,
2262
3272
  anon_sym_trait,
2263
3273
  anon_sym_enum,
2264
3274
  anon_sym_fun,
2265
3275
  anon_sym_AT,
2266
- [655] = 1,
3276
+ [841] = 2,
3277
+ ACTIONS(3), 1,
3278
+ sym_comment,
2267
- ACTIONS(164), 6,
3279
+ ACTIONS(178), 6,
2268
3280
  ts_builtin_sym_end,
2269
3281
  anon_sym_class,
2270
3282
  anon_sym_trait,
2271
3283
  anon_sym_enum,
2272
3284
  anon_sym_fun,
2273
3285
  anon_sym_AT,
2274
- [664] = 1,
3286
+ [853] = 2,
3287
+ ACTIONS(3), 1,
3288
+ sym_comment,
2275
- ACTIONS(166), 6,
3289
+ ACTIONS(180), 6,
2276
3290
  ts_builtin_sym_end,
2277
3291
  anon_sym_class,
2278
3292
  anon_sym_trait,
2279
3293
  anon_sym_enum,
2280
3294
  anon_sym_fun,
2281
3295
  anon_sym_AT,
2282
- [673] = 1,
3296
+ [865] = 2,
3297
+ ACTIONS(3), 1,
3298
+ sym_comment,
2283
- ACTIONS(168), 6,
3299
+ ACTIONS(182), 6,
2284
3300
  ts_builtin_sym_end,
2285
3301
  anon_sym_class,
2286
3302
  anon_sym_trait,
2287
3303
  anon_sym_enum,
2288
3304
  anon_sym_fun,
2289
3305
  anon_sym_AT,
2290
- [682] = 1,
3306
+ [877] = 2,
3307
+ ACTIONS(3), 1,
3308
+ sym_comment,
2291
- ACTIONS(170), 6,
3309
+ ACTIONS(184), 6,
2292
3310
  ts_builtin_sym_end,
2293
3311
  anon_sym_class,
2294
3312
  anon_sym_trait,
2295
3313
  anon_sym_enum,
2296
3314
  anon_sym_fun,
2297
3315
  anon_sym_AT,
2298
- [691] = 1,
3316
+ [889] = 2,
3317
+ ACTIONS(3), 1,
3318
+ sym_comment,
2299
- ACTIONS(172), 6,
3319
+ ACTIONS(186), 6,
2300
3320
  ts_builtin_sym_end,
2301
3321
  anon_sym_class,
2302
3322
  anon_sym_trait,
2303
3323
  anon_sym_enum,
2304
3324
  anon_sym_fun,
2305
3325
  anon_sym_AT,
2306
- [700] = 1,
3326
+ [901] = 2,
3327
+ ACTIONS(3), 1,
3328
+ sym_comment,
2307
- ACTIONS(174), 6,
3329
+ ACTIONS(188), 6,
2308
3330
  ts_builtin_sym_end,
2309
3331
  anon_sym_class,
2310
3332
  anon_sym_trait,
2311
3333
  anon_sym_enum,
2312
3334
  anon_sym_fun,
2313
3335
  anon_sym_AT,
2314
- [709] = 2,
3336
+ [913] = 2,
2315
- ACTIONS(178), 1,
3337
+ ACTIONS(3), 1,
2316
- sym__line_str_text,
3338
+ sym_comment,
2317
- ACTIONS(176), 4,
2318
- anon_sym_BSLASHu,
2319
- sym__escaped_identifier,
2320
- anon_sym_DQUOTE,
2321
- anon_sym_DOLLAR,
2322
- [719] = 4,
2323
- ACTIONS(180), 1,
3339
+ ACTIONS(190), 6,
3340
+ ts_builtin_sym_end,
3341
+ anon_sym_class,
3342
+ anon_sym_trait,
3343
+ anon_sym_enum,
2324
3344
  anon_sym_fun,
2325
- ACTIONS(182), 1,
2326
- anon_sym_val,
3345
+ anon_sym_AT,
2327
- STATE(75), 1,
2328
- sym_trait_field,
2329
- STATE(136), 2,
2330
- sym_type_field,
2331
- sym_fun_field,
2332
- [733] = 2,
3346
+ [925] = 2,
2333
- ACTIONS(186), 1,
2334
- sym__line_str_text,
2335
- ACTIONS(184), 4,
2336
- anon_sym_BSLASHu,
2337
- sym__escaped_identifier,
2338
- anon_sym_DQUOTE,
2339
- anon_sym_DOLLAR,
2340
- [743] = 2,
2341
- ACTIONS(56), 1,
3347
+ ACTIONS(3), 1,
2342
- sym__line_str_text,
3348
+ sym_comment,
2343
- ACTIONS(188), 4,
2344
- anon_sym_BSLASHu,
2345
- sym__escaped_identifier,
2346
- anon_sym_DQUOTE,
2347
- anon_sym_DOLLAR,
2348
- [753] = 5,
2349
- ACTIONS(190), 1,
2350
- aux_sym_character_literal_token1,
2351
- ACTIONS(192), 1,
3349
+ ACTIONS(192), 6,
3350
+ ts_builtin_sym_end,
2352
- anon_sym_BSLASHu,
3351
+ anon_sym_class,
2353
- ACTIONS(194), 1,
2354
- sym__escaped_identifier,
3352
+ anon_sym_trait,
2355
- STATE(167), 1,
3353
+ anon_sym_enum,
2356
- sym_character_escape_seq,
2357
- STATE(169), 1,
2358
- sym__uni_character_literal,
2359
- [769] = 4,
2360
- ACTIONS(180), 1,
2361
3354
  anon_sym_fun,
3355
+ anon_sym_AT,
3356
+ [937] = 2,
3357
+ ACTIONS(3), 1,
3358
+ sym_comment,
2362
- ACTIONS(182), 1,
3359
+ ACTIONS(194), 6,
3360
+ ts_builtin_sym_end,
2363
- anon_sym_val,
3361
+ anon_sym_class,
2364
- STATE(66), 1,
2365
- sym_trait_field,
3362
+ anon_sym_trait,
2366
- STATE(136), 2,
2367
- sym_type_field,
3363
+ anon_sym_enum,
2368
- sym_fun_field,
2369
- [783] = 4,
2370
- ACTIONS(180), 1,
2371
3364
  anon_sym_fun,
2372
- ACTIONS(182), 1,
2373
- anon_sym_val,
2374
- STATE(157), 1,
2375
- sym_trait_field,
2376
- STATE(136), 2,
2377
- sym_type_field,
2378
- sym_fun_field,
2379
- [797] = 2,
2380
- ACTIONS(198), 1,
2381
- sym__line_str_text,
2382
- ACTIONS(196), 4,
2383
- anon_sym_BSLASHu,
2384
- sym__escaped_identifier,
2385
- anon_sym_DQUOTE,
2386
- anon_sym_DOLLAR,
2387
- [807] = 1,
2388
- ACTIONS(196), 4,
2389
- anon_sym_DQUOTE,
2390
- anon_sym_BQUOTE,
2391
- sym__multi_line_str_text,
2392
- anon_sym_DOLLAR,
2393
- [814] = 3,
2394
- ACTIONS(202), 1,
2395
- sym_definition_name,
2396
- STATE(101), 1,
2397
- sym_type,
2398
- ACTIONS(200), 2,
2399
- anon_sym_COMMA,
2400
- anon_sym_RPAREN,
2401
- [825] = 3,
2402
- ACTIONS(204), 1,
2403
- anon_sym_COMMA,
2404
- STATE(59), 1,
2405
- aux_sym_fun_definition_repeat2,
2406
- ACTIONS(207), 2,
2407
- anon_sym_RPAREN,
2408
- anon_sym_LBRACE,
2409
- [836] = 3,
2410
- ACTIONS(202), 1,
2411
- sym_definition_name,
2412
- STATE(85), 1,
2413
- sym_type,
2414
- ACTIONS(209), 2,
2415
- anon_sym_COMMA,
2416
- anon_sym_RPAREN,
2417
- [847] = 3,
2418
- ACTIONS(17), 1,
2419
3365
  anon_sym_AT,
3366
+ [949] = 2,
2420
- ACTIONS(211), 1,
3367
+ ACTIONS(3), 1,
3368
+ sym_comment,
3369
+ ACTIONS(196), 6,
3370
+ ts_builtin_sym_end,
2421
3371
  anon_sym_class,
2422
- STATE(63), 2,
2423
- sym_trait_name,
3372
+ anon_sym_trait,
2424
- aux_sym_class_definition_repeat1,
3373
+ anon_sym_enum,
3374
+ anon_sym_fun,
3375
+ anon_sym_AT,
2425
- [858] = 3,
3376
+ [961] = 2,
2426
- ACTIONS(202), 1,
3377
+ ACTIONS(3), 1,
2427
- sym_definition_name,
2428
- STATE(80), 1,
2429
- sym_type,
3378
+ sym_comment,
2430
- ACTIONS(213), 2,
3379
+ ACTIONS(198), 6,
2431
- anon_sym_COMMA,
3380
+ ts_builtin_sym_end,
2432
- anon_sym_RPAREN,
2433
- [869] = 3,
2434
- ACTIONS(215), 1,
2435
3381
  anon_sym_class,
2436
- ACTIONS(217), 1,
3382
+ anon_sym_trait,
3383
+ anon_sym_enum,
3384
+ anon_sym_fun,
2437
3385
  anon_sym_AT,
2438
- STATE(63), 2,
2439
- sym_trait_name,
2440
- aux_sym_class_definition_repeat1,
2441
- [880] = 2,
2442
- ACTIONS(222), 1,
2443
- anon_sym_QMARK,
2444
- ACTIONS(220), 3,
2445
- anon_sym_COMMA,
2446
- anon_sym_RPAREN,
2447
- anon_sym_LBRACE,
2448
- [889] = 1,
2449
- ACTIONS(188), 4,
2450
- anon_sym_DQUOTE,
2451
- anon_sym_BQUOTE,
2452
- sym__multi_line_str_text,
2453
- anon_sym_DOLLAR,
2454
- [896] = 3,
2455
- ACTIONS(224), 1,
2456
- anon_sym_COMMA,
2457
- ACTIONS(226), 1,
2458
- anon_sym_RPAREN,
2459
- STATE(74), 1,
2460
- aux_sym_trait_definition_repeat1,
2461
- [906] = 3,
2462
- ACTIONS(228), 1,
2463
- anon_sym_COMMA,
2464
- ACTIONS(230), 1,
2465
- anon_sym_LBRACE,
2466
- STATE(109), 1,
2467
- aux_sym_fun_definition_repeat2,
2468
- [916] = 3,
2469
- ACTIONS(232), 1,
3386
+ [973] = 2,
3387
+ ACTIONS(3), 1,
3388
+ sym_comment,
3389
+ ACTIONS(200), 6,
3390
+ ts_builtin_sym_end,
3391
+ anon_sym_class,
3392
+ anon_sym_trait,
3393
+ anon_sym_enum,
3394
+ anon_sym_fun,
3395
+ anon_sym_AT,
3396
+ [985] = 2,
3397
+ ACTIONS(3), 1,
3398
+ sym_comment,
3399
+ ACTIONS(202), 6,
3400
+ ts_builtin_sym_end,
3401
+ anon_sym_class,
3402
+ anon_sym_trait,
3403
+ anon_sym_enum,
3404
+ anon_sym_fun,
3405
+ anon_sym_AT,
3406
+ [997] = 2,
3407
+ ACTIONS(3), 1,
3408
+ sym_comment,
3409
+ ACTIONS(204), 6,
3410
+ ts_builtin_sym_end,
3411
+ anon_sym_class,
3412
+ anon_sym_trait,
3413
+ anon_sym_enum,
3414
+ anon_sym_fun,
3415
+ anon_sym_AT,
3416
+ [1009] = 2,
3417
+ ACTIONS(3), 1,
3418
+ sym_comment,
3419
+ ACTIONS(206), 6,
3420
+ ts_builtin_sym_end,
3421
+ anon_sym_class,
3422
+ anon_sym_trait,
3423
+ anon_sym_enum,
3424
+ anon_sym_fun,
3425
+ anon_sym_AT,
3426
+ [1021] = 2,
3427
+ ACTIONS(3), 1,
3428
+ sym_comment,
3429
+ ACTIONS(208), 6,
3430
+ ts_builtin_sym_end,
3431
+ anon_sym_class,
3432
+ anon_sym_trait,
3433
+ anon_sym_enum,
3434
+ anon_sym_fun,
3435
+ anon_sym_AT,
3436
+ [1033] = 2,
3437
+ ACTIONS(3), 1,
3438
+ sym_comment,
3439
+ ACTIONS(210), 6,
3440
+ ts_builtin_sym_end,
3441
+ anon_sym_class,
3442
+ anon_sym_trait,
3443
+ anon_sym_enum,
3444
+ anon_sym_fun,
3445
+ anon_sym_AT,
3446
+ [1045] = 2,
3447
+ ACTIONS(3), 1,
3448
+ sym_comment,
3449
+ ACTIONS(212), 6,
3450
+ ts_builtin_sym_end,
3451
+ anon_sym_class,
3452
+ anon_sym_trait,
3453
+ anon_sym_enum,
3454
+ anon_sym_fun,
3455
+ anon_sym_AT,
3456
+ [1057] = 2,
3457
+ ACTIONS(3), 1,
3458
+ sym_comment,
3459
+ ACTIONS(214), 6,
3460
+ ts_builtin_sym_end,
3461
+ anon_sym_class,
3462
+ anon_sym_trait,
3463
+ anon_sym_enum,
3464
+ anon_sym_fun,
3465
+ anon_sym_AT,
3466
+ [1069] = 2,
3467
+ ACTIONS(3), 1,
3468
+ sym_comment,
3469
+ ACTIONS(216), 6,
3470
+ ts_builtin_sym_end,
3471
+ anon_sym_class,
3472
+ anon_sym_trait,
3473
+ anon_sym_enum,
3474
+ anon_sym_fun,
3475
+ anon_sym_AT,
3476
+ [1081] = 2,
3477
+ ACTIONS(3), 1,
3478
+ sym_comment,
3479
+ ACTIONS(218), 6,
3480
+ ts_builtin_sym_end,
3481
+ anon_sym_class,
3482
+ anon_sym_trait,
3483
+ anon_sym_enum,
3484
+ anon_sym_fun,
3485
+ anon_sym_AT,
3486
+ [1093] = 2,
3487
+ ACTIONS(3), 1,
3488
+ sym_comment,
3489
+ ACTIONS(220), 6,
3490
+ ts_builtin_sym_end,
3491
+ anon_sym_class,
3492
+ anon_sym_trait,
3493
+ anon_sym_enum,
3494
+ anon_sym_fun,
3495
+ anon_sym_AT,
3496
+ [1105] = 2,
3497
+ ACTIONS(3), 1,
3498
+ sym_comment,
3499
+ ACTIONS(222), 6,
3500
+ ts_builtin_sym_end,
3501
+ anon_sym_class,
3502
+ anon_sym_trait,
3503
+ anon_sym_enum,
3504
+ anon_sym_fun,
3505
+ anon_sym_AT,
3506
+ [1117] = 2,
3507
+ ACTIONS(3), 1,
3508
+ sym_comment,
3509
+ ACTIONS(224), 6,
3510
+ ts_builtin_sym_end,
3511
+ anon_sym_class,
3512
+ anon_sym_trait,
3513
+ anon_sym_enum,
3514
+ anon_sym_fun,
3515
+ anon_sym_AT,
3516
+ [1129] = 2,
3517
+ ACTIONS(3), 1,
3518
+ sym_comment,
3519
+ ACTIONS(226), 6,
3520
+ ts_builtin_sym_end,
3521
+ anon_sym_class,
3522
+ anon_sym_trait,
3523
+ anon_sym_enum,
3524
+ anon_sym_fun,
3525
+ anon_sym_AT,
3526
+ [1141] = 2,
3527
+ ACTIONS(3), 1,
3528
+ sym_comment,
3529
+ ACTIONS(228), 6,
3530
+ ts_builtin_sym_end,
3531
+ anon_sym_class,
3532
+ anon_sym_trait,
3533
+ anon_sym_enum,
3534
+ anon_sym_fun,
3535
+ anon_sym_AT,
3536
+ [1153] = 2,
3537
+ ACTIONS(3), 1,
3538
+ sym_comment,
3539
+ ACTIONS(230), 6,
3540
+ ts_builtin_sym_end,
3541
+ anon_sym_class,
3542
+ anon_sym_trait,
3543
+ anon_sym_enum,
3544
+ anon_sym_fun,
3545
+ anon_sym_AT,
3546
+ [1165] = 2,
3547
+ ACTIONS(3), 1,
3548
+ sym_comment,
3549
+ ACTIONS(232), 6,
3550
+ ts_builtin_sym_end,
3551
+ anon_sym_class,
3552
+ anon_sym_trait,
3553
+ anon_sym_enum,
3554
+ anon_sym_fun,
3555
+ anon_sym_AT,
3556
+ [1177] = 2,
3557
+ ACTIONS(3), 1,
3558
+ sym_comment,
3559
+ ACTIONS(234), 6,
3560
+ ts_builtin_sym_end,
3561
+ anon_sym_class,
3562
+ anon_sym_trait,
3563
+ anon_sym_enum,
3564
+ anon_sym_fun,
3565
+ anon_sym_AT,
3566
+ [1189] = 2,
3567
+ ACTIONS(3), 1,
3568
+ sym_comment,
3569
+ ACTIONS(236), 6,
3570
+ ts_builtin_sym_end,
3571
+ anon_sym_class,
3572
+ anon_sym_trait,
3573
+ anon_sym_enum,
3574
+ anon_sym_fun,
3575
+ anon_sym_AT,
3576
+ [1201] = 2,
3577
+ ACTIONS(3), 1,
3578
+ sym_comment,
3579
+ ACTIONS(238), 6,
3580
+ ts_builtin_sym_end,
3581
+ anon_sym_class,
3582
+ anon_sym_trait,
3583
+ anon_sym_enum,
3584
+ anon_sym_fun,
3585
+ anon_sym_AT,
3586
+ [1213] = 2,
3587
+ ACTIONS(3), 1,
3588
+ sym_comment,
3589
+ ACTIONS(240), 6,
3590
+ ts_builtin_sym_end,
3591
+ anon_sym_class,
3592
+ anon_sym_trait,
3593
+ anon_sym_enum,
3594
+ anon_sym_fun,
3595
+ anon_sym_AT,
3596
+ [1225] = 2,
3597
+ ACTIONS(3), 1,
3598
+ sym_comment,
3599
+ ACTIONS(242), 6,
3600
+ ts_builtin_sym_end,
3601
+ anon_sym_class,
3602
+ anon_sym_trait,
3603
+ anon_sym_enum,
3604
+ anon_sym_fun,
3605
+ anon_sym_AT,
3606
+ [1237] = 2,
3607
+ ACTIONS(3), 1,
3608
+ sym_comment,
3609
+ ACTIONS(244), 6,
3610
+ ts_builtin_sym_end,
3611
+ anon_sym_class,
3612
+ anon_sym_trait,
3613
+ anon_sym_enum,
3614
+ anon_sym_fun,
3615
+ anon_sym_AT,
3616
+ [1249] = 2,
3617
+ ACTIONS(3), 1,
3618
+ sym_comment,
3619
+ ACTIONS(246), 6,
3620
+ ts_builtin_sym_end,
3621
+ anon_sym_class,
3622
+ anon_sym_trait,
3623
+ anon_sym_enum,
3624
+ anon_sym_fun,
3625
+ anon_sym_AT,
3626
+ [1261] = 2,
3627
+ ACTIONS(3), 1,
3628
+ sym_comment,
3629
+ ACTIONS(248), 6,
3630
+ ts_builtin_sym_end,
3631
+ anon_sym_class,
3632
+ anon_sym_trait,
3633
+ anon_sym_enum,
3634
+ anon_sym_fun,
3635
+ anon_sym_AT,
3636
+ [1273] = 2,
3637
+ ACTIONS(3), 1,
3638
+ sym_comment,
3639
+ ACTIONS(250), 6,
3640
+ ts_builtin_sym_end,
3641
+ anon_sym_class,
3642
+ anon_sym_trait,
3643
+ anon_sym_enum,
3644
+ anon_sym_fun,
3645
+ anon_sym_AT,
3646
+ [1285] = 2,
3647
+ ACTIONS(3), 1,
3648
+ sym_comment,
3649
+ ACTIONS(252), 6,
3650
+ ts_builtin_sym_end,
3651
+ anon_sym_class,
3652
+ anon_sym_trait,
3653
+ anon_sym_enum,
3654
+ anon_sym_fun,
3655
+ anon_sym_AT,
3656
+ [1297] = 2,
3657
+ ACTIONS(3), 1,
3658
+ sym_comment,
3659
+ ACTIONS(254), 6,
3660
+ ts_builtin_sym_end,
3661
+ anon_sym_class,
3662
+ anon_sym_trait,
3663
+ anon_sym_enum,
3664
+ anon_sym_fun,
3665
+ anon_sym_AT,
3666
+ [1309] = 2,
3667
+ ACTIONS(3), 1,
3668
+ sym_comment,
3669
+ ACTIONS(256), 6,
3670
+ ts_builtin_sym_end,
3671
+ anon_sym_class,
3672
+ anon_sym_trait,
3673
+ anon_sym_enum,
3674
+ anon_sym_fun,
3675
+ anon_sym_AT,
3676
+ [1321] = 2,
3677
+ ACTIONS(80), 1,
3678
+ sym_comment,
3679
+ ACTIONS(258), 5,
3680
+ anon_sym_BSLASHu,
3681
+ sym__escaped_identifier,
3682
+ anon_sym_DQUOTE,
3683
+ sym__line_str_text,
3684
+ anon_sym_DOLLAR,
3685
+ [1332] = 2,
3686
+ ACTIONS(80), 1,
3687
+ sym_comment,
3688
+ ACTIONS(260), 5,
3689
+ anon_sym_BSLASHu,
3690
+ sym__escaped_identifier,
3691
+ anon_sym_DQUOTE,
3692
+ sym__line_str_text,
3693
+ anon_sym_DOLLAR,
3694
+ [1343] = 2,
3695
+ ACTIONS(80), 1,
3696
+ sym_comment,
3697
+ ACTIONS(262), 5,
3698
+ anon_sym_BSLASHu,
3699
+ sym__escaped_identifier,
3700
+ anon_sym_DQUOTE,
3701
+ sym__line_str_text,
3702
+ anon_sym_DOLLAR,
3703
+ [1354] = 2,
3704
+ ACTIONS(80), 1,
3705
+ sym_comment,
3706
+ ACTIONS(264), 5,
3707
+ anon_sym_BSLASHu,
3708
+ sym__escaped_identifier,
3709
+ anon_sym_DQUOTE,
3710
+ sym__line_str_text,
3711
+ anon_sym_DOLLAR,
3712
+ [1365] = 5,
3713
+ ACTIONS(3), 1,
3714
+ sym_comment,
3715
+ ACTIONS(33), 1,
3716
+ anon_sym_AT,
3717
+ ACTIONS(266), 1,
3718
+ anon_sym_class,
3719
+ ACTIONS(268), 1,
3720
+ anon_sym_fun,
3721
+ STATE(93), 2,
3722
+ sym_decorator_name,
3723
+ aux_sym_class_definition_repeat1,
3724
+ [1382] = 5,
3725
+ ACTIONS(3), 1,
3726
+ sym_comment,
3727
+ ACTIONS(270), 1,
3728
+ anon_sym_fun,
3729
+ ACTIONS(272), 1,
3730
+ anon_sym_val,
3731
+ STATE(225), 1,
3732
+ sym_trait_field,
3733
+ STATE(263), 2,
3734
+ sym_type_field,
3735
+ sym_fun_field,
3736
+ [1399] = 6,
3737
+ ACTIONS(3), 1,
3738
+ sym_comment,
3739
+ ACTIONS(274), 1,
3740
+ anon_sym_LPAREN,
3741
+ ACTIONS(276), 1,
3742
+ anon_sym_COLON,
3743
+ ACTIONS(278), 1,
3744
+ anon_sym_LT,
3745
+ STATE(159), 1,
3746
+ sym_generic_list,
3747
+ STATE(285), 1,
3748
+ sym_trait_list,
3749
+ [1418] = 4,
3750
+ ACTIONS(3), 1,
3751
+ sym_comment,
3752
+ ACTIONS(282), 1,
3753
+ anon_sym_AT,
3754
+ ACTIONS(280), 2,
3755
+ anon_sym_class,
3756
+ anon_sym_fun,
3757
+ STATE(93), 2,
3758
+ sym_decorator_name,
3759
+ aux_sym_class_definition_repeat1,
3760
+ [1433] = 5,
3761
+ ACTIONS(3), 1,
3762
+ sym_comment,
3763
+ ACTIONS(270), 1,
3764
+ anon_sym_fun,
3765
+ ACTIONS(272), 1,
3766
+ anon_sym_val,
3767
+ STATE(177), 1,
3768
+ sym_trait_field,
3769
+ STATE(263), 2,
3770
+ sym_type_field,
3771
+ sym_fun_field,
3772
+ [1450] = 6,
3773
+ ACTIONS(3), 1,
3774
+ sym_comment,
3775
+ ACTIONS(276), 1,
3776
+ anon_sym_COLON,
3777
+ ACTIONS(278), 1,
3778
+ anon_sym_LT,
3779
+ ACTIONS(285), 1,
3780
+ anon_sym_LPAREN,
3781
+ STATE(194), 1,
3782
+ sym_generic_list,
3783
+ STATE(271), 1,
3784
+ sym_trait_list,
3785
+ [1469] = 5,
3786
+ ACTIONS(3), 1,
3787
+ sym_comment,
3788
+ ACTIONS(270), 1,
3789
+ anon_sym_fun,
3790
+ ACTIONS(272), 1,
3791
+ anon_sym_val,
3792
+ STATE(210), 1,
3793
+ sym_trait_field,
3794
+ STATE(263), 2,
3795
+ sym_type_field,
3796
+ sym_fun_field,
3797
+ [1486] = 6,
3798
+ ACTIONS(80), 1,
3799
+ sym_comment,
3800
+ ACTIONS(287), 1,
3801
+ aux_sym_character_literal_token1,
3802
+ ACTIONS(289), 1,
3803
+ anon_sym_BSLASHu,
3804
+ ACTIONS(291), 1,
3805
+ sym__escaped_identifier,
3806
+ STATE(284), 1,
3807
+ sym_character_escape_seq,
3808
+ STATE(290), 1,
3809
+ sym__uni_character_literal,
3810
+ [1505] = 5,
3811
+ ACTIONS(3), 1,
3812
+ sym_comment,
3813
+ ACTIONS(293), 1,
3814
+ anon_sym_COMMA,
3815
+ ACTIONS(295), 1,
3816
+ anon_sym_LBRACE,
3817
+ STATE(38), 1,
3818
+ sym__block,
3819
+ STATE(102), 1,
3820
+ aux_sym_fun_definition_repeat2,
3821
+ [1521] = 5,
3822
+ ACTIONS(3), 1,
3823
+ sym_comment,
3824
+ ACTIONS(293), 1,
3825
+ anon_sym_COMMA,
3826
+ ACTIONS(295), 1,
3827
+ anon_sym_LBRACE,
3828
+ STATE(71), 1,
3829
+ sym__block,
3830
+ STATE(102), 1,
3831
+ aux_sym_fun_definition_repeat2,
3832
+ [1537] = 5,
3833
+ ACTIONS(3), 1,
3834
+ sym_comment,
3835
+ ACTIONS(295), 1,
3836
+ anon_sym_LBRACE,
3837
+ ACTIONS(297), 1,
3838
+ sym_definition_name,
3839
+ STATE(27), 1,
3840
+ sym__block,
3841
+ STATE(135), 1,
3842
+ sym_type,
3843
+ [1553] = 4,
3844
+ ACTIONS(3), 1,
3845
+ sym_comment,
3846
+ ACTIONS(297), 1,
3847
+ sym_definition_name,
3848
+ STATE(166), 1,
3849
+ sym_type,
3850
+ ACTIONS(299), 2,
3851
+ anon_sym_COMMA,
3852
+ anon_sym_RPAREN,
3853
+ [1567] = 4,
3854
+ ACTIONS(3), 1,
3855
+ sym_comment,
3856
+ ACTIONS(301), 1,
3857
+ anon_sym_COMMA,
3858
+ STATE(102), 1,
3859
+ aux_sym_fun_definition_repeat2,
3860
+ ACTIONS(304), 2,
3861
+ anon_sym_RPAREN,
3862
+ anon_sym_LBRACE,
3863
+ [1581] = 5,
3864
+ ACTIONS(3), 1,
3865
+ sym_comment,
3866
+ ACTIONS(293), 1,
3867
+ anon_sym_COMMA,
3868
+ ACTIONS(295), 1,
3869
+ anon_sym_LBRACE,
3870
+ STATE(46), 1,
3871
+ sym__block,
3872
+ STATE(102), 1,
3873
+ aux_sym_fun_definition_repeat2,
3874
+ [1597] = 2,
3875
+ ACTIONS(80), 1,
3876
+ sym_comment,
3877
+ ACTIONS(258), 4,
3878
+ anon_sym_DQUOTE,
3879
+ anon_sym_BQUOTE,
3880
+ sym__multi_line_str_text,
3881
+ anon_sym_DOLLAR,
3882
+ [1607] = 4,
3883
+ ACTIONS(3), 1,
3884
+ sym_comment,
3885
+ ACTIONS(297), 1,
3886
+ sym_definition_name,
3887
+ STATE(195), 1,
3888
+ sym_type,
3889
+ ACTIONS(306), 2,
3890
+ anon_sym_COMMA,
3891
+ anon_sym_RPAREN,
3892
+ [1621] = 5,
3893
+ ACTIONS(3), 1,
3894
+ sym_comment,
3895
+ ACTIONS(293), 1,
3896
+ anon_sym_COMMA,
3897
+ ACTIONS(295), 1,
3898
+ anon_sym_LBRACE,
3899
+ STATE(45), 1,
3900
+ sym__block,
3901
+ STATE(102), 1,
3902
+ aux_sym_fun_definition_repeat2,
3903
+ [1637] = 5,
3904
+ ACTIONS(3), 1,
3905
+ sym_comment,
3906
+ ACTIONS(295), 1,
3907
+ anon_sym_LBRACE,
3908
+ ACTIONS(297), 1,
3909
+ sym_definition_name,
3910
+ STATE(76), 1,
3911
+ sym__block,
3912
+ STATE(133), 1,
3913
+ sym_type,
3914
+ [1653] = 5,
3915
+ ACTIONS(3), 1,
3916
+ sym_comment,
3917
+ ACTIONS(295), 1,
3918
+ anon_sym_LBRACE,
3919
+ ACTIONS(297), 1,
3920
+ sym_definition_name,
3921
+ STATE(79), 1,
3922
+ sym__block,
3923
+ STATE(141), 1,
3924
+ sym_type,
3925
+ [1669] = 5,
3926
+ ACTIONS(3), 1,
3927
+ sym_comment,
3928
+ ACTIONS(293), 1,
3929
+ anon_sym_COMMA,
3930
+ ACTIONS(295), 1,
3931
+ anon_sym_LBRACE,
3932
+ STATE(44), 1,
3933
+ sym__block,
3934
+ STATE(126), 1,
3935
+ aux_sym_fun_definition_repeat2,
3936
+ [1685] = 5,
3937
+ ACTIONS(3), 1,
3938
+ sym_comment,
3939
+ ACTIONS(293), 1,
3940
+ anon_sym_COMMA,
3941
+ ACTIONS(295), 1,
3942
+ anon_sym_LBRACE,
3943
+ STATE(83), 1,
3944
+ sym__block,
3945
+ STATE(114), 1,
3946
+ aux_sym_fun_definition_repeat2,
3947
+ [1701] = 5,
3948
+ ACTIONS(3), 1,
3949
+ sym_comment,
3950
+ ACTIONS(293), 1,
3951
+ anon_sym_COMMA,
3952
+ ACTIONS(295), 1,
3953
+ anon_sym_LBRACE,
3954
+ STATE(58), 1,
3955
+ sym__block,
3956
+ STATE(102), 1,
3957
+ aux_sym_fun_definition_repeat2,
3958
+ [1717] = 5,
3959
+ ACTIONS(3), 1,
3960
+ sym_comment,
3961
+ ACTIONS(293), 1,
3962
+ anon_sym_COMMA,
3963
+ ACTIONS(295), 1,
3964
+ anon_sym_LBRACE,
3965
+ STATE(24), 1,
3966
+ sym__block,
3967
+ STATE(102), 1,
3968
+ aux_sym_fun_definition_repeat2,
3969
+ [1733] = 5,
3970
+ ACTIONS(3), 1,
3971
+ sym_comment,
3972
+ ACTIONS(293), 1,
3973
+ anon_sym_COMMA,
3974
+ ACTIONS(295), 1,
3975
+ anon_sym_LBRACE,
3976
+ STATE(40), 1,
3977
+ sym__block,
3978
+ STATE(127), 1,
3979
+ aux_sym_fun_definition_repeat2,
3980
+ [1749] = 5,
3981
+ ACTIONS(3), 1,
3982
+ sym_comment,
3983
+ ACTIONS(293), 1,
3984
+ anon_sym_COMMA,
3985
+ ACTIONS(295), 1,
3986
+ anon_sym_LBRACE,
3987
+ STATE(60), 1,
3988
+ sym__block,
3989
+ STATE(102), 1,
3990
+ aux_sym_fun_definition_repeat2,
3991
+ [1765] = 5,
3992
+ ACTIONS(3), 1,
3993
+ sym_comment,
3994
+ ACTIONS(295), 1,
3995
+ anon_sym_LBRACE,
3996
+ ACTIONS(297), 1,
3997
+ sym_definition_name,
3998
+ STATE(81), 1,
3999
+ sym__block,
4000
+ STATE(140), 1,
4001
+ sym_type,
4002
+ [1781] = 5,
4003
+ ACTIONS(3), 1,
4004
+ sym_comment,
4005
+ ACTIONS(293), 1,
4006
+ anon_sym_COMMA,
4007
+ ACTIONS(295), 1,
4008
+ anon_sym_LBRACE,
4009
+ STATE(37), 1,
4010
+ sym__block,
4011
+ STATE(130), 1,
4012
+ aux_sym_fun_definition_repeat2,
4013
+ [1797] = 5,
4014
+ ACTIONS(3), 1,
4015
+ sym_comment,
4016
+ ACTIONS(293), 1,
4017
+ anon_sym_COMMA,
4018
+ ACTIONS(295), 1,
4019
+ anon_sym_LBRACE,
4020
+ STATE(77), 1,
4021
+ sym__block,
4022
+ STATE(139), 1,
4023
+ aux_sym_fun_definition_repeat2,
4024
+ [1813] = 5,
4025
+ ACTIONS(3), 1,
4026
+ sym_comment,
4027
+ ACTIONS(295), 1,
4028
+ anon_sym_LBRACE,
4029
+ ACTIONS(297), 1,
4030
+ sym_definition_name,
4031
+ STATE(75), 1,
4032
+ sym__block,
4033
+ STATE(125), 1,
4034
+ sym_type,
4035
+ [1829] = 5,
4036
+ ACTIONS(3), 1,
4037
+ sym_comment,
4038
+ ACTIONS(278), 1,
4039
+ anon_sym_LT,
4040
+ ACTIONS(308), 1,
4041
+ anon_sym_LPAREN,
4042
+ ACTIONS(310), 1,
4043
+ anon_sym_DOT,
4044
+ STATE(281), 1,
4045
+ sym_generic_list,
4046
+ [1845] = 5,
4047
+ ACTIONS(3), 1,
4048
+ sym_comment,
4049
+ ACTIONS(293), 1,
4050
+ anon_sym_COMMA,
4051
+ ACTIONS(295), 1,
4052
+ anon_sym_LBRACE,
4053
+ STATE(74), 1,
4054
+ sym__block,
4055
+ STATE(121), 1,
4056
+ aux_sym_fun_definition_repeat2,
4057
+ [1861] = 5,
4058
+ ACTIONS(3), 1,
4059
+ sym_comment,
4060
+ ACTIONS(293), 1,
4061
+ anon_sym_COMMA,
4062
+ ACTIONS(295), 1,
4063
+ anon_sym_LBRACE,
4064
+ STATE(70), 1,
4065
+ sym__block,
4066
+ STATE(102), 1,
4067
+ aux_sym_fun_definition_repeat2,
4068
+ [1877] = 5,
4069
+ ACTIONS(3), 1,
4070
+ sym_comment,
4071
+ ACTIONS(295), 1,
4072
+ anon_sym_LBRACE,
4073
+ ACTIONS(297), 1,
4074
+ sym_definition_name,
4075
+ STATE(33), 1,
4076
+ sym__block,
4077
+ STATE(131), 1,
4078
+ sym_type,
4079
+ [1893] = 5,
4080
+ ACTIONS(3), 1,
4081
+ sym_comment,
4082
+ ACTIONS(295), 1,
4083
+ anon_sym_LBRACE,
4084
+ ACTIONS(297), 1,
4085
+ sym_definition_name,
4086
+ STATE(63), 1,
4087
+ sym__block,
4088
+ STATE(109), 1,
4089
+ sym_type,
4090
+ [1909] = 4,
4091
+ ACTIONS(3), 1,
4092
+ sym_comment,
4093
+ ACTIONS(297), 1,
4094
+ sym_definition_name,
4095
+ STATE(154), 1,
4096
+ sym_type,
4097
+ ACTIONS(312), 2,
4098
+ anon_sym_COMMA,
4099
+ anon_sym_RPAREN,
4100
+ [1923] = 5,
4101
+ ACTIONS(3), 1,
4102
+ sym_comment,
4103
+ ACTIONS(293), 1,
4104
+ anon_sym_COMMA,
4105
+ ACTIONS(295), 1,
4106
+ anon_sym_LBRACE,
4107
+ STATE(69), 1,
4108
+ sym__block,
4109
+ STATE(103), 1,
4110
+ aux_sym_fun_definition_repeat2,
4111
+ [1939] = 5,
4112
+ ACTIONS(3), 1,
4113
+ sym_comment,
4114
+ ACTIONS(293), 1,
4115
+ anon_sym_COMMA,
4116
+ ACTIONS(295), 1,
4117
+ anon_sym_LBRACE,
4118
+ STATE(31), 1,
4119
+ sym__block,
4120
+ STATE(102), 1,
4121
+ aux_sym_fun_definition_repeat2,
4122
+ [1955] = 5,
4123
+ ACTIONS(3), 1,
4124
+ sym_comment,
4125
+ ACTIONS(293), 1,
4126
+ anon_sym_COMMA,
4127
+ ACTIONS(295), 1,
4128
+ anon_sym_LBRACE,
4129
+ STATE(30), 1,
4130
+ sym__block,
4131
+ STATE(102), 1,
4132
+ aux_sym_fun_definition_repeat2,
4133
+ [1971] = 5,
4134
+ ACTIONS(3), 1,
4135
+ sym_comment,
4136
+ ACTIONS(295), 1,
4137
+ anon_sym_LBRACE,
4138
+ ACTIONS(297), 1,
4139
+ sym_definition_name,
4140
+ STATE(52), 1,
4141
+ sym__block,
4142
+ STATE(116), 1,
4143
+ sym_type,
4144
+ [1987] = 5,
4145
+ ACTIONS(3), 1,
4146
+ sym_comment,
4147
+ ACTIONS(295), 1,
4148
+ anon_sym_LBRACE,
4149
+ ACTIONS(297), 1,
4150
+ sym_definition_name,
4151
+ STATE(64), 1,
4152
+ sym__block,
4153
+ STATE(110), 1,
4154
+ sym_type,
4155
+ [2003] = 5,
4156
+ ACTIONS(3), 1,
4157
+ sym_comment,
4158
+ ACTIONS(293), 1,
4159
+ anon_sym_COMMA,
4160
+ ACTIONS(295), 1,
4161
+ anon_sym_LBRACE,
4162
+ STATE(29), 1,
4163
+ sym__block,
4164
+ STATE(102), 1,
4165
+ aux_sym_fun_definition_repeat2,
4166
+ [2019] = 5,
4167
+ ACTIONS(3), 1,
4168
+ sym_comment,
4169
+ ACTIONS(293), 1,
4170
+ anon_sym_COMMA,
4171
+ ACTIONS(295), 1,
4172
+ anon_sym_LBRACE,
4173
+ STATE(57), 1,
4174
+ sym__block,
4175
+ STATE(111), 1,
4176
+ aux_sym_fun_definition_repeat2,
4177
+ [2035] = 5,
4178
+ ACTIONS(3), 1,
4179
+ sym_comment,
4180
+ ACTIONS(278), 1,
4181
+ anon_sym_LT,
4182
+ ACTIONS(310), 1,
4183
+ anon_sym_DOT,
4184
+ ACTIONS(314), 1,
4185
+ anon_sym_LPAREN,
4186
+ STATE(280), 1,
4187
+ sym_generic_list,
4188
+ [2051] = 5,
4189
+ ACTIONS(3), 1,
4190
+ sym_comment,
4191
+ ACTIONS(293), 1,
4192
+ anon_sym_COMMA,
4193
+ ACTIONS(295), 1,
4194
+ anon_sym_LBRACE,
4195
+ STATE(55), 1,
4196
+ sym__block,
4197
+ STATE(98), 1,
4198
+ aux_sym_fun_definition_repeat2,
4199
+ [2067] = 3,
4200
+ ACTIONS(3), 1,
4201
+ sym_comment,
4202
+ ACTIONS(318), 1,
4203
+ anon_sym_QMARK,
4204
+ ACTIONS(316), 3,
4205
+ anon_sym_COMMA,
4206
+ anon_sym_RPAREN,
4207
+ anon_sym_LBRACE,
4208
+ [2079] = 5,
4209
+ ACTIONS(3), 1,
4210
+ sym_comment,
4211
+ ACTIONS(293), 1,
4212
+ anon_sym_COMMA,
4213
+ ACTIONS(295), 1,
4214
+ anon_sym_LBRACE,
4215
+ STATE(50), 1,
4216
+ sym__block,
4217
+ STATE(99), 1,
4218
+ aux_sym_fun_definition_repeat2,
4219
+ [2095] = 5,
4220
+ ACTIONS(3), 1,
4221
+ sym_comment,
4222
+ ACTIONS(295), 1,
4223
+ anon_sym_LBRACE,
4224
+ ACTIONS(297), 1,
4225
+ sym_definition_name,
4226
+ STATE(56), 1,
4227
+ sym__block,
4228
+ STATE(113), 1,
4229
+ sym_type,
4230
+ [2111] = 5,
4231
+ ACTIONS(3), 1,
4232
+ sym_comment,
4233
+ ACTIONS(295), 1,
4234
+ anon_sym_LBRACE,
4235
+ ACTIONS(297), 1,
4236
+ sym_definition_name,
4237
+ STATE(51), 1,
4238
+ sym__block,
4239
+ STATE(120), 1,
4240
+ sym_type,
4241
+ [2127] = 5,
4242
+ ACTIONS(3), 1,
4243
+ sym_comment,
4244
+ ACTIONS(295), 1,
4245
+ anon_sym_LBRACE,
4246
+ ACTIONS(297), 1,
4247
+ sym_definition_name,
4248
+ STATE(53), 1,
4249
+ sym__block,
4250
+ STATE(117), 1,
4251
+ sym_type,
4252
+ [2143] = 5,
4253
+ ACTIONS(3), 1,
4254
+ sym_comment,
4255
+ ACTIONS(293), 1,
4256
+ anon_sym_COMMA,
4257
+ ACTIONS(295), 1,
4258
+ anon_sym_LBRACE,
4259
+ STATE(67), 1,
4260
+ sym__block,
4261
+ STATE(102), 1,
4262
+ aux_sym_fun_definition_repeat2,
4263
+ [2159] = 5,
4264
+ ACTIONS(3), 1,
4265
+ sym_comment,
4266
+ ACTIONS(293), 1,
4267
+ anon_sym_COMMA,
4268
+ ACTIONS(295), 1,
4269
+ anon_sym_LBRACE,
4270
+ STATE(66), 1,
4271
+ sym__block,
4272
+ STATE(106), 1,
4273
+ aux_sym_fun_definition_repeat2,
4274
+ [2175] = 5,
4275
+ ACTIONS(3), 1,
4276
+ sym_comment,
4277
+ ACTIONS(293), 1,
4278
+ anon_sym_COMMA,
4279
+ ACTIONS(295), 1,
4280
+ anon_sym_LBRACE,
4281
+ STATE(59), 1,
4282
+ sym__block,
4283
+ STATE(112), 1,
4284
+ aux_sym_fun_definition_repeat2,
4285
+ [2191] = 2,
4286
+ ACTIONS(80), 1,
4287
+ sym_comment,
4288
+ ACTIONS(262), 4,
4289
+ anon_sym_DQUOTE,
4290
+ anon_sym_BQUOTE,
4291
+ sym__multi_line_str_text,
4292
+ anon_sym_DOLLAR,
4293
+ [2201] = 4,
4294
+ ACTIONS(3), 1,
4295
+ sym_comment,
4296
+ ACTIONS(320), 1,
2470
4297
  anon_sym_COMMA,
2471
- ACTIONS(234), 1,
4298
+ ACTIONS(322), 1,
2472
4299
  anon_sym_RPAREN,
4300
+ STATE(152), 1,
4301
+ aux_sym_fun_definition_repeat1,
4302
+ [2214] = 4,
4303
+ ACTIONS(3), 1,
4304
+ sym_comment,
4305
+ ACTIONS(320), 1,
4306
+ anon_sym_COMMA,
4307
+ ACTIONS(324), 1,
4308
+ anon_sym_RPAREN,
4309
+ STATE(152), 1,
4310
+ aux_sym_fun_definition_repeat1,
4311
+ [2227] = 4,
4312
+ ACTIONS(3), 1,
4313
+ sym_comment,
4314
+ ACTIONS(326), 1,
4315
+ anon_sym_COMMA,
4316
+ ACTIONS(328), 1,
4317
+ anon_sym_RPAREN,
2473
- STATE(87), 1,
4318
+ STATE(187), 1,
2474
4319
  aux_sym_class_definition_repeat2,
2475
- [926] = 3,
4320
+ [2240] = 4,
4321
+ ACTIONS(3), 1,
4322
+ sym_comment,
2476
- ACTIONS(236), 1,
4323
+ ACTIONS(326), 1,
2477
4324
  anon_sym_COMMA,
2478
- ACTIONS(239), 1,
4325
+ ACTIONS(330), 1,
2479
4326
  anon_sym_RPAREN,
2480
- STATE(59), 1,
4327
+ STATE(180), 1,
2481
- aux_sym_fun_definition_repeat2,
4328
+ aux_sym_class_definition_repeat2,
2482
- [936] = 3,
4329
+ [2253] = 4,
4330
+ ACTIONS(3), 1,
4331
+ sym_comment,
2483
- ACTIONS(241), 1,
4332
+ ACTIONS(332), 1,
4333
+ anon_sym_RPAREN,
4334
+ ACTIONS(334), 1,
4335
+ sym_variable_name,
4336
+ STATE(182), 1,
4337
+ sym_param,
4338
+ [2266] = 4,
4339
+ ACTIONS(3), 1,
4340
+ sym_comment,
4341
+ ACTIONS(336), 1,
2484
4342
  aux_sym_url_token1,
2485
- STATE(141), 1,
4343
+ STATE(132), 1,
2486
4344
  sym_identifier,
2487
- STATE(179), 1,
4345
+ STATE(151), 1,
2488
4346
  sym__extension,
2489
- [946] = 3,
4347
+ [2279] = 4,
2490
- ACTIONS(243), 1,
4348
+ ACTIONS(3), 1,
4349
+ sym_comment,
4350
+ ACTIONS(338), 1,
2491
4351
  anon_sym_COMMA,
4352
+ ACTIONS(341), 1,
4353
+ anon_sym_RPAREN,
4354
+ STATE(102), 1,
4355
+ aux_sym_fun_definition_repeat2,
4356
+ [2292] = 4,
4357
+ ACTIONS(3), 1,
4358
+ sym_comment,
4359
+ ACTIONS(278), 1,
4360
+ anon_sym_LT,
4361
+ ACTIONS(343), 1,
4362
+ anon_sym_LPAREN,
4363
+ STATE(283), 1,
4364
+ sym_generic_list,
4365
+ [2305] = 4,
4366
+ ACTIONS(3), 1,
4367
+ sym_comment,
4368
+ ACTIONS(278), 1,
4369
+ anon_sym_LT,
4370
+ ACTIONS(314), 1,
4371
+ anon_sym_LPAREN,
4372
+ STATE(280), 1,
4373
+ sym_generic_list,
4374
+ [2318] = 4,
4375
+ ACTIONS(3), 1,
4376
+ sym_comment,
2492
- ACTIONS(245), 1,
4377
+ ACTIONS(345), 1,
2493
- anon_sym_GT,
4378
+ anon_sym_COMMA,
4379
+ ACTIONS(348), 1,
4380
+ anon_sym_RPAREN,
2494
- STATE(90), 1,
4381
+ STATE(152), 1,
2495
- aux_sym_trait_list_repeat1,
4382
+ aux_sym_fun_definition_repeat1,
2496
- [956] = 3,
4383
+ [2331] = 4,
4384
+ ACTIONS(3), 1,
4385
+ sym_comment,
2497
- ACTIONS(232), 1,
4386
+ ACTIONS(326), 1,
2498
4387
  anon_sym_COMMA,
2499
- ACTIONS(247), 1,
4388
+ ACTIONS(350), 1,
2500
4389
  anon_sym_RPAREN,
2501
- STATE(91), 1,
4390
+ STATE(187), 1,
2502
4391
  aux_sym_class_definition_repeat2,
2503
- [966] = 3,
4392
+ [2344] = 4,
4393
+ ACTIONS(3), 1,
4394
+ sym_comment,
2504
- ACTIONS(249), 1,
4395
+ ACTIONS(352), 1,
2505
4396
  anon_sym_COMMA,
2506
- ACTIONS(252), 1,
4397
+ ACTIONS(355), 1,
2507
4398
  anon_sym_RPAREN,
2508
- STATE(73), 1,
4399
+ STATE(149), 1,
2509
- aux_sym_enum_field_repeat1,
4400
+ aux_sym_fun_definition_repeat2,
2510
- [976] = 3,
4401
+ [2357] = 4,
4402
+ ACTIONS(3), 1,
4403
+ sym_comment,
2511
- ACTIONS(224), 1,
4404
+ ACTIONS(357), 1,
2512
4405
  anon_sym_COMMA,
2513
- ACTIONS(254), 1,
4406
+ ACTIONS(360), 1,
2514
4407
  anon_sym_RPAREN,
2515
- STATE(94), 1,
4408
+ STATE(155), 1,
2516
4409
  aux_sym_trait_definition_repeat1,
2517
- [986] = 3,
4410
+ [2370] = 4,
4411
+ ACTIONS(3), 1,
4412
+ sym_comment,
2518
- ACTIONS(224), 1,
4413
+ ACTIONS(362), 1,
2519
4414
  anon_sym_COMMA,
2520
- ACTIONS(256), 1,
4415
+ ACTIONS(365), 1,
2521
4416
  anon_sym_RPAREN,
4417
+ STATE(102), 1,
4418
+ aux_sym_fun_definition_repeat2,
4419
+ [2383] = 4,
4420
+ ACTIONS(3), 1,
4421
+ sym_comment,
4422
+ ACTIONS(336), 1,
4423
+ aux_sym_url_token1,
4424
+ STATE(119), 1,
4425
+ sym_identifier,
4426
+ STATE(163), 1,
4427
+ sym__extension,
4428
+ [2396] = 4,
4429
+ ACTIONS(3), 1,
4430
+ sym_comment,
4431
+ ACTIONS(367), 1,
4432
+ anon_sym_COMMA,
4433
+ ACTIONS(370), 1,
4434
+ anon_sym_GT,
2522
- STATE(95), 1,
4435
+ STATE(158), 1,
2523
- aux_sym_trait_definition_repeat1,
4436
+ aux_sym_generic_list_repeat1,
2524
- [996] = 3,
4437
+ [2409] = 4,
4438
+ ACTIONS(3), 1,
4439
+ sym_comment,
2525
- ACTIONS(258), 1,
4440
+ ACTIONS(276), 1,
4441
+ anon_sym_COLON,
4442
+ ACTIONS(372), 1,
2526
4443
  anon_sym_LPAREN,
2527
- ACTIONS(260), 1,
2528
- anon_sym_LT,
2529
- STATE(166), 1,
4444
+ STATE(267), 1,
2530
- sym_generic_list,
4445
+ sym_trait_list,
2531
- [1006] = 3,
4446
+ [2422] = 4,
2532
- ACTIONS(232), 1,
4447
+ ACTIONS(3), 1,
4448
+ sym_comment,
4449
+ ACTIONS(374), 1,
2533
4450
  anon_sym_COMMA,
2534
- ACTIONS(262), 1,
4451
+ ACTIONS(376), 1,
2535
4452
  anon_sym_RPAREN,
4453
+ STATE(155), 1,
4454
+ aux_sym_trait_definition_repeat1,
4455
+ [2435] = 4,
4456
+ ACTIONS(3), 1,
4457
+ sym_comment,
4458
+ ACTIONS(334), 1,
4459
+ sym_variable_name,
4460
+ ACTIONS(378), 1,
4461
+ anon_sym_RPAREN,
2536
- STATE(87), 1,
4462
+ STATE(181), 1,
2537
- aux_sym_class_definition_repeat2,
4463
+ sym_param,
2538
- [1016] = 3,
4464
+ [2448] = 4,
4465
+ ACTIONS(3), 1,
4466
+ sym_comment,
4467
+ ACTIONS(380), 1,
4468
+ anon_sym_COMMA,
2539
- ACTIONS(202), 1,
4469
+ ACTIONS(382), 1,
4470
+ anon_sym_RPAREN,
4471
+ STATE(165), 1,
2540
- sym_definition_name,
4472
+ aux_sym_decorator_name_repeat1,
4473
+ [2461] = 4,
4474
+ ACTIONS(3), 1,
4475
+ sym_comment,
2541
- ACTIONS(264), 1,
4476
+ ACTIONS(278), 1,
2542
- anon_sym_LBRACE,
2543
- STATE(99), 1,
2544
- sym_type,
2545
- [1026] = 3,
2546
- ACTIONS(260), 1,
2547
4477
  anon_sym_LT,
2548
- ACTIONS(266), 1,
4478
+ ACTIONS(308), 1,
2549
4479
  anon_sym_LPAREN,
2550
- STATE(170), 1,
4480
+ STATE(281), 1,
2551
4481
  sym_generic_list,
2552
- [1036] = 3,
4482
+ [2474] = 2,
4483
+ ACTIONS(3), 1,
4484
+ sym_comment,
4485
+ ACTIONS(384), 3,
4486
+ anon_sym_class,
4487
+ anon_sym_fun,
4488
+ anon_sym_AT,
4489
+ [2483] = 4,
4490
+ ACTIONS(3), 1,
4491
+ sym_comment,
2553
- ACTIONS(268), 1,
4492
+ ACTIONS(386), 1,
2554
4493
  anon_sym_COMMA,
2555
- ACTIONS(271), 1,
4494
+ ACTIONS(389), 1,
2556
4495
  anon_sym_RPAREN,
2557
- STATE(69), 1,
4496
+ STATE(165), 1,
2558
- aux_sym_fun_definition_repeat2,
4497
+ aux_sym_decorator_name_repeat1,
2559
- [1046] = 3,
4498
+ [2496] = 4,
2560
- ACTIONS(273), 1,
4499
+ ACTIONS(3), 1,
4500
+ sym_comment,
4501
+ ACTIONS(391), 1,
2561
4502
  anon_sym_COMMA,
2562
- ACTIONS(276), 1,
4503
+ ACTIONS(394), 1,
2563
4504
  anon_sym_RPAREN,
2564
- STATE(59), 1,
4505
+ STATE(156), 1,
2565
4506
  aux_sym_fun_definition_repeat2,
2566
- [1056] = 3,
4507
+ [2509] = 4,
4508
+ ACTIONS(3), 1,
4509
+ sym_comment,
2567
- ACTIONS(278), 1,
4510
+ ACTIONS(326), 1,
2568
4511
  anon_sym_COMMA,
2569
- ACTIONS(280), 1,
4512
+ ACTIONS(396), 1,
2570
4513
  anon_sym_RPAREN,
2571
- STATE(104), 1,
4514
+ STATE(187), 1,
2572
- aux_sym_fun_definition_repeat1,
4515
+ aux_sym_class_definition_repeat2,
2573
- [1066] = 3,
4516
+ [2522] = 4,
4517
+ ACTIONS(3), 1,
4518
+ sym_comment,
2574
- ACTIONS(232), 1,
4519
+ ACTIONS(326), 1,
2575
4520
  anon_sym_COMMA,
2576
- ACTIONS(282), 1,
4521
+ ACTIONS(398), 1,
2577
4522
  anon_sym_RPAREN,
2578
- STATE(106), 1,
4523
+ STATE(201), 1,
2579
4524
  aux_sym_class_definition_repeat2,
2580
- [1076] = 3,
4525
+ [2535] = 4,
4526
+ ACTIONS(3), 1,
4527
+ sym_comment,
2581
- ACTIONS(284), 1,
4528
+ ACTIONS(326), 1,
2582
4529
  anon_sym_COMMA,
2583
- ACTIONS(286), 1,
4530
+ ACTIONS(400), 1,
2584
4531
  anon_sym_RPAREN,
2585
- STATE(73), 1,
4532
+ STATE(203), 1,
2586
- aux_sym_enum_field_repeat1,
4533
+ aux_sym_class_definition_repeat2,
2587
- [1086] = 3,
4534
+ [2548] = 4,
4535
+ ACTIONS(3), 1,
4536
+ sym_comment,
2588
- ACTIONS(288), 1,
4537
+ ACTIONS(402), 1,
2589
4538
  anon_sym_COMMA,
2590
- ACTIONS(291), 1,
4539
+ ACTIONS(405), 1,
2591
4540
  anon_sym_RPAREN,
2592
- STATE(81), 1,
4541
+ STATE(102), 1,
2593
4542
  aux_sym_fun_definition_repeat2,
2594
- [1096] = 3,
4543
+ [2561] = 4,
2595
- ACTIONS(293), 1,
4544
+ ACTIONS(3), 1,
4545
+ sym_comment,
4546
+ ACTIONS(407), 1,
4547
+ anon_sym_LPAREN,
4548
+ ACTIONS(409), 1,
2596
4549
  anon_sym_COMMA,
4550
+ STATE(171), 1,
4551
+ aux_sym_trait_list_repeat1,
4552
+ [2574] = 4,
4553
+ ACTIONS(3), 1,
4554
+ sym_comment,
2597
- ACTIONS(296), 1,
4555
+ ACTIONS(326), 1,
2598
- anon_sym_RPAREN,
2599
- STATE(59), 1,
2600
- aux_sym_fun_definition_repeat2,
2601
- [1106] = 3,
2602
- ACTIONS(298), 1,
2603
4556
  anon_sym_COMMA,
2604
- ACTIONS(301), 1,
4557
+ ACTIONS(412), 1,
2605
4558
  anon_sym_RPAREN,
2606
- STATE(87), 1,
4559
+ STATE(197), 1,
2607
4560
  aux_sym_class_definition_repeat2,
2608
- [1116] = 3,
4561
+ [2587] = 4,
4562
+ ACTIONS(3), 1,
4563
+ sym_comment,
2609
- ACTIONS(228), 1,
4564
+ ACTIONS(320), 1,
2610
4565
  anon_sym_COMMA,
2611
- ACTIONS(303), 1,
4566
+ ACTIONS(414), 1,
2612
- anon_sym_LBRACE,
4567
+ anon_sym_RPAREN,
2613
- STATE(59), 1,
4568
+ STATE(152), 1,
2614
- aux_sym_fun_definition_repeat2,
4569
+ aux_sym_fun_definition_repeat1,
2615
- [1126] = 3,
4570
+ [2600] = 4,
2616
- ACTIONS(305), 1,
4571
+ ACTIONS(3), 1,
4572
+ sym_comment,
4573
+ ACTIONS(416), 1,
4574
+ anon_sym_LPAREN,
4575
+ ACTIONS(418), 1,
2617
4576
  anon_sym_COMMA,
4577
+ STATE(198), 1,
4578
+ aux_sym_trait_list_repeat1,
4579
+ [2613] = 4,
4580
+ ACTIONS(3), 1,
4581
+ sym_comment,
2618
- ACTIONS(307), 1,
4582
+ ACTIONS(320), 1,
4583
+ anon_sym_COMMA,
4584
+ ACTIONS(420), 1,
2619
- anon_sym_RBRACE,
4585
+ anon_sym_RPAREN,
2620
- STATE(93), 1,
4586
+ STATE(211), 1,
2621
- aux_sym_enum_definition_repeat1,
4587
+ aux_sym_fun_definition_repeat1,
2622
- [1136] = 3,
4588
+ [2626] = 4,
2623
- ACTIONS(309), 1,
4589
+ ACTIONS(3), 1,
4590
+ sym_comment,
4591
+ ACTIONS(422), 1,
2624
4592
  anon_sym_COMMA,
2625
- ACTIONS(312), 1,
4593
+ ACTIONS(424), 1,
2626
4594
  anon_sym_GT,
2627
- STATE(90), 1,
4595
+ STATE(206), 1,
2628
- aux_sym_trait_list_repeat1,
4596
+ aux_sym_generic_list_repeat1,
2629
- [1146] = 3,
4597
+ [2639] = 4,
2630
- ACTIONS(232), 1,
4598
+ ACTIONS(3), 1,
4599
+ sym_comment,
4600
+ ACTIONS(374), 1,
2631
4601
  anon_sym_COMMA,
4602
+ ACTIONS(426), 1,
4603
+ anon_sym_RPAREN,
4604
+ STATE(209), 1,
4605
+ aux_sym_trait_definition_repeat1,
4606
+ [2652] = 4,
4607
+ ACTIONS(3), 1,
4608
+ sym_comment,
2632
- ACTIONS(314), 1,
4609
+ ACTIONS(326), 1,
4610
+ anon_sym_COMMA,
4611
+ ACTIONS(428), 1,
4612
+ anon_sym_RPAREN,
4613
+ STATE(212), 1,
4614
+ aux_sym_class_definition_repeat2,
4615
+ [2665] = 4,
4616
+ ACTIONS(3), 1,
4617
+ sym_comment,
4618
+ ACTIONS(336), 1,
4619
+ aux_sym_url_token1,
4620
+ STATE(3), 1,
4621
+ sym_package,
4622
+ STATE(19), 1,
4623
+ sym_identifier,
4624
+ [2678] = 4,
4625
+ ACTIONS(3), 1,
4626
+ sym_comment,
4627
+ ACTIONS(326), 1,
4628
+ anon_sym_COMMA,
4629
+ ACTIONS(430), 1,
2633
4630
  anon_sym_RPAREN,
2634
- STATE(87), 1,
4631
+ STATE(187), 1,
2635
4632
  aux_sym_class_definition_repeat2,
2636
- [1156] = 3,
4633
+ [2691] = 4,
4634
+ ACTIONS(3), 1,
4635
+ sym_comment,
2637
- ACTIONS(316), 1,
4636
+ ACTIONS(320), 1,
4637
+ anon_sym_COMMA,
4638
+ ACTIONS(432), 1,
2638
4639
  anon_sym_RPAREN,
4640
+ STATE(144), 1,
4641
+ aux_sym_fun_definition_repeat1,
4642
+ [2704] = 4,
4643
+ ACTIONS(3), 1,
4644
+ sym_comment,
2639
- ACTIONS(318), 1,
4645
+ ACTIONS(320), 1,
4646
+ anon_sym_COMMA,
4647
+ ACTIONS(434), 1,
4648
+ anon_sym_RPAREN,
4649
+ STATE(215), 1,
4650
+ aux_sym_fun_definition_repeat1,
4651
+ [2717] = 4,
4652
+ ACTIONS(3), 1,
4653
+ sym_comment,
4654
+ ACTIONS(334), 1,
2640
4655
  sym_variable_name,
4656
+ ACTIONS(436), 1,
4657
+ anon_sym_RPAREN,
2641
- STATE(111), 1,
4658
+ STATE(216), 1,
2642
4659
  sym_param,
2643
- [1166] = 3,
4660
+ [2730] = 2,
4661
+ ACTIONS(3), 1,
4662
+ sym_comment,
4663
+ ACTIONS(438), 3,
4664
+ anon_sym_class,
4665
+ anon_sym_fun,
4666
+ anon_sym_AT,
4667
+ [2739] = 4,
4668
+ ACTIONS(3), 1,
4669
+ sym_comment,
2644
- ACTIONS(320), 1,
4670
+ ACTIONS(440), 1,
2645
4671
  anon_sym_COMMA,
2646
- ACTIONS(323), 1,
4672
+ ACTIONS(442), 1,
2647
4673
  anon_sym_RBRACE,
2648
- STATE(93), 1,
4674
+ STATE(213), 1,
2649
4675
  aux_sym_enum_definition_repeat1,
2650
- [1176] = 3,
4676
+ [2752] = 4,
4677
+ ACTIONS(3), 1,
4678
+ sym_comment,
2651
- ACTIONS(325), 1,
4679
+ ACTIONS(380), 1,
2652
4680
  anon_sym_COMMA,
2653
- ACTIONS(328), 1,
4681
+ ACTIONS(444), 1,
2654
4682
  anon_sym_RPAREN,
2655
- STATE(94), 1,
4683
+ STATE(200), 1,
2656
- aux_sym_trait_definition_repeat1,
4684
+ aux_sym_decorator_name_repeat1,
2657
- [1186] = 3,
4685
+ [2765] = 4,
4686
+ ACTIONS(3), 1,
4687
+ sym_comment,
2658
- ACTIONS(224), 1,
4688
+ ACTIONS(446), 1,
2659
4689
  anon_sym_COMMA,
2660
- ACTIONS(330), 1,
4690
+ ACTIONS(449), 1,
2661
4691
  anon_sym_RPAREN,
4692
+ STATE(187), 1,
4693
+ aux_sym_class_definition_repeat2,
4694
+ [2778] = 2,
4695
+ ACTIONS(3), 1,
4696
+ sym_comment,
4697
+ ACTIONS(451), 3,
4698
+ anon_sym_COMMA,
4699
+ anon_sym_RPAREN,
4700
+ anon_sym_LBRACE,
4701
+ [2787] = 4,
4702
+ ACTIONS(3), 1,
4703
+ sym_comment,
4704
+ ACTIONS(440), 1,
4705
+ anon_sym_COMMA,
4706
+ ACTIONS(453), 1,
4707
+ anon_sym_RBRACE,
2662
- STATE(94), 1,
4708
+ STATE(190), 1,
2663
- aux_sym_trait_definition_repeat1,
4709
+ aux_sym_enum_definition_repeat1,
2664
- [1196] = 3,
4710
+ [2800] = 4,
4711
+ ACTIONS(3), 1,
4712
+ sym_comment,
4713
+ ACTIONS(455), 1,
4714
+ anon_sym_COMMA,
2665
- ACTIONS(318), 1,
4715
+ ACTIONS(458), 1,
4716
+ anon_sym_RBRACE,
4717
+ STATE(190), 1,
4718
+ aux_sym_enum_definition_repeat1,
4719
+ [2813] = 4,
4720
+ ACTIONS(3), 1,
4721
+ sym_comment,
4722
+ ACTIONS(380), 1,
4723
+ anon_sym_COMMA,
4724
+ ACTIONS(460), 1,
4725
+ anon_sym_RPAREN,
4726
+ STATE(162), 1,
4727
+ aux_sym_decorator_name_repeat1,
4728
+ [2826] = 4,
4729
+ ACTIONS(3), 1,
4730
+ sym_comment,
4731
+ ACTIONS(334), 1,
2666
4732
  sym_variable_name,
2667
- ACTIONS(332), 1,
4733
+ ACTIONS(462), 1,
2668
4734
  anon_sym_RPAREN,
2669
- STATE(119), 1,
4735
+ STATE(175), 1,
4736
+ sym_param,
4737
+ [2839] = 4,
4738
+ ACTIONS(3), 1,
4739
+ sym_comment,
4740
+ ACTIONS(320), 1,
4741
+ anon_sym_COMMA,
4742
+ ACTIONS(464), 1,
4743
+ anon_sym_RPAREN,
4744
+ STATE(173), 1,
4745
+ aux_sym_fun_definition_repeat1,
4746
+ [2852] = 4,
4747
+ ACTIONS(3), 1,
4748
+ sym_comment,
4749
+ ACTIONS(276), 1,
4750
+ anon_sym_COLON,
4751
+ ACTIONS(466), 1,
4752
+ anon_sym_LPAREN,
4753
+ STATE(278), 1,
4754
+ sym_trait_list,
4755
+ [2865] = 4,
4756
+ ACTIONS(3), 1,
4757
+ sym_comment,
4758
+ ACTIONS(468), 1,
4759
+ anon_sym_COMMA,
4760
+ ACTIONS(471), 1,
4761
+ anon_sym_RPAREN,
4762
+ STATE(170), 1,
4763
+ aux_sym_fun_definition_repeat2,
4764
+ [2878] = 4,
4765
+ ACTIONS(3), 1,
4766
+ sym_comment,
4767
+ ACTIONS(334), 1,
4768
+ sym_variable_name,
4769
+ ACTIONS(473), 1,
4770
+ anon_sym_RPAREN,
4771
+ STATE(193), 1,
2670
4772
  sym_param,
4773
+ [2891] = 4,
4774
+ ACTIONS(3), 1,
4775
+ sym_comment,
4776
+ ACTIONS(326), 1,
4777
+ anon_sym_COMMA,
4778
+ ACTIONS(475), 1,
4779
+ anon_sym_RPAREN,
4780
+ STATE(187), 1,
4781
+ aux_sym_class_definition_repeat2,
2671
- [1206] = 3,
4782
+ [2904] = 4,
4783
+ ACTIONS(3), 1,
4784
+ sym_comment,
4785
+ ACTIONS(418), 1,
4786
+ anon_sym_COMMA,
4787
+ ACTIONS(477), 1,
4788
+ anon_sym_LPAREN,
4789
+ STATE(171), 1,
4790
+ aux_sym_trait_list_repeat1,
4791
+ [2917] = 4,
4792
+ ACTIONS(3), 1,
4793
+ sym_comment,
4794
+ ACTIONS(326), 1,
4795
+ anon_sym_COMMA,
4796
+ ACTIONS(479), 1,
4797
+ anon_sym_RPAREN,
4798
+ STATE(167), 1,
4799
+ aux_sym_class_definition_repeat2,
4800
+ [2930] = 4,
4801
+ ACTIONS(3), 1,
4802
+ sym_comment,
2672
- ACTIONS(284), 1,
4803
+ ACTIONS(380), 1,
4804
+ anon_sym_COMMA,
4805
+ ACTIONS(481), 1,
4806
+ anon_sym_RPAREN,
4807
+ STATE(165), 1,
4808
+ aux_sym_decorator_name_repeat1,
4809
+ [2943] = 4,
4810
+ ACTIONS(3), 1,
4811
+ sym_comment,
4812
+ ACTIONS(326), 1,
4813
+ anon_sym_COMMA,
4814
+ ACTIONS(483), 1,
4815
+ anon_sym_RPAREN,
4816
+ STATE(187), 1,
4817
+ aux_sym_class_definition_repeat2,
4818
+ [2956] = 2,
4819
+ ACTIONS(3), 1,
4820
+ sym_comment,
4821
+ ACTIONS(485), 3,
4822
+ anon_sym_class,
4823
+ anon_sym_fun,
4824
+ anon_sym_AT,
4825
+ [2965] = 4,
4826
+ ACTIONS(3), 1,
4827
+ sym_comment,
4828
+ ACTIONS(326), 1,
2673
4829
  anon_sym_COMMA,
2674
- ACTIONS(334), 1,
4830
+ ACTIONS(487), 1,
2675
4831
  anon_sym_RPAREN,
2676
- STATE(84), 1,
2677
- aux_sym_enum_field_repeat1,
2678
- [1216] = 3,
2679
- ACTIONS(260), 1,
2680
- anon_sym_LT,
2681
- ACTIONS(336), 1,
2682
- anon_sym_LPAREN,
2683
4832
  STATE(187), 1,
2684
- sym_generic_list,
4833
+ aux_sym_class_definition_repeat2,
2685
- [1226] = 3,
4834
+ [2978] = 4,
4835
+ ACTIONS(3), 1,
4836
+ sym_comment,
2686
- ACTIONS(228), 1,
4837
+ ACTIONS(326), 1,
2687
- anon_sym_COMMA,
2688
- ACTIONS(338), 1,
2689
- anon_sym_LBRACE,
2690
- STATE(120), 1,
2691
- aux_sym_fun_definition_repeat2,
2692
- [1236] = 3,
2693
- ACTIONS(232), 1,
2694
4838
  anon_sym_COMMA,
2695
- ACTIONS(340), 1,
4839
+ ACTIONS(489), 1,
2696
4840
  anon_sym_RPAREN,
2697
- STATE(68), 1,
4841
+ STATE(205), 1,
2698
4842
  aux_sym_class_definition_repeat2,
2699
- [1246] = 3,
4843
+ [2991] = 4,
4844
+ ACTIONS(3), 1,
4845
+ sym_comment,
2700
- ACTIONS(342), 1,
4846
+ ACTIONS(326), 1,
2701
4847
  anon_sym_COMMA,
2702
- ACTIONS(345), 1,
4848
+ ACTIONS(491), 1,
2703
4849
  anon_sym_RPAREN,
2704
- STATE(86), 1,
4850
+ STATE(187), 1,
2705
- aux_sym_fun_definition_repeat2,
4851
+ aux_sym_class_definition_repeat2,
2706
- [1256] = 3,
4852
+ [3004] = 4,
4853
+ ACTIONS(3), 1,
4854
+ sym_comment,
2707
- ACTIONS(202), 1,
4855
+ ACTIONS(422), 1,
2708
- sym_definition_name,
2709
- ACTIONS(347), 1,
2710
- anon_sym_LBRACE,
2711
- STATE(67), 1,
2712
- sym_type,
2713
- [1266] = 3,
2714
- ACTIONS(243), 1,
2715
4856
  anon_sym_COMMA,
2716
- ACTIONS(349), 1,
4857
+ ACTIONS(493), 1,
2717
4858
  anon_sym_GT,
2718
- STATE(71), 1,
4859
+ STATE(158), 1,
2719
- aux_sym_trait_list_repeat1,
4860
+ aux_sym_generic_list_repeat1,
2720
- [1276] = 3,
4861
+ [3017] = 4,
4862
+ ACTIONS(3), 1,
4863
+ sym_comment,
2721
- ACTIONS(351), 1,
4864
+ ACTIONS(326), 1,
2722
4865
  anon_sym_COMMA,
2723
- ACTIONS(354), 1,
4866
+ ACTIONS(495), 1,
2724
4867
  anon_sym_RPAREN,
2725
- STATE(104), 1,
4868
+ STATE(153), 1,
2726
- aux_sym_fun_definition_repeat1,
2727
- [1286] = 3,
2728
- ACTIONS(241), 1,
2729
- aux_sym_url_token1,
2730
- STATE(5), 1,
2731
- sym_package,
2732
- STATE(20), 1,
2733
- sym_identifier,
2734
- [1296] = 3,
2735
- ACTIONS(232), 1,
2736
- anon_sym_COMMA,
2737
- ACTIONS(356), 1,
2738
- anon_sym_RPAREN,
2739
- STATE(87), 1,
2740
4869
  aux_sym_class_definition_repeat2,
2741
- [1306] = 3,
4870
+ [3030] = 4,
4871
+ ACTIONS(3), 1,
4872
+ sym_comment,
2742
- ACTIONS(232), 1,
4873
+ ACTIONS(326), 1,
2743
4874
  anon_sym_COMMA,
2744
- ACTIONS(358), 1,
4875
+ ACTIONS(497), 1,
2745
4876
  anon_sym_RPAREN,
2746
- STATE(121), 1,
4877
+ STATE(145), 1,
2747
4878
  aux_sym_class_definition_repeat2,
2748
- [1316] = 3,
4879
+ [3043] = 4,
2749
- ACTIONS(228), 1,
4880
+ ACTIONS(3), 1,
2750
- anon_sym_COMMA,
4881
+ sym_comment,
2751
- ACTIONS(360), 1,
4882
+ ACTIONS(374), 1,
2752
- anon_sym_LBRACE,
2753
- STATE(88), 1,
2754
- aux_sym_fun_definition_repeat2,
2755
- [1326] = 3,
2756
- ACTIONS(228), 1,
2757
4883
  anon_sym_COMMA,
4884
+ ACTIONS(499), 1,
4885
+ anon_sym_RPAREN,
4886
+ STATE(155), 1,
4887
+ aux_sym_trait_definition_repeat1,
4888
+ [3056] = 4,
4889
+ ACTIONS(3), 1,
4890
+ sym_comment,
2758
- ACTIONS(362), 1,
4891
+ ACTIONS(374), 1,
2759
- anon_sym_LBRACE,
2760
- STATE(59), 1,
2761
- aux_sym_fun_definition_repeat2,
2762
- [1336] = 1,
2763
- ACTIONS(207), 3,
2764
4892
  anon_sym_COMMA,
4893
+ ACTIONS(501), 1,
2765
4894
  anon_sym_RPAREN,
2766
- anon_sym_LBRACE,
4895
+ STATE(160), 1,
4896
+ aux_sym_trait_definition_repeat1,
2767
- [1342] = 3,
4897
+ [3069] = 4,
4898
+ ACTIONS(3), 1,
4899
+ sym_comment,
2768
- ACTIONS(278), 1,
4900
+ ACTIONS(320), 1,
2769
4901
  anon_sym_COMMA,
2770
- ACTIONS(364), 1,
4902
+ ACTIONS(503), 1,
2771
4903
  anon_sym_RPAREN,
2772
- STATE(118), 1,
4904
+ STATE(152), 1,
2773
4905
  aux_sym_fun_definition_repeat1,
2774
- [1352] = 3,
4906
+ [3082] = 4,
4907
+ ACTIONS(3), 1,
4908
+ sym_comment,
2775
- ACTIONS(305), 1,
4909
+ ACTIONS(326), 1,
2776
4910
  anon_sym_COMMA,
2777
- ACTIONS(366), 1,
2778
- anon_sym_RBRACE,
2779
- STATE(89), 1,
2780
- aux_sym_enum_definition_repeat1,
2781
- [1362] = 3,
2782
- ACTIONS(305), 1,
4911
+ ACTIONS(505), 1,
4912
+ anon_sym_RPAREN,
4913
+ STATE(187), 1,
4914
+ aux_sym_class_definition_repeat2,
4915
+ [3095] = 4,
4916
+ ACTIONS(3), 1,
4917
+ sym_comment,
4918
+ ACTIONS(440), 1,
2783
4919
  anon_sym_COMMA,
2784
- ACTIONS(368), 1,
4920
+ ACTIONS(507), 1,
2785
4921
  anon_sym_RBRACE,
2786
- STATE(93), 1,
4922
+ STATE(190), 1,
2787
4923
  aux_sym_enum_definition_repeat1,
2788
- [1372] = 3,
4924
+ [3108] = 4,
2789
- ACTIONS(305), 1,
4925
+ ACTIONS(3), 1,
4926
+ sym_comment,
4927
+ ACTIONS(440), 1,
2790
4928
  anon_sym_COMMA,
2791
- ACTIONS(370), 1,
4929
+ ACTIONS(509), 1,
2792
4930
  anon_sym_RBRACE,
2793
- STATE(113), 1,
4931
+ STATE(189), 1,
2794
4932
  aux_sym_enum_definition_repeat1,
2795
- [1382] = 3,
4933
+ [3121] = 4,
4934
+ ACTIONS(3), 1,
4935
+ sym_comment,
2796
- ACTIONS(232), 1,
4936
+ ACTIONS(320), 1,
2797
- anon_sym_COMMA,
2798
- ACTIONS(372), 1,
2799
- anon_sym_RPAREN,
2800
- STATE(77), 1,
2801
- aux_sym_class_definition_repeat2,
2802
- [1392] = 3,
2803
- ACTIONS(202), 1,
2804
- sym_definition_name,
2805
- ACTIONS(374), 1,
2806
- anon_sym_LBRACE,
2807
- STATE(108), 1,
2808
- sym_type,
2809
- [1402] = 1,
2810
- ACTIONS(376), 3,
2811
- anon_sym_COMMA,
2812
- anon_sym_RPAREN,
2813
- anon_sym_LBRACE,
2814
- [1408] = 3,
2815
- ACTIONS(278), 1,
2816
4937
  anon_sym_COMMA,
2817
- ACTIONS(378), 1,
4938
+ ACTIONS(511), 1,
2818
4939
  anon_sym_RPAREN,
2819
- STATE(104), 1,
4940
+ STATE(152), 1,
2820
4941
  aux_sym_fun_definition_repeat1,
2821
- [1418] = 3,
4942
+ [3134] = 4,
4943
+ ACTIONS(3), 1,
4944
+ sym_comment,
2822
- ACTIONS(278), 1,
4945
+ ACTIONS(320), 1,
2823
4946
  anon_sym_COMMA,
2824
- ACTIONS(380), 1,
4947
+ ACTIONS(513), 1,
2825
4948
  anon_sym_RPAREN,
2826
- STATE(82), 1,
4949
+ STATE(143), 1,
2827
4950
  aux_sym_fun_definition_repeat1,
2828
- [1428] = 3,
4951
+ [3147] = 2,
2829
- ACTIONS(228), 1,
2830
- anon_sym_COMMA,
2831
- ACTIONS(382), 1,
4952
+ ACTIONS(3), 1,
2832
- anon_sym_LBRACE,
4953
+ sym_comment,
2833
- STATE(59), 1,
2834
- aux_sym_fun_definition_repeat2,
2835
- [1438] = 3,
2836
- ACTIONS(232), 1,
4954
+ ACTIONS(304), 3,
2837
4955
  anon_sym_COMMA,
2838
- ACTIONS(384), 1,
2839
4956
  anon_sym_RPAREN,
2840
- STATE(87), 1,
4957
+ anon_sym_LBRACE,
2841
- aux_sym_class_definition_repeat2,
2842
- [1448] = 1,
4958
+ [3156] = 3,
2843
- ACTIONS(386), 2,
4959
+ ACTIONS(3), 1,
2844
- anon_sym_COMMA,
2845
- anon_sym_RPAREN,
4960
+ sym_comment,
2846
- [1453] = 2,
2847
- ACTIONS(241), 1,
4961
+ ACTIONS(297), 1,
2848
- aux_sym_url_token1,
2849
- STATE(103), 1,
2850
- sym_identifier,
2851
- [1460] = 2,
2852
- ACTIONS(202), 1,
2853
4962
  sym_definition_name,
2854
- STATE(110), 1,
4963
+ STATE(226), 1,
2855
4964
  sym_type,
2856
- [1467] = 2,
4965
+ [3166] = 3,
2857
- ACTIONS(388), 1,
4966
+ ACTIONS(3), 1,
4967
+ sym_comment,
4968
+ ACTIONS(272), 1,
4969
+ anon_sym_val,
4970
+ STATE(254), 1,
4971
+ sym_type_field,
4972
+ [3176] = 3,
4973
+ ACTIONS(3), 1,
4974
+ sym_comment,
4975
+ ACTIONS(515), 1,
2858
4976
  aux_sym_url_token1,
2859
- STATE(57), 1,
4977
+ STATE(142), 1,
2860
4978
  sym_identifier,
2861
- [1474] = 2,
4979
+ [3186] = 3,
2862
- ACTIONS(390), 1,
4980
+ ACTIONS(3), 1,
4981
+ sym_comment,
4982
+ ACTIONS(517), 1,
4983
+ sym_enum_field_name,
4984
+ STATE(250), 1,
4985
+ sym_enum_field,
4986
+ [3196] = 3,
4987
+ ACTIONS(3), 1,
4988
+ sym_comment,
4989
+ ACTIONS(519), 1,
2863
4990
  aux_sym_url_token1,
2864
- STATE(21), 1,
4991
+ STATE(20), 1,
2865
4992
  sym_url,
2866
- [1481] = 1,
4993
+ [3206] = 2,
4994
+ ACTIONS(3), 1,
4995
+ sym_comment,
2867
- ACTIONS(392), 2,
4996
+ ACTIONS(348), 2,
2868
4997
  anon_sym_COMMA,
2869
- anon_sym_RBRACE,
4998
+ anon_sym_RPAREN,
2870
- [1486] = 1,
4999
+ [3214] = 3,
5000
+ ACTIONS(3), 1,
5001
+ sym_comment,
5002
+ ACTIONS(334), 1,
5003
+ sym_variable_name,
5004
+ STATE(223), 1,
5005
+ sym_param,
5006
+ [3224] = 2,
5007
+ ACTIONS(3), 1,
5008
+ sym_comment,
2871
- ACTIONS(252), 2,
5009
+ ACTIONS(360), 2,
2872
5010
  anon_sym_COMMA,
2873
5011
  anon_sym_RPAREN,
2874
- [1491] = 1,
5012
+ [3232] = 2,
5013
+ ACTIONS(3), 1,
5014
+ sym_comment,
2875
- ACTIONS(394), 2,
5015
+ ACTIONS(521), 2,
2876
5016
  anon_sym_COMMA,
2877
5017
  anon_sym_RPAREN,
2878
- [1496] = 2,
5018
+ [3240] = 3,
2879
- ACTIONS(202), 1,
5019
+ ACTIONS(3), 1,
2880
- sym_definition_name,
2881
- STATE(122), 1,
2882
- sym_type,
5020
+ sym_comment,
2883
- [1503] = 2,
2884
- ACTIONS(396), 1,
5021
+ ACTIONS(336), 1,
2885
- sym_enum_field_name,
2886
- STATE(153), 1,
2887
- sym_enum_field,
2888
- [1510] = 2,
2889
- ACTIONS(241), 1,
2890
5022
  aux_sym_url_token1,
2891
- STATE(160), 1,
5023
+ STATE(295), 1,
2892
5024
  sym_identifier,
2893
- [1517] = 2,
5025
+ [3250] = 2,
2894
- ACTIONS(396), 1,
5026
+ ACTIONS(3), 1,
2895
- sym_enum_field_name,
2896
- STATE(112), 1,
2897
- sym_enum_field,
5027
+ sym_comment,
2898
- [1524] = 1,
2899
- ACTIONS(398), 2,
5028
+ ACTIONS(523), 2,
2900
5029
  anon_sym_COMMA,
2901
- anon_sym_RPAREN,
5030
+ anon_sym_RBRACE,
2902
- [1529] = 2,
5031
+ [3258] = 2,
2903
- ACTIONS(318), 1,
5032
+ ACTIONS(3), 1,
2904
- sym_variable_name,
2905
- STATE(146), 1,
2906
- sym_param,
5033
+ sym_comment,
2907
- [1536] = 1,
2908
- ACTIONS(400), 2,
5034
+ ACTIONS(525), 2,
2909
5035
  anon_sym_COMMA,
2910
5036
  anon_sym_RPAREN,
2911
- [1541] = 1,
5037
+ [3266] = 2,
5038
+ ACTIONS(3), 1,
5039
+ sym_comment,
2912
- ACTIONS(402), 2,
5040
+ ACTIONS(527), 2,
2913
5041
  anon_sym_COMMA,
2914
5042
  anon_sym_RPAREN,
2915
- [1546] = 2,
5043
+ [3274] = 3,
5044
+ ACTIONS(3), 1,
5045
+ sym_comment,
2916
- ACTIONS(241), 1,
5046
+ ACTIONS(272), 1,
2917
- aux_sym_url_token1,
2918
- STATE(194), 1,
2919
- sym_identifier,
2920
- [1553] = 2,
2921
- ACTIONS(182), 1,
2922
5047
  anon_sym_val,
2923
- STATE(72), 1,
5048
+ STATE(146), 1,
2924
5049
  sym_type_field,
2925
- [1560] = 2,
5050
+ [3284] = 3,
5051
+ ACTIONS(3), 1,
5052
+ sym_comment,
2926
- ACTIONS(182), 1,
5053
+ ACTIONS(272), 1,
2927
5054
  anon_sym_val,
2928
- STATE(107), 1,
5055
+ STATE(172), 1,
2929
5056
  sym_type_field,
2930
- [1567] = 2,
5057
+ [3294] = 3,
5058
+ ACTIONS(3), 1,
5059
+ sym_comment,
2931
- ACTIONS(404), 1,
5060
+ ACTIONS(336), 1,
5061
+ aux_sym_url_token1,
5062
+ STATE(176), 1,
5063
+ sym_identifier,
5064
+ [3304] = 2,
5065
+ ACTIONS(3), 1,
5066
+ sym_comment,
5067
+ ACTIONS(529), 2,
5068
+ anon_sym_COMMA,
5069
+ anon_sym_RPAREN,
5070
+ [3312] = 2,
5071
+ ACTIONS(3), 1,
5072
+ sym_comment,
5073
+ ACTIONS(531), 2,
2932
5074
  anon_sym_LPAREN,
5075
+ anon_sym_COLON,
5076
+ [3320] = 3,
5077
+ ACTIONS(3), 1,
5078
+ sym_comment,
5079
+ ACTIONS(533), 1,
5080
+ aux_sym_url_token1,
5081
+ STATE(88), 1,
5082
+ sym_identifier,
5083
+ [3330] = 3,
5084
+ ACTIONS(3), 1,
5085
+ sym_comment,
2933
- ACTIONS(406), 1,
5086
+ ACTIONS(336), 1,
5087
+ aux_sym_url_token1,
5088
+ STATE(241), 1,
5089
+ sym_identifier,
5090
+ [3340] = 2,
5091
+ ACTIONS(3), 1,
5092
+ sym_comment,
5093
+ ACTIONS(535), 2,
2934
- anon_sym_DOT,
5094
+ anon_sym_COMMA,
5095
+ anon_sym_RPAREN,
2935
- [1574] = 2,
5096
+ [3348] = 2,
5097
+ ACTIONS(3), 1,
5098
+ sym_comment,
5099
+ ACTIONS(537), 2,
5100
+ anon_sym_COMMA,
5101
+ anon_sym_RPAREN,
5102
+ [3356] = 3,
5103
+ ACTIONS(3), 1,
5104
+ sym_comment,
2936
- ACTIONS(182), 1,
5105
+ ACTIONS(272), 1,
2937
5106
  anon_sym_val,
2938
- STATE(83), 1,
5107
+ STATE(178), 1,
2939
5108
  sym_type_field,
2940
- [1581] = 2,
5109
+ [3366] = 2,
5110
+ ACTIONS(3), 1,
5111
+ sym_comment,
5112
+ ACTIONS(370), 2,
5113
+ anon_sym_COMMA,
5114
+ anon_sym_GT,
5115
+ [3374] = 3,
5116
+ ACTIONS(3), 1,
5117
+ sym_comment,
5118
+ ACTIONS(517), 1,
5119
+ sym_enum_field_name,
5120
+ STATE(185), 1,
5121
+ sym_enum_field,
5122
+ [3384] = 3,
5123
+ ACTIONS(3), 1,
5124
+ sym_comment,
5125
+ ACTIONS(336), 1,
5126
+ aux_sym_url_token1,
5127
+ STATE(258), 1,
5128
+ sym_identifier,
5129
+ [3394] = 3,
5130
+ ACTIONS(3), 1,
5131
+ sym_comment,
2941
- ACTIONS(202), 1,
5132
+ ACTIONS(272), 1,
2942
- sym_definition_name,
5133
+ anon_sym_val,
2943
- STATE(144), 1,
5134
+ STATE(168), 1,
2944
- sym_type,
5135
+ sym_type_field,
2945
- [1588] = 1,
5136
+ [3404] = 2,
5137
+ ACTIONS(3), 1,
5138
+ sym_comment,
2946
- ACTIONS(408), 2,
5139
+ ACTIONS(389), 2,
2947
5140
  anon_sym_COMMA,
2948
5141
  anon_sym_RPAREN,
2949
- [1593] = 1,
5142
+ [3412] = 3,
5143
+ ACTIONS(3), 1,
5144
+ sym_comment,
5145
+ ACTIONS(272), 1,
5146
+ anon_sym_val,
5147
+ STATE(169), 1,
5148
+ sym_type_field,
5149
+ [3422] = 2,
5150
+ ACTIONS(3), 1,
5151
+ sym_comment,
2950
- ACTIONS(410), 2,
5152
+ ACTIONS(539), 2,
2951
5153
  anon_sym_COMMA,
2952
5154
  anon_sym_RBRACE,
2953
- [1598] = 1,
5155
+ [3430] = 3,
5156
+ ACTIONS(3), 1,
5157
+ sym_comment,
5158
+ ACTIONS(272), 1,
5159
+ anon_sym_val,
5160
+ STATE(204), 1,
5161
+ sym_type_field,
5162
+ [3440] = 2,
5163
+ ACTIONS(3), 1,
5164
+ sym_comment,
2954
- ACTIONS(354), 2,
5165
+ ACTIONS(541), 2,
2955
- anon_sym_COMMA,
2956
- anon_sym_RPAREN,
2957
- [1603] = 1,
2958
- ACTIONS(412), 2,
2959
- anon_sym_class,
2960
- anon_sym_AT,
2961
- [1608] = 1,
2962
- ACTIONS(414), 2,
2963
5166
  anon_sym_COMMA,
2964
5167
  anon_sym_RPAREN,
2965
- [1613] = 1,
5168
+ [3448] = 2,
5169
+ ACTIONS(3), 1,
5170
+ sym_comment,
2966
- ACTIONS(416), 2,
5171
+ ACTIONS(458), 2,
2967
5172
  anon_sym_COMMA,
5173
+ anon_sym_RBRACE,
5174
+ [3456] = 2,
5175
+ ACTIONS(3), 1,
5176
+ sym_comment,
5177
+ ACTIONS(543), 2,
2968
- anon_sym_RPAREN,
5178
+ anon_sym_LPAREN,
5179
+ anon_sym_COLON,
2969
- [1618] = 2,
5180
+ [3464] = 3,
5181
+ ACTIONS(3), 1,
5182
+ sym_comment,
5183
+ ACTIONS(297), 1,
5184
+ sym_definition_name,
5185
+ STATE(249), 1,
5186
+ sym_type,
5187
+ [3474] = 3,
5188
+ ACTIONS(3), 1,
5189
+ sym_comment,
2970
- ACTIONS(182), 1,
5190
+ ACTIONS(272), 1,
2971
5191
  anon_sym_val,
2972
- STATE(159), 1,
2973
- sym_type_field,
2974
- [1625] = 2,
2975
- ACTIONS(241), 1,
2976
- aux_sym_url_token1,
2977
5192
  STATE(199), 1,
2978
- sym_identifier,
5193
+ sym_type_field,
2979
- [1632] = 2,
5194
+ [3484] = 2,
5195
+ ACTIONS(3), 1,
5196
+ sym_comment,
2980
- ACTIONS(418), 1,
5197
+ ACTIONS(449), 2,
2981
- aux_sym_url_token1,
2982
- STATE(56), 1,
2983
- sym_identifier,
2984
- [1639] = 1,
2985
- ACTIONS(323), 2,
2986
5198
  anon_sym_COMMA,
2987
- anon_sym_RBRACE,
5199
+ anon_sym_RPAREN,
2988
- [1644] = 1,
5200
+ [3492] = 3,
5201
+ ACTIONS(3), 1,
5202
+ sym_comment,
5203
+ ACTIONS(297), 1,
5204
+ sym_definition_name,
5205
+ STATE(217), 1,
5206
+ sym_type,
5207
+ [3502] = 2,
5208
+ ACTIONS(3), 1,
5209
+ sym_comment,
2989
- ACTIONS(420), 2,
5210
+ ACTIONS(545), 2,
2990
5211
  anon_sym_COMMA,
2991
5212
  anon_sym_RPAREN,
2992
- [1649] = 2,
5213
+ [3510] = 3,
2993
- ACTIONS(396), 1,
5214
+ ACTIONS(3), 1,
5215
+ sym_comment,
5216
+ ACTIONS(517), 1,
2994
5217
  sym_enum_field_name,
2995
- STATE(114), 1,
5218
+ STATE(214), 1,
2996
5219
  sym_enum_field,
2997
- [1656] = 2,
5220
+ [3520] = 2,
5221
+ ACTIONS(3), 1,
5222
+ sym_comment,
5223
+ ACTIONS(547), 2,
5224
+ anon_sym_LPAREN,
5225
+ anon_sym_LT,
5226
+ [3528] = 3,
5227
+ ACTIONS(3), 1,
5228
+ sym_comment,
2998
- ACTIONS(182), 1,
5229
+ ACTIONS(272), 1,
2999
5230
  anon_sym_val,
3000
- STATE(115), 1,
5231
+ STATE(207), 1,
3001
5232
  sym_type_field,
3002
- [1663] = 1,
5233
+ [3538] = 2,
5234
+ ACTIONS(3), 1,
5235
+ sym_comment,
3003
- ACTIONS(328), 2,
5236
+ ACTIONS(407), 2,
5237
+ anon_sym_LPAREN,
3004
5238
  anon_sym_COMMA,
3005
- anon_sym_RPAREN,
3006
- [1668] = 2,
5239
+ [3546] = 3,
5240
+ ACTIONS(3), 1,
5241
+ sym_comment,
3007
- ACTIONS(182), 1,
5242
+ ACTIONS(272), 1,
3008
5243
  anon_sym_val,
3009
- STATE(100), 1,
5244
+ STATE(208), 1,
3010
5245
  sym_type_field,
3011
- [1675] = 1,
5246
+ [3556] = 3,
5247
+ ACTIONS(3), 1,
5248
+ sym_comment,
3012
- ACTIONS(301), 2,
5249
+ ACTIONS(336), 1,
5250
+ aux_sym_url_token1,
5251
+ STATE(293), 1,
5252
+ sym_identifier,
5253
+ [3566] = 2,
5254
+ ACTIONS(3), 1,
5255
+ sym_comment,
5256
+ ACTIONS(549), 2,
3013
5257
  anon_sym_COMMA,
3014
5258
  anon_sym_RPAREN,
3015
- [1680] = 1,
5259
+ [3574] = 2,
3016
- ACTIONS(312), 2,
5260
+ ACTIONS(3), 1,
3017
- anon_sym_COMMA,
3018
- anon_sym_GT,
5261
+ sym_comment,
3019
- [1685] = 1,
3020
- ACTIONS(422), 1,
5262
+ ACTIONS(551), 1,
3021
- anon_sym_RBRACE,
3022
- [1689] = 1,
3023
- ACTIONS(424), 1,
3024
5263
  anon_sym_EQ_GT,
3025
- [1693] = 1,
5264
+ [3581] = 2,
5265
+ ACTIONS(3), 1,
5266
+ sym_comment,
3026
- ACTIONS(426), 1,
5267
+ ACTIONS(553), 1,
5268
+ anon_sym_EQ_GT,
5269
+ [3588] = 2,
5270
+ ACTIONS(3), 1,
5271
+ sym_comment,
5272
+ ACTIONS(555), 1,
5273
+ anon_sym_EQ_GT,
5274
+ [3595] = 2,
5275
+ ACTIONS(3), 1,
5276
+ sym_comment,
5277
+ ACTIONS(557), 1,
3027
5278
  anon_sym_LPAREN,
3028
- [1697] = 1,
5279
+ [3602] = 2,
3029
- ACTIONS(428), 1,
3030
- anon_sym_RBRACE,
3031
- [1701] = 1,
3032
- ACTIONS(430), 1,
5280
+ ACTIONS(3), 1,
5281
+ sym_comment,
5282
+ ACTIONS(559), 1,
3033
- anon_sym_RBRACE,
5283
+ anon_sym_EQ_GT,
3034
- [1705] = 1,
5284
+ [3609] = 2,
3035
- ACTIONS(432), 1,
5285
+ ACTIONS(3), 1,
5286
+ sym_comment,
5287
+ ACTIONS(561), 1,
5288
+ anon_sym_COLON,
5289
+ [3616] = 2,
5290
+ ACTIONS(3), 1,
5291
+ sym_comment,
5292
+ ACTIONS(563), 1,
3036
5293
  anon_sym_LPAREN,
3037
- [1709] = 1,
5294
+ [3623] = 2,
3038
- ACTIONS(434), 1,
5295
+ ACTIONS(3), 1,
3039
- anon_sym_SQUOTE,
5296
+ sym_comment,
3040
- [1713] = 1,
3041
- ACTIONS(436), 1,
5297
+ ACTIONS(565), 1,
3042
- aux_sym__uni_character_literal_token1,
3043
- [1717] = 1,
3044
- ACTIONS(186), 1,
3045
- anon_sym_SQUOTE,
3046
- [1721] = 1,
3047
- ACTIONS(438), 1,
3048
5298
  anon_sym_LPAREN,
3049
- [1725] = 1,
5299
+ [3630] = 2,
5300
+ ACTIONS(3), 1,
5301
+ sym_comment,
3050
- ACTIONS(440), 1,
5302
+ ACTIONS(567), 1,
3051
- anon_sym_LBRACE,
5303
+ anon_sym_EQ_GT,
3052
- [1729] = 1,
5304
+ [3637] = 2,
5305
+ ACTIONS(3), 1,
5306
+ sym_comment,
3053
- ACTIONS(442), 1,
5307
+ ACTIONS(569), 1,
3054
- aux_sym_url_token1,
3055
- [1733] = 1,
3056
- ACTIONS(444), 1,
3057
- anon_sym_RBRACE,
3058
- [1737] = 1,
3059
- ACTIONS(446), 1,
3060
- sym_definition_name,
3061
- [1741] = 1,
3062
- ACTIONS(448), 1,
3063
5308
  sym_variable_name,
3064
- [1745] = 1,
5309
+ [3644] = 2,
5310
+ ACTIONS(3), 1,
5311
+ sym_comment,
3065
- ACTIONS(450), 1,
5312
+ ACTIONS(571), 1,
5313
+ anon_sym_EQ_GT,
5314
+ [3651] = 2,
5315
+ ACTIONS(3), 1,
5316
+ sym_comment,
5317
+ ACTIONS(573), 1,
5318
+ anon_sym_EQ_GT,
5319
+ [3658] = 2,
5320
+ ACTIONS(3), 1,
5321
+ sym_comment,
5322
+ ACTIONS(575), 1,
5323
+ anon_sym_LBRACE,
5324
+ [3665] = 2,
5325
+ ACTIONS(3), 1,
5326
+ sym_comment,
5327
+ ACTIONS(577), 1,
3066
5328
  anon_sym_EQ_GT,
3067
- [1749] = 1,
5329
+ [3672] = 2,
5330
+ ACTIONS(3), 1,
5331
+ sym_comment,
3068
- ACTIONS(452), 1,
5332
+ ACTIONS(579), 1,
5333
+ anon_sym_LPAREN,
5334
+ [3679] = 2,
5335
+ ACTIONS(3), 1,
5336
+ sym_comment,
5337
+ ACTIONS(581), 1,
3069
5338
  anon_sym_EQ_GT,
3070
- [1753] = 1,
5339
+ [3686] = 2,
5340
+ ACTIONS(3), 1,
5341
+ sym_comment,
3071
- ACTIONS(454), 1,
5342
+ ACTIONS(583), 1,
5343
+ anon_sym_LPAREN,
5344
+ [3693] = 2,
5345
+ ACTIONS(3), 1,
5346
+ sym_comment,
5347
+ ACTIONS(585), 1,
5348
+ anon_sym_LPAREN,
5349
+ [3700] = 2,
5350
+ ACTIONS(3), 1,
5351
+ sym_comment,
5352
+ ACTIONS(587), 1,
3072
5353
  anon_sym_COLON,
3073
- [1757] = 1,
5354
+ [3707] = 2,
5355
+ ACTIONS(3), 1,
5356
+ sym_comment,
3074
- ACTIONS(404), 1,
5357
+ ACTIONS(589), 1,
3075
5358
  anon_sym_LPAREN,
3076
- [1761] = 1,
5359
+ [3714] = 2,
5360
+ ACTIONS(3), 1,
5361
+ sym_comment,
3077
- ACTIONS(456), 1,
5362
+ ACTIONS(591), 1,
5363
+ anon_sym_SQUOTE,
5364
+ [3721] = 2,
5365
+ ACTIONS(3), 1,
5366
+ sym_comment,
5367
+ ACTIONS(593), 1,
3078
5368
  anon_sym_LPAREN,
3079
- [1765] = 1,
5369
+ [3728] = 2,
5370
+ ACTIONS(3), 1,
5371
+ sym_comment,
3080
- ACTIONS(458), 1,
5372
+ ACTIONS(595), 1,
3081
- anon_sym_RBRACE,
5373
+ sym_definition_name,
3082
- [1769] = 1,
5374
+ [3735] = 2,
5375
+ ACTIONS(3), 1,
5376
+ sym_comment,
3083
- ACTIONS(460), 1,
5377
+ ACTIONS(597), 1,
3084
- anon_sym_RBRACE,
5378
+ sym_definition_name,
3085
- [1773] = 1,
5379
+ [3742] = 2,
5380
+ ACTIONS(3), 1,
5381
+ sym_comment,
3086
- ACTIONS(462), 1,
5382
+ ACTIONS(599), 1,
3087
5383
  anon_sym_EQ_GT,
3088
- [1777] = 1,
5384
+ [3749] = 2,
5385
+ ACTIONS(3), 1,
5386
+ sym_comment,
3089
- ACTIONS(464), 1,
5387
+ ACTIONS(601), 1,
3090
- anon_sym_RBRACE,
5388
+ aux_sym_url_token1,
3091
- [1781] = 1,
5389
+ [3756] = 2,
5390
+ ACTIONS(3), 1,
5391
+ sym_comment,
3092
- ACTIONS(178), 1,
5392
+ ACTIONS(603), 1,
3093
5393
  anon_sym_SQUOTE,
3094
- [1785] = 1,
5394
+ [3763] = 2,
5395
+ ACTIONS(3), 1,
5396
+ sym_comment,
3095
- ACTIONS(466), 1,
5397
+ ACTIONS(605), 1,
3096
- anon_sym_RBRACE,
5398
+ sym_definition_name,
3097
- [1789] = 1,
5399
+ [3770] = 2,
5400
+ ACTIONS(3), 1,
5401
+ sym_comment,
3098
- ACTIONS(468), 1,
5402
+ ACTIONS(607), 1,
5403
+ anon_sym_SQUOTE,
5404
+ [3777] = 2,
5405
+ ACTIONS(3), 1,
5406
+ sym_comment,
5407
+ ACTIONS(609), 1,
3099
5408
  anon_sym_LPAREN,
3100
- [1793] = 1,
5409
+ [3784] = 2,
5410
+ ACTIONS(3), 1,
5411
+ sym_comment,
3101
- ACTIONS(470), 1,
5412
+ ACTIONS(611), 1,
5413
+ anon_sym_EQ_GT,
5414
+ [3791] = 2,
5415
+ ACTIONS(3), 1,
5416
+ sym_comment,
5417
+ ACTIONS(613), 1,
3102
5418
  anon_sym_LPAREN,
3103
- [1797] = 1,
5419
+ [3798] = 2,
5420
+ ACTIONS(3), 1,
5421
+ sym_comment,
3104
- ACTIONS(472), 1,
5422
+ ACTIONS(615), 1,
3105
5423
  anon_sym_EQ_GT,
3106
- [1801] = 1,
3107
- ACTIONS(474), 1,
3108
- sym_definition_name,
3109
- [1805] = 1,
5424
+ [3805] = 2,
5425
+ ACTIONS(3), 1,
5426
+ sym_comment,
3110
- ACTIONS(476), 1,
5427
+ ACTIONS(617), 1,
5428
+ anon_sym_LPAREN,
5429
+ [3812] = 2,
5430
+ ACTIONS(3), 1,
5431
+ sym_comment,
5432
+ ACTIONS(619), 1,
3111
5433
  anon_sym_EQ_GT,
3112
- [1809] = 1,
5434
+ [3819] = 2,
5435
+ ACTIONS(3), 1,
5436
+ sym_comment,
3113
- ACTIONS(478), 1,
5437
+ ACTIONS(621), 1,
3114
- anon_sym_COLON,
5438
+ aux_sym__uni_character_literal_token1,
3115
- [1813] = 1,
5439
+ [3826] = 2,
5440
+ ACTIONS(3), 1,
5441
+ sym_comment,
3116
- ACTIONS(480), 1,
5442
+ ACTIONS(623), 1,
3117
5443
  anon_sym_LBRACE,
3118
- [1817] = 1,
5444
+ [3833] = 2,
5445
+ ACTIONS(3), 1,
5446
+ sym_comment,
3119
- ACTIONS(482), 1,
5447
+ ACTIONS(625), 1,
3120
- anon_sym_LPAREN,
5448
+ anon_sym_RBRACE,
3121
- [1821] = 1,
5449
+ [3840] = 2,
5450
+ ACTIONS(3), 1,
5451
+ sym_comment,
3122
- ACTIONS(484), 1,
5452
+ ACTIONS(627), 1,
3123
- anon_sym_LPAREN,
3124
- [1825] = 1,
3125
- ACTIONS(486), 1,
3126
5453
  sym_definition_name,
3127
- [1829] = 1,
5454
+ [3847] = 2,
5455
+ ACTIONS(3), 1,
5456
+ sym_comment,
3128
- ACTIONS(488), 1,
5457
+ ACTIONS(629), 1,
3129
5458
  sym_definition_name,
3130
- [1833] = 1,
5459
+ [3854] = 2,
5460
+ ACTIONS(3), 1,
5461
+ sym_comment,
3131
- ACTIONS(490), 1,
5462
+ ACTIONS(631), 1,
3132
5463
  sym_definition_name,
3133
- [1837] = 1,
5464
+ [3861] = 2,
5465
+ ACTIONS(3), 1,
5466
+ sym_comment,
3134
- ACTIONS(492), 1,
5467
+ ACTIONS(633), 1,
3135
- anon_sym_LPAREN,
5468
+ anon_sym_EQ_GT,
3136
- [1841] = 1,
5469
+ [3868] = 2,
5470
+ ACTIONS(3), 1,
5471
+ sym_comment,
3137
- ACTIONS(494), 1,
5472
+ ACTIONS(635), 1,
3138
5473
  ts_builtin_sym_end,
3139
- [1845] = 1,
5474
+ [3875] = 2,
5475
+ ACTIONS(3), 1,
5476
+ sym_comment,
3140
- ACTIONS(496), 1,
5477
+ ACTIONS(637), 1,
3141
5478
  aux_sym__uni_character_literal_token1,
3142
- [1849] = 1,
5479
+ [3882] = 2,
5480
+ ACTIONS(3), 1,
5481
+ sym_comment,
3143
- ACTIONS(498), 1,
5482
+ ACTIONS(639), 1,
3144
- anon_sym_RBRACE,
5483
+ anon_sym_EQ_GT,
3145
5484
  };
3146
5485
 
3147
5486
  static const uint32_t ts_small_parse_table_map[] = {
3148
5487
  [SMALL_STATE(2)] = 0,
3149
- [SMALL_STATE(3)] = 40,
3150
- [SMALL_STATE(4)] = 72,
3151
- [SMALL_STATE(5)] = 104,
3152
- [SMALL_STATE(6)] = 144,
3153
- [SMALL_STATE(7)] = 177,
3154
- [SMALL_STATE(8)] = 210,
3155
- [SMALL_STATE(9)] = 243,
3156
- [SMALL_STATE(10)] = 257,
3157
- [SMALL_STATE(11)] = 282,
3158
- [SMALL_STATE(12)] = 307,
3159
- [SMALL_STATE(13)] = 332,
3160
- [SMALL_STATE(14)] = 348,
3161
- [SMALL_STATE(15)] = 364,
3162
- [SMALL_STATE(16)] = 380,
3163
- [SMALL_STATE(17)] = 396,
3164
- [SMALL_STATE(18)] = 407,
3165
- [SMALL_STATE(19)] = 423,
3166
- [SMALL_STATE(20)] = 439,
3167
- [SMALL_STATE(21)] = 449,
3168
- [SMALL_STATE(22)] = 459,
3169
- [SMALL_STATE(23)] = 475,
3170
- [SMALL_STATE(24)] = 484,
3171
- [SMALL_STATE(25)] = 493,
3172
- [SMALL_STATE(26)] = 502,
3173
- [SMALL_STATE(27)] = 511,
3174
- [SMALL_STATE(28)] = 520,
3175
- [SMALL_STATE(29)] = 529,
3176
- [SMALL_STATE(30)] = 538,
3177
- [SMALL_STATE(31)] = 547,
3178
- [SMALL_STATE(32)] = 556,
3179
- [SMALL_STATE(33)] = 565,
3180
- [SMALL_STATE(34)] = 574,
3181
- [SMALL_STATE(35)] = 583,
3182
- [SMALL_STATE(36)] = 592,
3183
- [SMALL_STATE(37)] = 601,
3184
- [SMALL_STATE(38)] = 610,
3185
- [SMALL_STATE(39)] = 619,
3186
- [SMALL_STATE(40)] = 628,
3187
- [SMALL_STATE(41)] = 637,
3188
- [SMALL_STATE(42)] = 646,
3189
- [SMALL_STATE(43)] = 655,
3190
- [SMALL_STATE(44)] = 664,
3191
- [SMALL_STATE(45)] = 673,
3192
- [SMALL_STATE(46)] = 682,
3193
- [SMALL_STATE(47)] = 691,
3194
- [SMALL_STATE(48)] = 700,
3195
- [SMALL_STATE(49)] = 709,
3196
- [SMALL_STATE(50)] = 719,
3197
- [SMALL_STATE(51)] = 733,
3198
- [SMALL_STATE(52)] = 743,
3199
- [SMALL_STATE(53)] = 753,
3200
- [SMALL_STATE(54)] = 769,
3201
- [SMALL_STATE(55)] = 783,
3202
- [SMALL_STATE(56)] = 797,
3203
- [SMALL_STATE(57)] = 807,
3204
- [SMALL_STATE(58)] = 814,
3205
- [SMALL_STATE(59)] = 825,
3206
- [SMALL_STATE(60)] = 836,
3207
- [SMALL_STATE(61)] = 847,
3208
- [SMALL_STATE(62)] = 858,
3209
- [SMALL_STATE(63)] = 869,
3210
- [SMALL_STATE(64)] = 880,
3211
- [SMALL_STATE(65)] = 889,
3212
- [SMALL_STATE(66)] = 896,
3213
- [SMALL_STATE(67)] = 906,
3214
- [SMALL_STATE(68)] = 916,
3215
- [SMALL_STATE(69)] = 926,
3216
- [SMALL_STATE(70)] = 936,
3217
- [SMALL_STATE(71)] = 946,
3218
- [SMALL_STATE(72)] = 956,
3219
- [SMALL_STATE(73)] = 966,
3220
- [SMALL_STATE(74)] = 976,
3221
- [SMALL_STATE(75)] = 986,
3222
- [SMALL_STATE(76)] = 996,
3223
- [SMALL_STATE(77)] = 1006,
3224
- [SMALL_STATE(78)] = 1016,
3225
- [SMALL_STATE(79)] = 1026,
3226
- [SMALL_STATE(80)] = 1036,
3227
- [SMALL_STATE(81)] = 1046,
3228
- [SMALL_STATE(82)] = 1056,
3229
- [SMALL_STATE(83)] = 1066,
3230
- [SMALL_STATE(84)] = 1076,
3231
- [SMALL_STATE(85)] = 1086,
3232
- [SMALL_STATE(86)] = 1096,
3233
- [SMALL_STATE(87)] = 1106,
3234
- [SMALL_STATE(88)] = 1116,
3235
- [SMALL_STATE(89)] = 1126,
3236
- [SMALL_STATE(90)] = 1136,
3237
- [SMALL_STATE(91)] = 1146,
3238
- [SMALL_STATE(92)] = 1156,
3239
- [SMALL_STATE(93)] = 1166,
3240
- [SMALL_STATE(94)] = 1176,
3241
- [SMALL_STATE(95)] = 1186,
3242
- [SMALL_STATE(96)] = 1196,
3243
- [SMALL_STATE(97)] = 1206,
3244
- [SMALL_STATE(98)] = 1216,
3245
- [SMALL_STATE(99)] = 1226,
3246
- [SMALL_STATE(100)] = 1236,
3247
- [SMALL_STATE(101)] = 1246,
3248
- [SMALL_STATE(102)] = 1256,
3249
- [SMALL_STATE(103)] = 1266,
3250
- [SMALL_STATE(104)] = 1276,
3251
- [SMALL_STATE(105)] = 1286,
3252
- [SMALL_STATE(106)] = 1296,
3253
- [SMALL_STATE(107)] = 1306,
3254
- [SMALL_STATE(108)] = 1316,
3255
- [SMALL_STATE(109)] = 1326,
3256
- [SMALL_STATE(110)] = 1336,
3257
- [SMALL_STATE(111)] = 1342,
3258
- [SMALL_STATE(112)] = 1352,
3259
- [SMALL_STATE(113)] = 1362,
3260
- [SMALL_STATE(114)] = 1372,
3261
- [SMALL_STATE(115)] = 1382,
3262
- [SMALL_STATE(116)] = 1392,
3263
- [SMALL_STATE(117)] = 1402,
3264
- [SMALL_STATE(118)] = 1408,
3265
- [SMALL_STATE(119)] = 1418,
3266
- [SMALL_STATE(120)] = 1428,
3267
- [SMALL_STATE(121)] = 1438,
3268
- [SMALL_STATE(122)] = 1448,
3269
- [SMALL_STATE(123)] = 1453,
3270
- [SMALL_STATE(124)] = 1460,
3271
- [SMALL_STATE(125)] = 1467,
3272
- [SMALL_STATE(126)] = 1474,
3273
- [SMALL_STATE(127)] = 1481,
3274
- [SMALL_STATE(128)] = 1486,
3275
- [SMALL_STATE(129)] = 1491,
3276
- [SMALL_STATE(130)] = 1496,
3277
- [SMALL_STATE(131)] = 1503,
3278
- [SMALL_STATE(132)] = 1510,
3279
- [SMALL_STATE(133)] = 1517,
3280
- [SMALL_STATE(134)] = 1524,
3281
- [SMALL_STATE(135)] = 1529,
3282
- [SMALL_STATE(136)] = 1536,
3283
- [SMALL_STATE(137)] = 1541,
3284
- [SMALL_STATE(138)] = 1546,
3285
- [SMALL_STATE(139)] = 1553,
3286
- [SMALL_STATE(140)] = 1560,
3287
- [SMALL_STATE(141)] = 1567,
3288
- [SMALL_STATE(142)] = 1574,
3289
- [SMALL_STATE(143)] = 1581,
3290
- [SMALL_STATE(144)] = 1588,
3291
- [SMALL_STATE(145)] = 1593,
3292
- [SMALL_STATE(146)] = 1598,
3293
- [SMALL_STATE(147)] = 1603,
3294
- [SMALL_STATE(148)] = 1608,
3295
- [SMALL_STATE(149)] = 1613,
3296
- [SMALL_STATE(150)] = 1618,
3297
- [SMALL_STATE(151)] = 1625,
3298
- [SMALL_STATE(152)] = 1632,
3299
- [SMALL_STATE(153)] = 1639,
3300
- [SMALL_STATE(154)] = 1644,
3301
- [SMALL_STATE(155)] = 1649,
3302
- [SMALL_STATE(156)] = 1656,
3303
- [SMALL_STATE(157)] = 1663,
3304
- [SMALL_STATE(158)] = 1668,
3305
- [SMALL_STATE(159)] = 1675,
3306
- [SMALL_STATE(160)] = 1680,
3307
- [SMALL_STATE(161)] = 1685,
3308
- [SMALL_STATE(162)] = 1689,
3309
- [SMALL_STATE(163)] = 1693,
3310
- [SMALL_STATE(164)] = 1697,
3311
- [SMALL_STATE(165)] = 1701,
3312
- [SMALL_STATE(166)] = 1705,
3313
- [SMALL_STATE(167)] = 1709,
3314
- [SMALL_STATE(168)] = 1713,
3315
- [SMALL_STATE(169)] = 1717,
3316
- [SMALL_STATE(170)] = 1721,
3317
- [SMALL_STATE(171)] = 1725,
3318
- [SMALL_STATE(172)] = 1729,
3319
- [SMALL_STATE(173)] = 1733,
3320
- [SMALL_STATE(174)] = 1737,
3321
- [SMALL_STATE(175)] = 1741,
3322
- [SMALL_STATE(176)] = 1745,
3323
- [SMALL_STATE(177)] = 1749,
3324
- [SMALL_STATE(178)] = 1753,
3325
- [SMALL_STATE(179)] = 1757,
3326
- [SMALL_STATE(180)] = 1761,
3327
- [SMALL_STATE(181)] = 1765,
3328
- [SMALL_STATE(182)] = 1769,
3329
- [SMALL_STATE(183)] = 1773,
3330
- [SMALL_STATE(184)] = 1777,
3331
- [SMALL_STATE(185)] = 1781,
3332
- [SMALL_STATE(186)] = 1785,
3333
- [SMALL_STATE(187)] = 1789,
3334
- [SMALL_STATE(188)] = 1793,
3335
- [SMALL_STATE(189)] = 1797,
3336
- [SMALL_STATE(190)] = 1801,
3337
- [SMALL_STATE(191)] = 1805,
3338
- [SMALL_STATE(192)] = 1809,
3339
- [SMALL_STATE(193)] = 1813,
3340
- [SMALL_STATE(194)] = 1817,
3341
- [SMALL_STATE(195)] = 1821,
3342
- [SMALL_STATE(196)] = 1825,
3343
- [SMALL_STATE(197)] = 1829,
3344
- [SMALL_STATE(198)] = 1833,
3345
- [SMALL_STATE(199)] = 1837,
3346
- [SMALL_STATE(200)] = 1841,
3347
- [SMALL_STATE(201)] = 1845,
3348
- [SMALL_STATE(202)] = 1849,
5488
+ [SMALL_STATE(3)] = 38,
5489
+ [SMALL_STATE(4)] = 81,
5490
+ [SMALL_STATE(5)] = 116,
5491
+ [SMALL_STATE(6)] = 151,
5492
+ [SMALL_STATE(7)] = 194,
5493
+ [SMALL_STATE(8)] = 230,
5494
+ [SMALL_STATE(9)] = 266,
5495
+ [SMALL_STATE(10)] = 302,
5496
+ [SMALL_STATE(11)] = 320,
5497
+ [SMALL_STATE(12)] = 348,
5498
+ [SMALL_STATE(13)] = 376,
5499
+ [SMALL_STATE(14)] = 404,
5500
+ [SMALL_STATE(15)] = 423,
5501
+ [SMALL_STATE(16)] = 442,
5502
+ [SMALL_STATE(17)] = 461,
5503
+ [SMALL_STATE(18)] = 480,
5504
+ [SMALL_STATE(19)] = 494,
5505
+ [SMALL_STATE(20)] = 507,
5506
+ [SMALL_STATE(21)] = 520,
5507
+ [SMALL_STATE(22)] = 539,
5508
+ [SMALL_STATE(23)] = 558,
5509
+ [SMALL_STATE(24)] = 577,
5510
+ [SMALL_STATE(25)] = 589,
5511
+ [SMALL_STATE(26)] = 601,
5512
+ [SMALL_STATE(27)] = 613,
5513
+ [SMALL_STATE(28)] = 625,
5514
+ [SMALL_STATE(29)] = 637,
5515
+ [SMALL_STATE(30)] = 649,
5516
+ [SMALL_STATE(31)] = 661,
5517
+ [SMALL_STATE(32)] = 673,
5518
+ [SMALL_STATE(33)] = 685,
5519
+ [SMALL_STATE(34)] = 697,
5520
+ [SMALL_STATE(35)] = 709,
5521
+ [SMALL_STATE(36)] = 721,
5522
+ [SMALL_STATE(37)] = 733,
5523
+ [SMALL_STATE(38)] = 745,
5524
+ [SMALL_STATE(39)] = 757,
5525
+ [SMALL_STATE(40)] = 769,
5526
+ [SMALL_STATE(41)] = 781,
5527
+ [SMALL_STATE(42)] = 793,
5528
+ [SMALL_STATE(43)] = 805,
5529
+ [SMALL_STATE(44)] = 817,
5530
+ [SMALL_STATE(45)] = 829,
5531
+ [SMALL_STATE(46)] = 841,
5532
+ [SMALL_STATE(47)] = 853,
5533
+ [SMALL_STATE(48)] = 865,
5534
+ [SMALL_STATE(49)] = 877,
5535
+ [SMALL_STATE(50)] = 889,
5536
+ [SMALL_STATE(51)] = 901,
5537
+ [SMALL_STATE(52)] = 913,
5538
+ [SMALL_STATE(53)] = 925,
5539
+ [SMALL_STATE(54)] = 937,
5540
+ [SMALL_STATE(55)] = 949,
5541
+ [SMALL_STATE(56)] = 961,
5542
+ [SMALL_STATE(57)] = 973,
5543
+ [SMALL_STATE(58)] = 985,
5544
+ [SMALL_STATE(59)] = 997,
5545
+ [SMALL_STATE(60)] = 1009,
5546
+ [SMALL_STATE(61)] = 1021,
5547
+ [SMALL_STATE(62)] = 1033,
5548
+ [SMALL_STATE(63)] = 1045,
5549
+ [SMALL_STATE(64)] = 1057,
5550
+ [SMALL_STATE(65)] = 1069,
5551
+ [SMALL_STATE(66)] = 1081,
5552
+ [SMALL_STATE(67)] = 1093,
5553
+ [SMALL_STATE(68)] = 1105,
5554
+ [SMALL_STATE(69)] = 1117,
5555
+ [SMALL_STATE(70)] = 1129,
5556
+ [SMALL_STATE(71)] = 1141,
5557
+ [SMALL_STATE(72)] = 1153,
5558
+ [SMALL_STATE(73)] = 1165,
5559
+ [SMALL_STATE(74)] = 1177,
5560
+ [SMALL_STATE(75)] = 1189,
5561
+ [SMALL_STATE(76)] = 1201,
5562
+ [SMALL_STATE(77)] = 1213,
5563
+ [SMALL_STATE(78)] = 1225,
5564
+ [SMALL_STATE(79)] = 1237,
5565
+ [SMALL_STATE(80)] = 1249,
5566
+ [SMALL_STATE(81)] = 1261,
5567
+ [SMALL_STATE(82)] = 1273,
5568
+ [SMALL_STATE(83)] = 1285,
5569
+ [SMALL_STATE(84)] = 1297,
5570
+ [SMALL_STATE(85)] = 1309,
5571
+ [SMALL_STATE(86)] = 1321,
5572
+ [SMALL_STATE(87)] = 1332,
5573
+ [SMALL_STATE(88)] = 1343,
5574
+ [SMALL_STATE(89)] = 1354,
5575
+ [SMALL_STATE(90)] = 1365,
5576
+ [SMALL_STATE(91)] = 1382,
5577
+ [SMALL_STATE(92)] = 1399,
5578
+ [SMALL_STATE(93)] = 1418,
5579
+ [SMALL_STATE(94)] = 1433,
5580
+ [SMALL_STATE(95)] = 1450,
5581
+ [SMALL_STATE(96)] = 1469,
5582
+ [SMALL_STATE(97)] = 1486,
5583
+ [SMALL_STATE(98)] = 1505,
5584
+ [SMALL_STATE(99)] = 1521,
5585
+ [SMALL_STATE(100)] = 1537,
5586
+ [SMALL_STATE(101)] = 1553,
5587
+ [SMALL_STATE(102)] = 1567,
5588
+ [SMALL_STATE(103)] = 1581,
5589
+ [SMALL_STATE(104)] = 1597,
5590
+ [SMALL_STATE(105)] = 1607,
5591
+ [SMALL_STATE(106)] = 1621,
5592
+ [SMALL_STATE(107)] = 1637,
5593
+ [SMALL_STATE(108)] = 1653,
5594
+ [SMALL_STATE(109)] = 1669,
5595
+ [SMALL_STATE(110)] = 1685,
5596
+ [SMALL_STATE(111)] = 1701,
5597
+ [SMALL_STATE(112)] = 1717,
5598
+ [SMALL_STATE(113)] = 1733,
5599
+ [SMALL_STATE(114)] = 1749,
5600
+ [SMALL_STATE(115)] = 1765,
5601
+ [SMALL_STATE(116)] = 1781,
5602
+ [SMALL_STATE(117)] = 1797,
5603
+ [SMALL_STATE(118)] = 1813,
5604
+ [SMALL_STATE(119)] = 1829,
5605
+ [SMALL_STATE(120)] = 1845,
5606
+ [SMALL_STATE(121)] = 1861,
5607
+ [SMALL_STATE(122)] = 1877,
5608
+ [SMALL_STATE(123)] = 1893,
5609
+ [SMALL_STATE(124)] = 1909,
5610
+ [SMALL_STATE(125)] = 1923,
5611
+ [SMALL_STATE(126)] = 1939,
5612
+ [SMALL_STATE(127)] = 1955,
5613
+ [SMALL_STATE(128)] = 1971,
5614
+ [SMALL_STATE(129)] = 1987,
5615
+ [SMALL_STATE(130)] = 2003,
5616
+ [SMALL_STATE(131)] = 2019,
5617
+ [SMALL_STATE(132)] = 2035,
5618
+ [SMALL_STATE(133)] = 2051,
5619
+ [SMALL_STATE(134)] = 2067,
5620
+ [SMALL_STATE(135)] = 2079,
5621
+ [SMALL_STATE(136)] = 2095,
5622
+ [SMALL_STATE(137)] = 2111,
5623
+ [SMALL_STATE(138)] = 2127,
5624
+ [SMALL_STATE(139)] = 2143,
5625
+ [SMALL_STATE(140)] = 2159,
5626
+ [SMALL_STATE(141)] = 2175,
5627
+ [SMALL_STATE(142)] = 2191,
5628
+ [SMALL_STATE(143)] = 2201,
5629
+ [SMALL_STATE(144)] = 2214,
5630
+ [SMALL_STATE(145)] = 2227,
5631
+ [SMALL_STATE(146)] = 2240,
5632
+ [SMALL_STATE(147)] = 2253,
5633
+ [SMALL_STATE(148)] = 2266,
5634
+ [SMALL_STATE(149)] = 2279,
5635
+ [SMALL_STATE(150)] = 2292,
5636
+ [SMALL_STATE(151)] = 2305,
5637
+ [SMALL_STATE(152)] = 2318,
5638
+ [SMALL_STATE(153)] = 2331,
5639
+ [SMALL_STATE(154)] = 2344,
5640
+ [SMALL_STATE(155)] = 2357,
5641
+ [SMALL_STATE(156)] = 2370,
5642
+ [SMALL_STATE(157)] = 2383,
5643
+ [SMALL_STATE(158)] = 2396,
5644
+ [SMALL_STATE(159)] = 2409,
5645
+ [SMALL_STATE(160)] = 2422,
5646
+ [SMALL_STATE(161)] = 2435,
5647
+ [SMALL_STATE(162)] = 2448,
5648
+ [SMALL_STATE(163)] = 2461,
5649
+ [SMALL_STATE(164)] = 2474,
5650
+ [SMALL_STATE(165)] = 2483,
5651
+ [SMALL_STATE(166)] = 2496,
5652
+ [SMALL_STATE(167)] = 2509,
5653
+ [SMALL_STATE(168)] = 2522,
5654
+ [SMALL_STATE(169)] = 2535,
5655
+ [SMALL_STATE(170)] = 2548,
5656
+ [SMALL_STATE(171)] = 2561,
5657
+ [SMALL_STATE(172)] = 2574,
5658
+ [SMALL_STATE(173)] = 2587,
5659
+ [SMALL_STATE(174)] = 2600,
5660
+ [SMALL_STATE(175)] = 2613,
5661
+ [SMALL_STATE(176)] = 2626,
5662
+ [SMALL_STATE(177)] = 2639,
5663
+ [SMALL_STATE(178)] = 2652,
5664
+ [SMALL_STATE(179)] = 2665,
5665
+ [SMALL_STATE(180)] = 2678,
5666
+ [SMALL_STATE(181)] = 2691,
5667
+ [SMALL_STATE(182)] = 2704,
5668
+ [SMALL_STATE(183)] = 2717,
5669
+ [SMALL_STATE(184)] = 2730,
5670
+ [SMALL_STATE(185)] = 2739,
5671
+ [SMALL_STATE(186)] = 2752,
5672
+ [SMALL_STATE(187)] = 2765,
5673
+ [SMALL_STATE(188)] = 2778,
5674
+ [SMALL_STATE(189)] = 2787,
5675
+ [SMALL_STATE(190)] = 2800,
5676
+ [SMALL_STATE(191)] = 2813,
5677
+ [SMALL_STATE(192)] = 2826,
5678
+ [SMALL_STATE(193)] = 2839,
5679
+ [SMALL_STATE(194)] = 2852,
5680
+ [SMALL_STATE(195)] = 2865,
5681
+ [SMALL_STATE(196)] = 2878,
5682
+ [SMALL_STATE(197)] = 2891,
5683
+ [SMALL_STATE(198)] = 2904,
5684
+ [SMALL_STATE(199)] = 2917,
5685
+ [SMALL_STATE(200)] = 2930,
5686
+ [SMALL_STATE(201)] = 2943,
5687
+ [SMALL_STATE(202)] = 2956,
5688
+ [SMALL_STATE(203)] = 2965,
5689
+ [SMALL_STATE(204)] = 2978,
5690
+ [SMALL_STATE(205)] = 2991,
5691
+ [SMALL_STATE(206)] = 3004,
5692
+ [SMALL_STATE(207)] = 3017,
5693
+ [SMALL_STATE(208)] = 3030,
5694
+ [SMALL_STATE(209)] = 3043,
5695
+ [SMALL_STATE(210)] = 3056,
5696
+ [SMALL_STATE(211)] = 3069,
5697
+ [SMALL_STATE(212)] = 3082,
5698
+ [SMALL_STATE(213)] = 3095,
5699
+ [SMALL_STATE(214)] = 3108,
5700
+ [SMALL_STATE(215)] = 3121,
5701
+ [SMALL_STATE(216)] = 3134,
5702
+ [SMALL_STATE(217)] = 3147,
5703
+ [SMALL_STATE(218)] = 3156,
5704
+ [SMALL_STATE(219)] = 3166,
5705
+ [SMALL_STATE(220)] = 3176,
5706
+ [SMALL_STATE(221)] = 3186,
5707
+ [SMALL_STATE(222)] = 3196,
5708
+ [SMALL_STATE(223)] = 3206,
5709
+ [SMALL_STATE(224)] = 3214,
5710
+ [SMALL_STATE(225)] = 3224,
5711
+ [SMALL_STATE(226)] = 3232,
5712
+ [SMALL_STATE(227)] = 3240,
5713
+ [SMALL_STATE(228)] = 3250,
5714
+ [SMALL_STATE(229)] = 3258,
5715
+ [SMALL_STATE(230)] = 3266,
5716
+ [SMALL_STATE(231)] = 3274,
5717
+ [SMALL_STATE(232)] = 3284,
5718
+ [SMALL_STATE(233)] = 3294,
5719
+ [SMALL_STATE(234)] = 3304,
5720
+ [SMALL_STATE(235)] = 3312,
5721
+ [SMALL_STATE(236)] = 3320,
5722
+ [SMALL_STATE(237)] = 3330,
5723
+ [SMALL_STATE(238)] = 3340,
5724
+ [SMALL_STATE(239)] = 3348,
5725
+ [SMALL_STATE(240)] = 3356,
5726
+ [SMALL_STATE(241)] = 3366,
5727
+ [SMALL_STATE(242)] = 3374,
5728
+ [SMALL_STATE(243)] = 3384,
5729
+ [SMALL_STATE(244)] = 3394,
5730
+ [SMALL_STATE(245)] = 3404,
5731
+ [SMALL_STATE(246)] = 3412,
5732
+ [SMALL_STATE(247)] = 3422,
5733
+ [SMALL_STATE(248)] = 3430,
5734
+ [SMALL_STATE(249)] = 3440,
5735
+ [SMALL_STATE(250)] = 3448,
5736
+ [SMALL_STATE(251)] = 3456,
5737
+ [SMALL_STATE(252)] = 3464,
5738
+ [SMALL_STATE(253)] = 3474,
5739
+ [SMALL_STATE(254)] = 3484,
5740
+ [SMALL_STATE(255)] = 3492,
5741
+ [SMALL_STATE(256)] = 3502,
5742
+ [SMALL_STATE(257)] = 3510,
5743
+ [SMALL_STATE(258)] = 3520,
5744
+ [SMALL_STATE(259)] = 3528,
5745
+ [SMALL_STATE(260)] = 3538,
5746
+ [SMALL_STATE(261)] = 3546,
5747
+ [SMALL_STATE(262)] = 3556,
5748
+ [SMALL_STATE(263)] = 3566,
5749
+ [SMALL_STATE(264)] = 3574,
5750
+ [SMALL_STATE(265)] = 3581,
5751
+ [SMALL_STATE(266)] = 3588,
5752
+ [SMALL_STATE(267)] = 3595,
5753
+ [SMALL_STATE(268)] = 3602,
5754
+ [SMALL_STATE(269)] = 3609,
5755
+ [SMALL_STATE(270)] = 3616,
5756
+ [SMALL_STATE(271)] = 3623,
5757
+ [SMALL_STATE(272)] = 3630,
5758
+ [SMALL_STATE(273)] = 3637,
5759
+ [SMALL_STATE(274)] = 3644,
5760
+ [SMALL_STATE(275)] = 3651,
5761
+ [SMALL_STATE(276)] = 3658,
5762
+ [SMALL_STATE(277)] = 3665,
5763
+ [SMALL_STATE(278)] = 3672,
5764
+ [SMALL_STATE(279)] = 3679,
5765
+ [SMALL_STATE(280)] = 3686,
5766
+ [SMALL_STATE(281)] = 3693,
5767
+ [SMALL_STATE(282)] = 3700,
5768
+ [SMALL_STATE(283)] = 3707,
5769
+ [SMALL_STATE(284)] = 3714,
5770
+ [SMALL_STATE(285)] = 3721,
5771
+ [SMALL_STATE(286)] = 3728,
5772
+ [SMALL_STATE(287)] = 3735,
5773
+ [SMALL_STATE(288)] = 3742,
5774
+ [SMALL_STATE(289)] = 3749,
5775
+ [SMALL_STATE(290)] = 3756,
5776
+ [SMALL_STATE(291)] = 3763,
5777
+ [SMALL_STATE(292)] = 3770,
5778
+ [SMALL_STATE(293)] = 3777,
5779
+ [SMALL_STATE(294)] = 3784,
5780
+ [SMALL_STATE(295)] = 3791,
5781
+ [SMALL_STATE(296)] = 3798,
5782
+ [SMALL_STATE(297)] = 3805,
5783
+ [SMALL_STATE(298)] = 3812,
5784
+ [SMALL_STATE(299)] = 3819,
5785
+ [SMALL_STATE(300)] = 3826,
5786
+ [SMALL_STATE(301)] = 3833,
5787
+ [SMALL_STATE(302)] = 3840,
5788
+ [SMALL_STATE(303)] = 3847,
5789
+ [SMALL_STATE(304)] = 3854,
5790
+ [SMALL_STATE(305)] = 3861,
5791
+ [SMALL_STATE(306)] = 3868,
5792
+ [SMALL_STATE(307)] = 3875,
5793
+ [SMALL_STATE(308)] = 3882,
3349
5794
  };
3350
5795
 
3351
5796
  static const TSParseActionEntry ts_parse_actions[] = {
3352
5797
  [0] = {.entry = {.count = 0, .reusable = false}},
3353
5798
  [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
3354
- [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
3355
- [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3),
3356
- [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
3357
- [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198),
3358
- [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197),
3359
- [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
3360
- [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
3361
- [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
3362
- [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
3363
- [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97),
3364
- [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
3365
- [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
3366
- [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
3367
- [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
3368
- [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
3369
- [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
3370
- [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
3371
- [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
3372
- [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(198),
3373
- [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(197),
3374
- [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(196),
3375
- [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(70),
3376
- [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(190),
3377
- [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 4),
3378
- [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1),
3379
- [58] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201),
3380
- [60] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51),
3381
- [62] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154),
3382
- [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
3383
- [66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152),
3384
- [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(201),
3385
- [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(51),
3386
- [74] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2),
3387
- [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(11),
3388
- [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(152),
3389
- [82] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134),
3390
- [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
3391
- [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_url_repeat1, 2),
3392
- [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_url_repeat1, 2), SHIFT_REPEAT(172),
3393
- [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_url, 2),
3394
- [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
3395
- [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_url, 1),
3396
- [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
3397
- [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(126),
3398
- [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22),
3399
- [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149),
3400
- [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125),
3401
- [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2), SHIFT_REPEAT(19),
3402
- [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2),
3403
- [113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2), SHIFT_REPEAT(125),
3404
- [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package, 1),
3405
- [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 2),
3406
- [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19),
3407
- [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129),
3408
- [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 19),
3409
- [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 14),
3410
- [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 21),
3411
- [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 10, .production_id = 20),
3412
- [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 2),
3413
- [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 6, .production_id = 3),
3414
- [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 6, .production_id = 2),
3415
- [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 5, .production_id = 1),
3416
- [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 1),
3417
- [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 3),
3418
- [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 18),
3419
- [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 17),
3420
- [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 5),
3421
- [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 9, .production_id = 16),
3422
- [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 9, .production_id = 15),
3423
- [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definitions, 1),
3424
- [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 11, .production_id = 24),
3425
- [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 7),
3426
- [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 7, .production_id = 7),
3427
- [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 7, .production_id = 8),
3428
- [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 9),
3429
- [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 22),
3430
- [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 13),
3431
- [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 10),
3432
- [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 12),
3433
- [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 8, .production_id = 11),
3434
- [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__uni_character_literal, 2),
3435
- [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__uni_character_literal, 2),
3436
- [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
3437
- [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
3438
- [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_escape_seq, 1),
3439
- [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_escape_seq, 1),
3440
- [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1),
3441
- [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
3442
- [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168),
3443
- [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169),
3444
- [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolation, 2, .production_id = 23),
3445
- [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interpolation, 2, .production_id = 23),
3446
- [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 5, .production_id = 8),
3447
- [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
3448
- [204] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat2, 2), SHIFT_REPEAT(124),
3449
- [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat2, 2),
3450
- [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 6, .production_id = 13),
3451
- [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
3452
- [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 19),
3453
- [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2),
3454
- [217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2), SHIFT_REPEAT(190),
3455
- [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1),
3456
- [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
3457
- [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
3458
- [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
3459
- [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
3460
- [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
3461
- [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
3462
- [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
3463
- [236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 9, .production_id = 24), SHIFT(124),
3464
- [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 9, .production_id = 24),
3465
- [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
3466
- [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
3467
- [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
3468
- [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
3469
- [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_field_repeat1, 2), SHIFT_REPEAT(4),
3470
- [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_field_repeat1, 2),
3471
- [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
3472
- [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
3473
- [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
3474
- [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
3475
- [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171),
3476
- [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
3477
- [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
3478
- [268] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 22), SHIFT(124),
3479
- [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 22),
3480
- [273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 21), SHIFT(124),
3481
- [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 21),
3482
- [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
3483
- [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
3484
- [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
3485
- [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
3486
- [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
3487
- [288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 18), SHIFT(124),
3488
- [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 18),
3489
- [293] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 17), SHIFT(124),
3490
- [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 17),
3491
- [298] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat2, 2), SHIFT_REPEAT(150),
3492
- [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat2, 2),
3493
- [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
3494
- [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
3495
- [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
3496
- [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2), SHIFT_REPEAT(132),
3497
- [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2),
3498
- [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
3499
- [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
3500
- [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
3501
- [320] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2), SHIFT_REPEAT(131),
3502
- [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2),
3503
- [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_definition_repeat1, 2), SHIFT_REPEAT(55),
3504
- [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_definition_repeat1, 2),
3505
- [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
3506
- [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
3507
- [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
3508
- [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
3509
- [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
3510
- [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
3511
- [342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 6, .production_id = 12), SHIFT(124),
3512
- [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 6, .production_id = 12),
3513
- [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
3514
- [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
3515
- [351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat1, 2), SHIFT_REPEAT(135),
3516
- [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat1, 2),
3517
- [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
3518
- [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
3519
- [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
3520
- [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
3521
- [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
3522
- [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
3523
- [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
3524
- [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
3525
- [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193),
3526
- [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
3527
- [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2),
3528
- [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176),
3529
- [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
3530
- [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
3531
- [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
3532
- [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, .production_id = 4),
3533
- [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
3534
- [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
3535
- [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_field, 5),
3536
- [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 3),
3537
- [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
3538
- [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 3),
3539
- [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_field, 1),
3540
- [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_literal, 3),
3541
- [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
3542
- [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
3543
- [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_field, 4, .production_id = 6),
3544
- [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_field, 4),
3545
- [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_name, 2),
3546
- [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1),
3547
- [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 2),
3548
- [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
3549
- [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 2),
3550
- [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
3551
- [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
3552
- [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 4),
3553
- [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
3554
- [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
3555
- [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
3556
- [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
3557
- [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185),
3558
- [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
3559
- [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
3560
- [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
3561
- [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
3562
- [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
3563
- [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
3564
- [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
3565
- [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
3566
- [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
3567
- [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
3568
- [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
3569
- [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
3570
- [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
3571
- [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
3572
- [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
3573
- [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
3574
- [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
3575
- [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
3576
- [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
3577
- [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
3578
- [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
3579
- [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
3580
- [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
3581
- [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 3),
3582
- [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
3583
- [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
3584
- [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
3585
- [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__extension, 3),
3586
- [494] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
3587
- [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
3588
- [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
5799
+ [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
5800
+ [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
5801
+ [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
5802
+ [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256),
5803
+ [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186),
5804
+ [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
5805
+ [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
5806
+ [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
5807
+ [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
5808
+ [21] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
5809
+ [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
5810
+ [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
5811
+ [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303),
5812
+ [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
5813
+ [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
5814
+ [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
5815
+ [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245),
5816
+ [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245),
5817
+ [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191),
5818
+ [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
5819
+ [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3),
5820
+ [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 4),
5821
+ [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
5822
+ [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(304),
5823
+ [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(303),
5824
+ [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(302),
5825
+ [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(148),
5826
+ [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(227),
5827
+ [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1),
5828
+ [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(307),
5829
+ [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(89),
5830
+ [72] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2),
5831
+ [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(11),
5832
+ [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_line_string_literal_repeat1, 2), SHIFT_REPEAT(236),
5833
+ [80] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
5834
+ [82] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307),
5835
+ [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89),
5836
+ [86] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234),
5837
+ [88] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13),
5838
+ [90] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236),
5839
+ [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(230),
5840
+ [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11),
5841
+ [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_url_repeat1, 2),
5842
+ [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_url_repeat1, 2), SHIFT_REPEAT(289),
5843
+ [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_url, 2),
5844
+ [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289),
5845
+ [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
5846
+ [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(222),
5847
+ [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_url, 1),
5848
+ [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package, 1),
5849
+ [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 2),
5850
+ [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2), SHIFT_REPEAT(21),
5851
+ [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2),
5852
+ [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_multi_line_string_literal_repeat1, 2), SHIFT_REPEAT(220),
5853
+ [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
5854
+ [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238),
5855
+ [128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220),
5856
+ [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21),
5857
+ [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239),
5858
+ [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 56),
5859
+ [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 17),
5860
+ [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definitions, 1),
5861
+ [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 6, .production_id = 5),
5862
+ [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 6, .production_id = 4),
5863
+ [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 11, .production_id = 65),
5864
+ [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 11, .production_id = 64),
5865
+ [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 11, .production_id = 63),
5866
+ [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 6, .production_id = 2),
5867
+ [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 60),
5868
+ [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 4),
5869
+ [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 3),
5870
+ [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 10),
5871
+ [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 59),
5872
+ [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 58),
5873
+ [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 11),
5874
+ [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 57),
5875
+ [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 8),
5876
+ [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 12),
5877
+ [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 7, .production_id = 11),
5878
+ [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 55),
5879
+ [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 54),
5880
+ [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 10, .production_id = 53),
5881
+ [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 10, .production_id = 52),
5882
+ [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 2),
5883
+ [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2),
5884
+ [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 7, .production_id = 13),
5885
+ [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 7, .production_id = 14),
5886
+ [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 48),
5887
+ [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 7, .production_id = 15),
5888
+ [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 16),
5889
+ [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 47),
5890
+ [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 46),
5891
+ [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 11, .production_id = 66),
5892
+ [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 12, .production_id = 68),
5893
+ [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 45),
5894
+ [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 44),
5895
+ [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 9, .production_id = 43),
5896
+ [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 18),
5897
+ [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 42),
5898
+ [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 7, .production_id = 19),
5899
+ [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 20),
5900
+ [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 41),
5901
+ [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 40),
5902
+ [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 8, .production_id = 22),
5903
+ [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 39),
5904
+ [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 9, .production_id = 38),
5905
+ [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 23),
5906
+ [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 9, .production_id = 37),
5907
+ [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 9, .production_id = 36),
5908
+ [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 24),
5909
+ [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 25),
5910
+ [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 33),
5911
+ [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 26),
5912
+ [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 5, .production_id = 1),
5913
+ [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 32),
5914
+ [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 1),
5915
+ [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 27),
5916
+ [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 28),
5917
+ [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_definition, 8, .production_id = 31),
5918
+ [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 30),
5919
+ [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 29),
5920
+ [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1),
5921
+ [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__uni_character_literal, 2),
5922
+ [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interpolation, 2, .production_id = 7),
5923
+ [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_escape_seq, 1),
5924
+ [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291),
5925
+ [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
5926
+ [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
5927
+ [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
5928
+ [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
5929
+ [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287),
5930
+ [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
5931
+ [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2),
5932
+ [282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2), SHIFT_REPEAT(227),
5933
+ [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
5934
+ [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284),
5935
+ [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299),
5936
+ [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290),
5937
+ [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
5938
+ [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301),
5939
+ [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
5940
+ [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 6, .production_id = 35),
5941
+ [301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat2, 2), SHIFT_REPEAT(255),
5942
+ [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat2, 2),
5943
+ [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 5, .production_id = 21),
5944
+ [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
5945
+ [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243),
5946
+ [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 51),
5947
+ [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
5948
+ [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1),
5949
+ [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
5950
+ [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224),
5951
+ [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264),
5952
+ [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298),
5953
+ [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
5954
+ [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
5955
+ [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
5956
+ [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266),
5957
+ [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
5958
+ [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
5959
+ [338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 9, .production_id = 67), SHIFT(255),
5960
+ [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 9, .production_id = 67),
5961
+ [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
5962
+ [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat1, 2), SHIFT_REPEAT(224),
5963
+ [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_definition_repeat1, 2),
5964
+ [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
5965
+ [352] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 62), SHIFT(255),
5966
+ [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 62),
5967
+ [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_definition_repeat1, 2), SHIFT_REPEAT(91),
5968
+ [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_definition_repeat1, 2),
5969
+ [362] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 61), SHIFT(255),
5970
+ [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 8, .production_id = 61),
5971
+ [367] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_list_repeat1, 2), SHIFT_REPEAT(237),
5972
+ [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_list_repeat1, 2),
5973
+ [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
5974
+ [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
5975
+ [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
5976
+ [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268),
5977
+ [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
5978
+ [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
5979
+ [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_name, 6),
5980
+ [386] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decorator_name_repeat1, 2), SHIFT_REPEAT(4),
5981
+ [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_decorator_name_repeat1, 2),
5982
+ [391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 50), SHIFT(255),
5983
+ [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 50),
5984
+ [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
5985
+ [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
5986
+ [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
5987
+ [402] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 49), SHIFT(255),
5988
+ [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 7, .production_id = 49),
5989
+ [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2),
5990
+ [409] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2), SHIFT_REPEAT(286),
5991
+ [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
5992
+ [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
5993
+ [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 2),
5994
+ [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286),
5995
+ [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294),
5996
+ [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
5997
+ [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235),
5998
+ [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
5999
+ [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300),
6000
+ [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
6001
+ [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305),
6002
+ [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265),
6003
+ [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
6004
+ [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_name, 4),
6005
+ [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
6006
+ [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
6007
+ [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
6008
+ [446] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat2, 2), SHIFT_REPEAT(219),
6009
+ [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat2, 2),
6010
+ [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2),
6011
+ [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
6012
+ [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2), SHIFT_REPEAT(221),
6013
+ [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2),
6014
+ [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
6015
+ [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272),
6016
+ [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274),
6017
+ [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
6018
+ [468] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_fun_field, 6, .production_id = 34), SHIFT(255),
6019
+ [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_field, 6, .production_id = 34),
6020
+ [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275),
6021
+ [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
6022
+ [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 3),
6023
+ [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
6024
+ [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
6025
+ [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
6026
+ [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator_name, 5),
6027
+ [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
6028
+ [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
6029
+ [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
6030
+ [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251),
6031
+ [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
6032
+ [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
6033
+ [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
6034
+ [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
6035
+ [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279),
6036
+ [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276),
6037
+ [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
6038
+ [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
6039
+ [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277),
6040
+ [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296),
6041
+ [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
6042
+ [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270),
6043
+ [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
6044
+ [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, .production_id = 6),
6045
+ [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_field, 5),
6046
+ [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_literal, 3),
6047
+ [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 3),
6048
+ [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_string_literal, 2),
6049
+ [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 3),
6050
+ [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
6051
+ [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 2),
6052
+ [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_line_string_literal, 3),
6053
+ [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_field, 4),
6054
+ [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_field, 4, .production_id = 9),
6055
+ [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 4),
6056
+ [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1),
6057
+ [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__extension, 3),
6058
+ [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_field, 1),
6059
+ [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
6060
+ [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
6061
+ [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
6062
+ [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
6063
+ [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
6064
+ [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
6065
+ [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
6066
+ [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244),
6067
+ [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
6068
+ [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
6069
+ [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
6070
+ [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
6071
+ [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
6072
+ [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
6073
+ [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
6074
+ [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
6075
+ [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
6076
+ [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
6077
+ [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
6078
+ [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
6079
+ [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
6080
+ [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
6081
+ [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260),
6082
+ [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
6083
+ [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
6084
+ [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
6085
+ [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_escape_seq, 1),
6086
+ [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
6087
+ [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__uni_character_literal, 2),
6088
+ [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
6089
+ [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
6090
+ [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
6091
+ [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
6092
+ [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
6093
+ [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
6094
+ [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292),
6095
+ [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
6096
+ [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
6097
+ [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297),
6098
+ [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
6099
+ [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
6100
+ [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
6101
+ [635] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
6102
+ [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
6103
+ [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
3589
6104
  };
3590
6105
 
3591
6106
  #ifdef __cplusplus
@@ -3621,6 +6136,7 @@ extern const TSLanguage *tree_sitter_pine(void) {
3621
6136
  .alias_sequences = &ts_alias_sequences[0][0],
3622
6137
  .lex_modes = ts_lex_modes,
3623
6138
  .lex_fn = ts_lex,
6139
+ .primary_state_ids = ts_primary_state_ids,
3624
6140
  };
3625
6141
  return &language;
3626
6142
  }
test/corpus/class_definitions.txt CHANGED
@@ -68,8 +68,7 @@ Class definitions - Traits
68
68
 
69
69
  package definitions
70
70
 
71
- @B @C
72
- class AnimalSubSpecies (
71
+ class AnimalSubSpecies : B, C (
73
72
  val a: String,
74
73
  val b: Float
75
74
  )
@@ -81,11 +80,10 @@ class AnimalSubSpecies (
81
80
  (identifier))
82
81
  (definitions
83
82
  (class_definition
84
- (trait_name
85
- (definition_name))
86
- (trait_name
87
- (definition_name))
88
83
  (definition_name)
84
+ (trait_list
85
+ (definition_name)
86
+ (definition_name))
89
87
  (type_field
90
88
  (variable_name)
91
89
  (type
@@ -101,8 +99,7 @@ Class definitions - Genrics + Traits
101
99
 
102
100
  package definitions
103
101
 
104
- @B @C
105
- class A<S, T>(
102
+ class A<S, T>: B, C (
106
103
  val a: S,
107
104
  val b: T
108
105
  )
@@ -114,14 +111,13 @@ class A<S, T>(
114
111
  (identifier))
115
112
  (definitions
116
113
  (class_definition
117
- (trait_name
118
- (definition_name))
119
- (trait_name
120
- (definition_name))
121
114
  (definition_name)
122
115
  (generic_list
123
116
  (identifier)
124
117
  (identifier))
118
+ (trait_list
119
+ (definition_name)
120
+ (definition_name))
125
121
  (type_field
126
122
  (variable_name)
127
123
  (type
test/corpus/enum_definitions.txt CHANGED
@@ -4,9 +4,9 @@ Enum definitions - Int
4
4
 
5
5
  package definitions
6
6
 
7
- enum Colors(val rgb: Int) {
7
+ enum Colors(val rgb: Int) { # define colors here
8
8
  RED(0xFF0000),
9
- GREEN(0x00FF00),
9
+ GREEN(0x00FF00), # this needs to sorted
10
10
  BLUE(0x0000FF)
11
11
  }
12
12
 
@@ -22,12 +22,14 @@ enum Colors(val rgb: Int) {
22
22
  (variable_name)
23
23
  (type
24
24
  (definition_name)))
25
+ (comment)
25
26
  (enum_field
26
27
  (enum_field_name)
27
28
  (hex_literal))
28
29
  (enum_field
29
30
  (enum_field_name)
30
31
  (hex_literal))
32
+ (comment)
31
33
  (enum_field
32
34
  (enum_field_name)
33
35
  (hex_literal)))))
test/corpus/functions.txt CHANGED
@@ -22,7 +22,7 @@ Functions - Extension
22
22
 
23
23
  package definitions
24
24
 
25
- fun User.main() => {
25
+ fun User.fullName() => {
26
26
  }
27
27
 
28
28
  --------------------------------------------------------------------------------
@@ -64,6 +64,73 @@ fun add(a: Int, b: Int) => Int {
64
64
  (type
65
65
  (definition_name)))))
66
66
 
67
+ ================================================================================
68
+ Functions - Generics
69
+ ================================================================================
70
+
71
+ package definitions
72
+
73
+ fun add<S, T>(a: S, b: T) => S {
74
+ }
75
+
76
+ --------------------------------------------------------------------------------
77
+
78
+ (source_file
79
+ (package
80
+ (identifier))
81
+ (definitions
82
+ (fun_definition
83
+ (identifier)
84
+ (generic_list
85
+ (identifier)
86
+ (identifier))
87
+ (param
88
+ (variable_name)
89
+ (type
90
+ (definition_name)))
91
+ (param
92
+ (variable_name)
93
+ (type
94
+ (definition_name)))
95
+ (type
96
+ (definition_name)))))
97
+
98
+ ================================================================================
99
+ Functions - Decorators
100
+ ================================================================================
101
+
102
+ package definitions
103
+
104
+ @cache(1000)
105
+ @get()
106
+ fun add(a: Int, b: Int) => Int {
107
+ }
108
+
109
+ --------------------------------------------------------------------------------
110
+
111
+ (source_file
112
+ (package
113
+ (identifier))
114
+ (definitions
115
+ (fun_definition
116
+ (decorator_name
117
+ (identifier)
118
+ (integer_literal))
119
+ (decorator_name
120
+ (identifier))
121
+ (identifier)
122
+ (param
123
+ (variable_name)
124
+ (type
125
+ (definition_name)))
126
+ (param
127
+ (variable_name)
128
+ (type
129
+ (definition_name)))
130
+ (type
131
+ (definition_name)))))
132
+
133
+
67
134
  ================================================================================
68
135
  Functions - High Order 1
69
136
  ================================================================================
test/corpus/import_statements.txt CHANGED
@@ -4,7 +4,7 @@ Import statements
4
4
 
5
5
  package imports
6
6
 
7
- import github/pyros2097/std
7
+ import github/pine/std # importing std library here
8
8
 
9
9
  --------------------------------------------------------------------------------
10
10
 
@@ -12,4 +12,5 @@ import github/pyros2097/std
12
12
  (package
13
13
  (identifier))
14
14
  (import_statement
15
- (url)))
15
+ (url))
16
+ (comment))