~repos /plum

#treesitter#compiler#wasm

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

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


3152e7cf Peter John

2 years ago
make fns work
Files changed (8) hide show
  1. binding.gyp +3 -2
  2. grammar.js +136 -254
  3. package.json +12 -8
  4. src/grammar.json +1179 -150
  5. src/node-types.json +671 -27
  6. src/parser.c +7045 -948
  7. src/scanner.c +29 -0
  8. test/corpus/functions.txt +10 -157
binding.gyp CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "targets": [
3
3
  {
4
- "target_name": "tree_sitter_pine_binding",
4
+ "target_name": "tree_sitter_palm_binding",
5
5
  "include_dirs": [
6
6
  "<!(node -e \"require('nan')\")",
7
7
  "src"
8
8
  ],
9
9
  "sources": [
10
10
  "bindings/node/binding.cc",
11
- "src/parser.c"
11
+ "src/parser.c",
12
+ "src/scanner.c"
12
13
  ],
13
14
  "cflags_c": [
14
15
  "-std=c99",
grammar.js CHANGED
@@ -1,6 +1,7 @@
1
1
  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
+ const NEWLINE = /\r?\n/;
4
5
 
5
6
  module.exports = grammar({
6
7
  name: 'palm',
@@ -8,6 +9,11 @@ module.exports = grammar({
8
9
  // $.comment,
9
10
  // /\s+/ // Whitespace
10
11
  // ],
12
+ externals: ($) => [$.quoted_content],
13
+ conflicts: $ => [
14
+ [$.proc],
15
+ [$.record],
16
+ ],
11
17
  rules: {
12
18
  source_file: $ => seq(
13
19
  $.module,
@@ -15,7 +21,7 @@ module.exports = grammar({
15
21
  repeat(choice(
16
22
  $.record,
17
23
  $.type,
18
- // $.proc,
24
+ $.proc,
19
25
  )),
20
26
  ),
21
27
 
@@ -44,6 +50,9 @@ module.exports = grammar({
44
50
  )
45
51
  ),
46
52
 
53
+ /* Constant statements */
54
+ // _constant_type_annotation: ($) => seq(":", field("type", $._constant_type)),
55
+
47
56
  /* Declarations */
48
57
 
49
58
  record: $ => seq(
@@ -61,21 +70,102 @@ module.exports = grammar({
61
70
  field('types', pipeSep1($.type_name)),
62
71
  ),
63
72
 
64
- // proc: $ => seq(
73
+ proc: $ => seq(
74
+ // 'proc',
65
- // field('name', $.identifier),
75
+ field('name', $.identifier),
66
- // field('params', seq('(', optional(commaSep1($.type_field)), ')')),
76
+ field('params', seq('(', optional(commaSep1($.type_field)), ')')),
67
- // optional(
77
+ optional(
68
- // seq(
78
+ seq(
69
- // '->',
79
+ '->',
70
- // field('return', optional($.return_type)),
80
+ field('return_type', optional($.return_type)),
71
- // ),
72
- // ),
81
+ ),
73
- // '=',
82
+ ),
74
- // // field('body', $._block)
75
- // ),
83
+ '=',
84
+ field('body', $._statement_seq),
85
+ ),
76
86
 
77
87
  /* Shared AST nodes */
88
+
78
-
89
+ // param: $ => seq(
90
+ // field('name', $.variable_name),
91
+ // ':',
92
+ // field('type', $.type)
93
+ // ),
94
+
95
+ /* Expressions */
96
+
97
+ _statement_seq: ($) => repeat1($._statement),
98
+ _statement: ($) => choice($._expression, $.let),
99
+ _expression: ($) => choice($._expression_unit, $.binary_expression),
100
+ binary_expression: ($) =>
101
+ choice(
102
+ binaryExpr(prec.left, 1, "||", $._expression),
103
+ binaryExpr(prec.left, 2, "&&", $._expression),
104
+ binaryExpr(prec.left, 3, "==", $._expression),
105
+ binaryExpr(prec.left, 3, "!=", $._expression),
106
+ binaryExpr(prec.left, 4, "<", $._expression),
107
+ binaryExpr(prec.left, 4, "<=", $._expression),
108
+ binaryExpr(prec.left, 4, ">", $._expression),
109
+ binaryExpr(prec.left, 4, ">=", $._expression),
110
+ binaryExpr(prec.left, 5, "|>", $._expression),
111
+ binaryExpr(prec.left, 6, "+", $._expression),
112
+ binaryExpr(prec.left, 6, "-", $._expression),
113
+ binaryExpr(prec.left, 7, "*", $._expression),
114
+ binaryExpr(prec.left, 7, "/", $._expression),
115
+ binaryExpr(prec.left, 7, "%", $._expression),
116
+ binaryExpr(prec.left, 7, "<>", $._expression)
117
+ ),
118
+ _expression_unit: ($) =>
119
+ choice(
120
+ $.string,
121
+ $.integer,
122
+ $.float,
123
+ $.record,
124
+ $.identifier,
125
+ $.todo,
126
+ $.panic,
127
+ // $.anonymous_function,
128
+ $.expression_group,
129
+ // $.case,
130
+ $.negation,
131
+ // $.record_update,
132
+ // $.field_access,
133
+ // $.function_call
134
+ ),
135
+ expression_group: ($) => seq("{", $._statement_seq, "}"),
136
+ negation: ($) => seq("!", $._expression_unit),
137
+ let: ($) => seq("let", $._assignment),
138
+ _assignment: ($) =>
139
+ seq(
140
+ field("pattern", $._pattern),
141
+ optional($._type_annotation),
142
+ "=",
143
+ field("value", $._expression)
144
+ ),
145
+ _pattern: ($) =>
146
+ seq(
147
+ $._pattern_expression,
148
+ optional(field("assign", seq("as", $.identifier)))
149
+ ),
150
+ _pattern_expression: ($) =>
151
+ choice(
152
+ $.identifier,
153
+ // $.discard,
154
+ // $.record_pattern,
155
+ // $.string,
156
+ $.integer,
157
+ $.float,
158
+ alias($._pattern_binary_expression, $.binary_expression)
159
+ ),
160
+ _pattern_binary_expression: ($) =>
161
+ binaryExpr(prec.left, 1, "<>", $._pattern_expression),
162
+
163
+
164
+ todo: ($) =>
165
+ seq("todo", optional(seq("(", field("message", $.string), ")"))),
166
+ panic: (_$) => seq("panic"),
167
+
168
+ /* Types */
79
169
  return_type: $ => seq(
80
170
  field('name', $.type_identifier),
81
171
  field("generics", optional(seq(
@@ -103,255 +193,38 @@ module.exports = grammar({
103
193
  ':',
104
194
  field('type', $.identifier)
105
195
  ),
106
- identifier: ($) => $._name,
196
+
107
- type_identifier: ($) => $._upname,
108
197
  generic_list: $ => seq(
109
198
  '(',
110
199
  commaSep1($.identifier),
111
200
  ')'
112
201
  ),
113
202
 
203
+ /* Literals */
204
+ float: ($) => /-?[0-9_]+\.[0-9_]*(e-?[0-9_]+)?/,
205
+ integer: ($) =>
206
+ seq(optional("-"), choice($._hex, $._decimal, $._octal, $._binary)),
207
+ string: ($) =>
208
+ seq(
209
+ '"',
210
+ repeat(choice($.escape_sequence, $.quoted_content)),
211
+ token.immediate('"')
212
+ ),
213
+ _hex: ($) => /0[xX][0-9a-fA-F_]+/,
214
+ _decimal: ($) => /[0-9][0-9_]*/,
215
+ _octal: ($) => /0[oO][0-7_]+/,
216
+ _binary: ($) => /0[bB][0-1_]+/,
217
+ _interpolation: $ => choice(
218
+ seq("{", $.identifier, "}")
219
+ ),
220
+ escape_sequence: ($) => token.immediate(/\\[efnrt\"\\]/),
221
+ // identifier: ($) => $._name,
222
+ identifier: $ => /[a-zA-Z_][a-zA-Z_0-9]*/,
223
+ type_identifier: ($) => $._upname,
224
+ _type_annotation: ($) => seq(":", field("type", $.identifier)),
114
225
  _discard_name: ($) => /_[_0-9a-z]*/,
115
226
  _name: ($) => /[_a-z][_0-9a-z]*/,
116
227
  _upname: ($) => /[A-Z][0-9a-zA-Z]*/,
117
-
118
- // param: $ => seq(
119
- // field('name', $.variable_name),
120
- // ':',
121
- // field('type', $.type)
122
- // ),
123
-
124
-
125
-
126
- // fun_field: $ => seq(
127
- // 'fun',
128
- // field('name', $.identifier),
129
- // field('params', seq('(', optional(commaSep1($.param)), ')')),
130
- // '=>',
131
- // field('returns', optional(commaSep1($.type))),
132
- // ),
133
-
134
- // trait_field: $ => choice(
135
- // $.type_field,
136
- // $.fun_field,
137
- // ),
138
-
139
- // enum_field: $ => seq($.enum_field_name, '(', commaSep1($._primary_expression), ')'),
140
-
141
- // // Expressions
142
-
143
- // _block: $ => prec(PREC.BLOCK, seq(
144
- // "{",
145
- // // optional($.statements),
146
- // "}"
147
- // )),
148
-
149
- // // assignment: $ => choice(
150
- // // prec.left(PREC.ASSIGNMENT, seq($.directly_assignable_expression, $._assignment_and_operator, $._expression)),
151
- // // prec.left(PREC.ASSIGNMENT, seq($.directly_assignable_expression, "=", $._expression)),
152
- // // // TODO
153
- // // ),
154
-
155
- // // // ==========
156
- // // // Expressions
157
- // // // ==========
158
-
159
- // // _expression: $ => choice(
160
- // // $._unary_expression,
161
- // // $._binary_expression,
162
- // // $._primary_expression
163
- // // ),
164
-
165
- // // // Unary expressions
166
-
167
- // // _unary_expression: $ => choice(
168
- // // $.postfix_expression,
169
- // // $.call_expression,
170
- // // $.indexing_expression,
171
- // // $.navigation_expression,
172
- // // $.prefix_expression,
173
- // // $.as_expression,
174
- // // $.spread_expression
175
- // // ),
176
-
177
- // // postfix_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $._postfix_unary_operator)),
178
-
179
- // // call_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $.call_suffix)),
180
-
181
- // // indexing_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $.indexing_suffix)),
182
-
183
- // // navigation_expression: $ => prec.left(PREC.POSTFIX, seq($._expression, $.navigation_suffix)),
184
-
185
- // // prefix_expression: $ => prec.right(seq(choice($.annotation, $.label, $._prefix_unary_operator), $._expression)),
186
-
187
- // // as_expression: $ => prec.left(PREC.AS, seq($._expression, $._as_operator, $._type)),
188
-
189
- // // spread_expression: $ => prec.left(PREC.SPREAD, seq("*", $._expression)),
190
-
191
- // // _binary_expression: $ => choice(
192
- // // $.multiplicative_expression,
193
- // // $.additive_expression,
194
- // // $.range_expression,
195
- // // $.infix_expression,
196
- // // $.elvis_expression,
197
- // // $.check_expression,
198
- // // $.comparison_expression,
199
- // // $.equality_expression,
200
- // // $.comparison_expression,
201
- // // $.equality_expression,
202
- // // $.conjunction_expression,
203
- // // $.disjunction_expression
204
- // // ),
205
-
206
- // // multiplicative_expression: $ => prec.left(PREC.MULTIPLICATIVE, seq($._expression, $._multiplicative_operator, $._expression)),
207
-
208
- // // additive_expression: $ => prec.left(PREC.ADDITIVE, seq($._expression, $._additive_operator, $._expression)),
209
-
210
- // // range_expression: $ => prec.left(PREC.RANGE, seq($._expression, "..", $._expression)),
211
-
212
- // // infix_expression: $ => prec.left(PREC.INFIX, seq($._expression, $.simple_identifier, $._expression)),
213
-
214
- // // elvis_expression: $ => prec.left(PREC.ELVIS, seq($._expression, "?:", $._expression)),
215
-
216
- // // check_expression: $ => prec.left(PREC.CHECK, seq($._expression, choice(
217
- // // seq($._in_operator, $._expression),
218
- // // seq($._is_operator, $._type)))),
219
-
220
- // // comparison_expression: $ => prec.left(PREC.COMPARISON, seq($._expression, $._comparison_operator, $._expression)),
221
-
222
- // // equality_expression: $ => prec.left(PREC.EQUALITY, seq($._expression, $._equality_operator, $._expression)),
223
-
224
- // // conjunction_expression: $ => prec.left(PREC.CONJUNCTION, seq($._expression, "&&", $._expression)),
225
-
226
- // // disjunction_expression: $ => prec.left(PREC.DISJUNCTION, seq($._expression, "||", $._expression)),
227
-
228
- // // // Suffixes
229
-
230
- // // indexing_suffix: $ => seq("[", sep1($._expression, ","), "]"),
231
-
232
- // // navigation_suffix: $ => seq(
233
- // // $._member_access_operator,
234
- // // choice(
235
- // // $.simple_identifier,
236
- // // $.parenthesized_expression,
237
- // // "class"
238
- // // )
239
- // // ),
240
-
241
- // // call_suffix: $ => prec.left(seq(
242
- // // // this introduces ambiguities with 'less than' for comparisons
243
- // // optional($.type_arguments),
244
- // // choice(
245
- // // seq(optional($.value_arguments), $.annotated_lambda),
246
- // // $.value_arguments
247
- // // )
248
- // // )),
249
-
250
- // // variable_declaration: $ => prec.left(PREC.VAR_DECL, seq(
251
- // // // repeat($.annotation), TODO
252
- // // $.simple_identifier,
253
- // // optional(seq(":", $._type))
254
- // // )),
255
-
256
- // // function_type: $ => seq(
257
- // // optional(seq($._simple_user_type, ".")), // TODO: Support "real" types
258
- // // $.function_type_parameters,
259
- // // "->",
260
- // // $._type
261
- // // ),
262
-
263
- // // function_type_parameters: $ => prec.left(1, seq(
264
- // // "(",
265
- // // optional(sep1(choice($.parameter, $._type), ",")),
266
- // // ")"
267
- // // )),
268
-
269
- // // parenthesized_type: $ => seq("(", $._type, ")"),
270
-
271
- // _primary_expression: $ => choice(
272
- // $._literal_constant,
273
- // $._string_literal,
274
- // ),
275
-
276
- url: $ => sep1(/[a-zA-Z_][a-zA-Z_0-9]*/, '/'),
277
- // module: $ => $.identifier,
278
- identifier: $ => /[a-zA-Z_][a-zA-Z_0-9]*/,
279
- // definition_name: $ => /[A-Z](([a-z]+[A-Z]?)*)/, // Pascal Case - no digits allowed
280
- // variable_name: $ => /[a-z][a-z]*(([A-Z][a-z]+)*[A-Z]?|([a-z]+[A-Z])*|[A-Z])/, // Lower Camel Case - no digits allowed
281
- // enum_field_name: $ => /[A-Z_][A-Z_0-9]*/,
282
-
283
- // // Literals
284
- // boolean_literal: $ => choice("true", "false"),
285
- // integer_literal: $ => token(seq(optional(/[1-9]/), DEC_DIGITS)),
286
- // hex_literal: $ => token(seq("0", /[xX]/, HEX_DIGITS)),
287
- // bin_literal: $ => token(seq("0", /[bB]/, BIN_DIGITS)),
288
- // float_literal: $ => token(choice(
289
- // seq(
290
- // seq(optional(DEC_DIGITS), ".", DEC_DIGITS),
291
- // optional(/[fF]/)
292
- // ),
293
- // seq(DEC_DIGITS, /[fF]/)
294
- // )),
295
- // character_literal: $ => seq(
296
- // "'",
297
- // choice($.character_escape_seq, /[^\n\r'\\]/),
298
- // "'"
299
- // ),
300
- // character_escape_seq: $ => choice(
301
- // $._uni_character_literal,
302
- // $._escaped_identifier
303
- // ),
304
- // _uni_character_literal: $ => seq(
305
- // "\\u",
306
- // /[0-9a-fA-F]{4}/
307
- // ),
308
- // _escaped_identifier: $ => /\\[tbrn'"\\$]/,
309
-
310
- // _string_literal: $ => choice(
311
- // $.line_string_literal,
312
- // $.multi_line_string_literal
313
- // ),
314
-
315
- // line_string_literal: $ => seq('"', repeat(choice($._line_string_content, $._interpolation)), '"'),
316
-
317
- // multi_line_string_literal: $ => seq(
318
- // '`',
319
- // repeat(choice(
320
- // $._multi_line_string_content,
321
- // $._interpolation
322
- // )),
323
- // '`'
324
- // ),
325
-
326
- // _line_string_content: $ => choice(
327
- // $._line_str_text,
328
- // $.character_escape_seq
329
- // ),
330
-
331
- // _multi_line_string_content: $ => choice($._multi_line_str_text, '"'),
332
-
333
- // _line_str_text: $ => /[^\\"$]+/,
334
-
335
- // _multi_line_str_text: $ => /[^"$]+/,
336
-
337
- // _interpolation: $ => choice(
338
- // // seq("${", alias($._expression, $.interpolated_expression), "}"),
339
- // seq("$", alias($.identifier, $.interpolated_identifier))
340
- // ),
341
-
342
- // _literal_constant: $ => choice(
343
- // $.boolean_literal,
344
- // $.integer_literal,
345
- // $.hex_literal,
346
- // $.bin_literal,
347
- // $.character_literal,
348
- // $.float_literal,
349
- // "null",
350
- // ),
351
-
352
- // comment: $ => token(prec(PREC.COMMENT, choice(
353
- // seq("#", /.*/),
354
- // ))),
355
228
  }
356
229
  });
357
230
 
@@ -369,4 +242,13 @@ function sep1(rule, separator) {
369
242
 
370
243
  function series_of(rule, separator) {
371
244
  return seq(rule, repeat(seq(separator, rule)), optional(separator));
245
+ }
246
+
247
+ // A binary expression with a left-hand side, infix operator, and then right-hand-side
248
+ // https://github.com/elixir-lang/tree-sitter-elixir/blob/de20391afe5cb03ef1e8a8e43167e7b58cc52869/grammar.js#L850-L859
249
+ function binaryExpr(assoc, precedence, operator, expr) {
250
+ return assoc(
251
+ precedence,
252
+ seq(field("left", expr), field("operator", operator), field("right", expr))
253
+ );
372
254
  }
package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "tree-sitter-palm",
3
3
  "version": "0.1.0",
4
+ "description": "A tree-sitter grammar for the Palm programming language",
4
5
  "main": "bindings/node",
5
- "description": "Tree-Sitter grammar for pine",
6
6
  "scripts": {
7
7
  "test": "tree-sitter test",
8
8
  "install": "node-gyp rebuild",
@@ -14,11 +14,11 @@
14
14
  "author": "pyrossh",
15
15
  "license": "MIT",
16
16
  "keywords": [
17
+ "palm",
17
18
  "tree-sitter",
18
- "pine",
19
- "grammar",
20
19
  "parser",
21
- "lexer"
20
+ "lexer",
21
+ "grammar"
22
22
  ],
23
23
  "dependencies": {
24
24
  "nan": "^2.17.0"
@@ -26,13 +26,17 @@
26
26
  "devDependencies": {
27
27
  "tree-sitter-cli": "^0.20.7"
28
28
  },
29
+ "repository": {
30
+ "type": "git",
29
- "repository": "https://github.com/pyrossh/tree-sitter-pine",
31
+ "url": "git+ssh://git@github.com/pyrossh/tree-sitter-palm.git"
32
+ },
30
33
  "tree-sitter": [
31
34
  {
32
- "scope": "source.pine",
35
+ "scope": "source.palm",
33
36
  "file-types": [
34
- "pi"
37
+ "palm"
35
- ]
38
+ ],
39
+ "injection-regex": "^palm$"
36
40
  }
37
41
  ]
38
42
  }
src/grammar.json CHANGED
@@ -27,6 +27,10 @@
27
27
  {
28
28
  "type": "SYMBOL",
29
29
  "name": "type"
30
+ },
31
+ {
32
+ "type": "SYMBOL",
33
+ "name": "proc"
30
34
  }
31
35
  ]
32
36
  }
@@ -391,7 +395,7 @@
391
395
  }
392
396
  ]
393
397
  },
394
- "return_type": {
398
+ "proc": {
395
399
  "type": "SEQ",
396
400
  "members": [
397
401
  {
@@ -399,28 +403,28 @@
399
403
  "name": "name",
400
404
  "content": {
401
405
  "type": "SYMBOL",
402
- "name": "type_identifier"
406
+ "name": "identifier"
403
407
  }
404
408
  },
405
409
  {
406
410
  "type": "FIELD",
407
- "name": "generics",
411
+ "name": "params",
408
412
  "content": {
409
- "type": "CHOICE",
413
+ "type": "SEQ",
410
414
  "members": [
411
415
  {
412
- "type": "SEQ",
416
+ "type": "STRING",
417
+ "value": "("
418
+ },
419
+ {
420
+ "type": "CHOICE",
413
421
  "members": [
414
- {
415
- "type": "STRING",
416
- "value": "("
417
- },
418
422
  {
419
423
  "type": "SEQ",
420
424
  "members": [
421
425
  {
422
426
  "type": "SYMBOL",
423
- "name": "identifier"
427
+ "name": "type_field"
424
428
  },
425
429
  {
426
430
  "type": "REPEAT",
@@ -433,7 +437,7 @@
433
437
  },
434
438
  {
435
439
  "type": "SYMBOL",
436
- "name": "identifier"
440
+ "name": "type_field"
437
441
  }
438
442
  ]
439
443
  }
@@ -441,29 +445,16 @@
441
445
  ]
442
446
  },
443
447
  {
444
- "type": "STRING",
448
+ "type": "BLANK"
445
- "value": ")"
446
449
  }
447
450
  ]
448
451
  },
449
452
  {
450
- "type": "BLANK"
453
+ "type": "STRING",
454
+ "value": ")"
451
455
  }
452
456
  ]
453
457
  }
454
- }
455
- ]
456
- },
457
- "type_name": {
458
- "type": "SEQ",
459
- "members": [
460
- {
461
- "type": "FIELD",
462
- "name": "name",
463
- "content": {
464
- "type": "SYMBOL",
465
- "name": "type_identifier"
466
- }
467
458
  },
468
459
  {
469
460
  "type": "CHOICE",
@@ -473,45 +464,23 @@
473
464
  "members": [
474
465
  {
475
466
  "type": "STRING",
476
- "value": "("
467
+ "value": "->"
477
- },
478
- {
479
- "type": "CHOICE",
480
- "members": [
481
- {
482
- "type": "SYMBOL",
483
- "name": "identifier"
484
- },
485
- {
486
- "type": "SEQ",
487
- "members": [
488
- {
489
- "type": "SYMBOL",
490
- "name": "type_field"
491
- },
492
- {
493
- "type": "REPEAT",
494
- "content": {
495
- "type": "SEQ",
496
- "members": [
497
- {
498
- "type": "STRING",
499
- "value": ","
500
- },
501
- {
502
- "type": "SYMBOL",
503
- "name": "type_field"
504
- }
505
- ]
506
- }
507
- }
508
- ]
509
- }
510
- ]
511
468
  },
512
469
  {
470
+ "type": "FIELD",
471
+ "name": "return_type",
472
+ "content": {
513
- "type": "STRING",
473
+ "type": "CHOICE",
474
+ "members": [
475
+ {
476
+ "type": "SYMBOL",
477
+ "name": "return_type"
478
+ },
479
+ {
514
- "value": ")"
480
+ "type": "BLANK"
481
+ }
482
+ ]
483
+ }
515
484
  }
516
485
  ]
517
486
  },
@@ -519,127 +488,1187 @@
519
488
  "type": "BLANK"
520
489
  }
521
490
  ]
522
- }
523
- ]
524
- },
525
- "type_field": {
526
- "type": "SEQ",
527
- "members": [
528
- {
529
- "type": "FIELD",
530
- "name": "name",
531
- "content": {
532
- "type": "SYMBOL",
533
- "name": "identifier"
534
- }
535
491
  },
536
492
  {
537
493
  "type": "STRING",
538
- "value": ":"
494
+ "value": "="
539
495
  },
540
496
  {
541
497
  "type": "FIELD",
542
- "name": "type",
498
+ "name": "body",
543
499
  "content": {
544
500
  "type": "SYMBOL",
545
- "name": "identifier"
501
+ "name": "_statement_seq"
546
502
  }
547
503
  }
548
504
  ]
549
505
  },
550
- "identifier": {
506
+ "_statement_seq": {
551
- "type": "PATTERN",
507
+ "type": "REPEAT1",
552
- "value": "[a-zA-Z_][a-zA-Z_0-9]*"
553
- },
554
- "type_identifier": {
508
+ "content": {
555
- "type": "SYMBOL",
509
+ "type": "SYMBOL",
556
- "name": "_upname"
510
+ "name": "_statement"
511
+ }
557
512
  },
558
- "generic_list": {
513
+ "_statement": {
559
- "type": "SEQ",
514
+ "type": "CHOICE",
560
515
  "members": [
561
516
  {
562
- "type": "STRING",
517
+ "type": "SYMBOL",
563
- "value": "("
518
+ "name": "_expression"
564
519
  },
565
520
  {
566
- "type": "SEQ",
521
+ "type": "SYMBOL",
522
+ "name": "let"
523
+ }
524
+ ]
525
+ },
526
+ "_expression": {
527
+ "type": "CHOICE",
567
- "members": [
528
+ "members": [
568
- {
529
+ {
569
- "type": "SYMBOL",
530
+ "type": "SYMBOL",
570
- "name": "identifier"
531
+ "name": "_expression_unit"
571
- },
572
- {
573
- "type": "REPEAT",
574
- "content": {
575
- "type": "SEQ",
576
- "members": [
577
- {
578
- "type": "STRING",
579
- "value": ","
580
- },
581
- {
582
- "type": "SYMBOL",
583
- "name": "identifier"
584
- }
585
- ]
586
- }
587
- }
588
- ]
589
532
  },
590
533
  {
591
- "type": "STRING",
534
+ "type": "SYMBOL",
592
- "value": ")"
535
+ "name": "binary_expression"
593
536
  }
594
537
  ]
595
538
  },
596
- "_discard_name": {
539
+ "binary_expression": {
597
- "type": "PATTERN",
598
- "value": "_[_0-9a-z]*"
599
- },
600
- "_name": {
601
- "type": "PATTERN",
602
- "value": "[_a-z][_0-9a-z]*"
603
- },
604
- "_upname": {
605
- "type": "PATTERN",
606
- "value": "[A-Z][0-9a-zA-Z]*"
607
- },
608
- "url": {
609
- "type": "SEQ",
540
+ "type": "CHOICE",
610
541
  "members": [
611
542
  {
543
+ "type": "PREC_LEFT",
544
+ "value": 1,
545
+ "content": {
546
+ "type": "SEQ",
547
+ "members": [
548
+ {
549
+ "type": "FIELD",
550
+ "name": "left",
551
+ "content": {
552
+ "type": "SYMBOL",
553
+ "name": "_expression"
554
+ }
555
+ },
556
+ {
557
+ "type": "FIELD",
558
+ "name": "operator",
559
+ "content": {
612
- "type": "PATTERN",
560
+ "type": "STRING",
561
+ "value": "||"
562
+ }
563
+ },
564
+ {
565
+ "type": "FIELD",
566
+ "name": "right",
567
+ "content": {
568
+ "type": "SYMBOL",
613
- "value": "[a-zA-Z_][a-zA-Z_0-9]*"
569
+ "name": "_expression"
570
+ }
571
+ }
572
+ ]
573
+ }
614
574
  },
615
575
  {
616
- "type": "REPEAT",
576
+ "type": "PREC_LEFT",
577
+ "value": 2,
617
578
  "content": {
618
579
  "type": "SEQ",
619
580
  "members": [
620
581
  {
582
+ "type": "FIELD",
583
+ "name": "left",
584
+ "content": {
585
+ "type": "SYMBOL",
586
+ "name": "_expression"
587
+ }
588
+ },
589
+ {
590
+ "type": "FIELD",
591
+ "name": "operator",
592
+ "content": {
621
- "type": "STRING",
593
+ "type": "STRING",
622
- "value": "/"
594
+ "value": "&&"
595
+ }
623
596
  },
624
597
  {
625
- "type": "PATTERN",
598
+ "type": "FIELD",
599
+ "name": "right",
600
+ "content": {
601
+ "type": "SYMBOL",
626
- "value": "[a-zA-Z_][a-zA-Z_0-9]*"
602
+ "name": "_expression"
603
+ }
627
604
  }
628
605
  ]
629
606
  }
630
- }
631
- ]
632
- }
633
- },
634
- "extras": [
635
- {
636
- "type": "PATTERN",
637
- "value": "\\s"
638
- }
639
- ],
640
- "conflicts": [],
641
- "precedences": [],
642
- "externals": [],
607
+ },
608
+ {
609
+ "type": "PREC_LEFT",
610
+ "value": 3,
611
+ "content": {
612
+ "type": "SEQ",
613
+ "members": [
614
+ {
615
+ "type": "FIELD",
616
+ "name": "left",
617
+ "content": {
618
+ "type": "SYMBOL",
619
+ "name": "_expression"
620
+ }
621
+ },
622
+ {
623
+ "type": "FIELD",
624
+ "name": "operator",
625
+ "content": {
626
+ "type": "STRING",
627
+ "value": "=="
628
+ }
629
+ },
630
+ {
631
+ "type": "FIELD",
632
+ "name": "right",
633
+ "content": {
634
+ "type": "SYMBOL",
635
+ "name": "_expression"
636
+ }
637
+ }
638
+ ]
639
+ }
640
+ },
641
+ {
642
+ "type": "PREC_LEFT",
643
+ "value": 3,
644
+ "content": {
645
+ "type": "SEQ",
646
+ "members": [
647
+ {
648
+ "type": "FIELD",
649
+ "name": "left",
650
+ "content": {
651
+ "type": "SYMBOL",
652
+ "name": "_expression"
653
+ }
654
+ },
655
+ {
656
+ "type": "FIELD",
657
+ "name": "operator",
658
+ "content": {
659
+ "type": "STRING",
660
+ "value": "!="
661
+ }
662
+ },
663
+ {
664
+ "type": "FIELD",
665
+ "name": "right",
666
+ "content": {
667
+ "type": "SYMBOL",
668
+ "name": "_expression"
669
+ }
670
+ }
671
+ ]
672
+ }
673
+ },
674
+ {
675
+ "type": "PREC_LEFT",
676
+ "value": 4,
677
+ "content": {
678
+ "type": "SEQ",
679
+ "members": [
680
+ {
681
+ "type": "FIELD",
682
+ "name": "left",
683
+ "content": {
684
+ "type": "SYMBOL",
685
+ "name": "_expression"
686
+ }
687
+ },
688
+ {
689
+ "type": "FIELD",
690
+ "name": "operator",
691
+ "content": {
692
+ "type": "STRING",
693
+ "value": "<"
694
+ }
695
+ },
696
+ {
697
+ "type": "FIELD",
698
+ "name": "right",
699
+ "content": {
700
+ "type": "SYMBOL",
701
+ "name": "_expression"
702
+ }
703
+ }
704
+ ]
705
+ }
706
+ },
707
+ {
708
+ "type": "PREC_LEFT",
709
+ "value": 4,
710
+ "content": {
711
+ "type": "SEQ",
712
+ "members": [
713
+ {
714
+ "type": "FIELD",
715
+ "name": "left",
716
+ "content": {
717
+ "type": "SYMBOL",
718
+ "name": "_expression"
719
+ }
720
+ },
721
+ {
722
+ "type": "FIELD",
723
+ "name": "operator",
724
+ "content": {
725
+ "type": "STRING",
726
+ "value": "<="
727
+ }
728
+ },
729
+ {
730
+ "type": "FIELD",
731
+ "name": "right",
732
+ "content": {
733
+ "type": "SYMBOL",
734
+ "name": "_expression"
735
+ }
736
+ }
737
+ ]
738
+ }
739
+ },
740
+ {
741
+ "type": "PREC_LEFT",
742
+ "value": 4,
743
+ "content": {
744
+ "type": "SEQ",
745
+ "members": [
746
+ {
747
+ "type": "FIELD",
748
+ "name": "left",
749
+ "content": {
750
+ "type": "SYMBOL",
751
+ "name": "_expression"
752
+ }
753
+ },
754
+ {
755
+ "type": "FIELD",
756
+ "name": "operator",
757
+ "content": {
758
+ "type": "STRING",
759
+ "value": ">"
760
+ }
761
+ },
762
+ {
763
+ "type": "FIELD",
764
+ "name": "right",
765
+ "content": {
766
+ "type": "SYMBOL",
767
+ "name": "_expression"
768
+ }
769
+ }
770
+ ]
771
+ }
772
+ },
773
+ {
774
+ "type": "PREC_LEFT",
775
+ "value": 4,
776
+ "content": {
777
+ "type": "SEQ",
778
+ "members": [
779
+ {
780
+ "type": "FIELD",
781
+ "name": "left",
782
+ "content": {
783
+ "type": "SYMBOL",
784
+ "name": "_expression"
785
+ }
786
+ },
787
+ {
788
+ "type": "FIELD",
789
+ "name": "operator",
790
+ "content": {
791
+ "type": "STRING",
792
+ "value": ">="
793
+ }
794
+ },
795
+ {
796
+ "type": "FIELD",
797
+ "name": "right",
798
+ "content": {
799
+ "type": "SYMBOL",
800
+ "name": "_expression"
801
+ }
802
+ }
803
+ ]
804
+ }
805
+ },
806
+ {
807
+ "type": "PREC_LEFT",
808
+ "value": 5,
809
+ "content": {
810
+ "type": "SEQ",
811
+ "members": [
812
+ {
813
+ "type": "FIELD",
814
+ "name": "left",
815
+ "content": {
816
+ "type": "SYMBOL",
817
+ "name": "_expression"
818
+ }
819
+ },
820
+ {
821
+ "type": "FIELD",
822
+ "name": "operator",
823
+ "content": {
824
+ "type": "STRING",
825
+ "value": "|>"
826
+ }
827
+ },
828
+ {
829
+ "type": "FIELD",
830
+ "name": "right",
831
+ "content": {
832
+ "type": "SYMBOL",
833
+ "name": "_expression"
834
+ }
835
+ }
836
+ ]
837
+ }
838
+ },
839
+ {
840
+ "type": "PREC_LEFT",
841
+ "value": 6,
842
+ "content": {
843
+ "type": "SEQ",
844
+ "members": [
845
+ {
846
+ "type": "FIELD",
847
+ "name": "left",
848
+ "content": {
849
+ "type": "SYMBOL",
850
+ "name": "_expression"
851
+ }
852
+ },
853
+ {
854
+ "type": "FIELD",
855
+ "name": "operator",
856
+ "content": {
857
+ "type": "STRING",
858
+ "value": "+"
859
+ }
860
+ },
861
+ {
862
+ "type": "FIELD",
863
+ "name": "right",
864
+ "content": {
865
+ "type": "SYMBOL",
866
+ "name": "_expression"
867
+ }
868
+ }
869
+ ]
870
+ }
871
+ },
872
+ {
873
+ "type": "PREC_LEFT",
874
+ "value": 6,
875
+ "content": {
876
+ "type": "SEQ",
877
+ "members": [
878
+ {
879
+ "type": "FIELD",
880
+ "name": "left",
881
+ "content": {
882
+ "type": "SYMBOL",
883
+ "name": "_expression"
884
+ }
885
+ },
886
+ {
887
+ "type": "FIELD",
888
+ "name": "operator",
889
+ "content": {
890
+ "type": "STRING",
891
+ "value": "-"
892
+ }
893
+ },
894
+ {
895
+ "type": "FIELD",
896
+ "name": "right",
897
+ "content": {
898
+ "type": "SYMBOL",
899
+ "name": "_expression"
900
+ }
901
+ }
902
+ ]
903
+ }
904
+ },
905
+ {
906
+ "type": "PREC_LEFT",
907
+ "value": 7,
908
+ "content": {
909
+ "type": "SEQ",
910
+ "members": [
911
+ {
912
+ "type": "FIELD",
913
+ "name": "left",
914
+ "content": {
915
+ "type": "SYMBOL",
916
+ "name": "_expression"
917
+ }
918
+ },
919
+ {
920
+ "type": "FIELD",
921
+ "name": "operator",
922
+ "content": {
923
+ "type": "STRING",
924
+ "value": "*"
925
+ }
926
+ },
927
+ {
928
+ "type": "FIELD",
929
+ "name": "right",
930
+ "content": {
931
+ "type": "SYMBOL",
932
+ "name": "_expression"
933
+ }
934
+ }
935
+ ]
936
+ }
937
+ },
938
+ {
939
+ "type": "PREC_LEFT",
940
+ "value": 7,
941
+ "content": {
942
+ "type": "SEQ",
943
+ "members": [
944
+ {
945
+ "type": "FIELD",
946
+ "name": "left",
947
+ "content": {
948
+ "type": "SYMBOL",
949
+ "name": "_expression"
950
+ }
951
+ },
952
+ {
953
+ "type": "FIELD",
954
+ "name": "operator",
955
+ "content": {
956
+ "type": "STRING",
957
+ "value": "/"
958
+ }
959
+ },
960
+ {
961
+ "type": "FIELD",
962
+ "name": "right",
963
+ "content": {
964
+ "type": "SYMBOL",
965
+ "name": "_expression"
966
+ }
967
+ }
968
+ ]
969
+ }
970
+ },
971
+ {
972
+ "type": "PREC_LEFT",
973
+ "value": 7,
974
+ "content": {
975
+ "type": "SEQ",
976
+ "members": [
977
+ {
978
+ "type": "FIELD",
979
+ "name": "left",
980
+ "content": {
981
+ "type": "SYMBOL",
982
+ "name": "_expression"
983
+ }
984
+ },
985
+ {
986
+ "type": "FIELD",
987
+ "name": "operator",
988
+ "content": {
989
+ "type": "STRING",
990
+ "value": "%"
991
+ }
992
+ },
993
+ {
994
+ "type": "FIELD",
995
+ "name": "right",
996
+ "content": {
997
+ "type": "SYMBOL",
998
+ "name": "_expression"
999
+ }
1000
+ }
1001
+ ]
1002
+ }
1003
+ },
1004
+ {
1005
+ "type": "PREC_LEFT",
1006
+ "value": 7,
1007
+ "content": {
1008
+ "type": "SEQ",
1009
+ "members": [
1010
+ {
1011
+ "type": "FIELD",
1012
+ "name": "left",
1013
+ "content": {
1014
+ "type": "SYMBOL",
1015
+ "name": "_expression"
1016
+ }
1017
+ },
1018
+ {
1019
+ "type": "FIELD",
1020
+ "name": "operator",
1021
+ "content": {
1022
+ "type": "STRING",
1023
+ "value": "<>"
1024
+ }
1025
+ },
1026
+ {
1027
+ "type": "FIELD",
1028
+ "name": "right",
1029
+ "content": {
1030
+ "type": "SYMBOL",
1031
+ "name": "_expression"
1032
+ }
1033
+ }
1034
+ ]
1035
+ }
1036
+ }
1037
+ ]
1038
+ },
1039
+ "_expression_unit": {
1040
+ "type": "CHOICE",
1041
+ "members": [
1042
+ {
1043
+ "type": "SYMBOL",
1044
+ "name": "string"
1045
+ },
1046
+ {
1047
+ "type": "SYMBOL",
1048
+ "name": "integer"
1049
+ },
1050
+ {
1051
+ "type": "SYMBOL",
1052
+ "name": "float"
1053
+ },
1054
+ {
1055
+ "type": "SYMBOL",
1056
+ "name": "record"
1057
+ },
1058
+ {
1059
+ "type": "SYMBOL",
1060
+ "name": "identifier"
1061
+ },
1062
+ {
1063
+ "type": "SYMBOL",
1064
+ "name": "todo"
1065
+ },
1066
+ {
1067
+ "type": "SYMBOL",
1068
+ "name": "panic"
1069
+ },
1070
+ {
1071
+ "type": "SYMBOL",
1072
+ "name": "expression_group"
1073
+ },
1074
+ {
1075
+ "type": "SYMBOL",
1076
+ "name": "negation"
1077
+ }
1078
+ ]
1079
+ },
1080
+ "expression_group": {
1081
+ "type": "SEQ",
1082
+ "members": [
1083
+ {
1084
+ "type": "STRING",
1085
+ "value": "{"
1086
+ },
1087
+ {
1088
+ "type": "SYMBOL",
1089
+ "name": "_statement_seq"
1090
+ },
1091
+ {
1092
+ "type": "STRING",
1093
+ "value": "}"
1094
+ }
1095
+ ]
1096
+ },
1097
+ "negation": {
1098
+ "type": "SEQ",
1099
+ "members": [
1100
+ {
1101
+ "type": "STRING",
1102
+ "value": "!"
1103
+ },
1104
+ {
1105
+ "type": "SYMBOL",
1106
+ "name": "_expression_unit"
1107
+ }
1108
+ ]
1109
+ },
1110
+ "let": {
1111
+ "type": "SEQ",
1112
+ "members": [
1113
+ {
1114
+ "type": "STRING",
1115
+ "value": "let"
1116
+ },
1117
+ {
1118
+ "type": "SYMBOL",
1119
+ "name": "_assignment"
1120
+ }
1121
+ ]
1122
+ },
1123
+ "_assignment": {
1124
+ "type": "SEQ",
1125
+ "members": [
1126
+ {
1127
+ "type": "FIELD",
1128
+ "name": "pattern",
1129
+ "content": {
1130
+ "type": "SYMBOL",
1131
+ "name": "_pattern"
1132
+ }
1133
+ },
1134
+ {
1135
+ "type": "CHOICE",
1136
+ "members": [
1137
+ {
1138
+ "type": "SYMBOL",
1139
+ "name": "_type_annotation"
1140
+ },
1141
+ {
1142
+ "type": "BLANK"
1143
+ }
1144
+ ]
1145
+ },
1146
+ {
1147
+ "type": "STRING",
1148
+ "value": "="
1149
+ },
1150
+ {
1151
+ "type": "FIELD",
1152
+ "name": "value",
1153
+ "content": {
1154
+ "type": "SYMBOL",
1155
+ "name": "_expression"
1156
+ }
1157
+ }
1158
+ ]
1159
+ },
1160
+ "_pattern": {
1161
+ "type": "SEQ",
1162
+ "members": [
1163
+ {
1164
+ "type": "SYMBOL",
1165
+ "name": "_pattern_expression"
1166
+ },
1167
+ {
1168
+ "type": "CHOICE",
1169
+ "members": [
1170
+ {
1171
+ "type": "FIELD",
1172
+ "name": "assign",
1173
+ "content": {
1174
+ "type": "SEQ",
1175
+ "members": [
1176
+ {
1177
+ "type": "STRING",
1178
+ "value": "as"
1179
+ },
1180
+ {
1181
+ "type": "SYMBOL",
1182
+ "name": "identifier"
1183
+ }
1184
+ ]
1185
+ }
1186
+ },
1187
+ {
1188
+ "type": "BLANK"
1189
+ }
1190
+ ]
1191
+ }
1192
+ ]
1193
+ },
1194
+ "_pattern_expression": {
1195
+ "type": "CHOICE",
1196
+ "members": [
1197
+ {
1198
+ "type": "SYMBOL",
1199
+ "name": "identifier"
1200
+ },
1201
+ {
1202
+ "type": "SYMBOL",
1203
+ "name": "integer"
1204
+ },
1205
+ {
1206
+ "type": "SYMBOL",
1207
+ "name": "float"
1208
+ },
1209
+ {
1210
+ "type": "ALIAS",
1211
+ "content": {
1212
+ "type": "SYMBOL",
1213
+ "name": "_pattern_binary_expression"
1214
+ },
1215
+ "named": true,
1216
+ "value": "binary_expression"
1217
+ }
1218
+ ]
1219
+ },
1220
+ "_pattern_binary_expression": {
1221
+ "type": "PREC_LEFT",
1222
+ "value": 1,
1223
+ "content": {
1224
+ "type": "SEQ",
1225
+ "members": [
1226
+ {
1227
+ "type": "FIELD",
1228
+ "name": "left",
1229
+ "content": {
1230
+ "type": "SYMBOL",
1231
+ "name": "_pattern_expression"
1232
+ }
1233
+ },
1234
+ {
1235
+ "type": "FIELD",
1236
+ "name": "operator",
1237
+ "content": {
1238
+ "type": "STRING",
1239
+ "value": "<>"
1240
+ }
1241
+ },
1242
+ {
1243
+ "type": "FIELD",
1244
+ "name": "right",
1245
+ "content": {
1246
+ "type": "SYMBOL",
1247
+ "name": "_pattern_expression"
1248
+ }
1249
+ }
1250
+ ]
1251
+ }
1252
+ },
1253
+ "todo": {
1254
+ "type": "SEQ",
1255
+ "members": [
1256
+ {
1257
+ "type": "STRING",
1258
+ "value": "todo"
1259
+ },
1260
+ {
1261
+ "type": "CHOICE",
1262
+ "members": [
1263
+ {
1264
+ "type": "SEQ",
1265
+ "members": [
1266
+ {
1267
+ "type": "STRING",
1268
+ "value": "("
1269
+ },
1270
+ {
1271
+ "type": "FIELD",
1272
+ "name": "message",
1273
+ "content": {
1274
+ "type": "SYMBOL",
1275
+ "name": "string"
1276
+ }
1277
+ },
1278
+ {
1279
+ "type": "STRING",
1280
+ "value": ")"
1281
+ }
1282
+ ]
1283
+ },
1284
+ {
1285
+ "type": "BLANK"
1286
+ }
1287
+ ]
1288
+ }
1289
+ ]
1290
+ },
1291
+ "panic": {
1292
+ "type": "SEQ",
1293
+ "members": [
1294
+ {
1295
+ "type": "STRING",
1296
+ "value": "panic"
1297
+ }
1298
+ ]
1299
+ },
1300
+ "return_type": {
1301
+ "type": "SEQ",
1302
+ "members": [
1303
+ {
1304
+ "type": "FIELD",
1305
+ "name": "name",
1306
+ "content": {
1307
+ "type": "SYMBOL",
1308
+ "name": "type_identifier"
1309
+ }
1310
+ },
1311
+ {
1312
+ "type": "FIELD",
1313
+ "name": "generics",
1314
+ "content": {
1315
+ "type": "CHOICE",
1316
+ "members": [
1317
+ {
1318
+ "type": "SEQ",
1319
+ "members": [
1320
+ {
1321
+ "type": "STRING",
1322
+ "value": "("
1323
+ },
1324
+ {
1325
+ "type": "SEQ",
1326
+ "members": [
1327
+ {
1328
+ "type": "SYMBOL",
1329
+ "name": "identifier"
1330
+ },
1331
+ {
1332
+ "type": "REPEAT",
1333
+ "content": {
1334
+ "type": "SEQ",
1335
+ "members": [
1336
+ {
1337
+ "type": "STRING",
1338
+ "value": ","
1339
+ },
1340
+ {
1341
+ "type": "SYMBOL",
1342
+ "name": "identifier"
1343
+ }
1344
+ ]
1345
+ }
1346
+ }
1347
+ ]
1348
+ },
1349
+ {
1350
+ "type": "STRING",
1351
+ "value": ")"
1352
+ }
1353
+ ]
1354
+ },
1355
+ {
1356
+ "type": "BLANK"
1357
+ }
1358
+ ]
1359
+ }
1360
+ }
1361
+ ]
1362
+ },
1363
+ "type_name": {
1364
+ "type": "SEQ",
1365
+ "members": [
1366
+ {
1367
+ "type": "FIELD",
1368
+ "name": "name",
1369
+ "content": {
1370
+ "type": "SYMBOL",
1371
+ "name": "type_identifier"
1372
+ }
1373
+ },
1374
+ {
1375
+ "type": "CHOICE",
1376
+ "members": [
1377
+ {
1378
+ "type": "SEQ",
1379
+ "members": [
1380
+ {
1381
+ "type": "STRING",
1382
+ "value": "("
1383
+ },
1384
+ {
1385
+ "type": "CHOICE",
1386
+ "members": [
1387
+ {
1388
+ "type": "SYMBOL",
1389
+ "name": "identifier"
1390
+ },
1391
+ {
1392
+ "type": "SEQ",
1393
+ "members": [
1394
+ {
1395
+ "type": "SYMBOL",
1396
+ "name": "type_field"
1397
+ },
1398
+ {
1399
+ "type": "REPEAT",
1400
+ "content": {
1401
+ "type": "SEQ",
1402
+ "members": [
1403
+ {
1404
+ "type": "STRING",
1405
+ "value": ","
1406
+ },
1407
+ {
1408
+ "type": "SYMBOL",
1409
+ "name": "type_field"
1410
+ }
1411
+ ]
1412
+ }
1413
+ }
1414
+ ]
1415
+ }
1416
+ ]
1417
+ },
1418
+ {
1419
+ "type": "STRING",
1420
+ "value": ")"
1421
+ }
1422
+ ]
1423
+ },
1424
+ {
1425
+ "type": "BLANK"
1426
+ }
1427
+ ]
1428
+ }
1429
+ ]
1430
+ },
1431
+ "type_field": {
1432
+ "type": "SEQ",
1433
+ "members": [
1434
+ {
1435
+ "type": "FIELD",
1436
+ "name": "name",
1437
+ "content": {
1438
+ "type": "SYMBOL",
1439
+ "name": "identifier"
1440
+ }
1441
+ },
1442
+ {
1443
+ "type": "STRING",
1444
+ "value": ":"
1445
+ },
1446
+ {
1447
+ "type": "FIELD",
1448
+ "name": "type",
1449
+ "content": {
1450
+ "type": "SYMBOL",
1451
+ "name": "identifier"
1452
+ }
1453
+ }
1454
+ ]
1455
+ },
1456
+ "generic_list": {
1457
+ "type": "SEQ",
1458
+ "members": [
1459
+ {
1460
+ "type": "STRING",
1461
+ "value": "("
1462
+ },
1463
+ {
1464
+ "type": "SEQ",
1465
+ "members": [
1466
+ {
1467
+ "type": "SYMBOL",
1468
+ "name": "identifier"
1469
+ },
1470
+ {
1471
+ "type": "REPEAT",
1472
+ "content": {
1473
+ "type": "SEQ",
1474
+ "members": [
1475
+ {
1476
+ "type": "STRING",
1477
+ "value": ","
1478
+ },
1479
+ {
1480
+ "type": "SYMBOL",
1481
+ "name": "identifier"
1482
+ }
1483
+ ]
1484
+ }
1485
+ }
1486
+ ]
1487
+ },
1488
+ {
1489
+ "type": "STRING",
1490
+ "value": ")"
1491
+ }
1492
+ ]
1493
+ },
1494
+ "float": {
1495
+ "type": "PATTERN",
1496
+ "value": "-?[0-9_]+\\.[0-9_]*(e-?[0-9_]+)?"
1497
+ },
1498
+ "integer": {
1499
+ "type": "SEQ",
1500
+ "members": [
1501
+ {
1502
+ "type": "CHOICE",
1503
+ "members": [
1504
+ {
1505
+ "type": "STRING",
1506
+ "value": "-"
1507
+ },
1508
+ {
1509
+ "type": "BLANK"
1510
+ }
1511
+ ]
1512
+ },
1513
+ {
1514
+ "type": "CHOICE",
1515
+ "members": [
1516
+ {
1517
+ "type": "SYMBOL",
1518
+ "name": "_hex"
1519
+ },
1520
+ {
1521
+ "type": "SYMBOL",
1522
+ "name": "_decimal"
1523
+ },
1524
+ {
1525
+ "type": "SYMBOL",
1526
+ "name": "_octal"
1527
+ },
1528
+ {
1529
+ "type": "SYMBOL",
1530
+ "name": "_binary"
1531
+ }
1532
+ ]
1533
+ }
1534
+ ]
1535
+ },
1536
+ "string": {
1537
+ "type": "SEQ",
1538
+ "members": [
1539
+ {
1540
+ "type": "STRING",
1541
+ "value": "\""
1542
+ },
1543
+ {
1544
+ "type": "REPEAT",
1545
+ "content": {
1546
+ "type": "CHOICE",
1547
+ "members": [
1548
+ {
1549
+ "type": "SYMBOL",
1550
+ "name": "escape_sequence"
1551
+ },
1552
+ {
1553
+ "type": "SYMBOL",
1554
+ "name": "quoted_content"
1555
+ }
1556
+ ]
1557
+ }
1558
+ },
1559
+ {
1560
+ "type": "IMMEDIATE_TOKEN",
1561
+ "content": {
1562
+ "type": "STRING",
1563
+ "value": "\""
1564
+ }
1565
+ }
1566
+ ]
1567
+ },
1568
+ "_hex": {
1569
+ "type": "PATTERN",
1570
+ "value": "0[xX][0-9a-fA-F_]+"
1571
+ },
1572
+ "_decimal": {
1573
+ "type": "PATTERN",
1574
+ "value": "[0-9][0-9_]*"
1575
+ },
1576
+ "_octal": {
1577
+ "type": "PATTERN",
1578
+ "value": "0[oO][0-7_]+"
1579
+ },
1580
+ "_binary": {
1581
+ "type": "PATTERN",
1582
+ "value": "0[bB][0-1_]+"
1583
+ },
1584
+ "_interpolation": {
1585
+ "type": "CHOICE",
1586
+ "members": [
1587
+ {
1588
+ "type": "SEQ",
1589
+ "members": [
1590
+ {
1591
+ "type": "STRING",
1592
+ "value": "{"
1593
+ },
1594
+ {
1595
+ "type": "SYMBOL",
1596
+ "name": "identifier"
1597
+ },
1598
+ {
1599
+ "type": "STRING",
1600
+ "value": "}"
1601
+ }
1602
+ ]
1603
+ }
1604
+ ]
1605
+ },
1606
+ "escape_sequence": {
1607
+ "type": "IMMEDIATE_TOKEN",
1608
+ "content": {
1609
+ "type": "PATTERN",
1610
+ "value": "\\\\[efnrt\\\"\\\\]"
1611
+ }
1612
+ },
1613
+ "identifier": {
1614
+ "type": "PATTERN",
1615
+ "value": "[a-zA-Z_][a-zA-Z_0-9]*"
1616
+ },
1617
+ "type_identifier": {
1618
+ "type": "SYMBOL",
1619
+ "name": "_upname"
1620
+ },
1621
+ "_type_annotation": {
1622
+ "type": "SEQ",
1623
+ "members": [
1624
+ {
1625
+ "type": "STRING",
1626
+ "value": ":"
1627
+ },
1628
+ {
1629
+ "type": "FIELD",
1630
+ "name": "type",
1631
+ "content": {
1632
+ "type": "SYMBOL",
1633
+ "name": "identifier"
1634
+ }
1635
+ }
1636
+ ]
1637
+ },
1638
+ "_discard_name": {
1639
+ "type": "PATTERN",
1640
+ "value": "_[_0-9a-z]*"
1641
+ },
1642
+ "_name": {
1643
+ "type": "PATTERN",
1644
+ "value": "[_a-z][_0-9a-z]*"
1645
+ },
1646
+ "_upname": {
1647
+ "type": "PATTERN",
1648
+ "value": "[A-Z][0-9a-zA-Z]*"
1649
+ }
1650
+ },
1651
+ "extras": [
1652
+ {
1653
+ "type": "PATTERN",
1654
+ "value": "\\s"
1655
+ }
1656
+ ],
1657
+ "conflicts": [
1658
+ [
1659
+ "proc"
1660
+ ],
1661
+ [
1662
+ "record"
1663
+ ]
1664
+ ],
1665
+ "precedences": [],
1666
+ "externals": [
1667
+ {
1668
+ "type": "SYMBOL",
1669
+ "name": "quoted_content"
1670
+ }
1671
+ ],
643
1672
  "inline": [],
644
1673
  "supertypes": []
645
1674
  }
src/node-types.json CHANGED
@@ -1,81 +1,552 @@
1
1
  [
2
+ {
3
+ "type": "binary_expression",
4
+ "named": true,
5
+ "fields": {
6
+ "left": {
7
+ "multiple": false,
8
+ "required": true,
9
+ "types": [
10
+ {
11
+ "type": "binary_expression",
12
+ "named": true
13
+ },
14
+ {
15
+ "type": "expression_group",
16
+ "named": true
17
+ },
18
+ {
19
+ "type": "float",
20
+ "named": true
21
+ },
22
+ {
23
+ "type": "identifier",
24
+ "named": true
25
+ },
26
+ {
27
+ "type": "integer",
28
+ "named": true
29
+ },
30
+ {
31
+ "type": "negation",
32
+ "named": true
33
+ },
34
+ {
35
+ "type": "panic",
36
+ "named": true
37
+ },
38
+ {
39
+ "type": "record",
40
+ "named": true
41
+ },
42
+ {
43
+ "type": "string",
44
+ "named": true
45
+ },
46
+ {
47
+ "type": "todo",
48
+ "named": true
49
+ }
50
+ ]
51
+ },
52
+ "operator": {
53
+ "multiple": false,
54
+ "required": true,
55
+ "types": [
56
+ {
57
+ "type": "!=",
58
+ "named": false
59
+ },
60
+ {
61
+ "type": "%",
62
+ "named": false
63
+ },
64
+ {
65
+ "type": "&&",
66
+ "named": false
67
+ },
68
+ {
69
+ "type": "*",
70
+ "named": false
71
+ },
72
+ {
73
+ "type": "+",
74
+ "named": false
75
+ },
76
+ {
77
+ "type": "-",
78
+ "named": false
79
+ },
80
+ {
81
+ "type": "/",
82
+ "named": false
83
+ },
84
+ {
85
+ "type": "<",
86
+ "named": false
87
+ },
88
+ {
89
+ "type": "<=",
90
+ "named": false
91
+ },
92
+ {
93
+ "type": "<>",
94
+ "named": false
95
+ },
96
+ {
97
+ "type": "==",
98
+ "named": false
99
+ },
100
+ {
101
+ "type": ">",
102
+ "named": false
103
+ },
104
+ {
105
+ "type": ">=",
106
+ "named": false
107
+ },
108
+ {
109
+ "type": "|>",
110
+ "named": false
111
+ },
112
+ {
113
+ "type": "||",
114
+ "named": false
115
+ }
116
+ ]
117
+ },
118
+ "right": {
119
+ "multiple": false,
120
+ "required": true,
121
+ "types": [
122
+ {
123
+ "type": "binary_expression",
124
+ "named": true
125
+ },
126
+ {
127
+ "type": "expression_group",
128
+ "named": true
129
+ },
130
+ {
131
+ "type": "float",
132
+ "named": true
133
+ },
134
+ {
135
+ "type": "identifier",
136
+ "named": true
137
+ },
138
+ {
139
+ "type": "integer",
140
+ "named": true
141
+ },
142
+ {
143
+ "type": "negation",
144
+ "named": true
145
+ },
146
+ {
147
+ "type": "panic",
148
+ "named": true
149
+ },
150
+ {
151
+ "type": "record",
152
+ "named": true
153
+ },
154
+ {
155
+ "type": "string",
156
+ "named": true
157
+ },
158
+ {
159
+ "type": "todo",
160
+ "named": true
161
+ }
162
+ ]
163
+ }
164
+ }
165
+ },
166
+ {
167
+ "type": "expression_group",
168
+ "named": true,
169
+ "fields": {},
170
+ "children": {
171
+ "multiple": true,
172
+ "required": false,
173
+ "types": [
174
+ {
175
+ "type": "binary_expression",
176
+ "named": true
177
+ },
178
+ {
179
+ "type": "expression_group",
180
+ "named": true
181
+ },
182
+ {
183
+ "type": "float",
184
+ "named": true
185
+ },
186
+ {
187
+ "type": "identifier",
188
+ "named": true
189
+ },
190
+ {
191
+ "type": "integer",
192
+ "named": true
193
+ },
194
+ {
195
+ "type": "let",
196
+ "named": true
197
+ },
198
+ {
199
+ "type": "negation",
200
+ "named": true
201
+ },
202
+ {
203
+ "type": "panic",
204
+ "named": true
205
+ },
206
+ {
207
+ "type": "record",
208
+ "named": true
209
+ },
210
+ {
211
+ "type": "string",
212
+ "named": true
213
+ },
214
+ {
215
+ "type": "todo",
216
+ "named": true
217
+ }
218
+ ]
219
+ }
220
+ },
2
221
  {
3
222
  "type": "generic_list",
4
223
  "named": true,
5
224
  "fields": {},
6
225
  "children": {
7
- "multiple": true,
226
+ "multiple": true,
227
+ "required": true,
228
+ "types": [
229
+ {
230
+ "type": "identifier",
231
+ "named": true
232
+ }
233
+ ]
234
+ }
235
+ },
236
+ {
237
+ "type": "import",
238
+ "named": true,
239
+ "fields": {
240
+ "alias": {
241
+ "multiple": false,
242
+ "required": false,
243
+ "types": [
244
+ {
245
+ "type": "identifier",
246
+ "named": true
247
+ }
248
+ ]
249
+ },
250
+ "imports": {
251
+ "multiple": false,
252
+ "required": false,
253
+ "types": [
254
+ {
255
+ "type": "unqualified_imports",
256
+ "named": true
257
+ }
258
+ ]
259
+ },
260
+ "module": {
261
+ "multiple": false,
262
+ "required": true,
263
+ "types": [
264
+ {
265
+ "type": "module_name",
266
+ "named": true
267
+ }
268
+ ]
269
+ }
270
+ }
271
+ },
272
+ {
273
+ "type": "integer",
274
+ "named": true,
275
+ "fields": {}
276
+ },
277
+ {
278
+ "type": "let",
279
+ "named": true,
280
+ "fields": {
281
+ "assign": {
282
+ "multiple": true,
283
+ "required": false,
284
+ "types": [
285
+ {
286
+ "type": "as",
287
+ "named": false
288
+ },
289
+ {
290
+ "type": "identifier",
291
+ "named": true
292
+ }
293
+ ]
294
+ },
295
+ "pattern": {
296
+ "multiple": true,
297
+ "required": true,
298
+ "types": [
299
+ {
300
+ "type": "as",
301
+ "named": false
302
+ },
303
+ {
304
+ "type": "binary_expression",
305
+ "named": true
306
+ },
307
+ {
308
+ "type": "float",
309
+ "named": true
310
+ },
311
+ {
312
+ "type": "identifier",
313
+ "named": true
314
+ },
315
+ {
316
+ "type": "integer",
317
+ "named": true
318
+ }
319
+ ]
320
+ },
321
+ "type": {
322
+ "multiple": false,
323
+ "required": false,
324
+ "types": [
325
+ {
326
+ "type": "identifier",
327
+ "named": true
328
+ }
329
+ ]
330
+ },
331
+ "value": {
332
+ "multiple": false,
333
+ "required": true,
334
+ "types": [
335
+ {
336
+ "type": "binary_expression",
337
+ "named": true
338
+ },
339
+ {
340
+ "type": "expression_group",
341
+ "named": true
342
+ },
343
+ {
344
+ "type": "float",
345
+ "named": true
346
+ },
347
+ {
348
+ "type": "identifier",
349
+ "named": true
350
+ },
351
+ {
352
+ "type": "integer",
353
+ "named": true
354
+ },
355
+ {
356
+ "type": "negation",
357
+ "named": true
358
+ },
359
+ {
360
+ "type": "panic",
361
+ "named": true
362
+ },
363
+ {
364
+ "type": "record",
365
+ "named": true
366
+ },
367
+ {
368
+ "type": "string",
369
+ "named": true
370
+ },
371
+ {
372
+ "type": "todo",
373
+ "named": true
374
+ }
375
+ ]
376
+ }
377
+ }
378
+ },
379
+ {
380
+ "type": "module",
381
+ "named": true,
382
+ "fields": {
383
+ "module": {
384
+ "multiple": false,
385
+ "required": true,
386
+ "types": [
387
+ {
388
+ "type": "module_name",
389
+ "named": true
390
+ }
391
+ ]
392
+ }
393
+ }
394
+ },
395
+ {
396
+ "type": "module_name",
397
+ "named": true,
398
+ "fields": {}
399
+ },
400
+ {
401
+ "type": "negation",
402
+ "named": true,
403
+ "fields": {},
404
+ "children": {
405
+ "multiple": false,
8
406
  "required": true,
9
407
  "types": [
408
+ {
409
+ "type": "expression_group",
410
+ "named": true
411
+ },
412
+ {
413
+ "type": "float",
414
+ "named": true
415
+ },
10
416
  {
11
417
  "type": "identifier",
12
418
  "named": true
419
+ },
420
+ {
421
+ "type": "integer",
422
+ "named": true
423
+ },
424
+ {
425
+ "type": "negation",
426
+ "named": true
427
+ },
428
+ {
429
+ "type": "panic",
430
+ "named": true
431
+ },
432
+ {
433
+ "type": "record",
434
+ "named": true
435
+ },
436
+ {
437
+ "type": "string",
438
+ "named": true
439
+ },
440
+ {
441
+ "type": "todo",
442
+ "named": true
13
443
  }
14
444
  ]
15
445
  }
16
446
  },
17
447
  {
18
- "type": "identifier",
448
+ "type": "panic",
19
449
  "named": true,
20
450
  "fields": {}
21
451
  },
22
452
  {
23
- "type": "import",
453
+ "type": "proc",
24
454
  "named": true,
25
455
  "fields": {
26
- "alias": {
456
+ "body": {
27
- "multiple": false,
457
+ "multiple": true,
28
- "required": false,
458
+ "required": true,
29
459
  "types": [
460
+ {
461
+ "type": "binary_expression",
462
+ "named": true
463
+ },
464
+ {
465
+ "type": "expression_group",
466
+ "named": true
467
+ },
468
+ {
469
+ "type": "float",
470
+ "named": true
471
+ },
30
472
  {
31
473
  "type": "identifier",
32
474
  "named": true
475
+ },
476
+ {
477
+ "type": "integer",
478
+ "named": true
479
+ },
480
+ {
481
+ "type": "let",
482
+ "named": true
483
+ },
484
+ {
485
+ "type": "negation",
486
+ "named": true
487
+ },
488
+ {
489
+ "type": "panic",
490
+ "named": true
491
+ },
492
+ {
493
+ "type": "record",
494
+ "named": true
495
+ },
496
+ {
497
+ "type": "string",
498
+ "named": true
499
+ },
500
+ {
501
+ "type": "todo",
502
+ "named": true
33
503
  }
34
504
  ]
35
505
  },
36
- "imports": {
506
+ "name": {
37
507
  "multiple": false,
38
- "required": false,
508
+ "required": true,
39
509
  "types": [
40
510
  {
41
- "type": "unqualified_imports",
511
+ "type": "identifier",
42
512
  "named": true
43
513
  }
44
514
  ]
45
515
  },
46
- "module": {
516
+ "params": {
47
- "multiple": false,
517
+ "multiple": true,
48
518
  "required": true,
49
519
  "types": [
50
520
  {
521
+ "type": "(",
522
+ "named": false
523
+ },
524
+ {
525
+ "type": ")",
526
+ "named": false
527
+ },
528
+ {
529
+ "type": ",",
530
+ "named": false
531
+ },
532
+ {
51
- "type": "module_name",
533
+ "type": "type_field",
52
534
  "named": true
53
535
  }
54
536
  ]
55
- }
56
- }
57
- },
537
+ },
58
- {
59
- "type": "module",
60
- "named": true,
61
- "fields": {
62
- "module": {
538
+ "return_type": {
63
539
  "multiple": false,
64
- "required": true,
540
+ "required": false,
65
541
  "types": [
66
542
  {
67
- "type": "module_name",
543
+ "type": "return_type",
68
544
  "named": true
69
545
  }
70
546
  ]
71
547
  }
72
548
  }
73
549
  },
74
- {
75
- "type": "module_name",
76
- "named": true,
77
- "fields": {}
78
- },
79
550
  {
80
551
  "type": "record",
81
552
  "named": true,
@@ -112,6 +583,44 @@
112
583
  }
113
584
  }
114
585
  },
586
+ {
587
+ "type": "return_type",
588
+ "named": true,
589
+ "fields": {
590
+ "generics": {
591
+ "multiple": true,
592
+ "required": false,
593
+ "types": [
594
+ {
595
+ "type": "(",
596
+ "named": false
597
+ },
598
+ {
599
+ "type": ")",
600
+ "named": false
601
+ },
602
+ {
603
+ "type": ",",
604
+ "named": false
605
+ },
606
+ {
607
+ "type": "identifier",
608
+ "named": true
609
+ }
610
+ ]
611
+ },
612
+ "name": {
613
+ "multiple": false,
614
+ "required": true,
615
+ "types": [
616
+ {
617
+ "type": "type_identifier",
618
+ "named": true
619
+ }
620
+ ]
621
+ }
622
+ }
623
+ },
115
624
  {
116
625
  "type": "source_file",
117
626
  "named": true,
@@ -128,6 +637,10 @@
128
637
  "type": "module",
129
638
  "named": true
130
639
  },
640
+ {
641
+ "type": "proc",
642
+ "named": true
643
+ },
131
644
  {
132
645
  "type": "record",
133
646
  "named": true
@@ -139,6 +652,41 @@
139
652
  ]
140
653
  }
141
654
  },
655
+ {
656
+ "type": "string",
657
+ "named": true,
658
+ "fields": {},
659
+ "children": {
660
+ "multiple": true,
661
+ "required": false,
662
+ "types": [
663
+ {
664
+ "type": "escape_sequence",
665
+ "named": true
666
+ },
667
+ {
668
+ "type": "quoted_content",
669
+ "named": true
670
+ }
671
+ ]
672
+ }
673
+ },
674
+ {
675
+ "type": "todo",
676
+ "named": true,
677
+ "fields": {
678
+ "message": {
679
+ "multiple": false,
680
+ "required": false,
681
+ "types": [
682
+ {
683
+ "type": "string",
684
+ "named": true
685
+ }
686
+ ]
687
+ }
688
+ }
689
+ },
142
690
  {
143
691
  "type": "type",
144
692
  "named": true,
@@ -289,6 +837,26 @@
289
837
  ]
290
838
  }
291
839
  },
840
+ {
841
+ "type": "!",
842
+ "named": false
843
+ },
844
+ {
845
+ "type": "!=",
846
+ "named": false
847
+ },
848
+ {
849
+ "type": "\"",
850
+ "named": false
851
+ },
852
+ {
853
+ "type": "%",
854
+ "named": false
855
+ },
856
+ {
857
+ "type": "&&",
858
+ "named": false
859
+ },
292
860
  {
293
861
  "type": "(",
294
862
  "named": false
@@ -297,10 +865,26 @@
297
865
  "type": ")",
298
866
  "named": false
299
867
  },
868
+ {
869
+ "type": "*",
870
+ "named": false
871
+ },
872
+ {
873
+ "type": "+",
874
+ "named": false
875
+ },
300
876
  {
301
877
  "type": ",",
302
878
  "named": false
303
879
  },
880
+ {
881
+ "type": "-",
882
+ "named": false
883
+ },
884
+ {
885
+ "type": "->",
886
+ "named": false
887
+ },
304
888
  {
305
889
  "type": ".",
306
890
  "named": false
@@ -313,26 +897,78 @@
313
897
  "type": ":",
314
898
  "named": false
315
899
  },
900
+ {
901
+ "type": "<",
902
+ "named": false
903
+ },
904
+ {
905
+ "type": "<=",
906
+ "named": false
907
+ },
908
+ {
909
+ "type": "<>",
910
+ "named": false
911
+ },
316
912
  {
317
913
  "type": "=",
318
914
  "named": false
319
915
  },
916
+ {
917
+ "type": "==",
918
+ "named": false
919
+ },
920
+ {
921
+ "type": ">",
922
+ "named": false
923
+ },
924
+ {
925
+ "type": ">=",
926
+ "named": false
927
+ },
320
928
  {
321
929
  "type": "as",
322
930
  "named": false
323
931
  },
932
+ {
933
+ "type": "escape_sequence",
934
+ "named": true
935
+ },
936
+ {
937
+ "type": "float",
938
+ "named": true
939
+ },
940
+ {
941
+ "type": "identifier",
942
+ "named": true
943
+ },
324
944
  {
325
945
  "type": "import",
326
946
  "named": false
327
947
  },
948
+ {
949
+ "type": "let",
950
+ "named": false
951
+ },
328
952
  {
329
953
  "type": "module",
330
954
  "named": false
331
955
  },
956
+ {
957
+ "type": "panic",
958
+ "named": false
959
+ },
960
+ {
961
+ "type": "quoted_content",
962
+ "named": true
963
+ },
332
964
  {
333
965
  "type": "record",
334
966
  "named": false
335
967
  },
968
+ {
969
+ "type": "todo",
970
+ "named": false
971
+ },
336
972
  {
337
973
  "type": "type",
338
974
  "named": false
@@ -345,6 +981,14 @@
345
981
  "type": "|",
346
982
  "named": false
347
983
  },
984
+ {
985
+ "type": "|>",
986
+ "named": false
987
+ },
988
+ {
989
+ "type": "||",
990
+ "named": false
991
+ },
348
992
  {
349
993
  "type": "}",
350
994
  "named": false
src/parser.c CHANGED
@@ -6,15 +6,15 @@
6
6
  #endif
7
7
 
8
8
  #define LANGUAGE_VERSION 14
9
- #define STATE_COUNT 86
9
+ #define STATE_COUNT 248
10
10
  #define LARGE_STATE_COUNT 2
11
- #define SYMBOL_COUNT 41
11
+ #define SYMBOL_COUNT 88
12
12
  #define ALIAS_COUNT 0
13
- #define TOKEN_COUNT 20
13
+ #define TOKEN_COUNT 48
14
- #define EXTERNAL_TOKEN_COUNT 0
14
+ #define EXTERNAL_TOKEN_COUNT 1
15
- #define FIELD_COUNT 8
15
+ #define FIELD_COUNT 18
16
- #define MAX_ALIAS_SEQUENCE_LENGTH 6
16
+ #define MAX_ALIAS_SEQUENCE_LENGTH 9
17
- #define PRODUCTION_ID_COUNT 16
17
+ #define PRODUCTION_ID_COUNT 35
18
18
 
19
19
  enum {
20
20
  anon_sym_module = 1,
@@ -31,32 +31,79 @@ enum {
31
31
  anon_sym_PIPE = 12,
32
32
  anon_sym_LPAREN = 13,
33
33
  anon_sym_RPAREN = 14,
34
+ anon_sym_DASH_GT = 15,
35
+ anon_sym_PIPE_PIPE = 16,
36
+ anon_sym_AMP_AMP = 17,
37
+ anon_sym_EQ_EQ = 18,
38
+ anon_sym_BANG_EQ = 19,
39
+ anon_sym_LT = 20,
40
+ anon_sym_LT_EQ = 21,
41
+ anon_sym_GT = 22,
42
+ anon_sym_GT_EQ = 23,
43
+ anon_sym_PIPE_GT = 24,
44
+ anon_sym_PLUS = 25,
45
+ anon_sym_DASH = 26,
46
+ anon_sym_STAR = 27,
47
+ anon_sym_PERCENT = 28,
48
+ anon_sym_LT_GT = 29,
49
+ anon_sym_BANG = 30,
50
+ anon_sym_let = 31,
51
+ anon_sym_todo = 32,
52
+ anon_sym_panic = 33,
34
- anon_sym_COLON = 15,
53
+ anon_sym_COLON = 34,
54
+ sym_float = 35,
55
+ anon_sym_DQUOTE = 36,
56
+ anon_sym_DQUOTE2 = 37,
57
+ sym__hex = 38,
58
+ sym__decimal = 39,
59
+ sym__octal = 40,
60
+ sym__binary = 41,
61
+ sym_escape_sequence = 42,
35
- aux_sym_identifier_token1 = 16,
62
+ sym_identifier = 43,
36
- sym__discard_name = 17,
63
+ sym__discard_name = 44,
37
- sym__name = 18,
64
+ sym__name = 45,
38
- sym__upname = 19,
65
+ sym__upname = 46,
66
+ sym_quoted_content = 47,
39
- sym_source_file = 20,
67
+ sym_source_file = 48,
40
- sym_module = 21,
68
+ sym_module = 49,
41
- sym_import = 22,
69
+ sym_import = 50,
42
- sym_module_name = 23,
70
+ sym_module_name = 51,
43
- sym_unqualified_imports = 24,
71
+ sym_unqualified_imports = 52,
44
- sym_unqualified_import = 25,
72
+ sym_unqualified_import = 53,
45
- sym_record = 26,
73
+ sym_record = 54,
46
- sym_type = 27,
74
+ sym_type = 55,
75
+ sym_proc = 56,
76
+ aux_sym__statement_seq = 57,
77
+ sym__statement = 58,
78
+ sym__expression = 59,
79
+ sym_binary_expression = 60,
80
+ sym__expression_unit = 61,
81
+ sym_expression_group = 62,
82
+ sym_negation = 63,
83
+ sym_let = 64,
84
+ sym__assignment = 65,
85
+ sym__pattern = 66,
86
+ sym__pattern_expression = 67,
87
+ sym__pattern_binary_expression = 68,
88
+ sym_todo = 69,
89
+ sym_panic = 70,
90
+ sym_return_type = 71,
47
- sym_type_name = 28,
91
+ sym_type_name = 72,
48
- sym_type_field = 29,
92
+ sym_type_field = 73,
93
+ sym_generic_list = 74,
49
- sym_identifier = 30,
94
+ sym_integer = 75,
95
+ sym_string = 76,
50
- sym_type_identifier = 31,
96
+ sym_type_identifier = 77,
51
- sym_generic_list = 32,
97
+ sym__type_annotation = 78,
52
- aux_sym_source_file_repeat1 = 33,
98
+ aux_sym_source_file_repeat1 = 79,
53
- aux_sym_source_file_repeat2 = 34,
99
+ aux_sym_source_file_repeat2 = 80,
54
- aux_sym_module_name_repeat1 = 35,
100
+ aux_sym_module_name_repeat1 = 81,
55
- aux_sym_unqualified_imports_repeat1 = 36,
101
+ aux_sym_unqualified_imports_repeat1 = 82,
56
- aux_sym_record_repeat1 = 37,
102
+ aux_sym_record_repeat1 = 83,
57
- aux_sym_type_repeat1 = 38,
103
+ aux_sym_type_repeat1 = 84,
104
+ aux_sym_proc_repeat1 = 85,
58
- aux_sym_return_type_repeat1 = 39,
105
+ aux_sym_return_type_repeat1 = 86,
59
- aux_sym_type_name_repeat1 = 40,
106
+ aux_sym_string_repeat1 = 87,
60
107
  };
61
108
 
62
109
  static const char * const ts_symbol_names[] = {
@@ -75,11 +122,39 @@ static const char * const ts_symbol_names[] = {
75
122
  [anon_sym_PIPE] = "|",
76
123
  [anon_sym_LPAREN] = "(",
77
124
  [anon_sym_RPAREN] = ")",
125
+ [anon_sym_DASH_GT] = "->",
126
+ [anon_sym_PIPE_PIPE] = "||",
127
+ [anon_sym_AMP_AMP] = "&&",
128
+ [anon_sym_EQ_EQ] = "==",
129
+ [anon_sym_BANG_EQ] = "!=",
130
+ [anon_sym_LT] = "<",
131
+ [anon_sym_LT_EQ] = "<=",
132
+ [anon_sym_GT] = ">",
133
+ [anon_sym_GT_EQ] = ">=",
134
+ [anon_sym_PIPE_GT] = "|>",
135
+ [anon_sym_PLUS] = "+",
136
+ [anon_sym_DASH] = "-",
137
+ [anon_sym_STAR] = "*",
138
+ [anon_sym_PERCENT] = "%",
139
+ [anon_sym_LT_GT] = "<>",
140
+ [anon_sym_BANG] = "!",
141
+ [anon_sym_let] = "let",
142
+ [anon_sym_todo] = "todo",
143
+ [anon_sym_panic] = "panic",
78
144
  [anon_sym_COLON] = ":",
145
+ [sym_float] = "float",
146
+ [anon_sym_DQUOTE] = "\"",
147
+ [anon_sym_DQUOTE2] = "\"",
148
+ [sym__hex] = "_hex",
149
+ [sym__decimal] = "_decimal",
150
+ [sym__octal] = "_octal",
151
+ [sym__binary] = "_binary",
152
+ [sym_escape_sequence] = "escape_sequence",
79
- [aux_sym_identifier_token1] = "identifier_token1",
153
+ [sym_identifier] = "identifier",
80
154
  [sym__discard_name] = "_discard_name",
81
155
  [sym__name] = "_name",
82
156
  [sym__upname] = "_upname",
157
+ [sym_quoted_content] = "quoted_content",
83
158
  [sym_source_file] = "source_file",
84
159
  [sym_module] = "module",
85
160
  [sym_import] = "import",
@@ -88,19 +163,38 @@ static const char * const ts_symbol_names[] = {
88
163
  [sym_unqualified_import] = "unqualified_import",
89
164
  [sym_record] = "record",
90
165
  [sym_type] = "type",
166
+ [sym_proc] = "proc",
167
+ [aux_sym__statement_seq] = "_statement_seq",
168
+ [sym__statement] = "_statement",
169
+ [sym__expression] = "_expression",
170
+ [sym_binary_expression] = "binary_expression",
171
+ [sym__expression_unit] = "_expression_unit",
172
+ [sym_expression_group] = "expression_group",
173
+ [sym_negation] = "negation",
174
+ [sym_let] = "let",
175
+ [sym__assignment] = "_assignment",
176
+ [sym__pattern] = "_pattern",
177
+ [sym__pattern_expression] = "_pattern_expression",
178
+ [sym__pattern_binary_expression] = "binary_expression",
179
+ [sym_todo] = "todo",
180
+ [sym_panic] = "panic",
181
+ [sym_return_type] = "return_type",
91
182
  [sym_type_name] = "type_name",
92
183
  [sym_type_field] = "type_field",
93
- [sym_identifier] = "identifier",
94
- [sym_type_identifier] = "type_identifier",
95
184
  [sym_generic_list] = "generic_list",
185
+ [sym_integer] = "integer",
186
+ [sym_string] = "string",
187
+ [sym_type_identifier] = "type_identifier",
188
+ [sym__type_annotation] = "_type_annotation",
96
189
  [aux_sym_source_file_repeat1] = "source_file_repeat1",
97
190
  [aux_sym_source_file_repeat2] = "source_file_repeat2",
98
191
  [aux_sym_module_name_repeat1] = "module_name_repeat1",
99
192
  [aux_sym_unqualified_imports_repeat1] = "unqualified_imports_repeat1",
100
193
  [aux_sym_record_repeat1] = "record_repeat1",
101
194
  [aux_sym_type_repeat1] = "type_repeat1",
195
+ [aux_sym_proc_repeat1] = "proc_repeat1",
102
196
  [aux_sym_return_type_repeat1] = "return_type_repeat1",
103
- [aux_sym_type_name_repeat1] = "type_name_repeat1",
197
+ [aux_sym_string_repeat1] = "string_repeat1",
104
198
  };
105
199
 
106
200
  static const TSSymbol ts_symbol_map[] = {
@@ -119,11 +213,39 @@ static const TSSymbol ts_symbol_map[] = {
119
213
  [anon_sym_PIPE] = anon_sym_PIPE,
120
214
  [anon_sym_LPAREN] = anon_sym_LPAREN,
121
215
  [anon_sym_RPAREN] = anon_sym_RPAREN,
216
+ [anon_sym_DASH_GT] = anon_sym_DASH_GT,
217
+ [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE,
218
+ [anon_sym_AMP_AMP] = anon_sym_AMP_AMP,
219
+ [anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
220
+ [anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
221
+ [anon_sym_LT] = anon_sym_LT,
222
+ [anon_sym_LT_EQ] = anon_sym_LT_EQ,
223
+ [anon_sym_GT] = anon_sym_GT,
224
+ [anon_sym_GT_EQ] = anon_sym_GT_EQ,
225
+ [anon_sym_PIPE_GT] = anon_sym_PIPE_GT,
226
+ [anon_sym_PLUS] = anon_sym_PLUS,
227
+ [anon_sym_DASH] = anon_sym_DASH,
228
+ [anon_sym_STAR] = anon_sym_STAR,
229
+ [anon_sym_PERCENT] = anon_sym_PERCENT,
230
+ [anon_sym_LT_GT] = anon_sym_LT_GT,
231
+ [anon_sym_BANG] = anon_sym_BANG,
232
+ [anon_sym_let] = anon_sym_let,
233
+ [anon_sym_todo] = anon_sym_todo,
234
+ [anon_sym_panic] = anon_sym_panic,
122
235
  [anon_sym_COLON] = anon_sym_COLON,
236
+ [sym_float] = sym_float,
237
+ [anon_sym_DQUOTE] = anon_sym_DQUOTE,
238
+ [anon_sym_DQUOTE2] = anon_sym_DQUOTE,
239
+ [sym__hex] = sym__hex,
240
+ [sym__decimal] = sym__decimal,
241
+ [sym__octal] = sym__octal,
242
+ [sym__binary] = sym__binary,
243
+ [sym_escape_sequence] = sym_escape_sequence,
123
- [aux_sym_identifier_token1] = aux_sym_identifier_token1,
244
+ [sym_identifier] = sym_identifier,
124
245
  [sym__discard_name] = sym__discard_name,
125
246
  [sym__name] = sym__name,
126
247
  [sym__upname] = sym__upname,
248
+ [sym_quoted_content] = sym_quoted_content,
127
249
  [sym_source_file] = sym_source_file,
128
250
  [sym_module] = sym_module,
129
251
  [sym_import] = sym_import,
@@ -132,19 +254,38 @@ static const TSSymbol ts_symbol_map[] = {
132
254
  [sym_unqualified_import] = sym_unqualified_import,
133
255
  [sym_record] = sym_record,
134
256
  [sym_type] = sym_type,
257
+ [sym_proc] = sym_proc,
258
+ [aux_sym__statement_seq] = aux_sym__statement_seq,
259
+ [sym__statement] = sym__statement,
260
+ [sym__expression] = sym__expression,
261
+ [sym_binary_expression] = sym_binary_expression,
262
+ [sym__expression_unit] = sym__expression_unit,
263
+ [sym_expression_group] = sym_expression_group,
264
+ [sym_negation] = sym_negation,
265
+ [sym_let] = sym_let,
266
+ [sym__assignment] = sym__assignment,
267
+ [sym__pattern] = sym__pattern,
268
+ [sym__pattern_expression] = sym__pattern_expression,
269
+ [sym__pattern_binary_expression] = sym_binary_expression,
270
+ [sym_todo] = sym_todo,
271
+ [sym_panic] = sym_panic,
272
+ [sym_return_type] = sym_return_type,
135
273
  [sym_type_name] = sym_type_name,
136
274
  [sym_type_field] = sym_type_field,
137
- [sym_identifier] = sym_identifier,
138
- [sym_type_identifier] = sym_type_identifier,
139
275
  [sym_generic_list] = sym_generic_list,
276
+ [sym_integer] = sym_integer,
277
+ [sym_string] = sym_string,
278
+ [sym_type_identifier] = sym_type_identifier,
279
+ [sym__type_annotation] = sym__type_annotation,
140
280
  [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
141
281
  [aux_sym_source_file_repeat2] = aux_sym_source_file_repeat2,
142
282
  [aux_sym_module_name_repeat1] = aux_sym_module_name_repeat1,
143
283
  [aux_sym_unqualified_imports_repeat1] = aux_sym_unqualified_imports_repeat1,
144
284
  [aux_sym_record_repeat1] = aux_sym_record_repeat1,
145
285
  [aux_sym_type_repeat1] = aux_sym_type_repeat1,
286
+ [aux_sym_proc_repeat1] = aux_sym_proc_repeat1,
146
287
  [aux_sym_return_type_repeat1] = aux_sym_return_type_repeat1,
147
- [aux_sym_type_name_repeat1] = aux_sym_type_name_repeat1,
288
+ [aux_sym_string_repeat1] = aux_sym_string_repeat1,
148
289
  };
149
290
 
150
291
  static const TSSymbolMetadata ts_symbol_metadata[] = {
@@ -208,14 +349,122 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
208
349
  .visible = true,
209
350
  .named = false,
210
351
  },
352
+ [anon_sym_DASH_GT] = {
353
+ .visible = true,
354
+ .named = false,
355
+ },
356
+ [anon_sym_PIPE_PIPE] = {
357
+ .visible = true,
358
+ .named = false,
359
+ },
360
+ [anon_sym_AMP_AMP] = {
361
+ .visible = true,
362
+ .named = false,
363
+ },
364
+ [anon_sym_EQ_EQ] = {
365
+ .visible = true,
366
+ .named = false,
367
+ },
368
+ [anon_sym_BANG_EQ] = {
369
+ .visible = true,
370
+ .named = false,
371
+ },
372
+ [anon_sym_LT] = {
373
+ .visible = true,
374
+ .named = false,
375
+ },
376
+ [anon_sym_LT_EQ] = {
377
+ .visible = true,
378
+ .named = false,
379
+ },
380
+ [anon_sym_GT] = {
381
+ .visible = true,
382
+ .named = false,
383
+ },
384
+ [anon_sym_GT_EQ] = {
385
+ .visible = true,
386
+ .named = false,
387
+ },
388
+ [anon_sym_PIPE_GT] = {
389
+ .visible = true,
390
+ .named = false,
391
+ },
392
+ [anon_sym_PLUS] = {
393
+ .visible = true,
394
+ .named = false,
395
+ },
396
+ [anon_sym_DASH] = {
397
+ .visible = true,
398
+ .named = false,
399
+ },
400
+ [anon_sym_STAR] = {
401
+ .visible = true,
402
+ .named = false,
403
+ },
404
+ [anon_sym_PERCENT] = {
405
+ .visible = true,
406
+ .named = false,
407
+ },
408
+ [anon_sym_LT_GT] = {
409
+ .visible = true,
410
+ .named = false,
411
+ },
412
+ [anon_sym_BANG] = {
413
+ .visible = true,
414
+ .named = false,
415
+ },
416
+ [anon_sym_let] = {
417
+ .visible = true,
418
+ .named = false,
419
+ },
420
+ [anon_sym_todo] = {
421
+ .visible = true,
422
+ .named = false,
423
+ },
424
+ [anon_sym_panic] = {
425
+ .visible = true,
426
+ .named = false,
427
+ },
211
428
  [anon_sym_COLON] = {
212
429
  .visible = true,
213
430
  .named = false,
214
431
  },
215
- [aux_sym_identifier_token1] = {
432
+ [sym_float] = {
216
- .visible = false,
433
+ .visible = true,
434
+ .named = true,
435
+ },
436
+ [anon_sym_DQUOTE] = {
437
+ .visible = true,
438
+ .named = false,
439
+ },
440
+ [anon_sym_DQUOTE2] = {
441
+ .visible = true,
217
442
  .named = false,
218
443
  },
444
+ [sym__hex] = {
445
+ .visible = false,
446
+ .named = true,
447
+ },
448
+ [sym__decimal] = {
449
+ .visible = false,
450
+ .named = true,
451
+ },
452
+ [sym__octal] = {
453
+ .visible = false,
454
+ .named = true,
455
+ },
456
+ [sym__binary] = {
457
+ .visible = false,
458
+ .named = true,
459
+ },
460
+ [sym_escape_sequence] = {
461
+ .visible = true,
462
+ .named = true,
463
+ },
464
+ [sym_identifier] = {
465
+ .visible = true,
466
+ .named = true,
467
+ },
219
468
  [sym__discard_name] = {
220
469
  .visible = false,
221
470
  .named = true,
@@ -228,6 +477,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
228
477
  .visible = false,
229
478
  .named = true,
230
479
  },
480
+ [sym_quoted_content] = {
481
+ .visible = true,
482
+ .named = true,
483
+ },
231
484
  [sym_source_file] = {
232
485
  .visible = true,
233
486
  .named = true,
@@ -260,6 +513,70 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
260
513
  .visible = true,
261
514
  .named = true,
262
515
  },
516
+ [sym_proc] = {
517
+ .visible = true,
518
+ .named = true,
519
+ },
520
+ [aux_sym__statement_seq] = {
521
+ .visible = false,
522
+ .named = false,
523
+ },
524
+ [sym__statement] = {
525
+ .visible = false,
526
+ .named = true,
527
+ },
528
+ [sym__expression] = {
529
+ .visible = false,
530
+ .named = true,
531
+ },
532
+ [sym_binary_expression] = {
533
+ .visible = true,
534
+ .named = true,
535
+ },
536
+ [sym__expression_unit] = {
537
+ .visible = false,
538
+ .named = true,
539
+ },
540
+ [sym_expression_group] = {
541
+ .visible = true,
542
+ .named = true,
543
+ },
544
+ [sym_negation] = {
545
+ .visible = true,
546
+ .named = true,
547
+ },
548
+ [sym_let] = {
549
+ .visible = true,
550
+ .named = true,
551
+ },
552
+ [sym__assignment] = {
553
+ .visible = false,
554
+ .named = true,
555
+ },
556
+ [sym__pattern] = {
557
+ .visible = false,
558
+ .named = true,
559
+ },
560
+ [sym__pattern_expression] = {
561
+ .visible = false,
562
+ .named = true,
563
+ },
564
+ [sym__pattern_binary_expression] = {
565
+ .visible = true,
566
+ .named = true,
567
+ },
568
+ [sym_todo] = {
569
+ .visible = true,
570
+ .named = true,
571
+ },
572
+ [sym_panic] = {
573
+ .visible = true,
574
+ .named = true,
575
+ },
576
+ [sym_return_type] = {
577
+ .visible = true,
578
+ .named = true,
579
+ },
263
580
  [sym_type_name] = {
264
581
  .visible = true,
265
582
  .named = true,
@@ -268,18 +585,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
268
585
  .visible = true,
269
586
  .named = true,
270
587
  },
271
- [sym_identifier] = {
588
+ [sym_generic_list] = {
272
589
  .visible = true,
273
590
  .named = true,
274
591
  },
275
- [sym_type_identifier] = {
592
+ [sym_integer] = {
276
593
  .visible = true,
277
594
  .named = true,
278
595
  },
596
+ [sym_string] = {
597
+ .visible = true,
598
+ .named = true,
599
+ },
279
- [sym_generic_list] = {
600
+ [sym_type_identifier] = {
280
601
  .visible = true,
281
602
  .named = true,
282
603
  },
604
+ [sym__type_annotation] = {
605
+ .visible = false,
606
+ .named = true,
607
+ },
283
608
  [aux_sym_source_file_repeat1] = {
284
609
  .visible = false,
285
610
  .named = false,
@@ -304,11 +629,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
304
629
  .visible = false,
305
630
  .named = false,
306
631
  },
632
+ [aux_sym_proc_repeat1] = {
633
+ .visible = false,
634
+ .named = false,
635
+ },
307
636
  [aux_sym_return_type_repeat1] = {
308
637
  .visible = false,
309
638
  .named = false,
310
639
  },
311
- [aux_sym_type_name_repeat1] = {
640
+ [aux_sym_string_repeat1] = {
312
641
  .visible = false,
313
642
  .named = false,
314
643
  },
@@ -316,25 +645,45 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
316
645
 
317
646
  enum {
318
647
  field_alias = 1,
648
+ field_assign = 2,
649
+ field_body = 3,
319
- field_fields = 2,
650
+ field_fields = 4,
320
- field_generics = 3,
651
+ field_generics = 5,
321
- field_imports = 4,
652
+ field_imports = 6,
653
+ field_left = 7,
654
+ field_message = 8,
322
- field_module = 5,
655
+ field_module = 9,
323
- field_name = 6,
656
+ field_name = 10,
657
+ field_operator = 11,
658
+ field_params = 12,
659
+ field_pattern = 13,
660
+ field_return_type = 14,
661
+ field_right = 15,
324
- field_type = 7,
662
+ field_type = 16,
325
- field_types = 8,
663
+ field_types = 17,
664
+ field_value = 18,
326
665
  };
327
666
 
328
667
  static const char * const ts_field_names[] = {
329
668
  [0] = NULL,
330
669
  [field_alias] = "alias",
670
+ [field_assign] = "assign",
671
+ [field_body] = "body",
331
672
  [field_fields] = "fields",
332
673
  [field_generics] = "generics",
333
674
  [field_imports] = "imports",
675
+ [field_left] = "left",
676
+ [field_message] = "message",
334
677
  [field_module] = "module",
335
678
  [field_name] = "name",
679
+ [field_operator] = "operator",
680
+ [field_params] = "params",
681
+ [field_pattern] = "pattern",
682
+ [field_return_type] = "return_type",
683
+ [field_right] = "right",
336
684
  [field_type] = "type",
337
685
  [field_types] = "types",
686
+ [field_value] = "value",
338
687
  };
339
688
 
340
689
  static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
@@ -350,9 +699,28 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
350
699
  [10] = {.index = 16, .length = 2},
351
700
  [11] = {.index = 18, .length = 3},
352
701
  [12] = {.index = 21, .length = 3},
353
- [13] = {.index = 24, .length = 3},
702
+ [13] = {.index = 24, .length = 4},
354
- [14] = {.index = 27, .length = 4},
703
+ [14] = {.index = 28, .length = 3},
355
- [15] = {.index = 31, .length = 2},
704
+ [15] = {.index = 31, .length = 4},
705
+ [16] = {.index = 35, .length = 4},
706
+ [17] = {.index = 39, .length = 3},
707
+ [18] = {.index = 42, .length = 4},
708
+ [19] = {.index = 46, .length = 5},
709
+ [20] = {.index = 51, .length = 2},
710
+ [21] = {.index = 53, .length = 3},
711
+ [22] = {.index = 56, .length = 5},
712
+ [23] = {.index = 61, .length = 5},
713
+ [24] = {.index = 66, .length = 6},
714
+ [25] = {.index = 72, .length = 3},
715
+ [26] = {.index = 75, .length = 1},
716
+ [27] = {.index = 76, .length = 2},
717
+ [28] = {.index = 78, .length = 1},
718
+ [29] = {.index = 79, .length = 4},
719
+ [30] = {.index = 83, .length = 6},
720
+ [31] = {.index = 89, .length = 6},
721
+ [32] = {.index = 95, .length = 4},
722
+ [33] = {.index = 99, .length = 5},
723
+ [34] = {.index = 104, .length = 7},
356
724
  };
357
725
 
358
726
  static const TSFieldMapEntry ts_field_map_entries[] = {
@@ -393,17 +761,114 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
393
761
  {field_name, 1},
394
762
  {field_types, 4},
395
763
  [24] =
764
+ {field_body, 4},
765
+ {field_name, 0},
766
+ {field_params, 1},
767
+ {field_params, 2},
768
+ [28] =
396
769
  {field_alias, 5},
397
770
  {field_imports, 3},
398
771
  {field_module, 1},
399
- [27] =
772
+ [31] =
400
773
  {field_generics, 2},
401
774
  {field_name, 1},
402
775
  {field_types, 4},
403
776
  {field_types, 5},
404
- [31] =
777
+ [35] =
778
+ {field_assign, 1, .inherited = true},
779
+ {field_pattern, 1, .inherited = true},
780
+ {field_type, 1, .inherited = true},
781
+ {field_value, 1, .inherited = true},
782
+ [39] =
783
+ {field_left, 0, .inherited = true},
784
+ {field_operator, 0, .inherited = true},
785
+ {field_right, 0, .inherited = true},
786
+ [42] =
787
+ {field_body, 5},
788
+ {field_name, 0},
789
+ {field_params, 1},
790
+ {field_params, 2},
791
+ [46] =
792
+ {field_body, 5},
793
+ {field_name, 0},
794
+ {field_params, 1},
795
+ {field_params, 2},
796
+ {field_params, 3},
797
+ [51] =
405
798
  {field_alias, 2},
406
799
  {field_name, 0},
800
+ [53] =
801
+ {field_left, 0},
802
+ {field_operator, 1},
803
+ {field_right, 2},
804
+ [56] =
805
+ {field_body, 6},
806
+ {field_name, 0},
807
+ {field_params, 1},
808
+ {field_params, 2},
809
+ {field_return_type, 4},
810
+ [61] =
811
+ {field_body, 6},
812
+ {field_name, 0},
813
+ {field_params, 1},
814
+ {field_params, 2},
815
+ {field_params, 3},
816
+ [66] =
817
+ {field_body, 6},
818
+ {field_name, 0},
819
+ {field_params, 1},
820
+ {field_params, 2},
821
+ {field_params, 3},
822
+ {field_params, 4},
823
+ [72] =
824
+ {field_assign, 0, .inherited = true},
825
+ {field_pattern, 0},
826
+ {field_value, 2},
827
+ [75] =
828
+ {field_type, 1},
829
+ [76] =
830
+ {field_assign, 1},
831
+ {field_assign, 2},
832
+ [78] =
833
+ {field_message, 2},
834
+ [79] =
835
+ {field_generics, 1},
836
+ {field_generics, 2},
837
+ {field_generics, 3},
838
+ {field_name, 0},
839
+ [83] =
840
+ {field_body, 7},
841
+ {field_name, 0},
842
+ {field_params, 1},
843
+ {field_params, 2},
844
+ {field_params, 3},
845
+ {field_return_type, 5},
846
+ [89] =
847
+ {field_body, 7},
848
+ {field_name, 0},
849
+ {field_params, 1},
850
+ {field_params, 2},
851
+ {field_params, 3},
852
+ {field_params, 4},
853
+ [95] =
854
+ {field_assign, 0, .inherited = true},
855
+ {field_pattern, 0},
856
+ {field_type, 1, .inherited = true},
857
+ {field_value, 3},
858
+ [99] =
859
+ {field_generics, 1},
860
+ {field_generics, 2},
861
+ {field_generics, 3},
862
+ {field_generics, 4},
863
+ {field_name, 0},
864
+ [104] =
865
+ {field_body, 8},
866
+ {field_name, 0},
867
+ {field_params, 1},
868
+ {field_params, 2},
869
+ {field_params, 3},
870
+ {field_params, 4},
871
+ {field_return_type, 6},
407
872
  };
408
873
 
409
874
  static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
@@ -418,19 +883,19 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
418
883
  [0] = 0,
419
884
  [1] = 1,
420
885
  [2] = 2,
421
- [3] = 3,
886
+ [3] = 2,
422
887
  [4] = 4,
423
888
  [5] = 5,
424
889
  [6] = 6,
425
890
  [7] = 7,
426
891
  [8] = 8,
427
892
  [9] = 9,
893
+ [10] = 10,
428
- [10] = 7,
894
+ [11] = 7,
429
- [11] = 11,
430
- [12] = 12,
895
+ [12] = 6,
431
896
  [13] = 13,
432
- [14] = 14,
897
+ [14] = 5,
433
- [15] = 15,
898
+ [15] = 4,
434
899
  [16] = 16,
435
900
  [17] = 17,
436
901
  [18] = 18,
@@ -445,50 +910,50 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
445
910
  [27] = 27,
446
911
  [28] = 28,
447
912
  [29] = 29,
448
- [30] = 30,
913
+ [30] = 8,
449
914
  [31] = 31,
450
915
  [32] = 32,
451
916
  [33] = 33,
452
917
  [34] = 34,
453
918
  [35] = 35,
454
- [36] = 36,
919
+ [36] = 9,
455
- [37] = 37,
920
+ [37] = 18,
456
- [38] = 38,
921
+ [38] = 27,
457
- [39] = 39,
922
+ [39] = 28,
458
- [40] = 40,
923
+ [40] = 32,
459
- [41] = 41,
924
+ [41] = 33,
460
- [42] = 2,
925
+ [42] = 13,
461
926
  [43] = 43,
462
- [44] = 44,
927
+ [44] = 31,
463
928
  [45] = 45,
464
929
  [46] = 46,
465
- [47] = 47,
930
+ [47] = 21,
466
- [48] = 48,
931
+ [48] = 35,
467
- [49] = 49,
932
+ [49] = 34,
468
933
  [50] = 50,
469
934
  [51] = 51,
470
935
  [52] = 52,
471
936
  [53] = 53,
472
- [54] = 54,
937
+ [54] = 10,
473
938
  [55] = 55,
474
- [56] = 56,
939
+ [56] = 20,
475
- [57] = 57,
940
+ [57] = 19,
476
- [58] = 58,
941
+ [58] = 22,
477
- [59] = 59,
942
+ [59] = 24,
478
- [60] = 60,
943
+ [60] = 29,
479
944
  [61] = 61,
480
- [62] = 62,
945
+ [62] = 16,
481
946
  [63] = 63,
482
- [64] = 64,
947
+ [64] = 25,
483
- [65] = 65,
948
+ [65] = 17,
484
- [66] = 66,
949
+ [66] = 26,
485
- [67] = 67,
950
+ [67] = 23,
486
- [68] = 66,
951
+ [68] = 68,
487
- [69] = 69,
952
+ [69] = 68,
488
- [70] = 70,
953
+ [70] = 46,
489
954
  [71] = 71,
490
955
  [72] = 72,
491
- [73] = 73,
956
+ [73] = 71,
492
957
  [74] = 74,
493
958
  [75] = 75,
494
959
  [76] = 76,
@@ -500,7 +965,169 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
500
965
  [82] = 82,
501
966
  [83] = 83,
502
967
  [84] = 84,
503
- [85] = 83,
968
+ [85] = 84,
969
+ [86] = 83,
970
+ [87] = 87,
971
+ [88] = 88,
972
+ [89] = 89,
973
+ [90] = 90,
974
+ [91] = 91,
975
+ [92] = 92,
976
+ [93] = 82,
977
+ [94] = 91,
978
+ [95] = 90,
979
+ [96] = 92,
980
+ [97] = 89,
981
+ [98] = 87,
982
+ [99] = 88,
983
+ [100] = 100,
984
+ [101] = 100,
985
+ [102] = 102,
986
+ [103] = 102,
987
+ [104] = 104,
988
+ [105] = 104,
989
+ [106] = 106,
990
+ [107] = 107,
991
+ [108] = 108,
992
+ [109] = 8,
993
+ [110] = 110,
994
+ [111] = 111,
995
+ [112] = 112,
996
+ [113] = 113,
997
+ [114] = 2,
998
+ [115] = 115,
999
+ [116] = 116,
1000
+ [117] = 117,
1001
+ [118] = 111,
1002
+ [119] = 119,
1003
+ [120] = 110,
1004
+ [121] = 112,
1005
+ [122] = 122,
1006
+ [123] = 123,
1007
+ [124] = 124,
1008
+ [125] = 125,
1009
+ [126] = 126,
1010
+ [127] = 35,
1011
+ [128] = 128,
1012
+ [129] = 129,
1013
+ [130] = 130,
1014
+ [131] = 131,
1015
+ [132] = 132,
1016
+ [133] = 133,
1017
+ [134] = 4,
1018
+ [135] = 115,
1019
+ [136] = 5,
1020
+ [137] = 137,
1021
+ [138] = 7,
1022
+ [139] = 6,
1023
+ [140] = 140,
1024
+ [141] = 141,
1025
+ [142] = 142,
1026
+ [143] = 143,
1027
+ [144] = 34,
1028
+ [145] = 145,
1029
+ [146] = 146,
1030
+ [147] = 27,
1031
+ [148] = 148,
1032
+ [149] = 149,
1033
+ [150] = 150,
1034
+ [151] = 151,
1035
+ [152] = 152,
1036
+ [153] = 153,
1037
+ [154] = 154,
1038
+ [155] = 155,
1039
+ [156] = 156,
1040
+ [157] = 19,
1041
+ [158] = 158,
1042
+ [159] = 24,
1043
+ [160] = 160,
1044
+ [161] = 154,
1045
+ [162] = 160,
1046
+ [163] = 163,
1047
+ [164] = 164,
1048
+ [165] = 155,
1049
+ [166] = 166,
1050
+ [167] = 154,
1051
+ [168] = 168,
1052
+ [169] = 169,
1053
+ [170] = 170,
1054
+ [171] = 169,
1055
+ [172] = 172,
1056
+ [173] = 173,
1057
+ [174] = 174,
1058
+ [175] = 8,
1059
+ [176] = 176,
1060
+ [177] = 177,
1061
+ [178] = 173,
1062
+ [179] = 179,
1063
+ [180] = 180,
1064
+ [181] = 181,
1065
+ [182] = 182,
1066
+ [183] = 169,
1067
+ [184] = 184,
1068
+ [185] = 174,
1069
+ [186] = 186,
1070
+ [187] = 187,
1071
+ [188] = 188,
1072
+ [189] = 189,
1073
+ [190] = 190,
1074
+ [191] = 191,
1075
+ [192] = 173,
1076
+ [193] = 193,
1077
+ [194] = 194,
1078
+ [195] = 195,
1079
+ [196] = 196,
1080
+ [197] = 197,
1081
+ [198] = 198,
1082
+ [199] = 199,
1083
+ [200] = 200,
1084
+ [201] = 201,
1085
+ [202] = 202,
1086
+ [203] = 203,
1087
+ [204] = 204,
1088
+ [205] = 205,
1089
+ [206] = 206,
1090
+ [207] = 207,
1091
+ [208] = 202,
1092
+ [209] = 197,
1093
+ [210] = 210,
1094
+ [211] = 211,
1095
+ [212] = 202,
1096
+ [213] = 213,
1097
+ [214] = 214,
1098
+ [215] = 215,
1099
+ [216] = 216,
1100
+ [217] = 217,
1101
+ [218] = 218,
1102
+ [219] = 219,
1103
+ [220] = 220,
1104
+ [221] = 221,
1105
+ [222] = 222,
1106
+ [223] = 223,
1107
+ [224] = 219,
1108
+ [225] = 225,
1109
+ [226] = 226,
1110
+ [227] = 227,
1111
+ [228] = 228,
1112
+ [229] = 229,
1113
+ [230] = 230,
1114
+ [231] = 231,
1115
+ [232] = 232,
1116
+ [233] = 233,
1117
+ [234] = 234,
1118
+ [235] = 228,
1119
+ [236] = 220,
1120
+ [237] = 237,
1121
+ [238] = 238,
1122
+ [239] = 226,
1123
+ [240] = 240,
1124
+ [241] = 226,
1125
+ [242] = 225,
1126
+ [243] = 227,
1127
+ [244] = 244,
1128
+ [245] = 245,
1129
+ [246] = 225,
1130
+ [247] = 227,
504
1131
  };
505
1132
 
506
1133
  static bool ts_lex(TSLexer *lexer, TSStateId state) {
@@ -508,278 +1135,870 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
508
1135
  eof = lexer->eof(lexer);
509
1136
  switch (state) {
510
1137
  case 0:
511
- if (eof) ADVANCE(23);
1138
+ if (eof) ADVANCE(51);
1139
+ if (lookahead == '!') ADVANCE(89);
1140
+ if (lookahead == '"') ADVANCE(100);
1141
+ if (lookahead == '%') ADVANCE(86);
1142
+ if (lookahead == '&') ADVANCE(4);
512
- if (lookahead == '(') ADVANCE(38);
1143
+ if (lookahead == '(') ADVANCE(70);
513
- if (lookahead == ')') ADVANCE(39);
1144
+ if (lookahead == ')') ADVANCE(71);
1145
+ if (lookahead == '*') ADVANCE(85);
1146
+ if (lookahead == '+') ADVANCE(82);
514
- if (lookahead == ',') ADVANCE(30);
1147
+ if (lookahead == ',') ADVANCE(60);
1148
+ if (lookahead == '-') ADVANCE(83);
515
- if (lookahead == '.') ADVANCE(26);
1149
+ if (lookahead == '.') ADVANCE(55);
516
- if (lookahead == '/') ADVANCE(28);
1150
+ if (lookahead == '/') ADVANCE(58);
1151
+ if (lookahead == '0') ADVANCE(102);
517
- if (lookahead == ':') ADVANCE(40);
1152
+ if (lookahead == ':') ADVANCE(96);
1153
+ if (lookahead == '<') ADVANCE(77);
1154
+ if (lookahead == '=') ADVANCE(67);
1155
+ if (lookahead == '>') ADVANCE(79);
1156
+ if (lookahead == '\\') ADVANCE(42);
1157
+ if (lookahead == '_') ADVANCE(134);
518
- if (lookahead == '=') ADVANCE(36);
1158
+ if (lookahead == 'a') ADVANCE(36);
519
- if (lookahead == '_') ADVANCE(51);
520
- if (lookahead == 'a') ADVANCE(16);
521
- if (lookahead == 'i') ADVANCE(8);
1159
+ if (lookahead == 'i') ADVANCE(25);
522
- if (lookahead == 'm') ADVANCE(9);
523
- if (lookahead == 'r') ADVANCE(4);
524
- if (lookahead == 't') ADVANCE(19);
1160
+ if (lookahead == 'l') ADVANCE(19);
1161
+ if (lookahead == 'm') ADVANCE(27);
1162
+ if (lookahead == 'p') ADVANCE(13);
1163
+ if (lookahead == 'r') ADVANCE(20);
1164
+ if (lookahead == 't') ADVANCE(30);
525
- if (lookahead == '{') ADVANCE(29);
1165
+ if (lookahead == '{') ADVANCE(59);
526
- if (lookahead == '|') ADVANCE(37);
1166
+ if (lookahead == '|') ADVANCE(69);
527
- if (lookahead == '}') ADVANCE(31);
1167
+ if (lookahead == '}') ADVANCE(61);
528
1168
  if (lookahead == '\t' ||
529
1169
  lookahead == '\n' ||
530
1170
  lookahead == '\r' ||
531
- lookahead == ' ') SKIP(0)
1171
+ lookahead == ' ') SKIP(46)
1172
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
532
- if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(53);
1173
+ if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(137);
533
1174
  END_STATE();
534
1175
  case 1:
1176
+ if (lookahead == '!') ADVANCE(89);
1177
+ if (lookahead == '"') ADVANCE(99);
1178
+ if (lookahead == '%') ADVANCE(86);
1179
+ if (lookahead == '&') ADVANCE(4);
1180
+ if (lookahead == '(') ADVANCE(70);
1181
+ if (lookahead == '*') ADVANCE(85);
1182
+ if (lookahead == '+') ADVANCE(82);
1183
+ if (lookahead == '-') ADVANCE(84);
1184
+ if (lookahead == '/') ADVANCE(58);
1185
+ if (lookahead == '0') ADVANCE(102);
1186
+ if (lookahead == '<') ADVANCE(77);
1187
+ if (lookahead == '=') ADVANCE(9);
1188
+ if (lookahead == '>') ADVANCE(79);
1189
+ if (lookahead == '_') ADVANCE(107);
535
- if (lookahead == 'c') ADVANCE(11);
1190
+ if (lookahead == 'l') ADVANCE(114);
1191
+ if (lookahead == 'p') ADVANCE(109);
1192
+ if (lookahead == 'r') ADVANCE(115);
1193
+ if (lookahead == 't') ADVANCE(121);
1194
+ if (lookahead == '{') ADVANCE(59);
1195
+ if (lookahead == '|') ADVANCE(12);
1196
+ if (lookahead == '}') ADVANCE(61);
1197
+ if (lookahead == '\t' ||
1198
+ lookahead == '\n' ||
1199
+ lookahead == '\r' ||
1200
+ lookahead == ' ') SKIP(1)
1201
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
1202
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1203
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
536
1204
  END_STATE();
537
1205
  case 2:
538
- if (lookahead == 'd') ADVANCE(18);
1206
+ if (lookahead == '!') ADVANCE(88);
1207
+ if (lookahead == '"') ADVANCE(99);
1208
+ if (lookahead == '(') ADVANCE(70);
1209
+ if (lookahead == '-') ADVANCE(84);
1210
+ if (lookahead == '0') ADVANCE(102);
1211
+ if (lookahead == ':') ADVANCE(96);
1212
+ if (lookahead == '=') ADVANCE(66);
1213
+ if (lookahead == '_') ADVANCE(107);
1214
+ if (lookahead == 'p') ADVANCE(109);
1215
+ if (lookahead == 'r') ADVANCE(115);
1216
+ if (lookahead == 't') ADVANCE(121);
1217
+ if (lookahead == '{') ADVANCE(59);
1218
+ if (lookahead == '\t' ||
1219
+ lookahead == '\n' ||
1220
+ lookahead == '\r' ||
1221
+ lookahead == ' ') SKIP(2)
1222
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
1223
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1224
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
539
1225
  END_STATE();
540
1226
  case 3:
1227
+ if (lookahead == '"') ADVANCE(100);
1228
+ if (lookahead == ')') ADVANCE(71);
1229
+ if (lookahead == '-') ADVANCE(84);
541
- if (lookahead == 'd') ADVANCE(32);
1230
+ if (lookahead == '0') ADVANCE(102);
1231
+ if (lookahead == '\\') ADVANCE(42);
1232
+ if (lookahead == '_') ADVANCE(107);
1233
+ if (lookahead == '}') ADVANCE(61);
1234
+ if (lookahead == '\t' ||
1235
+ lookahead == '\n' ||
1236
+ lookahead == '\r' ||
1237
+ lookahead == ' ') SKIP(5)
1238
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
1239
+ if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(108);
1240
+ if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
542
1241
  END_STATE();
543
1242
  case 4:
544
- if (lookahead == 'e') ADVANCE(1);
1243
+ if (lookahead == '&') ADVANCE(74);
545
1244
  END_STATE();
546
1245
  case 5:
1246
+ if (lookahead == ')') ADVANCE(71);
547
- if (lookahead == 'e') ADVANCE(34);
1247
+ if (lookahead == '-') ADVANCE(84);
1248
+ if (lookahead == '0') ADVANCE(102);
1249
+ if (lookahead == '_') ADVANCE(107);
1250
+ if (lookahead == '}') ADVANCE(61);
1251
+ if (lookahead == '\t' ||
1252
+ lookahead == '\n' ||
1253
+ lookahead == '\r' ||
1254
+ lookahead == ' ') SKIP(5)
1255
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
1256
+ if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(108);
1257
+ if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
548
1258
  END_STATE();
549
1259
  case 6:
550
- if (lookahead == 'e') ADVANCE(24);
1260
+ if (lookahead == '-') ADVANCE(44);
1261
+ if (('0' <= lookahead && lookahead <= '9') ||
1262
+ lookahead == '_') ADVANCE(98);
551
1263
  END_STATE();
552
1264
  case 7:
553
- if (lookahead == 'l') ADVANCE(6);
1265
+ if (lookahead == '.') ADVANCE(97);
1266
+ if (('0' <= lookahead && lookahead <= '9') ||
1267
+ lookahead == '_') ADVANCE(7);
554
1268
  END_STATE();
555
1269
  case 8:
556
- if (lookahead == 'm') ADVANCE(12);
1270
+ if (lookahead == ':') ADVANCE(96);
1271
+ if (lookahead == '<') ADVANCE(11);
1272
+ if (lookahead == '=') ADVANCE(66);
1273
+ if (lookahead == 'a') ADVANCE(36);
1274
+ if (lookahead == '\t' ||
1275
+ lookahead == '\n' ||
1276
+ lookahead == '\r' ||
1277
+ lookahead == ' ') SKIP(8)
1278
+ if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(137);
557
1279
  END_STATE();
558
1280
  case 9:
559
- if (lookahead == 'o') ADVANCE(2);
1281
+ if (lookahead == '=') ADVANCE(75);
560
1282
  END_STATE();
561
1283
  case 10:
562
- if (lookahead == 'o') ADVANCE(14);
1284
+ if (lookahead == '>') ADVANCE(72);
563
1285
  END_STATE();
564
1286
  case 11:
565
- if (lookahead == 'o') ADVANCE(15);
1287
+ if (lookahead == '>') ADVANCE(87);
566
1288
  END_STATE();
567
1289
  case 12:
1290
+ if (lookahead == '>') ADVANCE(81);
568
- if (lookahead == 'p') ADVANCE(10);
1291
+ if (lookahead == '|') ADVANCE(73);
569
1292
  END_STATE();
570
1293
  case 13:
571
- if (lookahead == 'p') ADVANCE(5);
1294
+ if (lookahead == 'a') ADVANCE(26);
572
1295
  END_STATE();
573
1296
  case 14:
574
- if (lookahead == 'r') ADVANCE(17);
1297
+ if (lookahead == 'c') ADVANCE(94);
575
1298
  END_STATE();
576
1299
  case 15:
577
- if (lookahead == 'r') ADVANCE(3);
1300
+ if (lookahead == 'c') ADVANCE(31);
578
1301
  END_STATE();
579
1302
  case 16:
580
- if (lookahead == 's') ADVANCE(27);
1303
+ if (lookahead == 'd') ADVANCE(39);
581
1304
  END_STATE();
582
1305
  case 17:
583
- if (lookahead == 't') ADVANCE(25);
1306
+ if (lookahead == 'd') ADVANCE(62);
584
1307
  END_STATE();
585
1308
  case 18:
586
- if (lookahead == 'u') ADVANCE(7);
1309
+ if (lookahead == 'd') ADVANCE(29);
587
1310
  END_STATE();
588
1311
  case 19:
589
- if (lookahead == 'y') ADVANCE(13);
1312
+ if (lookahead == 'e') ADVANCE(37);
590
1313
  END_STATE();
591
1314
  case 20:
592
- if (lookahead == '}') ADVANCE(31);
1315
+ if (lookahead == 'e') ADVANCE(15);
593
- if (lookahead == '\t' ||
594
- lookahead == '\n' ||
595
- lookahead == '\r' ||
596
- lookahead == ' ') SKIP(20)
597
- if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(41);
598
- if (lookahead == '_' ||
599
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
600
1316
  END_STATE();
601
1317
  case 21:
602
- if (lookahead == '\t' ||
603
- lookahead == '\n' ||
604
- lookahead == '\r' ||
605
- lookahead == ' ') SKIP(21)
606
- if (lookahead == '_' ||
1318
+ if (lookahead == 'e') ADVANCE(64);
607
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52);
608
1319
  END_STATE();
609
1320
  case 22:
610
- if (eof) ADVANCE(23);
611
- if (lookahead == '(') ADVANCE(38);
1321
+ if (lookahead == 'e') ADVANCE(52);
612
- if (lookahead == ')') ADVANCE(39);
613
- if (lookahead == ',') ADVANCE(30);
614
- if (lookahead == '=') ADVANCE(36);
615
- if (lookahead == 'r') ADVANCE(44);
616
- if (lookahead == 't') ADVANCE(49);
617
- if (lookahead == '}') ADVANCE(31);
618
- if (lookahead == '\t' ||
619
- lookahead == '\n' ||
620
- lookahead == '\r' ||
621
- lookahead == ' ') SKIP(22)
622
- if (('A' <= lookahead && lookahead <= 'Z') ||
623
- lookahead == '_' ||
624
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
625
1322
  END_STATE();
626
1323
  case 23:
627
- ACCEPT_TOKEN(ts_builtin_sym_end);
1324
+ if (lookahead == 'i') ADVANCE(14);
628
1325
  END_STATE();
629
1326
  case 24:
630
- ACCEPT_TOKEN(anon_sym_module);
1327
+ if (lookahead == 'l') ADVANCE(22);
631
1328
  END_STATE();
632
1329
  case 25:
633
- ACCEPT_TOKEN(anon_sym_import);
1330
+ if (lookahead == 'm') ADVANCE(32);
634
1331
  END_STATE();
635
1332
  case 26:
636
- ACCEPT_TOKEN(anon_sym_DOT);
1333
+ if (lookahead == 'n') ADVANCE(23);
637
1334
  END_STATE();
638
1335
  case 27:
639
- ACCEPT_TOKEN(anon_sym_as);
1336
+ if (lookahead == 'o') ADVANCE(16);
640
1337
  END_STATE();
641
1338
  case 28:
642
- ACCEPT_TOKEN(anon_sym_SLASH);
1339
+ if (lookahead == 'o') ADVANCE(34);
643
1340
  END_STATE();
644
1341
  case 29:
645
- ACCEPT_TOKEN(anon_sym_LBRACE);
1342
+ if (lookahead == 'o') ADVANCE(92);
646
1343
  END_STATE();
647
1344
  case 30:
648
- ACCEPT_TOKEN(anon_sym_COMMA);
1345
+ if (lookahead == 'o') ADVANCE(18);
1346
+ if (lookahead == 'y') ADVANCE(33);
649
1347
  END_STATE();
650
1348
  case 31:
651
- ACCEPT_TOKEN(anon_sym_RBRACE);
1349
+ if (lookahead == 'o') ADVANCE(35);
652
1350
  END_STATE();
653
1351
  case 32:
654
- ACCEPT_TOKEN(anon_sym_record);
1352
+ if (lookahead == 'p') ADVANCE(28);
655
1353
  END_STATE();
656
1354
  case 33:
657
- ACCEPT_TOKEN(anon_sym_record);
658
- if (('0' <= lookahead && lookahead <= '9') ||
659
- ('A' <= lookahead && lookahead <= 'Z') ||
660
- lookahead == '_' ||
1355
+ if (lookahead == 'p') ADVANCE(21);
661
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
662
1356
  END_STATE();
663
1357
  case 34:
664
- ACCEPT_TOKEN(anon_sym_type);
1358
+ if (lookahead == 'r') ADVANCE(38);
665
1359
  END_STATE();
666
1360
  case 35:
667
- ACCEPT_TOKEN(anon_sym_type);
668
- if (('0' <= lookahead && lookahead <= '9') ||
669
- ('A' <= lookahead && lookahead <= 'Z') ||
670
- lookahead == '_' ||
1361
+ if (lookahead == 'r') ADVANCE(17);
671
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
672
1362
  END_STATE();
673
1363
  case 36:
674
- ACCEPT_TOKEN(anon_sym_EQ);
1364
+ if (lookahead == 's') ADVANCE(56);
675
1365
  END_STATE();
676
1366
  case 37:
677
- ACCEPT_TOKEN(anon_sym_PIPE);
1367
+ if (lookahead == 't') ADVANCE(90);
678
1368
  END_STATE();
679
1369
  case 38:
680
- ACCEPT_TOKEN(anon_sym_LPAREN);
1370
+ if (lookahead == 't') ADVANCE(53);
681
1371
  END_STATE();
682
1372
  case 39:
683
- ACCEPT_TOKEN(anon_sym_RPAREN);
1373
+ if (lookahead == 'u') ADVANCE(24);
684
1374
  END_STATE();
685
1375
  case 40:
1376
+ if (lookahead == '0' ||
686
- ACCEPT_TOKEN(anon_sym_COLON);
1377
+ lookahead == '1' ||
1378
+ lookahead == '_') ADVANCE(105);
687
1379
  END_STATE();
688
1380
  case 41:
1381
+ if (lookahead == '\t' ||
1382
+ lookahead == '\n' ||
1383
+ lookahead == '\r' ||
689
- ACCEPT_TOKEN(aux_sym_identifier_token1);
1384
+ lookahead == ' ') SKIP(41)
690
- if (lookahead == '_') ADVANCE(50);
1385
+ if (lookahead == '_' ||
691
- if (('0' <= lookahead && lookahead <= '9') ||
692
- ('A' <= lookahead && lookahead <= 'Z') ||
693
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
1386
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(136);
694
1387
  END_STATE();
695
1388
  case 42:
696
- ACCEPT_TOKEN(aux_sym_identifier_token1);
697
- if (lookahead == 'c') ADVANCE(46);
1389
+ if (lookahead == '"' ||
698
- if (('0' <= lookahead && lookahead <= '9') ||
699
- ('A' <= lookahead && lookahead <= 'Z') ||
1390
+ lookahead == '\\' ||
700
- lookahead == '_' ||
1391
+ lookahead == 'e' ||
1392
+ lookahead == 'f' ||
1393
+ lookahead == 'n' ||
1394
+ lookahead == 'r' ||
701
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1395
+ lookahead == 't') ADVANCE(106);
702
1396
  END_STATE();
703
1397
  case 43:
704
- ACCEPT_TOKEN(aux_sym_identifier_token1);
705
- if (lookahead == 'd') ADVANCE(33);
706
- if (('0' <= lookahead && lookahead <= '9') ||
1398
+ if (('0' <= lookahead && lookahead <= '7') ||
707
- ('A' <= lookahead && lookahead <= 'Z') ||
708
- lookahead == '_' ||
1399
+ lookahead == '_') ADVANCE(104);
709
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
710
1400
  END_STATE();
711
1401
  case 44:
712
- ACCEPT_TOKEN(aux_sym_identifier_token1);
713
- if (lookahead == 'e') ADVANCE(42);
714
1402
  if (('0' <= lookahead && lookahead <= '9') ||
715
- ('A' <= lookahead && lookahead <= 'Z') ||
716
- lookahead == '_' ||
1403
+ lookahead == '_') ADVANCE(98);
717
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
718
1404
  END_STATE();
719
1405
  case 45:
720
- ACCEPT_TOKEN(aux_sym_identifier_token1);
721
- if (lookahead == 'e') ADVANCE(35);
722
1406
  if (('0' <= lookahead && lookahead <= '9') ||
723
- ('A' <= lookahead && lookahead <= 'Z') ||
1407
+ ('A' <= lookahead && lookahead <= 'F') ||
724
1408
  lookahead == '_' ||
725
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1409
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101);
726
1410
  END_STATE();
727
1411
  case 46:
728
- ACCEPT_TOKEN(aux_sym_identifier_token1);
1412
+ if (eof) ADVANCE(51);
729
- if (lookahead == 'o') ADVANCE(48);
1413
+ if (lookahead == '!') ADVANCE(89);
1414
+ if (lookahead == '"') ADVANCE(99);
1415
+ if (lookahead == '%') ADVANCE(86);
1416
+ if (lookahead == '&') ADVANCE(4);
1417
+ if (lookahead == '(') ADVANCE(70);
1418
+ if (lookahead == ')') ADVANCE(71);
1419
+ if (lookahead == '*') ADVANCE(85);
1420
+ if (lookahead == '+') ADVANCE(82);
1421
+ if (lookahead == ',') ADVANCE(60);
1422
+ if (lookahead == '-') ADVANCE(83);
1423
+ if (lookahead == '.') ADVANCE(55);
1424
+ if (lookahead == '/') ADVANCE(58);
1425
+ if (lookahead == '0') ADVANCE(102);
1426
+ if (lookahead == ':') ADVANCE(96);
1427
+ if (lookahead == '<') ADVANCE(77);
1428
+ if (lookahead == '=') ADVANCE(67);
1429
+ if (lookahead == '>') ADVANCE(79);
1430
+ if (lookahead == '_') ADVANCE(134);
1431
+ if (lookahead == 'a') ADVANCE(36);
1432
+ if (lookahead == 'i') ADVANCE(25);
1433
+ if (lookahead == 'l') ADVANCE(19);
1434
+ if (lookahead == 'm') ADVANCE(27);
1435
+ if (lookahead == 'p') ADVANCE(13);
1436
+ if (lookahead == 'r') ADVANCE(20);
1437
+ if (lookahead == 't') ADVANCE(30);
1438
+ if (lookahead == '{') ADVANCE(59);
1439
+ if (lookahead == '|') ADVANCE(69);
1440
+ if (lookahead == '}') ADVANCE(61);
730
- if (('0' <= lookahead && lookahead <= '9') ||
1441
+ if (lookahead == '\t' ||
731
- ('A' <= lookahead && lookahead <= 'Z') ||
732
- lookahead == '_' ||
1442
+ lookahead == '\n' ||
1443
+ lookahead == '\r' ||
1444
+ lookahead == ' ') SKIP(46)
733
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1445
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
1446
+ if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(137);
734
1447
  END_STATE();
735
1448
  case 47:
1449
+ if (eof) ADVANCE(51);
1450
+ if (lookahead == '!') ADVANCE(89);
1451
+ if (lookahead == '"') ADVANCE(99);
1452
+ if (lookahead == '%') ADVANCE(86);
1453
+ if (lookahead == '&') ADVANCE(4);
1454
+ if (lookahead == '(') ADVANCE(70);
736
- ACCEPT_TOKEN(aux_sym_identifier_token1);
1455
+ if (lookahead == ')') ADVANCE(71);
737
- if (lookahead == 'p') ADVANCE(45);
1456
+ if (lookahead == '*') ADVANCE(85);
1457
+ if (lookahead == '+') ADVANCE(82);
1458
+ if (lookahead == '-') ADVANCE(84);
1459
+ if (lookahead == '/') ADVANCE(58);
1460
+ if (lookahead == '0') ADVANCE(102);
1461
+ if (lookahead == '<') ADVANCE(77);
1462
+ if (lookahead == '=') ADVANCE(9);
1463
+ if (lookahead == '>') ADVANCE(79);
1464
+ if (lookahead == '_') ADVANCE(107);
1465
+ if (lookahead == 'l') ADVANCE(114);
1466
+ if (lookahead == 'p') ADVANCE(109);
1467
+ if (lookahead == 'r') ADVANCE(115);
1468
+ if (lookahead == 't') ADVANCE(120);
1469
+ if (lookahead == '{') ADVANCE(59);
1470
+ if (lookahead == '|') ADVANCE(12);
1471
+ if (lookahead == '\t' ||
1472
+ lookahead == '\n' ||
1473
+ lookahead == '\r' ||
1474
+ lookahead == ' ') SKIP(47)
1475
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(103);
738
- if (('0' <= lookahead && lookahead <= '9') ||
1476
+ if (('A' <= lookahead && lookahead <= 'Z') ||
739
- ('A' <= lookahead && lookahead <= 'Z') ||
740
- lookahead == '_' ||
741
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1477
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
742
- END_STATE();
1478
+ END_STATE();
743
1479
  case 48:
1480
+ if (eof) ADVANCE(51);
1481
+ if (lookahead == '(') ADVANCE(70);
744
- ACCEPT_TOKEN(aux_sym_identifier_token1);
1482
+ if (lookahead == ')') ADVANCE(71);
1483
+ if (lookahead == ',') ADVANCE(60);
1484
+ if (lookahead == '=') ADVANCE(66);
745
- if (lookahead == 'r') ADVANCE(43);
1485
+ if (lookahead == 'r') ADVANCE(115);
1486
+ if (lookahead == 't') ADVANCE(132);
1487
+ if (lookahead == '|') ADVANCE(68);
1488
+ if (lookahead == '}') ADVANCE(61);
1489
+ if (lookahead == '\t' ||
1490
+ lookahead == '\n' ||
1491
+ lookahead == '\r' ||
1492
+ lookahead == ' ') SKIP(48)
1493
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1494
+ lookahead == '_' ||
1495
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1496
+ END_STATE();
1497
+ case 49:
1498
+ if (eof) ADVANCE(51);
1499
+ if (lookahead == '-') ADVANCE(10);
1500
+ if (lookahead == '/') ADVANCE(58);
1501
+ if (lookahead == '=') ADVANCE(66);
1502
+ if (lookahead == 'i') ADVANCE(118);
1503
+ if (lookahead == 'r') ADVANCE(115);
1504
+ if (lookahead == 't') ADVANCE(132);
1505
+ if (lookahead == '\t' ||
1506
+ lookahead == '\n' ||
1507
+ lookahead == '\r' ||
1508
+ lookahead == ' ') SKIP(49)
1509
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1510
+ lookahead == '_' ||
1511
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1512
+ END_STATE();
1513
+ case 50:
1514
+ if (eof) ADVANCE(51);
1515
+ if (lookahead == '.') ADVANCE(55);
1516
+ if (lookahead == '/') ADVANCE(58);
1517
+ if (lookahead == 'a') ADVANCE(129);
1518
+ if (lookahead == 'i') ADVANCE(118);
1519
+ if (lookahead == 'r') ADVANCE(115);
1520
+ if (lookahead == 't') ADVANCE(132);
1521
+ if (lookahead == '\t' ||
1522
+ lookahead == '\n' ||
1523
+ lookahead == '\r' ||
1524
+ lookahead == ' ') SKIP(50)
1525
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1526
+ lookahead == '_' ||
1527
+ ('b' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1528
+ END_STATE();
1529
+ case 51:
1530
+ ACCEPT_TOKEN(ts_builtin_sym_end);
1531
+ END_STATE();
1532
+ case 52:
1533
+ ACCEPT_TOKEN(anon_sym_module);
1534
+ END_STATE();
1535
+ case 53:
1536
+ ACCEPT_TOKEN(anon_sym_import);
1537
+ END_STATE();
1538
+ case 54:
1539
+ ACCEPT_TOKEN(anon_sym_import);
746
1540
  if (('0' <= lookahead && lookahead <= '9') ||
747
1541
  ('A' <= lookahead && lookahead <= 'Z') ||
748
1542
  lookahead == '_' ||
749
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1543
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
750
1544
  END_STATE();
751
- case 49:
1545
+ case 55:
752
- ACCEPT_TOKEN(aux_sym_identifier_token1);
1546
+ ACCEPT_TOKEN(anon_sym_DOT);
1547
+ END_STATE();
1548
+ case 56:
753
- if (lookahead == 'y') ADVANCE(47);
1549
+ ACCEPT_TOKEN(anon_sym_as);
1550
+ END_STATE();
1551
+ case 57:
1552
+ ACCEPT_TOKEN(anon_sym_as);
754
1553
  if (('0' <= lookahead && lookahead <= '9') ||
755
1554
  ('A' <= lookahead && lookahead <= 'Z') ||
756
1555
  lookahead == '_' ||
757
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1556
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
758
1557
  END_STATE();
759
- case 50:
1558
+ case 58:
1559
+ ACCEPT_TOKEN(anon_sym_SLASH);
1560
+ END_STATE();
1561
+ case 59:
1562
+ ACCEPT_TOKEN(anon_sym_LBRACE);
1563
+ END_STATE();
1564
+ case 60:
1565
+ ACCEPT_TOKEN(anon_sym_COMMA);
1566
+ END_STATE();
1567
+ case 61:
1568
+ ACCEPT_TOKEN(anon_sym_RBRACE);
1569
+ END_STATE();
1570
+ case 62:
760
- ACCEPT_TOKEN(aux_sym_identifier_token1);
1571
+ ACCEPT_TOKEN(anon_sym_record);
1572
+ END_STATE();
1573
+ case 63:
1574
+ ACCEPT_TOKEN(anon_sym_record);
761
1575
  if (('0' <= lookahead && lookahead <= '9') ||
762
1576
  ('A' <= lookahead && lookahead <= 'Z') ||
763
1577
  lookahead == '_' ||
764
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
1578
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
765
1579
  END_STATE();
1580
+ case 64:
1581
+ ACCEPT_TOKEN(anon_sym_type);
1582
+ END_STATE();
1583
+ case 65:
1584
+ ACCEPT_TOKEN(anon_sym_type);
1585
+ if (('0' <= lookahead && lookahead <= '9') ||
1586
+ ('A' <= lookahead && lookahead <= 'Z') ||
1587
+ lookahead == '_' ||
1588
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1589
+ END_STATE();
1590
+ case 66:
1591
+ ACCEPT_TOKEN(anon_sym_EQ);
1592
+ END_STATE();
1593
+ case 67:
1594
+ ACCEPT_TOKEN(anon_sym_EQ);
1595
+ if (lookahead == '=') ADVANCE(75);
1596
+ END_STATE();
1597
+ case 68:
1598
+ ACCEPT_TOKEN(anon_sym_PIPE);
1599
+ END_STATE();
1600
+ case 69:
1601
+ ACCEPT_TOKEN(anon_sym_PIPE);
1602
+ if (lookahead == '>') ADVANCE(81);
1603
+ if (lookahead == '|') ADVANCE(73);
1604
+ END_STATE();
1605
+ case 70:
1606
+ ACCEPT_TOKEN(anon_sym_LPAREN);
1607
+ END_STATE();
766
- case 51:
1608
+ case 71:
1609
+ ACCEPT_TOKEN(anon_sym_RPAREN);
1610
+ END_STATE();
1611
+ case 72:
1612
+ ACCEPT_TOKEN(anon_sym_DASH_GT);
1613
+ END_STATE();
1614
+ case 73:
1615
+ ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
1616
+ END_STATE();
1617
+ case 74:
1618
+ ACCEPT_TOKEN(anon_sym_AMP_AMP);
1619
+ END_STATE();
1620
+ case 75:
1621
+ ACCEPT_TOKEN(anon_sym_EQ_EQ);
1622
+ END_STATE();
1623
+ case 76:
1624
+ ACCEPT_TOKEN(anon_sym_BANG_EQ);
1625
+ END_STATE();
1626
+ case 77:
1627
+ ACCEPT_TOKEN(anon_sym_LT);
1628
+ if (lookahead == '=') ADVANCE(78);
1629
+ if (lookahead == '>') ADVANCE(87);
1630
+ END_STATE();
1631
+ case 78:
1632
+ ACCEPT_TOKEN(anon_sym_LT_EQ);
1633
+ END_STATE();
1634
+ case 79:
1635
+ ACCEPT_TOKEN(anon_sym_GT);
1636
+ if (lookahead == '=') ADVANCE(80);
1637
+ END_STATE();
1638
+ case 80:
1639
+ ACCEPT_TOKEN(anon_sym_GT_EQ);
1640
+ END_STATE();
1641
+ case 81:
1642
+ ACCEPT_TOKEN(anon_sym_PIPE_GT);
1643
+ END_STATE();
1644
+ case 82:
1645
+ ACCEPT_TOKEN(anon_sym_PLUS);
1646
+ END_STATE();
1647
+ case 83:
1648
+ ACCEPT_TOKEN(anon_sym_DASH);
1649
+ if (lookahead == '>') ADVANCE(72);
1650
+ if (('0' <= lookahead && lookahead <= '9') ||
1651
+ lookahead == '_') ADVANCE(7);
1652
+ END_STATE();
1653
+ case 84:
1654
+ ACCEPT_TOKEN(anon_sym_DASH);
1655
+ if (('0' <= lookahead && lookahead <= '9') ||
1656
+ lookahead == '_') ADVANCE(7);
1657
+ END_STATE();
1658
+ case 85:
1659
+ ACCEPT_TOKEN(anon_sym_STAR);
1660
+ END_STATE();
1661
+ case 86:
1662
+ ACCEPT_TOKEN(anon_sym_PERCENT);
1663
+ END_STATE();
1664
+ case 87:
1665
+ ACCEPT_TOKEN(anon_sym_LT_GT);
1666
+ END_STATE();
1667
+ case 88:
1668
+ ACCEPT_TOKEN(anon_sym_BANG);
1669
+ END_STATE();
1670
+ case 89:
1671
+ ACCEPT_TOKEN(anon_sym_BANG);
1672
+ if (lookahead == '=') ADVANCE(76);
1673
+ END_STATE();
1674
+ case 90:
1675
+ ACCEPT_TOKEN(anon_sym_let);
1676
+ END_STATE();
1677
+ case 91:
1678
+ ACCEPT_TOKEN(anon_sym_let);
1679
+ if (('0' <= lookahead && lookahead <= '9') ||
1680
+ ('A' <= lookahead && lookahead <= 'Z') ||
1681
+ lookahead == '_' ||
1682
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1683
+ END_STATE();
1684
+ case 92:
1685
+ ACCEPT_TOKEN(anon_sym_todo);
1686
+ END_STATE();
1687
+ case 93:
1688
+ ACCEPT_TOKEN(anon_sym_todo);
1689
+ if (('0' <= lookahead && lookahead <= '9') ||
1690
+ ('A' <= lookahead && lookahead <= 'Z') ||
1691
+ lookahead == '_' ||
1692
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1693
+ END_STATE();
1694
+ case 94:
1695
+ ACCEPT_TOKEN(anon_sym_panic);
1696
+ END_STATE();
1697
+ case 95:
1698
+ ACCEPT_TOKEN(anon_sym_panic);
1699
+ if (('0' <= lookahead && lookahead <= '9') ||
1700
+ ('A' <= lookahead && lookahead <= 'Z') ||
1701
+ lookahead == '_' ||
1702
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1703
+ END_STATE();
1704
+ case 96:
1705
+ ACCEPT_TOKEN(anon_sym_COLON);
1706
+ END_STATE();
1707
+ case 97:
1708
+ ACCEPT_TOKEN(sym_float);
1709
+ if (lookahead == 'e') ADVANCE(6);
1710
+ if (('0' <= lookahead && lookahead <= '9') ||
1711
+ lookahead == '_') ADVANCE(97);
1712
+ END_STATE();
1713
+ case 98:
1714
+ ACCEPT_TOKEN(sym_float);
1715
+ if (('0' <= lookahead && lookahead <= '9') ||
1716
+ lookahead == '_') ADVANCE(98);
1717
+ END_STATE();
1718
+ case 99:
1719
+ ACCEPT_TOKEN(anon_sym_DQUOTE);
1720
+ END_STATE();
1721
+ case 100:
1722
+ ACCEPT_TOKEN(anon_sym_DQUOTE2);
1723
+ END_STATE();
1724
+ case 101:
1725
+ ACCEPT_TOKEN(sym__hex);
1726
+ if (('0' <= lookahead && lookahead <= '9') ||
1727
+ ('A' <= lookahead && lookahead <= 'F') ||
1728
+ lookahead == '_' ||
1729
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(101);
1730
+ END_STATE();
1731
+ case 102:
1732
+ ACCEPT_TOKEN(sym__decimal);
1733
+ if (lookahead == '.') ADVANCE(97);
1734
+ if (lookahead == 'B' ||
1735
+ lookahead == 'b') ADVANCE(40);
1736
+ if (lookahead == 'O' ||
1737
+ lookahead == 'o') ADVANCE(43);
1738
+ if (lookahead == 'X' ||
1739
+ lookahead == 'x') ADVANCE(45);
1740
+ if (('0' <= lookahead && lookahead <= '9') ||
1741
+ lookahead == '_') ADVANCE(103);
1742
+ END_STATE();
1743
+ case 103:
1744
+ ACCEPT_TOKEN(sym__decimal);
1745
+ if (lookahead == '.') ADVANCE(97);
1746
+ if (('0' <= lookahead && lookahead <= '9') ||
1747
+ lookahead == '_') ADVANCE(103);
1748
+ END_STATE();
1749
+ case 104:
1750
+ ACCEPT_TOKEN(sym__octal);
1751
+ if (('0' <= lookahead && lookahead <= '7') ||
1752
+ lookahead == '_') ADVANCE(104);
1753
+ END_STATE();
1754
+ case 105:
1755
+ ACCEPT_TOKEN(sym__binary);
1756
+ if (lookahead == '0' ||
1757
+ lookahead == '1' ||
1758
+ lookahead == '_') ADVANCE(105);
1759
+ END_STATE();
1760
+ case 106:
1761
+ ACCEPT_TOKEN(sym_escape_sequence);
1762
+ END_STATE();
1763
+ case 107:
1764
+ ACCEPT_TOKEN(sym_identifier);
1765
+ if (lookahead == '.') ADVANCE(97);
1766
+ if (('0' <= lookahead && lookahead <= '9') ||
1767
+ lookahead == '_') ADVANCE(107);
1768
+ if (('A' <= lookahead && lookahead <= 'Z') ||
1769
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1770
+ END_STATE();
1771
+ case 108:
1772
+ ACCEPT_TOKEN(sym_identifier);
1773
+ if (lookahead == '_') ADVANCE(133);
1774
+ if (('0' <= lookahead && lookahead <= '9') ||
1775
+ ('A' <= lookahead && lookahead <= 'Z') ||
1776
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(108);
1777
+ END_STATE();
1778
+ case 109:
1779
+ ACCEPT_TOKEN(sym_identifier);
1780
+ if (lookahead == 'a') ADVANCE(119);
1781
+ if (('0' <= lookahead && lookahead <= '9') ||
1782
+ ('A' <= lookahead && lookahead <= 'Z') ||
1783
+ lookahead == '_' ||
1784
+ ('b' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1785
+ END_STATE();
1786
+ case 110:
1787
+ ACCEPT_TOKEN(sym_identifier);
1788
+ if (lookahead == 'c') ADVANCE(122);
1789
+ if (('0' <= lookahead && lookahead <= '9') ||
1790
+ ('A' <= lookahead && lookahead <= 'Z') ||
1791
+ lookahead == '_' ||
1792
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1793
+ END_STATE();
1794
+ case 111:
1795
+ ACCEPT_TOKEN(sym_identifier);
1796
+ if (lookahead == 'c') ADVANCE(95);
1797
+ if (('0' <= lookahead && lookahead <= '9') ||
1798
+ ('A' <= lookahead && lookahead <= 'Z') ||
1799
+ lookahead == '_' ||
1800
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1801
+ END_STATE();
1802
+ case 112:
1803
+ ACCEPT_TOKEN(sym_identifier);
1804
+ if (lookahead == 'd') ADVANCE(63);
1805
+ if (('0' <= lookahead && lookahead <= '9') ||
1806
+ ('A' <= lookahead && lookahead <= 'Z') ||
1807
+ lookahead == '_' ||
1808
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1809
+ END_STATE();
1810
+ case 113:
1811
+ ACCEPT_TOKEN(sym_identifier);
1812
+ if (lookahead == 'd') ADVANCE(123);
1813
+ if (('0' <= lookahead && lookahead <= '9') ||
1814
+ ('A' <= lookahead && lookahead <= 'Z') ||
1815
+ lookahead == '_' ||
1816
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1817
+ END_STATE();
1818
+ case 114:
1819
+ ACCEPT_TOKEN(sym_identifier);
1820
+ if (lookahead == 'e') ADVANCE(130);
1821
+ if (('0' <= lookahead && lookahead <= '9') ||
1822
+ ('A' <= lookahead && lookahead <= 'Z') ||
1823
+ lookahead == '_' ||
1824
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1825
+ END_STATE();
1826
+ case 115:
1827
+ ACCEPT_TOKEN(sym_identifier);
1828
+ if (lookahead == 'e') ADVANCE(110);
1829
+ if (('0' <= lookahead && lookahead <= '9') ||
1830
+ ('A' <= lookahead && lookahead <= 'Z') ||
1831
+ lookahead == '_' ||
1832
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1833
+ END_STATE();
1834
+ case 116:
1835
+ ACCEPT_TOKEN(sym_identifier);
1836
+ if (lookahead == 'e') ADVANCE(65);
1837
+ if (('0' <= lookahead && lookahead <= '9') ||
1838
+ ('A' <= lookahead && lookahead <= 'Z') ||
1839
+ lookahead == '_' ||
1840
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1841
+ END_STATE();
1842
+ case 117:
1843
+ ACCEPT_TOKEN(sym_identifier);
1844
+ if (lookahead == 'i') ADVANCE(111);
1845
+ if (('0' <= lookahead && lookahead <= '9') ||
1846
+ ('A' <= lookahead && lookahead <= 'Z') ||
1847
+ lookahead == '_' ||
1848
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1849
+ END_STATE();
1850
+ case 118:
1851
+ ACCEPT_TOKEN(sym_identifier);
1852
+ if (lookahead == 'm') ADVANCE(126);
1853
+ if (('0' <= lookahead && lookahead <= '9') ||
1854
+ ('A' <= lookahead && lookahead <= 'Z') ||
1855
+ lookahead == '_' ||
1856
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1857
+ END_STATE();
1858
+ case 119:
1859
+ ACCEPT_TOKEN(sym_identifier);
1860
+ if (lookahead == 'n') ADVANCE(117);
1861
+ if (('0' <= lookahead && lookahead <= '9') ||
1862
+ ('A' <= lookahead && lookahead <= 'Z') ||
1863
+ lookahead == '_' ||
1864
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1865
+ END_STATE();
1866
+ case 120:
1867
+ ACCEPT_TOKEN(sym_identifier);
1868
+ if (lookahead == 'o') ADVANCE(113);
1869
+ if (lookahead == 'y') ADVANCE(125);
1870
+ if (('0' <= lookahead && lookahead <= '9') ||
1871
+ ('A' <= lookahead && lookahead <= 'Z') ||
1872
+ lookahead == '_' ||
1873
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1874
+ END_STATE();
1875
+ case 121:
1876
+ ACCEPT_TOKEN(sym_identifier);
1877
+ if (lookahead == 'o') ADVANCE(113);
1878
+ if (('0' <= lookahead && lookahead <= '9') ||
1879
+ ('A' <= lookahead && lookahead <= 'Z') ||
1880
+ lookahead == '_' ||
1881
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1882
+ END_STATE();
1883
+ case 122:
1884
+ ACCEPT_TOKEN(sym_identifier);
1885
+ if (lookahead == 'o') ADVANCE(128);
1886
+ if (('0' <= lookahead && lookahead <= '9') ||
1887
+ ('A' <= lookahead && lookahead <= 'Z') ||
1888
+ lookahead == '_' ||
1889
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1890
+ END_STATE();
1891
+ case 123:
1892
+ ACCEPT_TOKEN(sym_identifier);
1893
+ if (lookahead == 'o') ADVANCE(93);
1894
+ if (('0' <= lookahead && lookahead <= '9') ||
1895
+ ('A' <= lookahead && lookahead <= 'Z') ||
1896
+ lookahead == '_' ||
1897
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1898
+ END_STATE();
1899
+ case 124:
1900
+ ACCEPT_TOKEN(sym_identifier);
1901
+ if (lookahead == 'o') ADVANCE(127);
1902
+ if (('0' <= lookahead && lookahead <= '9') ||
1903
+ ('A' <= lookahead && lookahead <= 'Z') ||
1904
+ lookahead == '_' ||
1905
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1906
+ END_STATE();
1907
+ case 125:
1908
+ ACCEPT_TOKEN(sym_identifier);
1909
+ if (lookahead == 'p') ADVANCE(116);
1910
+ if (('0' <= lookahead && lookahead <= '9') ||
1911
+ ('A' <= lookahead && lookahead <= 'Z') ||
1912
+ lookahead == '_' ||
1913
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1914
+ END_STATE();
1915
+ case 126:
1916
+ ACCEPT_TOKEN(sym_identifier);
1917
+ if (lookahead == 'p') ADVANCE(124);
1918
+ if (('0' <= lookahead && lookahead <= '9') ||
1919
+ ('A' <= lookahead && lookahead <= 'Z') ||
1920
+ lookahead == '_' ||
1921
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1922
+ END_STATE();
1923
+ case 127:
1924
+ ACCEPT_TOKEN(sym_identifier);
1925
+ if (lookahead == 'r') ADVANCE(131);
1926
+ if (('0' <= lookahead && lookahead <= '9') ||
1927
+ ('A' <= lookahead && lookahead <= 'Z') ||
1928
+ lookahead == '_' ||
1929
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1930
+ END_STATE();
1931
+ case 128:
1932
+ ACCEPT_TOKEN(sym_identifier);
1933
+ if (lookahead == 'r') ADVANCE(112);
1934
+ if (('0' <= lookahead && lookahead <= '9') ||
1935
+ ('A' <= lookahead && lookahead <= 'Z') ||
1936
+ lookahead == '_' ||
1937
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1938
+ END_STATE();
1939
+ case 129:
1940
+ ACCEPT_TOKEN(sym_identifier);
1941
+ if (lookahead == 's') ADVANCE(57);
1942
+ if (('0' <= lookahead && lookahead <= '9') ||
1943
+ ('A' <= lookahead && lookahead <= 'Z') ||
1944
+ lookahead == '_' ||
1945
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1946
+ END_STATE();
1947
+ case 130:
1948
+ ACCEPT_TOKEN(sym_identifier);
1949
+ if (lookahead == 't') ADVANCE(91);
1950
+ if (('0' <= lookahead && lookahead <= '9') ||
1951
+ ('A' <= lookahead && lookahead <= 'Z') ||
1952
+ lookahead == '_' ||
1953
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1954
+ END_STATE();
1955
+ case 131:
1956
+ ACCEPT_TOKEN(sym_identifier);
1957
+ if (lookahead == 't') ADVANCE(54);
1958
+ if (('0' <= lookahead && lookahead <= '9') ||
1959
+ ('A' <= lookahead && lookahead <= 'Z') ||
1960
+ lookahead == '_' ||
1961
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1962
+ END_STATE();
1963
+ case 132:
1964
+ ACCEPT_TOKEN(sym_identifier);
1965
+ if (lookahead == 'y') ADVANCE(125);
1966
+ if (('0' <= lookahead && lookahead <= '9') ||
1967
+ ('A' <= lookahead && lookahead <= 'Z') ||
1968
+ lookahead == '_' ||
1969
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1970
+ END_STATE();
1971
+ case 133:
1972
+ ACCEPT_TOKEN(sym_identifier);
1973
+ if (('0' <= lookahead && lookahead <= '9') ||
1974
+ ('A' <= lookahead && lookahead <= 'Z') ||
1975
+ lookahead == '_' ||
1976
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(133);
1977
+ END_STATE();
1978
+ case 134:
1979
+ ACCEPT_TOKEN(sym__discard_name);
1980
+ if (lookahead == '.') ADVANCE(97);
1981
+ if (('0' <= lookahead && lookahead <= '9') ||
1982
+ lookahead == '_') ADVANCE(134);
1983
+ if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(135);
1984
+ END_STATE();
1985
+ case 135:
767
1986
  ACCEPT_TOKEN(sym__discard_name);
768
1987
  if (('0' <= lookahead && lookahead <= '9') ||
769
1988
  lookahead == '_' ||
770
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51);
1989
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135);
771
1990
  END_STATE();
772
- case 52:
1991
+ case 136:
773
1992
  ACCEPT_TOKEN(sym__name);
774
1993
  if (('0' <= lookahead && lookahead <= '9') ||
775
1994
  lookahead == '_' ||
776
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52);
1995
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(136);
777
1996
  END_STATE();
778
- case 53:
1997
+ case 137:
779
1998
  ACCEPT_TOKEN(sym__upname);
780
1999
  if (('0' <= lookahead && lookahead <= '9') ||
781
2000
  ('A' <= lookahead && lookahead <= 'Z') ||
782
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(53);
2001
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(137);
783
2002
  END_STATE();
784
2003
  default:
785
2004
  return false;
@@ -787,92 +2006,268 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
787
2006
  }
788
2007
 
789
2008
  static const TSLexMode ts_lex_modes[STATE_COUNT] = {
790
- [0] = {.lex_state = 0},
2009
+ [0] = {.lex_state = 0, .external_lex_state = 1},
791
2010
  [1] = {.lex_state = 0},
792
- [2] = {.lex_state = 0},
793
- [3] = {.lex_state = 0},
794
- [4] = {.lex_state = 22},
795
- [5] = {.lex_state = 0},
796
- [6] = {.lex_state = 0},
797
- [7] = {.lex_state = 0},
798
- [8] = {.lex_state = 0},
799
- [9] = {.lex_state = 0},
800
- [10] = {.lex_state = 22},
801
- [11] = {.lex_state = 22},
802
- [12] = {.lex_state = 22},
803
- [13] = {.lex_state = 22},
804
- [14] = {.lex_state = 0},
805
- [15] = {.lex_state = 22},
806
- [16] = {.lex_state = 0},
807
- [17] = {.lex_state = 0},
808
- [18] = {.lex_state = 22},
809
- [19] = {.lex_state = 20},
810
- [20] = {.lex_state = 0},
811
- [21] = {.lex_state = 0},
812
- [22] = {.lex_state = 0},
813
- [23] = {.lex_state = 20},
814
- [24] = {.lex_state = 20},
815
- [25] = {.lex_state = 0},
816
- [26] = {.lex_state = 0},
817
- [27] = {.lex_state = 0},
818
- [28] = {.lex_state = 22},
819
- [29] = {.lex_state = 20},
820
- [30] = {.lex_state = 0},
821
- [31] = {.lex_state = 0},
822
- [32] = {.lex_state = 0},
823
- [33] = {.lex_state = 0},
824
- [34] = {.lex_state = 22},
825
- [35] = {.lex_state = 0},
826
- [36] = {.lex_state = 0},
827
- [37] = {.lex_state = 0},
828
- [38] = {.lex_state = 0},
829
- [39] = {.lex_state = 0},
830
- [40] = {.lex_state = 0},
831
- [41] = {.lex_state = 0},
832
- [42] = {.lex_state = 22},
833
- [43] = {.lex_state = 0},
834
- [44] = {.lex_state = 0},
835
- [45] = {.lex_state = 0},
836
- [46] = {.lex_state = 0},
837
- [47] = {.lex_state = 0},
838
- [48] = {.lex_state = 0},
839
- [49] = {.lex_state = 0},
840
- [50] = {.lex_state = 0},
841
- [51] = {.lex_state = 0},
842
- [52] = {.lex_state = 0},
843
- [53] = {.lex_state = 20},
844
- [54] = {.lex_state = 0},
845
- [55] = {.lex_state = 0},
846
- [56] = {.lex_state = 0},
847
- [57] = {.lex_state = 0},
848
- [58] = {.lex_state = 20},
849
- [59] = {.lex_state = 0},
850
- [60] = {.lex_state = 0},
851
- [61] = {.lex_state = 0},
852
- [62] = {.lex_state = 0},
853
- [63] = {.lex_state = 20},
854
- [64] = {.lex_state = 0},
855
- [65] = {.lex_state = 21},
856
- [66] = {.lex_state = 20},
857
- [67] = {.lex_state = 0},
858
- [68] = {.lex_state = 20},
859
- [69] = {.lex_state = 0},
860
- [70] = {.lex_state = 0},
861
- [71] = {.lex_state = 0},
862
- [72] = {.lex_state = 0},
863
- [73] = {.lex_state = 0},
864
- [74] = {.lex_state = 0},
865
- [75] = {.lex_state = 20},
866
- [76] = {.lex_state = 20},
867
- [77] = {.lex_state = 21},
868
- [78] = {.lex_state = 20},
869
- [79] = {.lex_state = 0},
870
- [80] = {.lex_state = 20},
871
- [81] = {.lex_state = 0},
872
- [82] = {.lex_state = 0},
873
- [83] = {.lex_state = 0},
874
- [84] = {.lex_state = 21},
875
- [85] = {.lex_state = 0},
2011
+ [2] = {.lex_state = 47},
2012
+ [3] = {.lex_state = 1},
2013
+ [4] = {.lex_state = 47},
2014
+ [5] = {.lex_state = 47},
2015
+ [6] = {.lex_state = 47},
2016
+ [7] = {.lex_state = 47},
2017
+ [8] = {.lex_state = 47},
2018
+ [9] = {.lex_state = 47},
2019
+ [10] = {.lex_state = 47},
2020
+ [11] = {.lex_state = 1},
2021
+ [12] = {.lex_state = 1},
2022
+ [13] = {.lex_state = 47},
2023
+ [14] = {.lex_state = 1},
2024
+ [15] = {.lex_state = 1},
2025
+ [16] = {.lex_state = 47},
2026
+ [17] = {.lex_state = 47},
2027
+ [18] = {.lex_state = 47},
2028
+ [19] = {.lex_state = 47},
2029
+ [20] = {.lex_state = 47},
2030
+ [21] = {.lex_state = 47},
2031
+ [22] = {.lex_state = 47},
2032
+ [23] = {.lex_state = 47},
2033
+ [24] = {.lex_state = 47},
2034
+ [25] = {.lex_state = 47},
2035
+ [26] = {.lex_state = 47},
2036
+ [27] = {.lex_state = 47},
2037
+ [28] = {.lex_state = 47},
2038
+ [29] = {.lex_state = 47},
2039
+ [30] = {.lex_state = 1},
2040
+ [31] = {.lex_state = 47},
2041
+ [32] = {.lex_state = 47},
2042
+ [33] = {.lex_state = 47},
2043
+ [34] = {.lex_state = 47},
2044
+ [35] = {.lex_state = 47},
2045
+ [36] = {.lex_state = 1},
2046
+ [37] = {.lex_state = 1},
2047
+ [38] = {.lex_state = 1},
2048
+ [39] = {.lex_state = 1},
2049
+ [40] = {.lex_state = 1},
2050
+ [41] = {.lex_state = 1},
2051
+ [42] = {.lex_state = 1},
2052
+ [43] = {.lex_state = 47},
2053
+ [44] = {.lex_state = 1},
2054
+ [45] = {.lex_state = 47},
2055
+ [46] = {.lex_state = 47},
2056
+ [47] = {.lex_state = 1},
2057
+ [48] = {.lex_state = 1},
2058
+ [49] = {.lex_state = 1},
2059
+ [50] = {.lex_state = 47},
2060
+ [51] = {.lex_state = 47},
2061
+ [52] = {.lex_state = 47},
2062
+ [53] = {.lex_state = 47},
2063
+ [54] = {.lex_state = 1},
2064
+ [55] = {.lex_state = 47},
2065
+ [56] = {.lex_state = 1},
2066
+ [57] = {.lex_state = 1},
2067
+ [58] = {.lex_state = 1},
2068
+ [59] = {.lex_state = 1},
2069
+ [60] = {.lex_state = 1},
2070
+ [61] = {.lex_state = 47},
2071
+ [62] = {.lex_state = 1},
2072
+ [63] = {.lex_state = 47},
2073
+ [64] = {.lex_state = 1},
2074
+ [65] = {.lex_state = 1},
2075
+ [66] = {.lex_state = 1},
2076
+ [67] = {.lex_state = 1},
2077
+ [68] = {.lex_state = 1},
2078
+ [69] = {.lex_state = 1},
2079
+ [70] = {.lex_state = 1},
2080
+ [71] = {.lex_state = 1},
2081
+ [72] = {.lex_state = 1},
2082
+ [73] = {.lex_state = 1},
2083
+ [74] = {.lex_state = 1},
2084
+ [75] = {.lex_state = 1},
2085
+ [76] = {.lex_state = 1},
2086
+ [77] = {.lex_state = 1},
2087
+ [78] = {.lex_state = 1},
2088
+ [79] = {.lex_state = 1},
2089
+ [80] = {.lex_state = 1},
2090
+ [81] = {.lex_state = 1},
2091
+ [82] = {.lex_state = 2},
2092
+ [83] = {.lex_state = 2},
2093
+ [84] = {.lex_state = 2},
2094
+ [85] = {.lex_state = 2},
2095
+ [86] = {.lex_state = 2},
2096
+ [87] = {.lex_state = 2},
2097
+ [88] = {.lex_state = 2},
2098
+ [89] = {.lex_state = 2},
2099
+ [90] = {.lex_state = 2},
2100
+ [91] = {.lex_state = 2},
2101
+ [92] = {.lex_state = 2},
2102
+ [93] = {.lex_state = 2},
2103
+ [94] = {.lex_state = 2},
2104
+ [95] = {.lex_state = 2},
2105
+ [96] = {.lex_state = 2},
2106
+ [97] = {.lex_state = 2},
2107
+ [98] = {.lex_state = 2},
2108
+ [99] = {.lex_state = 2},
2109
+ [100] = {.lex_state = 2},
2110
+ [101] = {.lex_state = 2},
2111
+ [102] = {.lex_state = 47},
2112
+ [103] = {.lex_state = 1},
2113
+ [104] = {.lex_state = 3},
2114
+ [105] = {.lex_state = 3},
2115
+ [106] = {.lex_state = 49},
2116
+ [107] = {.lex_state = 49},
2117
+ [108] = {.lex_state = 3},
2118
+ [109] = {.lex_state = 48},
2119
+ [110] = {.lex_state = 50},
2120
+ [111] = {.lex_state = 50},
2121
+ [112] = {.lex_state = 50},
2122
+ [113] = {.lex_state = 48},
2123
+ [114] = {.lex_state = 48},
2124
+ [115] = {.lex_state = 50},
2125
+ [116] = {.lex_state = 48},
2126
+ [117] = {.lex_state = 48},
2127
+ [118] = {.lex_state = 49},
2128
+ [119] = {.lex_state = 50},
2129
+ [120] = {.lex_state = 49},
2130
+ [121] = {.lex_state = 49},
2131
+ [122] = {.lex_state = 49},
2132
+ [123] = {.lex_state = 48},
2133
+ [124] = {.lex_state = 48},
2134
+ [125] = {.lex_state = 50},
2135
+ [126] = {.lex_state = 48},
2136
+ [127] = {.lex_state = 48},
2137
+ [128] = {.lex_state = 50},
2138
+ [129] = {.lex_state = 48},
2139
+ [130] = {.lex_state = 50},
2140
+ [131] = {.lex_state = 48},
2141
+ [132] = {.lex_state = 48},
2142
+ [133] = {.lex_state = 50},
2143
+ [134] = {.lex_state = 48},
2144
+ [135] = {.lex_state = 49},
2145
+ [136] = {.lex_state = 48},
2146
+ [137] = {.lex_state = 50},
2147
+ [138] = {.lex_state = 48},
2148
+ [139] = {.lex_state = 48},
2149
+ [140] = {.lex_state = 48},
2150
+ [141] = {.lex_state = 3},
2151
+ [142] = {.lex_state = 48},
2152
+ [143] = {.lex_state = 49},
2153
+ [144] = {.lex_state = 48},
2154
+ [145] = {.lex_state = 49},
2155
+ [146] = {.lex_state = 3},
2156
+ [147] = {.lex_state = 48},
2157
+ [148] = {.lex_state = 3},
2158
+ [149] = {.lex_state = 49},
2159
+ [150] = {.lex_state = 48},
2160
+ [151] = {.lex_state = 3, .external_lex_state = 1},
2161
+ [152] = {.lex_state = 3},
2162
+ [153] = {.lex_state = 8},
2163
+ [154] = {.lex_state = 0},
2164
+ [155] = {.lex_state = 3, .external_lex_state = 1},
2165
+ [156] = {.lex_state = 8},
2166
+ [157] = {.lex_state = 8},
2167
+ [158] = {.lex_state = 8},
2168
+ [159] = {.lex_state = 8},
2169
+ [160] = {.lex_state = 3, .external_lex_state = 1},
2170
+ [161] = {.lex_state = 0},
2171
+ [162] = {.lex_state = 3, .external_lex_state = 1},
2172
+ [163] = {.lex_state = 8},
2173
+ [164] = {.lex_state = 8},
2174
+ [165] = {.lex_state = 3, .external_lex_state = 1},
2175
+ [166] = {.lex_state = 8},
2176
+ [167] = {.lex_state = 0},
2177
+ [168] = {.lex_state = 2},
2178
+ [169] = {.lex_state = 0},
2179
+ [170] = {.lex_state = 0},
2180
+ [171] = {.lex_state = 0},
2181
+ [172] = {.lex_state = 0},
2182
+ [173] = {.lex_state = 0},
2183
+ [174] = {.lex_state = 2},
2184
+ [175] = {.lex_state = 0},
2185
+ [176] = {.lex_state = 0},
2186
+ [177] = {.lex_state = 0},
2187
+ [178] = {.lex_state = 0},
2188
+ [179] = {.lex_state = 3},
2189
+ [180] = {.lex_state = 0},
2190
+ [181] = {.lex_state = 0},
2191
+ [182] = {.lex_state = 0},
2192
+ [183] = {.lex_state = 0},
2193
+ [184] = {.lex_state = 0},
2194
+ [185] = {.lex_state = 2},
2195
+ [186] = {.lex_state = 0},
2196
+ [187] = {.lex_state = 0},
2197
+ [188] = {.lex_state = 0},
2198
+ [189] = {.lex_state = 0},
2199
+ [190] = {.lex_state = 0},
2200
+ [191] = {.lex_state = 0},
2201
+ [192] = {.lex_state = 0},
2202
+ [193] = {.lex_state = 0},
2203
+ [194] = {.lex_state = 0},
2204
+ [195] = {.lex_state = 0},
2205
+ [196] = {.lex_state = 3},
2206
+ [197] = {.lex_state = 47},
2207
+ [198] = {.lex_state = 0},
2208
+ [199] = {.lex_state = 0},
2209
+ [200] = {.lex_state = 0},
2210
+ [201] = {.lex_state = 49},
2211
+ [202] = {.lex_state = 0},
2212
+ [203] = {.lex_state = 0},
2213
+ [204] = {.lex_state = 41},
2214
+ [205] = {.lex_state = 3},
2215
+ [206] = {.lex_state = 49},
2216
+ [207] = {.lex_state = 41},
2217
+ [208] = {.lex_state = 0},
2218
+ [209] = {.lex_state = 47},
2219
+ [210] = {.lex_state = 49},
2220
+ [211] = {.lex_state = 0},
2221
+ [212] = {.lex_state = 0},
2222
+ [213] = {.lex_state = 0},
2223
+ [214] = {.lex_state = 0},
2224
+ [215] = {.lex_state = 2},
2225
+ [216] = {.lex_state = 2},
2226
+ [217] = {.lex_state = 0},
2227
+ [218] = {.lex_state = 2},
2228
+ [219] = {.lex_state = 41},
2229
+ [220] = {.lex_state = 0},
2230
+ [221] = {.lex_state = 3},
2231
+ [222] = {.lex_state = 2},
2232
+ [223] = {.lex_state = 3},
2233
+ [224] = {.lex_state = 41},
2234
+ [225] = {.lex_state = 3},
2235
+ [226] = {.lex_state = 3},
2236
+ [227] = {.lex_state = 0},
2237
+ [228] = {.lex_state = 2},
2238
+ [229] = {.lex_state = 3},
2239
+ [230] = {.lex_state = 2},
2240
+ [231] = {.lex_state = 3},
2241
+ [232] = {.lex_state = 2},
2242
+ [233] = {.lex_state = 3},
2243
+ [234] = {.lex_state = 3},
2244
+ [235] = {.lex_state = 2},
2245
+ [236] = {.lex_state = 0},
2246
+ [237] = {.lex_state = 3},
2247
+ [238] = {.lex_state = 2},
2248
+ [239] = {.lex_state = 3},
2249
+ [240] = {.lex_state = 2},
2250
+ [241] = {.lex_state = 3},
2251
+ [242] = {.lex_state = 3},
2252
+ [243] = {.lex_state = 0},
2253
+ [244] = {.lex_state = 0},
2254
+ [245] = {.lex_state = 2},
2255
+ [246] = {.lex_state = 3},
2256
+ [247] = {.lex_state = 0},
2257
+ };
2258
+
2259
+ enum {
2260
+ ts_external_token_quoted_content = 0,
2261
+ };
2262
+
2263
+ static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
2264
+ [ts_external_token_quoted_content] = sym_quoted_content,
2265
+ };
2266
+
2267
+ static const bool ts_external_scanner_states[2][EXTERNAL_TOKEN_COUNT] = {
2268
+ [1] = {
2269
+ [ts_external_token_quoted_content] = true,
2270
+ },
876
2271
  };
877
2272
 
878
2273
  static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
@@ -892,869 +2287,5562 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
892
2287
  [anon_sym_PIPE] = ACTIONS(1),
893
2288
  [anon_sym_LPAREN] = ACTIONS(1),
894
2289
  [anon_sym_RPAREN] = ACTIONS(1),
2290
+ [anon_sym_DASH_GT] = ACTIONS(1),
2291
+ [anon_sym_PIPE_PIPE] = ACTIONS(1),
2292
+ [anon_sym_AMP_AMP] = ACTIONS(1),
2293
+ [anon_sym_EQ_EQ] = ACTIONS(1),
2294
+ [anon_sym_BANG_EQ] = ACTIONS(1),
2295
+ [anon_sym_LT] = ACTIONS(1),
2296
+ [anon_sym_LT_EQ] = ACTIONS(1),
2297
+ [anon_sym_GT] = ACTIONS(1),
2298
+ [anon_sym_GT_EQ] = ACTIONS(1),
2299
+ [anon_sym_PIPE_GT] = ACTIONS(1),
2300
+ [anon_sym_PLUS] = ACTIONS(1),
2301
+ [anon_sym_DASH] = ACTIONS(1),
2302
+ [anon_sym_STAR] = ACTIONS(1),
2303
+ [anon_sym_PERCENT] = ACTIONS(1),
2304
+ [anon_sym_LT_GT] = ACTIONS(1),
2305
+ [anon_sym_BANG] = ACTIONS(1),
2306
+ [anon_sym_let] = ACTIONS(1),
2307
+ [anon_sym_todo] = ACTIONS(1),
2308
+ [anon_sym_panic] = ACTIONS(1),
895
2309
  [anon_sym_COLON] = ACTIONS(1),
2310
+ [sym_float] = ACTIONS(1),
2311
+ [anon_sym_DQUOTE] = ACTIONS(1),
2312
+ [anon_sym_DQUOTE2] = ACTIONS(1),
2313
+ [sym__hex] = ACTIONS(1),
2314
+ [sym__decimal] = ACTIONS(1),
2315
+ [sym__octal] = ACTIONS(1),
2316
+ [sym__binary] = ACTIONS(1),
2317
+ [sym_escape_sequence] = ACTIONS(1),
896
2318
  [sym__discard_name] = ACTIONS(1),
897
2319
  [sym__upname] = ACTIONS(1),
2320
+ [sym_quoted_content] = ACTIONS(1),
898
2321
  },
899
2322
  [1] = {
900
- [sym_source_file] = STATE(82),
2323
+ [sym_source_file] = STATE(244),
901
- [sym_module] = STATE(3),
2324
+ [sym_module] = STATE(107),
902
2325
  [anon_sym_module] = ACTIONS(3),
903
2326
  },
904
2327
  };
905
2328
 
906
2329
  static const uint16_t ts_small_parse_table[] = {
907
- [0] = 1,
908
- ACTIONS(5), 9,
2330
+ [0] = 6,
2331
+ ACTIONS(9), 1,
2332
+ anon_sym_LPAREN,
2333
+ ACTIONS(11), 1,
2334
+ sym_identifier,
2335
+ STATE(7), 1,
2336
+ sym_generic_list,
2337
+ STATE(6), 2,
2338
+ sym_type_field,
2339
+ aux_sym_record_repeat1,
2340
+ ACTIONS(7), 10,
2341
+ anon_sym_record,
2342
+ anon_sym_type,
2343
+ anon_sym_LT,
2344
+ anon_sym_GT,
2345
+ anon_sym_DASH,
2346
+ anon_sym_BANG,
2347
+ anon_sym_let,
2348
+ anon_sym_todo,
2349
+ anon_sym_panic,
2350
+ sym__decimal,
2351
+ ACTIONS(5), 19,
2352
+ ts_builtin_sym_end,
2353
+ anon_sym_SLASH,
2354
+ anon_sym_LBRACE,
2355
+ anon_sym_PIPE_PIPE,
2356
+ anon_sym_AMP_AMP,
2357
+ anon_sym_EQ_EQ,
2358
+ anon_sym_BANG_EQ,
2359
+ anon_sym_LT_EQ,
2360
+ anon_sym_GT_EQ,
2361
+ anon_sym_PIPE_GT,
2362
+ anon_sym_PLUS,
2363
+ anon_sym_STAR,
2364
+ anon_sym_PERCENT,
2365
+ anon_sym_LT_GT,
2366
+ sym_float,
2367
+ anon_sym_DQUOTE,
2368
+ sym__hex,
2369
+ sym__octal,
2370
+ sym__binary,
2371
+ [47] = 6,
2372
+ ACTIONS(14), 1,
2373
+ anon_sym_LPAREN,
2374
+ ACTIONS(16), 1,
2375
+ sym_identifier,
2376
+ STATE(11), 1,
2377
+ sym_generic_list,
2378
+ STATE(12), 2,
2379
+ sym_type_field,
2380
+ aux_sym_record_repeat1,
2381
+ ACTIONS(7), 9,
2382
+ anon_sym_record,
2383
+ anon_sym_LT,
2384
+ anon_sym_GT,
2385
+ anon_sym_DASH,
2386
+ anon_sym_BANG,
2387
+ anon_sym_let,
2388
+ anon_sym_todo,
2389
+ anon_sym_panic,
2390
+ sym__decimal,
2391
+ ACTIONS(5), 19,
2392
+ anon_sym_SLASH,
2393
+ anon_sym_LBRACE,
2394
+ anon_sym_RBRACE,
2395
+ anon_sym_PIPE_PIPE,
2396
+ anon_sym_AMP_AMP,
2397
+ anon_sym_EQ_EQ,
2398
+ anon_sym_BANG_EQ,
2399
+ anon_sym_LT_EQ,
2400
+ anon_sym_GT_EQ,
2401
+ anon_sym_PIPE_GT,
2402
+ anon_sym_PLUS,
2403
+ anon_sym_STAR,
2404
+ anon_sym_PERCENT,
2405
+ anon_sym_LT_GT,
2406
+ sym_float,
2407
+ anon_sym_DQUOTE,
2408
+ sym__hex,
2409
+ sym__octal,
2410
+ sym__binary,
2411
+ [93] = 4,
2412
+ ACTIONS(23), 1,
2413
+ sym_identifier,
2414
+ STATE(4), 2,
2415
+ sym_type_field,
2416
+ aux_sym_record_repeat1,
2417
+ ACTIONS(21), 10,
2418
+ anon_sym_record,
2419
+ anon_sym_type,
2420
+ anon_sym_LT,
2421
+ anon_sym_GT,
2422
+ anon_sym_DASH,
2423
+ anon_sym_BANG,
2424
+ anon_sym_let,
2425
+ anon_sym_todo,
2426
+ anon_sym_panic,
2427
+ sym__decimal,
2428
+ ACTIONS(19), 19,
2429
+ ts_builtin_sym_end,
2430
+ anon_sym_SLASH,
2431
+ anon_sym_LBRACE,
2432
+ anon_sym_PIPE_PIPE,
2433
+ anon_sym_AMP_AMP,
2434
+ anon_sym_EQ_EQ,
2435
+ anon_sym_BANG_EQ,
2436
+ anon_sym_LT_EQ,
2437
+ anon_sym_GT_EQ,
2438
+ anon_sym_PIPE_GT,
2439
+ anon_sym_PLUS,
2440
+ anon_sym_STAR,
2441
+ anon_sym_PERCENT,
2442
+ anon_sym_LT_GT,
2443
+ sym_float,
2444
+ anon_sym_DQUOTE,
2445
+ sym__hex,
2446
+ sym__octal,
2447
+ sym__binary,
2448
+ [134] = 4,
2449
+ ACTIONS(30), 1,
2450
+ sym_identifier,
2451
+ STATE(4), 2,
2452
+ sym_type_field,
2453
+ aux_sym_record_repeat1,
2454
+ ACTIONS(28), 10,
2455
+ anon_sym_record,
2456
+ anon_sym_type,
2457
+ anon_sym_LT,
2458
+ anon_sym_GT,
2459
+ anon_sym_DASH,
2460
+ anon_sym_BANG,
2461
+ anon_sym_let,
2462
+ anon_sym_todo,
2463
+ anon_sym_panic,
2464
+ sym__decimal,
2465
+ ACTIONS(26), 19,
2466
+ ts_builtin_sym_end,
2467
+ anon_sym_SLASH,
2468
+ anon_sym_LBRACE,
2469
+ anon_sym_PIPE_PIPE,
2470
+ anon_sym_AMP_AMP,
2471
+ anon_sym_EQ_EQ,
2472
+ anon_sym_BANG_EQ,
2473
+ anon_sym_LT_EQ,
2474
+ anon_sym_GT_EQ,
2475
+ anon_sym_PIPE_GT,
2476
+ anon_sym_PLUS,
2477
+ anon_sym_STAR,
2478
+ anon_sym_PERCENT,
2479
+ anon_sym_LT_GT,
2480
+ sym_float,
2481
+ anon_sym_DQUOTE,
2482
+ sym__hex,
2483
+ sym__octal,
2484
+ sym__binary,
2485
+ [175] = 4,
2486
+ ACTIONS(37), 1,
2487
+ sym_identifier,
2488
+ STATE(4), 2,
2489
+ sym_type_field,
2490
+ aux_sym_record_repeat1,
2491
+ ACTIONS(35), 10,
2492
+ anon_sym_record,
2493
+ anon_sym_type,
2494
+ anon_sym_LT,
2495
+ anon_sym_GT,
2496
+ anon_sym_DASH,
2497
+ anon_sym_BANG,
2498
+ anon_sym_let,
2499
+ anon_sym_todo,
2500
+ anon_sym_panic,
2501
+ sym__decimal,
2502
+ ACTIONS(33), 19,
2503
+ ts_builtin_sym_end,
2504
+ anon_sym_SLASH,
2505
+ anon_sym_LBRACE,
2506
+ anon_sym_PIPE_PIPE,
2507
+ anon_sym_AMP_AMP,
2508
+ anon_sym_EQ_EQ,
2509
+ anon_sym_BANG_EQ,
2510
+ anon_sym_LT_EQ,
2511
+ anon_sym_GT_EQ,
2512
+ anon_sym_PIPE_GT,
2513
+ anon_sym_PLUS,
2514
+ anon_sym_STAR,
2515
+ anon_sym_PERCENT,
2516
+ anon_sym_LT_GT,
2517
+ sym_float,
2518
+ anon_sym_DQUOTE,
2519
+ sym__hex,
2520
+ sym__octal,
2521
+ sym__binary,
2522
+ [216] = 4,
2523
+ ACTIONS(44), 1,
2524
+ sym_identifier,
2525
+ STATE(5), 2,
2526
+ sym_type_field,
2527
+ aux_sym_record_repeat1,
2528
+ ACTIONS(42), 10,
2529
+ anon_sym_record,
2530
+ anon_sym_type,
2531
+ anon_sym_LT,
2532
+ anon_sym_GT,
2533
+ anon_sym_DASH,
2534
+ anon_sym_BANG,
2535
+ anon_sym_let,
2536
+ anon_sym_todo,
2537
+ anon_sym_panic,
2538
+ sym__decimal,
2539
+ ACTIONS(40), 19,
2540
+ ts_builtin_sym_end,
2541
+ anon_sym_SLASH,
2542
+ anon_sym_LBRACE,
2543
+ anon_sym_PIPE_PIPE,
2544
+ anon_sym_AMP_AMP,
2545
+ anon_sym_EQ_EQ,
2546
+ anon_sym_BANG_EQ,
2547
+ anon_sym_LT_EQ,
2548
+ anon_sym_GT_EQ,
2549
+ anon_sym_PIPE_GT,
2550
+ anon_sym_PLUS,
2551
+ anon_sym_STAR,
2552
+ anon_sym_PERCENT,
2553
+ anon_sym_LT_GT,
2554
+ sym_float,
2555
+ anon_sym_DQUOTE,
2556
+ sym__hex,
2557
+ sym__octal,
2558
+ sym__binary,
2559
+ [257] = 2,
2560
+ ACTIONS(49), 11,
2561
+ anon_sym_record,
2562
+ anon_sym_type,
2563
+ anon_sym_LT,
2564
+ anon_sym_GT,
2565
+ anon_sym_DASH,
2566
+ anon_sym_BANG,
2567
+ anon_sym_let,
2568
+ anon_sym_todo,
2569
+ anon_sym_panic,
2570
+ sym__decimal,
2571
+ sym_identifier,
2572
+ ACTIONS(47), 20,
2573
+ ts_builtin_sym_end,
2574
+ anon_sym_SLASH,
2575
+ anon_sym_LBRACE,
2576
+ anon_sym_LPAREN,
2577
+ anon_sym_PIPE_PIPE,
2578
+ anon_sym_AMP_AMP,
2579
+ anon_sym_EQ_EQ,
2580
+ anon_sym_BANG_EQ,
2581
+ anon_sym_LT_EQ,
2582
+ anon_sym_GT_EQ,
2583
+ anon_sym_PIPE_GT,
2584
+ anon_sym_PLUS,
2585
+ anon_sym_STAR,
2586
+ anon_sym_PERCENT,
2587
+ anon_sym_LT_GT,
2588
+ sym_float,
2589
+ anon_sym_DQUOTE,
2590
+ sym__hex,
2591
+ sym__octal,
2592
+ sym__binary,
2593
+ [293] = 3,
2594
+ ACTIONS(55), 1,
2595
+ anon_sym_LPAREN,
2596
+ ACTIONS(53), 11,
2597
+ anon_sym_record,
2598
+ anon_sym_type,
2599
+ anon_sym_LT,
2600
+ anon_sym_GT,
2601
+ anon_sym_DASH,
2602
+ anon_sym_BANG,
2603
+ anon_sym_let,
2604
+ anon_sym_todo,
2605
+ anon_sym_panic,
2606
+ sym__decimal,
2607
+ sym_identifier,
2608
+ ACTIONS(51), 19,
2609
+ ts_builtin_sym_end,
2610
+ anon_sym_SLASH,
2611
+ anon_sym_LBRACE,
2612
+ anon_sym_PIPE_PIPE,
2613
+ anon_sym_AMP_AMP,
2614
+ anon_sym_EQ_EQ,
2615
+ anon_sym_BANG_EQ,
2616
+ anon_sym_LT_EQ,
2617
+ anon_sym_GT_EQ,
2618
+ anon_sym_PIPE_GT,
2619
+ anon_sym_PLUS,
2620
+ anon_sym_STAR,
2621
+ anon_sym_PERCENT,
2622
+ anon_sym_LT_GT,
2623
+ sym_float,
2624
+ anon_sym_DQUOTE,
2625
+ sym__hex,
2626
+ sym__octal,
2627
+ sym__binary,
2628
+ [331] = 2,
2629
+ ACTIONS(59), 11,
2630
+ anon_sym_record,
2631
+ anon_sym_type,
2632
+ anon_sym_LT,
2633
+ anon_sym_GT,
2634
+ anon_sym_DASH,
2635
+ anon_sym_BANG,
2636
+ anon_sym_let,
2637
+ anon_sym_todo,
2638
+ anon_sym_panic,
2639
+ sym__decimal,
2640
+ sym_identifier,
2641
+ ACTIONS(57), 20,
2642
+ ts_builtin_sym_end,
2643
+ anon_sym_SLASH,
2644
+ anon_sym_LBRACE,
2645
+ anon_sym_RPAREN,
2646
+ anon_sym_PIPE_PIPE,
2647
+ anon_sym_AMP_AMP,
2648
+ anon_sym_EQ_EQ,
2649
+ anon_sym_BANG_EQ,
2650
+ anon_sym_LT_EQ,
2651
+ anon_sym_GT_EQ,
2652
+ anon_sym_PIPE_GT,
2653
+ anon_sym_PLUS,
2654
+ anon_sym_STAR,
2655
+ anon_sym_PERCENT,
2656
+ anon_sym_LT_GT,
2657
+ sym_float,
2658
+ anon_sym_DQUOTE,
2659
+ sym__hex,
2660
+ sym__octal,
2661
+ sym__binary,
2662
+ [367] = 4,
2663
+ ACTIONS(61), 1,
2664
+ sym_identifier,
2665
+ STATE(14), 2,
2666
+ sym_type_field,
2667
+ aux_sym_record_repeat1,
2668
+ ACTIONS(42), 9,
2669
+ anon_sym_record,
2670
+ anon_sym_LT,
2671
+ anon_sym_GT,
2672
+ anon_sym_DASH,
2673
+ anon_sym_BANG,
2674
+ anon_sym_let,
2675
+ anon_sym_todo,
2676
+ anon_sym_panic,
2677
+ sym__decimal,
2678
+ ACTIONS(40), 19,
2679
+ anon_sym_SLASH,
2680
+ anon_sym_LBRACE,
2681
+ anon_sym_RBRACE,
2682
+ anon_sym_PIPE_PIPE,
2683
+ anon_sym_AMP_AMP,
2684
+ anon_sym_EQ_EQ,
2685
+ anon_sym_BANG_EQ,
2686
+ anon_sym_LT_EQ,
2687
+ anon_sym_GT_EQ,
2688
+ anon_sym_PIPE_GT,
2689
+ anon_sym_PLUS,
2690
+ anon_sym_STAR,
2691
+ anon_sym_PERCENT,
2692
+ anon_sym_LT_GT,
2693
+ sym_float,
2694
+ anon_sym_DQUOTE,
2695
+ sym__hex,
2696
+ sym__octal,
2697
+ sym__binary,
2698
+ [407] = 4,
2699
+ ACTIONS(64), 1,
2700
+ sym_identifier,
2701
+ STATE(15), 2,
2702
+ sym_type_field,
2703
+ aux_sym_record_repeat1,
2704
+ ACTIONS(35), 9,
2705
+ anon_sym_record,
2706
+ anon_sym_LT,
2707
+ anon_sym_GT,
2708
+ anon_sym_DASH,
2709
+ anon_sym_BANG,
2710
+ anon_sym_let,
2711
+ anon_sym_todo,
2712
+ anon_sym_panic,
2713
+ sym__decimal,
2714
+ ACTIONS(33), 19,
2715
+ anon_sym_SLASH,
2716
+ anon_sym_LBRACE,
2717
+ anon_sym_RBRACE,
2718
+ anon_sym_PIPE_PIPE,
2719
+ anon_sym_AMP_AMP,
2720
+ anon_sym_EQ_EQ,
2721
+ anon_sym_BANG_EQ,
2722
+ anon_sym_LT_EQ,
2723
+ anon_sym_GT_EQ,
2724
+ anon_sym_PIPE_GT,
2725
+ anon_sym_PLUS,
2726
+ anon_sym_STAR,
2727
+ anon_sym_PERCENT,
2728
+ anon_sym_LT_GT,
2729
+ sym_float,
2730
+ anon_sym_DQUOTE,
2731
+ sym__hex,
2732
+ sym__octal,
2733
+ sym__binary,
2734
+ [447] = 2,
2735
+ ACTIONS(69), 11,
2736
+ anon_sym_record,
2737
+ anon_sym_type,
2738
+ anon_sym_LT,
2739
+ anon_sym_GT,
2740
+ anon_sym_DASH,
2741
+ anon_sym_BANG,
2742
+ anon_sym_let,
2743
+ anon_sym_todo,
2744
+ anon_sym_panic,
2745
+ sym__decimal,
2746
+ sym_identifier,
2747
+ ACTIONS(67), 20,
2748
+ ts_builtin_sym_end,
2749
+ anon_sym_SLASH,
2750
+ anon_sym_LBRACE,
2751
+ anon_sym_RPAREN,
2752
+ anon_sym_PIPE_PIPE,
2753
+ anon_sym_AMP_AMP,
2754
+ anon_sym_EQ_EQ,
2755
+ anon_sym_BANG_EQ,
2756
+ anon_sym_LT_EQ,
2757
+ anon_sym_GT_EQ,
2758
+ anon_sym_PIPE_GT,
2759
+ anon_sym_PLUS,
2760
+ anon_sym_STAR,
2761
+ anon_sym_PERCENT,
2762
+ anon_sym_LT_GT,
2763
+ sym_float,
2764
+ anon_sym_DQUOTE,
2765
+ sym__hex,
2766
+ sym__octal,
2767
+ sym__binary,
2768
+ [483] = 4,
2769
+ ACTIONS(71), 1,
2770
+ sym_identifier,
2771
+ STATE(15), 2,
2772
+ sym_type_field,
2773
+ aux_sym_record_repeat1,
2774
+ ACTIONS(28), 9,
2775
+ anon_sym_record,
2776
+ anon_sym_LT,
2777
+ anon_sym_GT,
2778
+ anon_sym_DASH,
2779
+ anon_sym_BANG,
2780
+ anon_sym_let,
2781
+ anon_sym_todo,
2782
+ anon_sym_panic,
2783
+ sym__decimal,
2784
+ ACTIONS(26), 19,
2785
+ anon_sym_SLASH,
2786
+ anon_sym_LBRACE,
2787
+ anon_sym_RBRACE,
2788
+ anon_sym_PIPE_PIPE,
2789
+ anon_sym_AMP_AMP,
2790
+ anon_sym_EQ_EQ,
2791
+ anon_sym_BANG_EQ,
2792
+ anon_sym_LT_EQ,
2793
+ anon_sym_GT_EQ,
2794
+ anon_sym_PIPE_GT,
2795
+ anon_sym_PLUS,
2796
+ anon_sym_STAR,
2797
+ anon_sym_PERCENT,
2798
+ anon_sym_LT_GT,
2799
+ sym_float,
2800
+ anon_sym_DQUOTE,
2801
+ sym__hex,
2802
+ sym__octal,
2803
+ sym__binary,
2804
+ [523] = 4,
2805
+ ACTIONS(74), 1,
2806
+ sym_identifier,
2807
+ STATE(15), 2,
2808
+ sym_type_field,
2809
+ aux_sym_record_repeat1,
2810
+ ACTIONS(21), 9,
2811
+ anon_sym_record,
2812
+ anon_sym_LT,
2813
+ anon_sym_GT,
2814
+ anon_sym_DASH,
2815
+ anon_sym_BANG,
2816
+ anon_sym_let,
2817
+ anon_sym_todo,
2818
+ anon_sym_panic,
2819
+ sym__decimal,
2820
+ ACTIONS(19), 19,
2821
+ anon_sym_SLASH,
2822
+ anon_sym_LBRACE,
2823
+ anon_sym_RBRACE,
2824
+ anon_sym_PIPE_PIPE,
2825
+ anon_sym_AMP_AMP,
2826
+ anon_sym_EQ_EQ,
2827
+ anon_sym_BANG_EQ,
2828
+ anon_sym_LT_EQ,
2829
+ anon_sym_GT_EQ,
2830
+ anon_sym_PIPE_GT,
2831
+ anon_sym_PLUS,
2832
+ anon_sym_STAR,
2833
+ anon_sym_PERCENT,
2834
+ anon_sym_LT_GT,
2835
+ sym_float,
2836
+ anon_sym_DQUOTE,
2837
+ sym__hex,
2838
+ sym__octal,
2839
+ sym__binary,
2840
+ [563] = 6,
2841
+ ACTIONS(83), 1,
2842
+ anon_sym_PIPE_GT,
2843
+ ACTIONS(85), 1,
2844
+ anon_sym_PLUS,
2845
+ ACTIONS(87), 1,
2846
+ anon_sym_DASH,
2847
+ ACTIONS(79), 4,
2848
+ anon_sym_SLASH,
2849
+ anon_sym_STAR,
2850
+ anon_sym_PERCENT,
2851
+ anon_sym_LT_GT,
2852
+ ACTIONS(81), 10,
2853
+ anon_sym_record,
2854
+ anon_sym_type,
2855
+ anon_sym_LT,
2856
+ anon_sym_GT,
2857
+ anon_sym_BANG,
2858
+ anon_sym_let,
2859
+ anon_sym_todo,
2860
+ anon_sym_panic,
2861
+ sym__decimal,
2862
+ sym_identifier,
2863
+ ACTIONS(77), 13,
2864
+ ts_builtin_sym_end,
2865
+ anon_sym_LBRACE,
2866
+ anon_sym_PIPE_PIPE,
2867
+ anon_sym_AMP_AMP,
2868
+ anon_sym_EQ_EQ,
2869
+ anon_sym_BANG_EQ,
2870
+ anon_sym_LT_EQ,
2871
+ anon_sym_GT_EQ,
2872
+ sym_float,
2873
+ anon_sym_DQUOTE,
2874
+ sym__hex,
2875
+ sym__octal,
2876
+ sym__binary,
2877
+ [606] = 11,
2878
+ ACTIONS(83), 1,
2879
+ anon_sym_PIPE_GT,
2880
+ ACTIONS(85), 1,
2881
+ anon_sym_PLUS,
2882
+ ACTIONS(87), 1,
2883
+ anon_sym_DASH,
2884
+ ACTIONS(93), 1,
2885
+ anon_sym_PIPE_PIPE,
2886
+ ACTIONS(95), 1,
2887
+ anon_sym_AMP_AMP,
2888
+ ACTIONS(97), 2,
2889
+ anon_sym_EQ_EQ,
2890
+ anon_sym_BANG_EQ,
2891
+ ACTIONS(99), 2,
2892
+ anon_sym_LT,
2893
+ anon_sym_GT,
2894
+ ACTIONS(101), 2,
2895
+ anon_sym_LT_EQ,
2896
+ anon_sym_GT_EQ,
2897
+ ACTIONS(79), 4,
2898
+ anon_sym_SLASH,
2899
+ anon_sym_STAR,
2900
+ anon_sym_PERCENT,
2901
+ anon_sym_LT_GT,
2902
+ ACTIONS(89), 7,
2903
+ ts_builtin_sym_end,
2904
+ anon_sym_LBRACE,
2905
+ sym_float,
2906
+ anon_sym_DQUOTE,
2907
+ sym__hex,
2908
+ sym__octal,
2909
+ sym__binary,
2910
+ ACTIONS(91), 8,
2911
+ anon_sym_record,
2912
+ anon_sym_type,
2913
+ anon_sym_BANG,
2914
+ anon_sym_let,
2915
+ anon_sym_todo,
2916
+ anon_sym_panic,
2917
+ sym__decimal,
2918
+ sym_identifier,
2919
+ [659] = 11,
2920
+ ACTIONS(83), 1,
2921
+ anon_sym_PIPE_GT,
2922
+ ACTIONS(85), 1,
2923
+ anon_sym_PLUS,
2924
+ ACTIONS(87), 1,
2925
+ anon_sym_DASH,
2926
+ ACTIONS(93), 1,
2927
+ anon_sym_PIPE_PIPE,
2928
+ ACTIONS(95), 1,
2929
+ anon_sym_AMP_AMP,
2930
+ ACTIONS(97), 2,
2931
+ anon_sym_EQ_EQ,
2932
+ anon_sym_BANG_EQ,
2933
+ ACTIONS(99), 2,
2934
+ anon_sym_LT,
2935
+ anon_sym_GT,
2936
+ ACTIONS(101), 2,
2937
+ anon_sym_LT_EQ,
2938
+ anon_sym_GT_EQ,
2939
+ ACTIONS(79), 4,
2940
+ anon_sym_SLASH,
2941
+ anon_sym_STAR,
2942
+ anon_sym_PERCENT,
2943
+ anon_sym_LT_GT,
2944
+ ACTIONS(103), 7,
2945
+ ts_builtin_sym_end,
2946
+ anon_sym_LBRACE,
2947
+ sym_float,
2948
+ anon_sym_DQUOTE,
2949
+ sym__hex,
2950
+ sym__octal,
2951
+ sym__binary,
2952
+ ACTIONS(105), 8,
2953
+ anon_sym_record,
2954
+ anon_sym_type,
2955
+ anon_sym_BANG,
2956
+ anon_sym_let,
2957
+ anon_sym_todo,
2958
+ anon_sym_panic,
2959
+ sym__decimal,
2960
+ sym_identifier,
2961
+ [712] = 2,
2962
+ ACTIONS(109), 11,
2963
+ anon_sym_record,
2964
+ anon_sym_type,
2965
+ anon_sym_LT,
2966
+ anon_sym_GT,
2967
+ anon_sym_DASH,
2968
+ anon_sym_BANG,
2969
+ anon_sym_let,
2970
+ anon_sym_todo,
2971
+ anon_sym_panic,
2972
+ sym__decimal,
2973
+ sym_identifier,
2974
+ ACTIONS(107), 19,
2975
+ ts_builtin_sym_end,
2976
+ anon_sym_SLASH,
2977
+ anon_sym_LBRACE,
2978
+ anon_sym_PIPE_PIPE,
2979
+ anon_sym_AMP_AMP,
2980
+ anon_sym_EQ_EQ,
2981
+ anon_sym_BANG_EQ,
2982
+ anon_sym_LT_EQ,
2983
+ anon_sym_GT_EQ,
2984
+ anon_sym_PIPE_GT,
2985
+ anon_sym_PLUS,
2986
+ anon_sym_STAR,
2987
+ anon_sym_PERCENT,
2988
+ anon_sym_LT_GT,
2989
+ sym_float,
2990
+ anon_sym_DQUOTE,
2991
+ sym__hex,
2992
+ sym__octal,
2993
+ sym__binary,
2994
+ [747] = 2,
2995
+ ACTIONS(113), 11,
2996
+ anon_sym_record,
2997
+ anon_sym_type,
2998
+ anon_sym_LT,
2999
+ anon_sym_GT,
3000
+ anon_sym_DASH,
3001
+ anon_sym_BANG,
3002
+ anon_sym_let,
3003
+ anon_sym_todo,
3004
+ anon_sym_panic,
3005
+ sym__decimal,
3006
+ sym_identifier,
3007
+ ACTIONS(111), 19,
3008
+ ts_builtin_sym_end,
3009
+ anon_sym_SLASH,
3010
+ anon_sym_LBRACE,
3011
+ anon_sym_PIPE_PIPE,
3012
+ anon_sym_AMP_AMP,
3013
+ anon_sym_EQ_EQ,
3014
+ anon_sym_BANG_EQ,
3015
+ anon_sym_LT_EQ,
3016
+ anon_sym_GT_EQ,
3017
+ anon_sym_PIPE_GT,
3018
+ anon_sym_PLUS,
3019
+ anon_sym_STAR,
3020
+ anon_sym_PERCENT,
3021
+ anon_sym_LT_GT,
3022
+ sym_float,
3023
+ anon_sym_DQUOTE,
3024
+ sym__hex,
3025
+ sym__octal,
3026
+ sym__binary,
3027
+ [782] = 8,
3028
+ ACTIONS(83), 1,
3029
+ anon_sym_PIPE_GT,
3030
+ ACTIONS(85), 1,
3031
+ anon_sym_PLUS,
3032
+ ACTIONS(87), 1,
3033
+ anon_sym_DASH,
3034
+ ACTIONS(99), 2,
3035
+ anon_sym_LT,
3036
+ anon_sym_GT,
3037
+ ACTIONS(101), 2,
3038
+ anon_sym_LT_EQ,
3039
+ anon_sym_GT_EQ,
3040
+ ACTIONS(79), 4,
3041
+ anon_sym_SLASH,
3042
+ anon_sym_STAR,
3043
+ anon_sym_PERCENT,
3044
+ anon_sym_LT_GT,
3045
+ ACTIONS(81), 8,
3046
+ anon_sym_record,
3047
+ anon_sym_type,
3048
+ anon_sym_BANG,
3049
+ anon_sym_let,
3050
+ anon_sym_todo,
3051
+ anon_sym_panic,
3052
+ sym__decimal,
3053
+ sym_identifier,
3054
+ ACTIONS(77), 11,
3055
+ ts_builtin_sym_end,
3056
+ anon_sym_LBRACE,
3057
+ anon_sym_PIPE_PIPE,
3058
+ anon_sym_AMP_AMP,
3059
+ anon_sym_EQ_EQ,
3060
+ anon_sym_BANG_EQ,
3061
+ sym_float,
3062
+ anon_sym_DQUOTE,
3063
+ sym__hex,
3064
+ sym__octal,
3065
+ sym__binary,
3066
+ [829] = 11,
3067
+ ACTIONS(83), 1,
3068
+ anon_sym_PIPE_GT,
3069
+ ACTIONS(85), 1,
3070
+ anon_sym_PLUS,
3071
+ ACTIONS(87), 1,
3072
+ anon_sym_DASH,
3073
+ ACTIONS(93), 1,
3074
+ anon_sym_PIPE_PIPE,
3075
+ ACTIONS(95), 1,
3076
+ anon_sym_AMP_AMP,
3077
+ ACTIONS(97), 2,
3078
+ anon_sym_EQ_EQ,
3079
+ anon_sym_BANG_EQ,
3080
+ ACTIONS(99), 2,
3081
+ anon_sym_LT,
3082
+ anon_sym_GT,
3083
+ ACTIONS(101), 2,
3084
+ anon_sym_LT_EQ,
3085
+ anon_sym_GT_EQ,
3086
+ ACTIONS(79), 4,
3087
+ anon_sym_SLASH,
3088
+ anon_sym_STAR,
3089
+ anon_sym_PERCENT,
3090
+ anon_sym_LT_GT,
3091
+ ACTIONS(115), 7,
3092
+ ts_builtin_sym_end,
3093
+ anon_sym_LBRACE,
3094
+ sym_float,
3095
+ anon_sym_DQUOTE,
3096
+ sym__hex,
3097
+ sym__octal,
3098
+ sym__binary,
3099
+ ACTIONS(117), 8,
3100
+ anon_sym_record,
3101
+ anon_sym_type,
3102
+ anon_sym_BANG,
3103
+ anon_sym_let,
3104
+ anon_sym_todo,
3105
+ anon_sym_panic,
3106
+ sym__decimal,
3107
+ sym_identifier,
3108
+ [882] = 3,
3109
+ ACTIONS(79), 4,
3110
+ anon_sym_SLASH,
3111
+ anon_sym_STAR,
3112
+ anon_sym_PERCENT,
3113
+ anon_sym_LT_GT,
3114
+ ACTIONS(81), 11,
3115
+ anon_sym_record,
3116
+ anon_sym_type,
3117
+ anon_sym_LT,
3118
+ anon_sym_GT,
3119
+ anon_sym_DASH,
3120
+ anon_sym_BANG,
3121
+ anon_sym_let,
3122
+ anon_sym_todo,
3123
+ anon_sym_panic,
3124
+ sym__decimal,
3125
+ sym_identifier,
3126
+ ACTIONS(77), 15,
3127
+ ts_builtin_sym_end,
3128
+ anon_sym_LBRACE,
3129
+ anon_sym_PIPE_PIPE,
3130
+ anon_sym_AMP_AMP,
3131
+ anon_sym_EQ_EQ,
3132
+ anon_sym_BANG_EQ,
3133
+ anon_sym_LT_EQ,
3134
+ anon_sym_GT_EQ,
3135
+ anon_sym_PIPE_GT,
3136
+ anon_sym_PLUS,
3137
+ sym_float,
3138
+ anon_sym_DQUOTE,
3139
+ sym__hex,
3140
+ sym__octal,
3141
+ sym__binary,
3142
+ [919] = 2,
3143
+ ACTIONS(121), 11,
3144
+ anon_sym_record,
3145
+ anon_sym_type,
3146
+ anon_sym_LT,
3147
+ anon_sym_GT,
3148
+ anon_sym_DASH,
3149
+ anon_sym_BANG,
3150
+ anon_sym_let,
3151
+ anon_sym_todo,
3152
+ anon_sym_panic,
3153
+ sym__decimal,
3154
+ sym_identifier,
3155
+ ACTIONS(119), 19,
3156
+ ts_builtin_sym_end,
3157
+ anon_sym_SLASH,
3158
+ anon_sym_LBRACE,
3159
+ anon_sym_PIPE_PIPE,
3160
+ anon_sym_AMP_AMP,
3161
+ anon_sym_EQ_EQ,
3162
+ anon_sym_BANG_EQ,
3163
+ anon_sym_LT_EQ,
3164
+ anon_sym_GT_EQ,
3165
+ anon_sym_PIPE_GT,
3166
+ anon_sym_PLUS,
3167
+ anon_sym_STAR,
3168
+ anon_sym_PERCENT,
3169
+ anon_sym_LT_GT,
3170
+ sym_float,
3171
+ anon_sym_DQUOTE,
3172
+ sym__hex,
3173
+ sym__octal,
3174
+ sym__binary,
3175
+ [954] = 5,
3176
+ ACTIONS(85), 1,
3177
+ anon_sym_PLUS,
3178
+ ACTIONS(87), 1,
3179
+ anon_sym_DASH,
3180
+ ACTIONS(79), 4,
3181
+ anon_sym_SLASH,
3182
+ anon_sym_STAR,
3183
+ anon_sym_PERCENT,
3184
+ anon_sym_LT_GT,
3185
+ ACTIONS(81), 10,
3186
+ anon_sym_record,
3187
+ anon_sym_type,
3188
+ anon_sym_LT,
3189
+ anon_sym_GT,
3190
+ anon_sym_BANG,
3191
+ anon_sym_let,
3192
+ anon_sym_todo,
3193
+ anon_sym_panic,
3194
+ sym__decimal,
3195
+ sym_identifier,
3196
+ ACTIONS(77), 14,
3197
+ ts_builtin_sym_end,
3198
+ anon_sym_LBRACE,
3199
+ anon_sym_PIPE_PIPE,
3200
+ anon_sym_AMP_AMP,
3201
+ anon_sym_EQ_EQ,
3202
+ anon_sym_BANG_EQ,
3203
+ anon_sym_LT_EQ,
3204
+ anon_sym_GT_EQ,
3205
+ anon_sym_PIPE_GT,
3206
+ sym_float,
3207
+ anon_sym_DQUOTE,
3208
+ sym__hex,
3209
+ sym__octal,
3210
+ sym__binary,
3211
+ [995] = 2,
3212
+ ACTIONS(125), 11,
3213
+ anon_sym_record,
3214
+ anon_sym_type,
3215
+ anon_sym_LT,
3216
+ anon_sym_GT,
3217
+ anon_sym_DASH,
3218
+ anon_sym_BANG,
3219
+ anon_sym_let,
3220
+ anon_sym_todo,
3221
+ anon_sym_panic,
3222
+ sym__decimal,
3223
+ sym_identifier,
3224
+ ACTIONS(123), 19,
3225
+ ts_builtin_sym_end,
3226
+ anon_sym_SLASH,
3227
+ anon_sym_LBRACE,
3228
+ anon_sym_PIPE_PIPE,
3229
+ anon_sym_AMP_AMP,
3230
+ anon_sym_EQ_EQ,
3231
+ anon_sym_BANG_EQ,
3232
+ anon_sym_LT_EQ,
3233
+ anon_sym_GT_EQ,
3234
+ anon_sym_PIPE_GT,
3235
+ anon_sym_PLUS,
3236
+ anon_sym_STAR,
3237
+ anon_sym_PERCENT,
3238
+ anon_sym_LT_GT,
3239
+ sym_float,
3240
+ anon_sym_DQUOTE,
3241
+ sym__hex,
3242
+ sym__octal,
3243
+ sym__binary,
3244
+ [1030] = 2,
3245
+ ACTIONS(129), 11,
3246
+ anon_sym_record,
3247
+ anon_sym_type,
3248
+ anon_sym_LT,
3249
+ anon_sym_GT,
3250
+ anon_sym_DASH,
3251
+ anon_sym_BANG,
3252
+ anon_sym_let,
3253
+ anon_sym_todo,
3254
+ anon_sym_panic,
3255
+ sym__decimal,
3256
+ sym_identifier,
3257
+ ACTIONS(127), 19,
3258
+ ts_builtin_sym_end,
3259
+ anon_sym_SLASH,
3260
+ anon_sym_LBRACE,
3261
+ anon_sym_PIPE_PIPE,
3262
+ anon_sym_AMP_AMP,
3263
+ anon_sym_EQ_EQ,
3264
+ anon_sym_BANG_EQ,
3265
+ anon_sym_LT_EQ,
3266
+ anon_sym_GT_EQ,
3267
+ anon_sym_PIPE_GT,
3268
+ anon_sym_PLUS,
3269
+ anon_sym_STAR,
3270
+ anon_sym_PERCENT,
3271
+ anon_sym_LT_GT,
3272
+ sym_float,
3273
+ anon_sym_DQUOTE,
3274
+ sym__hex,
3275
+ sym__octal,
3276
+ sym__binary,
3277
+ [1065] = 9,
3278
+ ACTIONS(83), 1,
3279
+ anon_sym_PIPE_GT,
3280
+ ACTIONS(85), 1,
3281
+ anon_sym_PLUS,
3282
+ ACTIONS(87), 1,
3283
+ anon_sym_DASH,
3284
+ ACTIONS(97), 2,
3285
+ anon_sym_EQ_EQ,
3286
+ anon_sym_BANG_EQ,
3287
+ ACTIONS(99), 2,
3288
+ anon_sym_LT,
3289
+ anon_sym_GT,
3290
+ ACTIONS(101), 2,
3291
+ anon_sym_LT_EQ,
3292
+ anon_sym_GT_EQ,
3293
+ ACTIONS(79), 4,
3294
+ anon_sym_SLASH,
3295
+ anon_sym_STAR,
3296
+ anon_sym_PERCENT,
3297
+ anon_sym_LT_GT,
3298
+ ACTIONS(81), 8,
3299
+ anon_sym_record,
3300
+ anon_sym_type,
3301
+ anon_sym_BANG,
3302
+ anon_sym_let,
3303
+ anon_sym_todo,
3304
+ anon_sym_panic,
3305
+ sym__decimal,
3306
+ sym_identifier,
3307
+ ACTIONS(77), 9,
3308
+ ts_builtin_sym_end,
3309
+ anon_sym_LBRACE,
3310
+ anon_sym_PIPE_PIPE,
3311
+ anon_sym_AMP_AMP,
3312
+ sym_float,
3313
+ anon_sym_DQUOTE,
3314
+ sym__hex,
3315
+ sym__octal,
3316
+ sym__binary,
3317
+ [1114] = 2,
3318
+ ACTIONS(133), 11,
3319
+ anon_sym_record,
3320
+ anon_sym_type,
3321
+ anon_sym_LT,
3322
+ anon_sym_GT,
3323
+ anon_sym_DASH,
3324
+ anon_sym_BANG,
3325
+ anon_sym_let,
3326
+ anon_sym_todo,
3327
+ anon_sym_panic,
3328
+ sym__decimal,
3329
+ sym_identifier,
3330
+ ACTIONS(131), 19,
3331
+ ts_builtin_sym_end,
3332
+ anon_sym_SLASH,
3333
+ anon_sym_LBRACE,
3334
+ anon_sym_PIPE_PIPE,
3335
+ anon_sym_AMP_AMP,
3336
+ anon_sym_EQ_EQ,
3337
+ anon_sym_BANG_EQ,
3338
+ anon_sym_LT_EQ,
3339
+ anon_sym_GT_EQ,
3340
+ anon_sym_PIPE_GT,
3341
+ anon_sym_PLUS,
3342
+ anon_sym_STAR,
3343
+ anon_sym_PERCENT,
3344
+ anon_sym_LT_GT,
3345
+ sym_float,
3346
+ anon_sym_DQUOTE,
3347
+ sym__hex,
3348
+ sym__octal,
3349
+ sym__binary,
3350
+ [1149] = 2,
3351
+ ACTIONS(49), 10,
3352
+ anon_sym_record,
3353
+ anon_sym_LT,
3354
+ anon_sym_GT,
3355
+ anon_sym_DASH,
3356
+ anon_sym_BANG,
3357
+ anon_sym_let,
3358
+ anon_sym_todo,
3359
+ anon_sym_panic,
3360
+ sym__decimal,
3361
+ sym_identifier,
3362
+ ACTIONS(47), 20,
3363
+ anon_sym_SLASH,
3364
+ anon_sym_LBRACE,
3365
+ anon_sym_RBRACE,
3366
+ anon_sym_LPAREN,
3367
+ anon_sym_PIPE_PIPE,
3368
+ anon_sym_AMP_AMP,
3369
+ anon_sym_EQ_EQ,
3370
+ anon_sym_BANG_EQ,
3371
+ anon_sym_LT_EQ,
3372
+ anon_sym_GT_EQ,
3373
+ anon_sym_PIPE_GT,
3374
+ anon_sym_PLUS,
3375
+ anon_sym_STAR,
3376
+ anon_sym_PERCENT,
3377
+ anon_sym_LT_GT,
3378
+ sym_float,
3379
+ anon_sym_DQUOTE,
3380
+ sym__hex,
3381
+ sym__octal,
3382
+ sym__binary,
3383
+ [1184] = 2,
3384
+ ACTIONS(137), 11,
3385
+ anon_sym_record,
3386
+ anon_sym_type,
3387
+ anon_sym_LT,
3388
+ anon_sym_GT,
3389
+ anon_sym_DASH,
3390
+ anon_sym_BANG,
3391
+ anon_sym_let,
3392
+ anon_sym_todo,
3393
+ anon_sym_panic,
3394
+ sym__decimal,
3395
+ sym_identifier,
3396
+ ACTIONS(135), 19,
3397
+ ts_builtin_sym_end,
3398
+ anon_sym_SLASH,
3399
+ anon_sym_LBRACE,
3400
+ anon_sym_PIPE_PIPE,
3401
+ anon_sym_AMP_AMP,
3402
+ anon_sym_EQ_EQ,
3403
+ anon_sym_BANG_EQ,
3404
+ anon_sym_LT_EQ,
3405
+ anon_sym_GT_EQ,
3406
+ anon_sym_PIPE_GT,
3407
+ anon_sym_PLUS,
3408
+ anon_sym_STAR,
3409
+ anon_sym_PERCENT,
3410
+ anon_sym_LT_GT,
3411
+ sym_float,
3412
+ anon_sym_DQUOTE,
3413
+ sym__hex,
3414
+ sym__octal,
3415
+ sym__binary,
3416
+ [1219] = 10,
3417
+ ACTIONS(83), 1,
3418
+ anon_sym_PIPE_GT,
3419
+ ACTIONS(85), 1,
3420
+ anon_sym_PLUS,
3421
+ ACTIONS(87), 1,
3422
+ anon_sym_DASH,
3423
+ ACTIONS(95), 1,
3424
+ anon_sym_AMP_AMP,
3425
+ ACTIONS(97), 2,
3426
+ anon_sym_EQ_EQ,
3427
+ anon_sym_BANG_EQ,
3428
+ ACTIONS(99), 2,
3429
+ anon_sym_LT,
3430
+ anon_sym_GT,
3431
+ ACTIONS(101), 2,
3432
+ anon_sym_LT_EQ,
3433
+ anon_sym_GT_EQ,
3434
+ ACTIONS(79), 4,
3435
+ anon_sym_SLASH,
3436
+ anon_sym_STAR,
3437
+ anon_sym_PERCENT,
3438
+ anon_sym_LT_GT,
3439
+ ACTIONS(77), 8,
3440
+ ts_builtin_sym_end,
3441
+ anon_sym_LBRACE,
3442
+ anon_sym_PIPE_PIPE,
3443
+ sym_float,
3444
+ anon_sym_DQUOTE,
3445
+ sym__hex,
3446
+ sym__octal,
3447
+ sym__binary,
3448
+ ACTIONS(81), 8,
3449
+ anon_sym_record,
3450
+ anon_sym_type,
3451
+ anon_sym_BANG,
3452
+ anon_sym_let,
3453
+ anon_sym_todo,
3454
+ anon_sym_panic,
3455
+ sym__decimal,
3456
+ sym_identifier,
3457
+ [1270] = 2,
3458
+ ACTIONS(81), 11,
3459
+ anon_sym_record,
3460
+ anon_sym_type,
3461
+ anon_sym_LT,
3462
+ anon_sym_GT,
3463
+ anon_sym_DASH,
3464
+ anon_sym_BANG,
3465
+ anon_sym_let,
3466
+ anon_sym_todo,
3467
+ anon_sym_panic,
3468
+ sym__decimal,
3469
+ sym_identifier,
3470
+ ACTIONS(77), 19,
3471
+ ts_builtin_sym_end,
3472
+ anon_sym_SLASH,
3473
+ anon_sym_LBRACE,
3474
+ anon_sym_PIPE_PIPE,
3475
+ anon_sym_AMP_AMP,
3476
+ anon_sym_EQ_EQ,
3477
+ anon_sym_BANG_EQ,
3478
+ anon_sym_LT_EQ,
3479
+ anon_sym_GT_EQ,
3480
+ anon_sym_PIPE_GT,
3481
+ anon_sym_PLUS,
3482
+ anon_sym_STAR,
3483
+ anon_sym_PERCENT,
3484
+ anon_sym_LT_GT,
3485
+ sym_float,
3486
+ anon_sym_DQUOTE,
3487
+ sym__hex,
3488
+ sym__octal,
3489
+ sym__binary,
3490
+ [1305] = 2,
3491
+ ACTIONS(141), 11,
3492
+ anon_sym_record,
3493
+ anon_sym_type,
3494
+ anon_sym_LT,
3495
+ anon_sym_GT,
3496
+ anon_sym_DASH,
3497
+ anon_sym_BANG,
3498
+ anon_sym_let,
3499
+ anon_sym_todo,
3500
+ anon_sym_panic,
3501
+ sym__decimal,
3502
+ sym_identifier,
3503
+ ACTIONS(139), 19,
3504
+ ts_builtin_sym_end,
3505
+ anon_sym_SLASH,
3506
+ anon_sym_LBRACE,
3507
+ anon_sym_PIPE_PIPE,
3508
+ anon_sym_AMP_AMP,
3509
+ anon_sym_EQ_EQ,
3510
+ anon_sym_BANG_EQ,
3511
+ anon_sym_LT_EQ,
3512
+ anon_sym_GT_EQ,
3513
+ anon_sym_PIPE_GT,
3514
+ anon_sym_PLUS,
3515
+ anon_sym_STAR,
3516
+ anon_sym_PERCENT,
3517
+ anon_sym_LT_GT,
3518
+ sym_float,
3519
+ anon_sym_DQUOTE,
3520
+ sym__hex,
3521
+ sym__octal,
3522
+ sym__binary,
3523
+ [1340] = 2,
3524
+ ACTIONS(145), 11,
3525
+ anon_sym_record,
3526
+ anon_sym_type,
3527
+ anon_sym_LT,
3528
+ anon_sym_GT,
3529
+ anon_sym_DASH,
3530
+ anon_sym_BANG,
3531
+ anon_sym_let,
3532
+ anon_sym_todo,
3533
+ anon_sym_panic,
3534
+ sym__decimal,
3535
+ sym_identifier,
3536
+ ACTIONS(143), 19,
3537
+ ts_builtin_sym_end,
3538
+ anon_sym_SLASH,
3539
+ anon_sym_LBRACE,
3540
+ anon_sym_PIPE_PIPE,
3541
+ anon_sym_AMP_AMP,
3542
+ anon_sym_EQ_EQ,
3543
+ anon_sym_BANG_EQ,
3544
+ anon_sym_LT_EQ,
3545
+ anon_sym_GT_EQ,
3546
+ anon_sym_PIPE_GT,
3547
+ anon_sym_PLUS,
3548
+ anon_sym_STAR,
3549
+ anon_sym_PERCENT,
3550
+ anon_sym_LT_GT,
3551
+ sym_float,
3552
+ anon_sym_DQUOTE,
3553
+ sym__hex,
3554
+ sym__octal,
3555
+ sym__binary,
3556
+ [1375] = 3,
3557
+ ACTIONS(147), 1,
3558
+ anon_sym_LPAREN,
3559
+ ACTIONS(53), 10,
3560
+ anon_sym_record,
3561
+ anon_sym_LT,
3562
+ anon_sym_GT,
3563
+ anon_sym_DASH,
3564
+ anon_sym_BANG,
3565
+ anon_sym_let,
3566
+ anon_sym_todo,
3567
+ anon_sym_panic,
3568
+ sym__decimal,
3569
+ sym_identifier,
3570
+ ACTIONS(51), 19,
3571
+ anon_sym_SLASH,
3572
+ anon_sym_LBRACE,
3573
+ anon_sym_RBRACE,
3574
+ anon_sym_PIPE_PIPE,
3575
+ anon_sym_AMP_AMP,
3576
+ anon_sym_EQ_EQ,
3577
+ anon_sym_BANG_EQ,
3578
+ anon_sym_LT_EQ,
3579
+ anon_sym_GT_EQ,
3580
+ anon_sym_PIPE_GT,
3581
+ anon_sym_PLUS,
3582
+ anon_sym_STAR,
3583
+ anon_sym_PERCENT,
3584
+ anon_sym_LT_GT,
3585
+ sym_float,
3586
+ anon_sym_DQUOTE,
3587
+ sym__hex,
3588
+ sym__octal,
3589
+ sym__binary,
3590
+ [1412] = 11,
3591
+ ACTIONS(151), 1,
3592
+ anon_sym_PIPE_PIPE,
3593
+ ACTIONS(153), 1,
3594
+ anon_sym_AMP_AMP,
3595
+ ACTIONS(161), 1,
3596
+ anon_sym_PIPE_GT,
3597
+ ACTIONS(163), 1,
3598
+ anon_sym_PLUS,
3599
+ ACTIONS(165), 1,
3600
+ anon_sym_DASH,
3601
+ ACTIONS(155), 2,
3602
+ anon_sym_EQ_EQ,
3603
+ anon_sym_BANG_EQ,
3604
+ ACTIONS(157), 2,
3605
+ anon_sym_LT,
3606
+ anon_sym_GT,
3607
+ ACTIONS(159), 2,
3608
+ anon_sym_LT_EQ,
3609
+ anon_sym_GT_EQ,
3610
+ ACTIONS(149), 4,
3611
+ anon_sym_SLASH,
3612
+ anon_sym_STAR,
3613
+ anon_sym_PERCENT,
3614
+ anon_sym_LT_GT,
3615
+ ACTIONS(103), 7,
3616
+ anon_sym_LBRACE,
3617
+ anon_sym_RBRACE,
3618
+ sym_float,
3619
+ anon_sym_DQUOTE,
3620
+ sym__hex,
3621
+ sym__octal,
3622
+ sym__binary,
3623
+ ACTIONS(105), 7,
3624
+ anon_sym_record,
3625
+ anon_sym_BANG,
3626
+ anon_sym_let,
3627
+ anon_sym_todo,
3628
+ anon_sym_panic,
3629
+ sym__decimal,
3630
+ sym_identifier,
3631
+ [1464] = 2,
3632
+ ACTIONS(129), 10,
3633
+ anon_sym_record,
3634
+ anon_sym_LT,
3635
+ anon_sym_GT,
3636
+ anon_sym_DASH,
3637
+ anon_sym_BANG,
3638
+ anon_sym_let,
3639
+ anon_sym_todo,
3640
+ anon_sym_panic,
3641
+ sym__decimal,
3642
+ sym_identifier,
3643
+ ACTIONS(127), 19,
3644
+ anon_sym_SLASH,
3645
+ anon_sym_LBRACE,
3646
+ anon_sym_RBRACE,
3647
+ anon_sym_PIPE_PIPE,
3648
+ anon_sym_AMP_AMP,
3649
+ anon_sym_EQ_EQ,
3650
+ anon_sym_BANG_EQ,
3651
+ anon_sym_LT_EQ,
3652
+ anon_sym_GT_EQ,
3653
+ anon_sym_PIPE_GT,
3654
+ anon_sym_PLUS,
3655
+ anon_sym_STAR,
3656
+ anon_sym_PERCENT,
3657
+ anon_sym_LT_GT,
3658
+ sym_float,
3659
+ anon_sym_DQUOTE,
3660
+ sym__hex,
3661
+ sym__octal,
3662
+ sym__binary,
3663
+ [1498] = 9,
3664
+ ACTIONS(161), 1,
3665
+ anon_sym_PIPE_GT,
3666
+ ACTIONS(163), 1,
3667
+ anon_sym_PLUS,
3668
+ ACTIONS(165), 1,
3669
+ anon_sym_DASH,
3670
+ ACTIONS(155), 2,
3671
+ anon_sym_EQ_EQ,
3672
+ anon_sym_BANG_EQ,
3673
+ ACTIONS(157), 2,
3674
+ anon_sym_LT,
3675
+ anon_sym_GT,
3676
+ ACTIONS(159), 2,
3677
+ anon_sym_LT_EQ,
3678
+ anon_sym_GT_EQ,
3679
+ ACTIONS(149), 4,
3680
+ anon_sym_SLASH,
3681
+ anon_sym_STAR,
3682
+ anon_sym_PERCENT,
3683
+ anon_sym_LT_GT,
3684
+ ACTIONS(81), 7,
3685
+ anon_sym_record,
3686
+ anon_sym_BANG,
3687
+ anon_sym_let,
3688
+ anon_sym_todo,
3689
+ anon_sym_panic,
3690
+ sym__decimal,
3691
+ sym_identifier,
3692
+ ACTIONS(77), 9,
3693
+ anon_sym_LBRACE,
3694
+ anon_sym_RBRACE,
3695
+ anon_sym_PIPE_PIPE,
3696
+ anon_sym_AMP_AMP,
3697
+ sym_float,
3698
+ anon_sym_DQUOTE,
3699
+ sym__hex,
3700
+ sym__octal,
3701
+ sym__binary,
3702
+ [1546] = 10,
3703
+ ACTIONS(153), 1,
3704
+ anon_sym_AMP_AMP,
3705
+ ACTIONS(161), 1,
3706
+ anon_sym_PIPE_GT,
3707
+ ACTIONS(163), 1,
3708
+ anon_sym_PLUS,
3709
+ ACTIONS(165), 1,
3710
+ anon_sym_DASH,
3711
+ ACTIONS(155), 2,
3712
+ anon_sym_EQ_EQ,
3713
+ anon_sym_BANG_EQ,
3714
+ ACTIONS(157), 2,
3715
+ anon_sym_LT,
3716
+ anon_sym_GT,
3717
+ ACTIONS(159), 2,
3718
+ anon_sym_LT_EQ,
3719
+ anon_sym_GT_EQ,
3720
+ ACTIONS(149), 4,
3721
+ anon_sym_SLASH,
3722
+ anon_sym_STAR,
3723
+ anon_sym_PERCENT,
3724
+ anon_sym_LT_GT,
3725
+ ACTIONS(81), 7,
3726
+ anon_sym_record,
3727
+ anon_sym_BANG,
3728
+ anon_sym_let,
3729
+ anon_sym_todo,
3730
+ anon_sym_panic,
3731
+ sym__decimal,
3732
+ sym_identifier,
3733
+ ACTIONS(77), 8,
3734
+ anon_sym_LBRACE,
3735
+ anon_sym_RBRACE,
3736
+ anon_sym_PIPE_PIPE,
3737
+ sym_float,
3738
+ anon_sym_DQUOTE,
3739
+ sym__hex,
3740
+ sym__octal,
3741
+ sym__binary,
3742
+ [1596] = 2,
3743
+ ACTIONS(81), 10,
3744
+ anon_sym_record,
3745
+ anon_sym_LT,
3746
+ anon_sym_GT,
3747
+ anon_sym_DASH,
3748
+ anon_sym_BANG,
3749
+ anon_sym_let,
3750
+ anon_sym_todo,
3751
+ anon_sym_panic,
3752
+ sym__decimal,
3753
+ sym_identifier,
3754
+ ACTIONS(77), 19,
3755
+ anon_sym_SLASH,
3756
+ anon_sym_LBRACE,
3757
+ anon_sym_RBRACE,
3758
+ anon_sym_PIPE_PIPE,
3759
+ anon_sym_AMP_AMP,
3760
+ anon_sym_EQ_EQ,
3761
+ anon_sym_BANG_EQ,
3762
+ anon_sym_LT_EQ,
3763
+ anon_sym_GT_EQ,
3764
+ anon_sym_PIPE_GT,
3765
+ anon_sym_PLUS,
3766
+ anon_sym_STAR,
3767
+ anon_sym_PERCENT,
3768
+ anon_sym_LT_GT,
3769
+ sym_float,
3770
+ anon_sym_DQUOTE,
3771
+ sym__hex,
3772
+ sym__octal,
3773
+ sym__binary,
3774
+ [1630] = 2,
3775
+ ACTIONS(69), 10,
3776
+ anon_sym_record,
3777
+ anon_sym_LT,
3778
+ anon_sym_GT,
3779
+ anon_sym_DASH,
3780
+ anon_sym_BANG,
3781
+ anon_sym_let,
3782
+ anon_sym_todo,
3783
+ anon_sym_panic,
3784
+ sym__decimal,
3785
+ sym_identifier,
3786
+ ACTIONS(67), 19,
3787
+ anon_sym_SLASH,
3788
+ anon_sym_LBRACE,
3789
+ anon_sym_RBRACE,
3790
+ anon_sym_PIPE_PIPE,
3791
+ anon_sym_AMP_AMP,
3792
+ anon_sym_EQ_EQ,
3793
+ anon_sym_BANG_EQ,
3794
+ anon_sym_LT_EQ,
3795
+ anon_sym_GT_EQ,
3796
+ anon_sym_PIPE_GT,
3797
+ anon_sym_PLUS,
3798
+ anon_sym_STAR,
3799
+ anon_sym_PERCENT,
3800
+ anon_sym_LT_GT,
3801
+ sym_float,
3802
+ anon_sym_DQUOTE,
3803
+ sym__hex,
3804
+ sym__octal,
3805
+ sym__binary,
3806
+ [1664] = 16,
3807
+ ACTIONS(167), 1,
3808
+ ts_builtin_sym_end,
3809
+ ACTIONS(169), 1,
3810
+ anon_sym_LBRACE,
3811
+ ACTIONS(171), 1,
3812
+ anon_sym_record,
3813
+ ACTIONS(174), 1,
3814
+ anon_sym_type,
3815
+ ACTIONS(176), 1,
3816
+ anon_sym_DASH,
3817
+ ACTIONS(178), 1,
3818
+ anon_sym_BANG,
3819
+ ACTIONS(180), 1,
3820
+ anon_sym_let,
3821
+ ACTIONS(182), 1,
3822
+ anon_sym_todo,
3823
+ ACTIONS(184), 1,
3824
+ anon_sym_panic,
3825
+ ACTIONS(186), 1,
3826
+ sym_float,
3827
+ ACTIONS(188), 1,
3828
+ anon_sym_DQUOTE,
3829
+ ACTIONS(192), 1,
3830
+ sym__decimal,
3831
+ ACTIONS(194), 1,
3832
+ sym_identifier,
3833
+ ACTIONS(190), 3,
3834
+ sym__hex,
3835
+ sym__octal,
3836
+ sym__binary,
3837
+ STATE(46), 3,
3838
+ aux_sym__statement_seq,
3839
+ sym__statement,
3840
+ sym_let,
3841
+ STATE(22), 10,
3842
+ sym_record,
3843
+ sym__expression,
3844
+ sym_binary_expression,
3845
+ sym__expression_unit,
3846
+ sym_expression_group,
3847
+ sym_negation,
3848
+ sym_todo,
3849
+ sym_panic,
3850
+ sym_integer,
3851
+ sym_string,
3852
+ [1726] = 2,
3853
+ ACTIONS(137), 10,
3854
+ anon_sym_record,
3855
+ anon_sym_LT,
3856
+ anon_sym_GT,
3857
+ anon_sym_DASH,
3858
+ anon_sym_BANG,
3859
+ anon_sym_let,
3860
+ anon_sym_todo,
3861
+ anon_sym_panic,
3862
+ sym__decimal,
3863
+ sym_identifier,
3864
+ ACTIONS(135), 19,
3865
+ anon_sym_SLASH,
3866
+ anon_sym_LBRACE,
3867
+ anon_sym_RBRACE,
3868
+ anon_sym_PIPE_PIPE,
3869
+ anon_sym_AMP_AMP,
3870
+ anon_sym_EQ_EQ,
3871
+ anon_sym_BANG_EQ,
3872
+ anon_sym_LT_EQ,
3873
+ anon_sym_GT_EQ,
3874
+ anon_sym_PIPE_GT,
3875
+ anon_sym_PLUS,
3876
+ anon_sym_STAR,
3877
+ anon_sym_PERCENT,
3878
+ anon_sym_LT_GT,
3879
+ sym_float,
3880
+ anon_sym_DQUOTE,
3881
+ sym__hex,
3882
+ sym__octal,
3883
+ sym__binary,
3884
+ [1760] = 16,
3885
+ ACTIONS(169), 1,
3886
+ anon_sym_LBRACE,
3887
+ ACTIONS(176), 1,
3888
+ anon_sym_DASH,
3889
+ ACTIONS(178), 1,
3890
+ anon_sym_BANG,
3891
+ ACTIONS(180), 1,
3892
+ anon_sym_let,
3893
+ ACTIONS(182), 1,
3894
+ anon_sym_todo,
3895
+ ACTIONS(184), 1,
3896
+ anon_sym_panic,
3897
+ ACTIONS(186), 1,
3898
+ sym_float,
3899
+ ACTIONS(188), 1,
3900
+ anon_sym_DQUOTE,
3901
+ ACTIONS(192), 1,
3902
+ sym__decimal,
3903
+ ACTIONS(197), 1,
3904
+ ts_builtin_sym_end,
3905
+ ACTIONS(199), 1,
3906
+ anon_sym_record,
3907
+ ACTIONS(202), 1,
3908
+ anon_sym_type,
3909
+ ACTIONS(204), 1,
3910
+ sym_identifier,
3911
+ ACTIONS(190), 3,
3912
+ sym__hex,
3913
+ sym__octal,
3914
+ sym__binary,
3915
+ STATE(46), 3,
3916
+ aux_sym__statement_seq,
3917
+ sym__statement,
3918
+ sym_let,
3919
+ STATE(22), 10,
3920
+ sym_record,
3921
+ sym__expression,
3922
+ sym_binary_expression,
3923
+ sym__expression_unit,
3924
+ sym_expression_group,
3925
+ sym_negation,
3926
+ sym_todo,
3927
+ sym_panic,
3928
+ sym_integer,
3929
+ sym_string,
3930
+ [1822] = 16,
3931
+ ACTIONS(207), 1,
3932
+ ts_builtin_sym_end,
3933
+ ACTIONS(209), 1,
3934
+ anon_sym_LBRACE,
3935
+ ACTIONS(212), 1,
3936
+ anon_sym_record,
3937
+ ACTIONS(215), 1,
3938
+ anon_sym_type,
3939
+ ACTIONS(217), 1,
3940
+ anon_sym_DASH,
3941
+ ACTIONS(220), 1,
3942
+ anon_sym_BANG,
3943
+ ACTIONS(223), 1,
3944
+ anon_sym_let,
3945
+ ACTIONS(226), 1,
3946
+ anon_sym_todo,
3947
+ ACTIONS(229), 1,
3948
+ anon_sym_panic,
3949
+ ACTIONS(232), 1,
3950
+ sym_float,
3951
+ ACTIONS(235), 1,
3952
+ anon_sym_DQUOTE,
3953
+ ACTIONS(241), 1,
3954
+ sym__decimal,
3955
+ ACTIONS(244), 1,
3956
+ sym_identifier,
3957
+ ACTIONS(238), 3,
3958
+ sym__hex,
3959
+ sym__octal,
3960
+ sym__binary,
3961
+ STATE(46), 3,
3962
+ aux_sym__statement_seq,
3963
+ sym__statement,
3964
+ sym_let,
3965
+ STATE(22), 10,
3966
+ sym_record,
3967
+ sym__expression,
3968
+ sym_binary_expression,
3969
+ sym__expression_unit,
3970
+ sym_expression_group,
3971
+ sym_negation,
3972
+ sym_todo,
3973
+ sym_panic,
3974
+ sym_integer,
3975
+ sym_string,
3976
+ [1884] = 8,
3977
+ ACTIONS(161), 1,
3978
+ anon_sym_PIPE_GT,
3979
+ ACTIONS(163), 1,
3980
+ anon_sym_PLUS,
3981
+ ACTIONS(165), 1,
3982
+ anon_sym_DASH,
3983
+ ACTIONS(157), 2,
3984
+ anon_sym_LT,
3985
+ anon_sym_GT,
3986
+ ACTIONS(159), 2,
3987
+ anon_sym_LT_EQ,
3988
+ anon_sym_GT_EQ,
3989
+ ACTIONS(149), 4,
3990
+ anon_sym_SLASH,
3991
+ anon_sym_STAR,
3992
+ anon_sym_PERCENT,
3993
+ anon_sym_LT_GT,
3994
+ ACTIONS(81), 7,
3995
+ anon_sym_record,
3996
+ anon_sym_BANG,
3997
+ anon_sym_let,
3998
+ anon_sym_todo,
3999
+ anon_sym_panic,
4000
+ sym__decimal,
4001
+ sym_identifier,
4002
+ ACTIONS(77), 11,
4003
+ anon_sym_LBRACE,
4004
+ anon_sym_RBRACE,
4005
+ anon_sym_PIPE_PIPE,
4006
+ anon_sym_AMP_AMP,
4007
+ anon_sym_EQ_EQ,
4008
+ anon_sym_BANG_EQ,
4009
+ sym_float,
4010
+ anon_sym_DQUOTE,
4011
+ sym__hex,
4012
+ sym__octal,
4013
+ sym__binary,
4014
+ [1930] = 2,
4015
+ ACTIONS(145), 10,
4016
+ anon_sym_record,
4017
+ anon_sym_LT,
4018
+ anon_sym_GT,
4019
+ anon_sym_DASH,
4020
+ anon_sym_BANG,
4021
+ anon_sym_let,
4022
+ anon_sym_todo,
4023
+ anon_sym_panic,
4024
+ sym__decimal,
4025
+ sym_identifier,
4026
+ ACTIONS(143), 19,
4027
+ anon_sym_SLASH,
4028
+ anon_sym_LBRACE,
4029
+ anon_sym_RBRACE,
4030
+ anon_sym_PIPE_PIPE,
4031
+ anon_sym_AMP_AMP,
4032
+ anon_sym_EQ_EQ,
4033
+ anon_sym_BANG_EQ,
4034
+ anon_sym_LT_EQ,
4035
+ anon_sym_GT_EQ,
4036
+ anon_sym_PIPE_GT,
4037
+ anon_sym_PLUS,
4038
+ anon_sym_STAR,
4039
+ anon_sym_PERCENT,
4040
+ anon_sym_LT_GT,
4041
+ sym_float,
4042
+ anon_sym_DQUOTE,
4043
+ sym__hex,
4044
+ sym__octal,
4045
+ sym__binary,
4046
+ [1964] = 2,
4047
+ ACTIONS(141), 10,
4048
+ anon_sym_record,
4049
+ anon_sym_LT,
4050
+ anon_sym_GT,
4051
+ anon_sym_DASH,
4052
+ anon_sym_BANG,
4053
+ anon_sym_let,
4054
+ anon_sym_todo,
4055
+ anon_sym_panic,
4056
+ sym__decimal,
4057
+ sym_identifier,
4058
+ ACTIONS(139), 19,
4059
+ anon_sym_SLASH,
4060
+ anon_sym_LBRACE,
4061
+ anon_sym_RBRACE,
4062
+ anon_sym_PIPE_PIPE,
4063
+ anon_sym_AMP_AMP,
4064
+ anon_sym_EQ_EQ,
4065
+ anon_sym_BANG_EQ,
4066
+ anon_sym_LT_EQ,
4067
+ anon_sym_GT_EQ,
4068
+ anon_sym_PIPE_GT,
4069
+ anon_sym_PLUS,
4070
+ anon_sym_STAR,
4071
+ anon_sym_PERCENT,
4072
+ anon_sym_LT_GT,
4073
+ sym_float,
4074
+ anon_sym_DQUOTE,
4075
+ sym__hex,
4076
+ sym__octal,
4077
+ sym__binary,
4078
+ [1998] = 16,
4079
+ ACTIONS(169), 1,
4080
+ anon_sym_LBRACE,
4081
+ ACTIONS(176), 1,
4082
+ anon_sym_DASH,
4083
+ ACTIONS(178), 1,
4084
+ anon_sym_BANG,
4085
+ ACTIONS(180), 1,
4086
+ anon_sym_let,
4087
+ ACTIONS(182), 1,
4088
+ anon_sym_todo,
4089
+ ACTIONS(184), 1,
4090
+ anon_sym_panic,
4091
+ ACTIONS(186), 1,
4092
+ sym_float,
4093
+ ACTIONS(188), 1,
4094
+ anon_sym_DQUOTE,
4095
+ ACTIONS(192), 1,
4096
+ sym__decimal,
4097
+ ACTIONS(247), 1,
4098
+ ts_builtin_sym_end,
4099
+ ACTIONS(249), 1,
4100
+ anon_sym_record,
4101
+ ACTIONS(252), 1,
4102
+ anon_sym_type,
4103
+ ACTIONS(254), 1,
4104
+ sym_identifier,
4105
+ ACTIONS(190), 3,
4106
+ sym__hex,
4107
+ sym__octal,
4108
+ sym__binary,
4109
+ STATE(46), 3,
4110
+ aux_sym__statement_seq,
4111
+ sym__statement,
4112
+ sym_let,
4113
+ STATE(22), 10,
4114
+ sym_record,
4115
+ sym__expression,
4116
+ sym_binary_expression,
4117
+ sym__expression_unit,
4118
+ sym_expression_group,
4119
+ sym_negation,
4120
+ sym_todo,
4121
+ sym_panic,
4122
+ sym_integer,
4123
+ sym_string,
4124
+ [2060] = 16,
4125
+ ACTIONS(169), 1,
4126
+ anon_sym_LBRACE,
4127
+ ACTIONS(176), 1,
4128
+ anon_sym_DASH,
4129
+ ACTIONS(178), 1,
4130
+ anon_sym_BANG,
4131
+ ACTIONS(180), 1,
4132
+ anon_sym_let,
4133
+ ACTIONS(182), 1,
4134
+ anon_sym_todo,
4135
+ ACTIONS(184), 1,
4136
+ anon_sym_panic,
4137
+ ACTIONS(186), 1,
4138
+ sym_float,
4139
+ ACTIONS(188), 1,
4140
+ anon_sym_DQUOTE,
4141
+ ACTIONS(192), 1,
4142
+ sym__decimal,
4143
+ ACTIONS(257), 1,
4144
+ ts_builtin_sym_end,
4145
+ ACTIONS(259), 1,
4146
+ anon_sym_record,
4147
+ ACTIONS(262), 1,
4148
+ anon_sym_type,
4149
+ ACTIONS(264), 1,
4150
+ sym_identifier,
4151
+ ACTIONS(190), 3,
4152
+ sym__hex,
4153
+ sym__octal,
4154
+ sym__binary,
4155
+ STATE(46), 3,
4156
+ aux_sym__statement_seq,
4157
+ sym__statement,
4158
+ sym_let,
4159
+ STATE(22), 10,
4160
+ sym_record,
4161
+ sym__expression,
4162
+ sym_binary_expression,
4163
+ sym__expression_unit,
4164
+ sym_expression_group,
4165
+ sym_negation,
4166
+ sym_todo,
4167
+ sym_panic,
4168
+ sym_integer,
4169
+ sym_string,
4170
+ [2122] = 16,
4171
+ ACTIONS(169), 1,
4172
+ anon_sym_LBRACE,
4173
+ ACTIONS(176), 1,
4174
+ anon_sym_DASH,
4175
+ ACTIONS(178), 1,
4176
+ anon_sym_BANG,
4177
+ ACTIONS(180), 1,
4178
+ anon_sym_let,
4179
+ ACTIONS(182), 1,
4180
+ anon_sym_todo,
4181
+ ACTIONS(184), 1,
4182
+ anon_sym_panic,
4183
+ ACTIONS(186), 1,
4184
+ sym_float,
4185
+ ACTIONS(188), 1,
4186
+ anon_sym_DQUOTE,
4187
+ ACTIONS(192), 1,
4188
+ sym__decimal,
4189
+ ACTIONS(267), 1,
4190
+ ts_builtin_sym_end,
4191
+ ACTIONS(269), 1,
4192
+ anon_sym_record,
4193
+ ACTIONS(272), 1,
4194
+ anon_sym_type,
4195
+ ACTIONS(274), 1,
4196
+ sym_identifier,
4197
+ ACTIONS(190), 3,
4198
+ sym__hex,
4199
+ sym__octal,
4200
+ sym__binary,
4201
+ STATE(46), 3,
4202
+ aux_sym__statement_seq,
4203
+ sym__statement,
4204
+ sym_let,
4205
+ STATE(22), 10,
4206
+ sym_record,
4207
+ sym__expression,
4208
+ sym_binary_expression,
4209
+ sym__expression_unit,
4210
+ sym_expression_group,
4211
+ sym_negation,
4212
+ sym_todo,
4213
+ sym_panic,
4214
+ sym_integer,
4215
+ sym_string,
4216
+ [2184] = 16,
4217
+ ACTIONS(169), 1,
4218
+ anon_sym_LBRACE,
4219
+ ACTIONS(176), 1,
4220
+ anon_sym_DASH,
4221
+ ACTIONS(178), 1,
4222
+ anon_sym_BANG,
4223
+ ACTIONS(180), 1,
4224
+ anon_sym_let,
4225
+ ACTIONS(182), 1,
4226
+ anon_sym_todo,
4227
+ ACTIONS(184), 1,
4228
+ anon_sym_panic,
4229
+ ACTIONS(186), 1,
4230
+ sym_float,
4231
+ ACTIONS(188), 1,
4232
+ anon_sym_DQUOTE,
4233
+ ACTIONS(192), 1,
4234
+ sym__decimal,
4235
+ ACTIONS(277), 1,
4236
+ ts_builtin_sym_end,
4237
+ ACTIONS(279), 1,
4238
+ anon_sym_record,
4239
+ ACTIONS(282), 1,
4240
+ anon_sym_type,
4241
+ ACTIONS(284), 1,
4242
+ sym_identifier,
4243
+ ACTIONS(190), 3,
4244
+ sym__hex,
4245
+ sym__octal,
4246
+ sym__binary,
4247
+ STATE(46), 3,
4248
+ aux_sym__statement_seq,
4249
+ sym__statement,
4250
+ sym_let,
4251
+ STATE(22), 10,
4252
+ sym_record,
4253
+ sym__expression,
4254
+ sym_binary_expression,
4255
+ sym__expression_unit,
4256
+ sym_expression_group,
4257
+ sym_negation,
4258
+ sym_todo,
4259
+ sym_panic,
4260
+ sym_integer,
4261
+ sym_string,
4262
+ [2246] = 2,
4263
+ ACTIONS(59), 10,
4264
+ anon_sym_record,
4265
+ anon_sym_LT,
4266
+ anon_sym_GT,
4267
+ anon_sym_DASH,
4268
+ anon_sym_BANG,
4269
+ anon_sym_let,
4270
+ anon_sym_todo,
4271
+ anon_sym_panic,
4272
+ sym__decimal,
4273
+ sym_identifier,
4274
+ ACTIONS(57), 19,
4275
+ anon_sym_SLASH,
4276
+ anon_sym_LBRACE,
4277
+ anon_sym_RBRACE,
4278
+ anon_sym_PIPE_PIPE,
4279
+ anon_sym_AMP_AMP,
4280
+ anon_sym_EQ_EQ,
4281
+ anon_sym_BANG_EQ,
4282
+ anon_sym_LT_EQ,
4283
+ anon_sym_GT_EQ,
4284
+ anon_sym_PIPE_GT,
4285
+ anon_sym_PLUS,
4286
+ anon_sym_STAR,
4287
+ anon_sym_PERCENT,
4288
+ anon_sym_LT_GT,
4289
+ sym_float,
4290
+ anon_sym_DQUOTE,
4291
+ sym__hex,
4292
+ sym__octal,
4293
+ sym__binary,
4294
+ [2280] = 16,
4295
+ ACTIONS(169), 1,
4296
+ anon_sym_LBRACE,
4297
+ ACTIONS(176), 1,
4298
+ anon_sym_DASH,
4299
+ ACTIONS(178), 1,
4300
+ anon_sym_BANG,
4301
+ ACTIONS(180), 1,
4302
+ anon_sym_let,
4303
+ ACTIONS(182), 1,
4304
+ anon_sym_todo,
4305
+ ACTIONS(184), 1,
4306
+ anon_sym_panic,
4307
+ ACTIONS(186), 1,
4308
+ sym_float,
4309
+ ACTIONS(188), 1,
4310
+ anon_sym_DQUOTE,
4311
+ ACTIONS(192), 1,
4312
+ sym__decimal,
4313
+ ACTIONS(287), 1,
4314
+ ts_builtin_sym_end,
4315
+ ACTIONS(289), 1,
4316
+ anon_sym_record,
4317
+ ACTIONS(292), 1,
4318
+ anon_sym_type,
4319
+ ACTIONS(294), 1,
4320
+ sym_identifier,
4321
+ ACTIONS(190), 3,
4322
+ sym__hex,
4323
+ sym__octal,
4324
+ sym__binary,
4325
+ STATE(46), 3,
4326
+ aux_sym__statement_seq,
4327
+ sym__statement,
4328
+ sym_let,
4329
+ STATE(22), 10,
4330
+ sym_record,
4331
+ sym__expression,
4332
+ sym_binary_expression,
4333
+ sym__expression_unit,
4334
+ sym_expression_group,
4335
+ sym_negation,
4336
+ sym_todo,
4337
+ sym_panic,
4338
+ sym_integer,
4339
+ sym_string,
4340
+ [2342] = 2,
4341
+ ACTIONS(113), 10,
4342
+ anon_sym_record,
4343
+ anon_sym_LT,
4344
+ anon_sym_GT,
4345
+ anon_sym_DASH,
4346
+ anon_sym_BANG,
4347
+ anon_sym_let,
4348
+ anon_sym_todo,
4349
+ anon_sym_panic,
4350
+ sym__decimal,
4351
+ sym_identifier,
4352
+ ACTIONS(111), 19,
4353
+ anon_sym_SLASH,
4354
+ anon_sym_LBRACE,
4355
+ anon_sym_RBRACE,
4356
+ anon_sym_PIPE_PIPE,
4357
+ anon_sym_AMP_AMP,
4358
+ anon_sym_EQ_EQ,
4359
+ anon_sym_BANG_EQ,
4360
+ anon_sym_LT_EQ,
4361
+ anon_sym_GT_EQ,
4362
+ anon_sym_PIPE_GT,
4363
+ anon_sym_PLUS,
4364
+ anon_sym_STAR,
4365
+ anon_sym_PERCENT,
4366
+ anon_sym_LT_GT,
4367
+ sym_float,
4368
+ anon_sym_DQUOTE,
4369
+ sym__hex,
4370
+ sym__octal,
4371
+ sym__binary,
4372
+ [2376] = 2,
4373
+ ACTIONS(109), 10,
4374
+ anon_sym_record,
4375
+ anon_sym_LT,
4376
+ anon_sym_GT,
4377
+ anon_sym_DASH,
4378
+ anon_sym_BANG,
4379
+ anon_sym_let,
4380
+ anon_sym_todo,
4381
+ anon_sym_panic,
4382
+ sym__decimal,
4383
+ sym_identifier,
4384
+ ACTIONS(107), 19,
4385
+ anon_sym_SLASH,
4386
+ anon_sym_LBRACE,
4387
+ anon_sym_RBRACE,
4388
+ anon_sym_PIPE_PIPE,
4389
+ anon_sym_AMP_AMP,
4390
+ anon_sym_EQ_EQ,
4391
+ anon_sym_BANG_EQ,
4392
+ anon_sym_LT_EQ,
4393
+ anon_sym_GT_EQ,
4394
+ anon_sym_PIPE_GT,
4395
+ anon_sym_PLUS,
4396
+ anon_sym_STAR,
4397
+ anon_sym_PERCENT,
4398
+ anon_sym_LT_GT,
4399
+ sym_float,
4400
+ anon_sym_DQUOTE,
4401
+ sym__hex,
4402
+ sym__octal,
4403
+ sym__binary,
4404
+ [2410] = 11,
4405
+ ACTIONS(151), 1,
4406
+ anon_sym_PIPE_PIPE,
4407
+ ACTIONS(153), 1,
4408
+ anon_sym_AMP_AMP,
4409
+ ACTIONS(161), 1,
4410
+ anon_sym_PIPE_GT,
4411
+ ACTIONS(163), 1,
4412
+ anon_sym_PLUS,
4413
+ ACTIONS(165), 1,
4414
+ anon_sym_DASH,
4415
+ ACTIONS(155), 2,
4416
+ anon_sym_EQ_EQ,
4417
+ anon_sym_BANG_EQ,
4418
+ ACTIONS(157), 2,
4419
+ anon_sym_LT,
4420
+ anon_sym_GT,
4421
+ ACTIONS(159), 2,
4422
+ anon_sym_LT_EQ,
4423
+ anon_sym_GT_EQ,
4424
+ ACTIONS(149), 4,
4425
+ anon_sym_SLASH,
4426
+ anon_sym_STAR,
4427
+ anon_sym_PERCENT,
4428
+ anon_sym_LT_GT,
4429
+ ACTIONS(115), 7,
4430
+ anon_sym_LBRACE,
4431
+ anon_sym_RBRACE,
4432
+ sym_float,
4433
+ anon_sym_DQUOTE,
4434
+ sym__hex,
4435
+ sym__octal,
4436
+ sym__binary,
4437
+ ACTIONS(117), 7,
4438
+ anon_sym_record,
4439
+ anon_sym_BANG,
4440
+ anon_sym_let,
4441
+ anon_sym_todo,
4442
+ anon_sym_panic,
4443
+ sym__decimal,
4444
+ sym_identifier,
4445
+ [2462] = 2,
4446
+ ACTIONS(121), 10,
4447
+ anon_sym_record,
4448
+ anon_sym_LT,
4449
+ anon_sym_GT,
4450
+ anon_sym_DASH,
4451
+ anon_sym_BANG,
4452
+ anon_sym_let,
4453
+ anon_sym_todo,
4454
+ anon_sym_panic,
4455
+ sym__decimal,
4456
+ sym_identifier,
4457
+ ACTIONS(119), 19,
4458
+ anon_sym_SLASH,
4459
+ anon_sym_LBRACE,
4460
+ anon_sym_RBRACE,
4461
+ anon_sym_PIPE_PIPE,
4462
+ anon_sym_AMP_AMP,
4463
+ anon_sym_EQ_EQ,
4464
+ anon_sym_BANG_EQ,
4465
+ anon_sym_LT_EQ,
4466
+ anon_sym_GT_EQ,
4467
+ anon_sym_PIPE_GT,
4468
+ anon_sym_PLUS,
4469
+ anon_sym_STAR,
4470
+ anon_sym_PERCENT,
4471
+ anon_sym_LT_GT,
4472
+ sym_float,
4473
+ anon_sym_DQUOTE,
4474
+ sym__hex,
4475
+ sym__octal,
4476
+ sym__binary,
4477
+ [2496] = 2,
4478
+ ACTIONS(133), 10,
4479
+ anon_sym_record,
4480
+ anon_sym_LT,
4481
+ anon_sym_GT,
4482
+ anon_sym_DASH,
4483
+ anon_sym_BANG,
4484
+ anon_sym_let,
4485
+ anon_sym_todo,
4486
+ anon_sym_panic,
4487
+ sym__decimal,
4488
+ sym_identifier,
4489
+ ACTIONS(131), 19,
4490
+ anon_sym_SLASH,
4491
+ anon_sym_LBRACE,
4492
+ anon_sym_RBRACE,
4493
+ anon_sym_PIPE_PIPE,
4494
+ anon_sym_AMP_AMP,
4495
+ anon_sym_EQ_EQ,
4496
+ anon_sym_BANG_EQ,
4497
+ anon_sym_LT_EQ,
4498
+ anon_sym_GT_EQ,
4499
+ anon_sym_PIPE_GT,
4500
+ anon_sym_PLUS,
4501
+ anon_sym_STAR,
4502
+ anon_sym_PERCENT,
4503
+ anon_sym_LT_GT,
4504
+ sym_float,
4505
+ anon_sym_DQUOTE,
4506
+ sym__hex,
4507
+ sym__octal,
4508
+ sym__binary,
4509
+ [2530] = 16,
4510
+ ACTIONS(169), 1,
4511
+ anon_sym_LBRACE,
4512
+ ACTIONS(176), 1,
4513
+ anon_sym_DASH,
4514
+ ACTIONS(178), 1,
4515
+ anon_sym_BANG,
4516
+ ACTIONS(180), 1,
4517
+ anon_sym_let,
4518
+ ACTIONS(182), 1,
4519
+ anon_sym_todo,
4520
+ ACTIONS(184), 1,
4521
+ anon_sym_panic,
4522
+ ACTIONS(186), 1,
4523
+ sym_float,
4524
+ ACTIONS(188), 1,
4525
+ anon_sym_DQUOTE,
4526
+ ACTIONS(192), 1,
4527
+ sym__decimal,
4528
+ ACTIONS(297), 1,
4529
+ ts_builtin_sym_end,
4530
+ ACTIONS(299), 1,
4531
+ anon_sym_record,
4532
+ ACTIONS(302), 1,
4533
+ anon_sym_type,
4534
+ ACTIONS(304), 1,
4535
+ sym_identifier,
4536
+ ACTIONS(190), 3,
4537
+ sym__hex,
4538
+ sym__octal,
4539
+ sym__binary,
4540
+ STATE(46), 3,
4541
+ aux_sym__statement_seq,
4542
+ sym__statement,
4543
+ sym_let,
4544
+ STATE(22), 10,
4545
+ sym_record,
4546
+ sym__expression,
4547
+ sym_binary_expression,
4548
+ sym__expression_unit,
4549
+ sym_expression_group,
4550
+ sym_negation,
4551
+ sym_todo,
4552
+ sym_panic,
4553
+ sym_integer,
4554
+ sym_string,
4555
+ [2592] = 6,
4556
+ ACTIONS(161), 1,
4557
+ anon_sym_PIPE_GT,
4558
+ ACTIONS(163), 1,
4559
+ anon_sym_PLUS,
4560
+ ACTIONS(165), 1,
4561
+ anon_sym_DASH,
4562
+ ACTIONS(149), 4,
4563
+ anon_sym_SLASH,
4564
+ anon_sym_STAR,
4565
+ anon_sym_PERCENT,
4566
+ anon_sym_LT_GT,
4567
+ ACTIONS(81), 9,
4568
+ anon_sym_record,
4569
+ anon_sym_LT,
4570
+ anon_sym_GT,
4571
+ anon_sym_BANG,
4572
+ anon_sym_let,
4573
+ anon_sym_todo,
4574
+ anon_sym_panic,
4575
+ sym__decimal,
4576
+ sym_identifier,
4577
+ ACTIONS(77), 13,
4578
+ anon_sym_LBRACE,
4579
+ anon_sym_RBRACE,
4580
+ anon_sym_PIPE_PIPE,
4581
+ anon_sym_AMP_AMP,
4582
+ anon_sym_EQ_EQ,
4583
+ anon_sym_BANG_EQ,
4584
+ anon_sym_LT_EQ,
4585
+ anon_sym_GT_EQ,
4586
+ sym_float,
4587
+ anon_sym_DQUOTE,
4588
+ sym__hex,
4589
+ sym__octal,
4590
+ sym__binary,
4591
+ [2634] = 16,
4592
+ ACTIONS(169), 1,
4593
+ anon_sym_LBRACE,
4594
+ ACTIONS(176), 1,
4595
+ anon_sym_DASH,
4596
+ ACTIONS(178), 1,
4597
+ anon_sym_BANG,
4598
+ ACTIONS(180), 1,
4599
+ anon_sym_let,
4600
+ ACTIONS(182), 1,
4601
+ anon_sym_todo,
4602
+ ACTIONS(184), 1,
4603
+ anon_sym_panic,
4604
+ ACTIONS(186), 1,
4605
+ sym_float,
4606
+ ACTIONS(188), 1,
4607
+ anon_sym_DQUOTE,
4608
+ ACTIONS(192), 1,
4609
+ sym__decimal,
4610
+ ACTIONS(307), 1,
4611
+ ts_builtin_sym_end,
4612
+ ACTIONS(309), 1,
4613
+ anon_sym_record,
4614
+ ACTIONS(312), 1,
4615
+ anon_sym_type,
4616
+ ACTIONS(314), 1,
4617
+ sym_identifier,
4618
+ ACTIONS(190), 3,
4619
+ sym__hex,
4620
+ sym__octal,
4621
+ sym__binary,
4622
+ STATE(46), 3,
4623
+ aux_sym__statement_seq,
4624
+ sym__statement,
4625
+ sym_let,
4626
+ STATE(22), 10,
4627
+ sym_record,
4628
+ sym__expression,
4629
+ sym_binary_expression,
4630
+ sym__expression_unit,
4631
+ sym_expression_group,
4632
+ sym_negation,
4633
+ sym_todo,
4634
+ sym_panic,
4635
+ sym_integer,
4636
+ sym_string,
4637
+ [2696] = 5,
4638
+ ACTIONS(163), 1,
4639
+ anon_sym_PLUS,
4640
+ ACTIONS(165), 1,
4641
+ anon_sym_DASH,
4642
+ ACTIONS(149), 4,
4643
+ anon_sym_SLASH,
4644
+ anon_sym_STAR,
4645
+ anon_sym_PERCENT,
4646
+ anon_sym_LT_GT,
4647
+ ACTIONS(81), 9,
4648
+ anon_sym_record,
4649
+ anon_sym_LT,
4650
+ anon_sym_GT,
4651
+ anon_sym_BANG,
4652
+ anon_sym_let,
4653
+ anon_sym_todo,
4654
+ anon_sym_panic,
4655
+ sym__decimal,
4656
+ sym_identifier,
4657
+ ACTIONS(77), 14,
4658
+ anon_sym_LBRACE,
4659
+ anon_sym_RBRACE,
4660
+ anon_sym_PIPE_PIPE,
4661
+ anon_sym_AMP_AMP,
4662
+ anon_sym_EQ_EQ,
4663
+ anon_sym_BANG_EQ,
4664
+ anon_sym_LT_EQ,
4665
+ anon_sym_GT_EQ,
4666
+ anon_sym_PIPE_GT,
4667
+ sym_float,
4668
+ anon_sym_DQUOTE,
4669
+ sym__hex,
4670
+ sym__octal,
4671
+ sym__binary,
4672
+ [2736] = 11,
4673
+ ACTIONS(151), 1,
4674
+ anon_sym_PIPE_PIPE,
4675
+ ACTIONS(153), 1,
4676
+ anon_sym_AMP_AMP,
4677
+ ACTIONS(161), 1,
4678
+ anon_sym_PIPE_GT,
4679
+ ACTIONS(163), 1,
4680
+ anon_sym_PLUS,
4681
+ ACTIONS(165), 1,
4682
+ anon_sym_DASH,
4683
+ ACTIONS(155), 2,
4684
+ anon_sym_EQ_EQ,
4685
+ anon_sym_BANG_EQ,
4686
+ ACTIONS(157), 2,
4687
+ anon_sym_LT,
4688
+ anon_sym_GT,
4689
+ ACTIONS(159), 2,
4690
+ anon_sym_LT_EQ,
4691
+ anon_sym_GT_EQ,
4692
+ ACTIONS(149), 4,
4693
+ anon_sym_SLASH,
4694
+ anon_sym_STAR,
4695
+ anon_sym_PERCENT,
4696
+ anon_sym_LT_GT,
4697
+ ACTIONS(89), 7,
4698
+ anon_sym_LBRACE,
4699
+ anon_sym_RBRACE,
4700
+ sym_float,
4701
+ anon_sym_DQUOTE,
4702
+ sym__hex,
4703
+ sym__octal,
4704
+ sym__binary,
4705
+ ACTIONS(91), 7,
4706
+ anon_sym_record,
4707
+ anon_sym_BANG,
4708
+ anon_sym_let,
4709
+ anon_sym_todo,
4710
+ anon_sym_panic,
4711
+ sym__decimal,
4712
+ sym_identifier,
4713
+ [2788] = 2,
4714
+ ACTIONS(125), 10,
4715
+ anon_sym_record,
4716
+ anon_sym_LT,
4717
+ anon_sym_GT,
4718
+ anon_sym_DASH,
4719
+ anon_sym_BANG,
4720
+ anon_sym_let,
4721
+ anon_sym_todo,
4722
+ anon_sym_panic,
4723
+ sym__decimal,
4724
+ sym_identifier,
4725
+ ACTIONS(123), 19,
4726
+ anon_sym_SLASH,
4727
+ anon_sym_LBRACE,
4728
+ anon_sym_RBRACE,
4729
+ anon_sym_PIPE_PIPE,
4730
+ anon_sym_AMP_AMP,
4731
+ anon_sym_EQ_EQ,
4732
+ anon_sym_BANG_EQ,
4733
+ anon_sym_LT_EQ,
4734
+ anon_sym_GT_EQ,
4735
+ anon_sym_PIPE_GT,
4736
+ anon_sym_PLUS,
4737
+ anon_sym_STAR,
4738
+ anon_sym_PERCENT,
4739
+ anon_sym_LT_GT,
4740
+ sym_float,
4741
+ anon_sym_DQUOTE,
4742
+ sym__hex,
4743
+ sym__octal,
4744
+ sym__binary,
4745
+ [2822] = 3,
4746
+ ACTIONS(149), 4,
4747
+ anon_sym_SLASH,
4748
+ anon_sym_STAR,
4749
+ anon_sym_PERCENT,
4750
+ anon_sym_LT_GT,
4751
+ ACTIONS(81), 10,
4752
+ anon_sym_record,
4753
+ anon_sym_LT,
4754
+ anon_sym_GT,
4755
+ anon_sym_DASH,
4756
+ anon_sym_BANG,
4757
+ anon_sym_let,
4758
+ anon_sym_todo,
4759
+ anon_sym_panic,
4760
+ sym__decimal,
4761
+ sym_identifier,
4762
+ ACTIONS(77), 15,
4763
+ anon_sym_LBRACE,
4764
+ anon_sym_RBRACE,
4765
+ anon_sym_PIPE_PIPE,
4766
+ anon_sym_AMP_AMP,
4767
+ anon_sym_EQ_EQ,
4768
+ anon_sym_BANG_EQ,
4769
+ anon_sym_LT_EQ,
4770
+ anon_sym_GT_EQ,
4771
+ anon_sym_PIPE_GT,
4772
+ anon_sym_PLUS,
4773
+ sym_float,
4774
+ anon_sym_DQUOTE,
4775
+ sym__hex,
4776
+ sym__octal,
4777
+ sym__binary,
4778
+ [2858] = 15,
4779
+ ACTIONS(317), 1,
4780
+ anon_sym_LBRACE,
4781
+ ACTIONS(319), 1,
4782
+ anon_sym_RBRACE,
4783
+ ACTIONS(321), 1,
4784
+ anon_sym_record,
4785
+ ACTIONS(323), 1,
4786
+ anon_sym_DASH,
4787
+ ACTIONS(325), 1,
4788
+ anon_sym_BANG,
4789
+ ACTIONS(327), 1,
4790
+ anon_sym_let,
4791
+ ACTIONS(329), 1,
4792
+ anon_sym_todo,
4793
+ ACTIONS(331), 1,
4794
+ anon_sym_panic,
4795
+ ACTIONS(333), 1,
4796
+ sym_float,
4797
+ ACTIONS(335), 1,
4798
+ anon_sym_DQUOTE,
4799
+ ACTIONS(339), 1,
4800
+ sym__decimal,
4801
+ ACTIONS(341), 1,
4802
+ sym_identifier,
4803
+ ACTIONS(337), 3,
4804
+ sym__hex,
4805
+ sym__octal,
4806
+ sym__binary,
4807
+ STATE(70), 3,
4808
+ aux_sym__statement_seq,
4809
+ sym__statement,
4810
+ sym_let,
4811
+ STATE(58), 10,
4812
+ sym_record,
4813
+ sym__expression,
4814
+ sym_binary_expression,
4815
+ sym__expression_unit,
4816
+ sym_expression_group,
4817
+ sym_negation,
4818
+ sym_todo,
4819
+ sym_panic,
4820
+ sym_integer,
4821
+ sym_string,
4822
+ [2917] = 15,
4823
+ ACTIONS(317), 1,
4824
+ anon_sym_LBRACE,
4825
+ ACTIONS(321), 1,
4826
+ anon_sym_record,
4827
+ ACTIONS(323), 1,
4828
+ anon_sym_DASH,
4829
+ ACTIONS(325), 1,
4830
+ anon_sym_BANG,
4831
+ ACTIONS(327), 1,
4832
+ anon_sym_let,
4833
+ ACTIONS(329), 1,
4834
+ anon_sym_todo,
4835
+ ACTIONS(331), 1,
4836
+ anon_sym_panic,
4837
+ ACTIONS(333), 1,
4838
+ sym_float,
4839
+ ACTIONS(335), 1,
4840
+ anon_sym_DQUOTE,
4841
+ ACTIONS(339), 1,
4842
+ sym__decimal,
4843
+ ACTIONS(341), 1,
4844
+ sym_identifier,
4845
+ ACTIONS(343), 1,
4846
+ anon_sym_RBRACE,
4847
+ ACTIONS(337), 3,
4848
+ sym__hex,
4849
+ sym__octal,
4850
+ sym__binary,
4851
+ STATE(70), 3,
4852
+ aux_sym__statement_seq,
4853
+ sym__statement,
4854
+ sym_let,
4855
+ STATE(58), 10,
4856
+ sym_record,
4857
+ sym__expression,
4858
+ sym_binary_expression,
4859
+ sym__expression_unit,
4860
+ sym_expression_group,
4861
+ sym_negation,
4862
+ sym_todo,
4863
+ sym_panic,
4864
+ sym_integer,
4865
+ sym_string,
4866
+ [2976] = 15,
4867
+ ACTIONS(207), 1,
4868
+ anon_sym_RBRACE,
4869
+ ACTIONS(345), 1,
4870
+ anon_sym_LBRACE,
4871
+ ACTIONS(348), 1,
4872
+ anon_sym_record,
4873
+ ACTIONS(351), 1,
4874
+ anon_sym_DASH,
4875
+ ACTIONS(354), 1,
4876
+ anon_sym_BANG,
4877
+ ACTIONS(357), 1,
4878
+ anon_sym_let,
4879
+ ACTIONS(360), 1,
4880
+ anon_sym_todo,
4881
+ ACTIONS(363), 1,
4882
+ anon_sym_panic,
4883
+ ACTIONS(366), 1,
4884
+ sym_float,
4885
+ ACTIONS(369), 1,
4886
+ anon_sym_DQUOTE,
4887
+ ACTIONS(375), 1,
4888
+ sym__decimal,
4889
+ ACTIONS(378), 1,
4890
+ sym_identifier,
4891
+ ACTIONS(372), 3,
4892
+ sym__hex,
4893
+ sym__octal,
4894
+ sym__binary,
4895
+ STATE(70), 3,
4896
+ aux_sym__statement_seq,
4897
+ sym__statement,
4898
+ sym_let,
4899
+ STATE(58), 10,
4900
+ sym_record,
4901
+ sym__expression,
4902
+ sym_binary_expression,
4903
+ sym__expression_unit,
4904
+ sym_expression_group,
4905
+ sym_negation,
4906
+ sym_todo,
4907
+ sym_panic,
4908
+ sym_integer,
4909
+ sym_string,
4910
+ [3035] = 14,
4911
+ ACTIONS(317), 1,
4912
+ anon_sym_LBRACE,
4913
+ ACTIONS(321), 1,
4914
+ anon_sym_record,
4915
+ ACTIONS(323), 1,
4916
+ anon_sym_DASH,
4917
+ ACTIONS(325), 1,
4918
+ anon_sym_BANG,
4919
+ ACTIONS(327), 1,
4920
+ anon_sym_let,
4921
+ ACTIONS(329), 1,
4922
+ anon_sym_todo,
4923
+ ACTIONS(331), 1,
4924
+ anon_sym_panic,
4925
+ ACTIONS(333), 1,
4926
+ sym_float,
4927
+ ACTIONS(335), 1,
4928
+ anon_sym_DQUOTE,
4929
+ ACTIONS(339), 1,
4930
+ sym__decimal,
4931
+ ACTIONS(341), 1,
4932
+ sym_identifier,
4933
+ ACTIONS(337), 3,
4934
+ sym__hex,
4935
+ sym__octal,
4936
+ sym__binary,
4937
+ STATE(68), 3,
4938
+ aux_sym__statement_seq,
4939
+ sym__statement,
4940
+ sym_let,
4941
+ STATE(58), 10,
4942
+ sym_record,
4943
+ sym__expression,
4944
+ sym_binary_expression,
4945
+ sym__expression_unit,
4946
+ sym_expression_group,
4947
+ sym_negation,
4948
+ sym_todo,
4949
+ sym_panic,
4950
+ sym_integer,
4951
+ sym_string,
4952
+ [3091] = 14,
4953
+ ACTIONS(169), 1,
4954
+ anon_sym_LBRACE,
4955
+ ACTIONS(176), 1,
4956
+ anon_sym_DASH,
4957
+ ACTIONS(178), 1,
4958
+ anon_sym_BANG,
4959
+ ACTIONS(180), 1,
4960
+ anon_sym_let,
4961
+ ACTIONS(182), 1,
4962
+ anon_sym_todo,
4963
+ ACTIONS(184), 1,
4964
+ anon_sym_panic,
4965
+ ACTIONS(186), 1,
4966
+ sym_float,
4967
+ ACTIONS(188), 1,
4968
+ anon_sym_DQUOTE,
4969
+ ACTIONS(192), 1,
4970
+ sym__decimal,
4971
+ ACTIONS(381), 1,
4972
+ anon_sym_record,
4973
+ ACTIONS(383), 1,
4974
+ sym_identifier,
4975
+ ACTIONS(190), 3,
4976
+ sym__hex,
4977
+ sym__octal,
4978
+ sym__binary,
4979
+ STATE(52), 3,
4980
+ aux_sym__statement_seq,
4981
+ sym__statement,
4982
+ sym_let,
4983
+ STATE(22), 10,
4984
+ sym_record,
4985
+ sym__expression,
4986
+ sym_binary_expression,
4987
+ sym__expression_unit,
4988
+ sym_expression_group,
4989
+ sym_negation,
4990
+ sym_todo,
4991
+ sym_panic,
4992
+ sym_integer,
4993
+ sym_string,
4994
+ [3147] = 14,
4995
+ ACTIONS(317), 1,
4996
+ anon_sym_LBRACE,
4997
+ ACTIONS(321), 1,
4998
+ anon_sym_record,
4999
+ ACTIONS(323), 1,
5000
+ anon_sym_DASH,
5001
+ ACTIONS(325), 1,
5002
+ anon_sym_BANG,
5003
+ ACTIONS(327), 1,
5004
+ anon_sym_let,
5005
+ ACTIONS(329), 1,
5006
+ anon_sym_todo,
5007
+ ACTIONS(331), 1,
5008
+ anon_sym_panic,
5009
+ ACTIONS(333), 1,
5010
+ sym_float,
5011
+ ACTIONS(335), 1,
5012
+ anon_sym_DQUOTE,
5013
+ ACTIONS(339), 1,
5014
+ sym__decimal,
5015
+ ACTIONS(341), 1,
5016
+ sym_identifier,
5017
+ ACTIONS(337), 3,
5018
+ sym__hex,
5019
+ sym__octal,
5020
+ sym__binary,
5021
+ STATE(69), 3,
5022
+ aux_sym__statement_seq,
5023
+ sym__statement,
5024
+ sym_let,
5025
+ STATE(58), 10,
5026
+ sym_record,
5027
+ sym__expression,
5028
+ sym_binary_expression,
5029
+ sym__expression_unit,
5030
+ sym_expression_group,
5031
+ sym_negation,
5032
+ sym_todo,
5033
+ sym_panic,
5034
+ sym_integer,
5035
+ sym_string,
5036
+ [3203] = 14,
5037
+ ACTIONS(169), 1,
5038
+ anon_sym_LBRACE,
5039
+ ACTIONS(176), 1,
5040
+ anon_sym_DASH,
5041
+ ACTIONS(178), 1,
5042
+ anon_sym_BANG,
5043
+ ACTIONS(180), 1,
5044
+ anon_sym_let,
5045
+ ACTIONS(182), 1,
5046
+ anon_sym_todo,
5047
+ ACTIONS(184), 1,
5048
+ anon_sym_panic,
5049
+ ACTIONS(186), 1,
5050
+ sym_float,
5051
+ ACTIONS(188), 1,
5052
+ anon_sym_DQUOTE,
5053
+ ACTIONS(192), 1,
5054
+ sym__decimal,
5055
+ ACTIONS(381), 1,
5056
+ anon_sym_record,
5057
+ ACTIONS(383), 1,
5058
+ sym_identifier,
5059
+ ACTIONS(190), 3,
5060
+ sym__hex,
5061
+ sym__octal,
5062
+ sym__binary,
5063
+ STATE(51), 3,
5064
+ aux_sym__statement_seq,
5065
+ sym__statement,
5066
+ sym_let,
5067
+ STATE(22), 10,
5068
+ sym_record,
5069
+ sym__expression,
5070
+ sym_binary_expression,
5071
+ sym__expression_unit,
5072
+ sym_expression_group,
5073
+ sym_negation,
5074
+ sym_todo,
5075
+ sym_panic,
5076
+ sym_integer,
5077
+ sym_string,
5078
+ [3259] = 14,
5079
+ ACTIONS(169), 1,
5080
+ anon_sym_LBRACE,
5081
+ ACTIONS(176), 1,
5082
+ anon_sym_DASH,
5083
+ ACTIONS(178), 1,
5084
+ anon_sym_BANG,
5085
+ ACTIONS(180), 1,
5086
+ anon_sym_let,
5087
+ ACTIONS(182), 1,
5088
+ anon_sym_todo,
5089
+ ACTIONS(184), 1,
5090
+ anon_sym_panic,
5091
+ ACTIONS(186), 1,
5092
+ sym_float,
5093
+ ACTIONS(188), 1,
5094
+ anon_sym_DQUOTE,
5095
+ ACTIONS(192), 1,
5096
+ sym__decimal,
5097
+ ACTIONS(381), 1,
5098
+ anon_sym_record,
5099
+ ACTIONS(383), 1,
5100
+ sym_identifier,
5101
+ ACTIONS(190), 3,
5102
+ sym__hex,
5103
+ sym__octal,
5104
+ sym__binary,
5105
+ STATE(45), 3,
5106
+ aux_sym__statement_seq,
5107
+ sym__statement,
5108
+ sym_let,
5109
+ STATE(22), 10,
5110
+ sym_record,
5111
+ sym__expression,
5112
+ sym_binary_expression,
5113
+ sym__expression_unit,
5114
+ sym_expression_group,
5115
+ sym_negation,
5116
+ sym_todo,
5117
+ sym_panic,
5118
+ sym_integer,
5119
+ sym_string,
5120
+ [3315] = 14,
5121
+ ACTIONS(169), 1,
5122
+ anon_sym_LBRACE,
5123
+ ACTIONS(176), 1,
5124
+ anon_sym_DASH,
5125
+ ACTIONS(178), 1,
5126
+ anon_sym_BANG,
5127
+ ACTIONS(180), 1,
5128
+ anon_sym_let,
5129
+ ACTIONS(182), 1,
5130
+ anon_sym_todo,
5131
+ ACTIONS(184), 1,
5132
+ anon_sym_panic,
5133
+ ACTIONS(186), 1,
5134
+ sym_float,
5135
+ ACTIONS(188), 1,
5136
+ anon_sym_DQUOTE,
5137
+ ACTIONS(192), 1,
5138
+ sym__decimal,
5139
+ ACTIONS(381), 1,
5140
+ anon_sym_record,
5141
+ ACTIONS(383), 1,
5142
+ sym_identifier,
5143
+ ACTIONS(190), 3,
5144
+ sym__hex,
5145
+ sym__octal,
5146
+ sym__binary,
5147
+ STATE(50), 3,
5148
+ aux_sym__statement_seq,
5149
+ sym__statement,
5150
+ sym_let,
5151
+ STATE(22), 10,
5152
+ sym_record,
5153
+ sym__expression,
5154
+ sym_binary_expression,
5155
+ sym__expression_unit,
5156
+ sym_expression_group,
5157
+ sym_negation,
5158
+ sym_todo,
5159
+ sym_panic,
5160
+ sym_integer,
5161
+ sym_string,
5162
+ [3371] = 14,
5163
+ ACTIONS(169), 1,
5164
+ anon_sym_LBRACE,
5165
+ ACTIONS(176), 1,
5166
+ anon_sym_DASH,
5167
+ ACTIONS(178), 1,
5168
+ anon_sym_BANG,
5169
+ ACTIONS(180), 1,
5170
+ anon_sym_let,
5171
+ ACTIONS(182), 1,
5172
+ anon_sym_todo,
5173
+ ACTIONS(184), 1,
5174
+ anon_sym_panic,
5175
+ ACTIONS(186), 1,
5176
+ sym_float,
5177
+ ACTIONS(188), 1,
5178
+ anon_sym_DQUOTE,
5179
+ ACTIONS(192), 1,
5180
+ sym__decimal,
5181
+ ACTIONS(381), 1,
5182
+ anon_sym_record,
5183
+ ACTIONS(383), 1,
5184
+ sym_identifier,
5185
+ ACTIONS(190), 3,
5186
+ sym__hex,
5187
+ sym__octal,
5188
+ sym__binary,
5189
+ STATE(63), 3,
5190
+ aux_sym__statement_seq,
5191
+ sym__statement,
5192
+ sym_let,
5193
+ STATE(22), 10,
5194
+ sym_record,
5195
+ sym__expression,
5196
+ sym_binary_expression,
5197
+ sym__expression_unit,
5198
+ sym_expression_group,
5199
+ sym_negation,
5200
+ sym_todo,
5201
+ sym_panic,
5202
+ sym_integer,
5203
+ sym_string,
5204
+ [3427] = 14,
5205
+ ACTIONS(169), 1,
5206
+ anon_sym_LBRACE,
5207
+ ACTIONS(176), 1,
5208
+ anon_sym_DASH,
5209
+ ACTIONS(178), 1,
5210
+ anon_sym_BANG,
5211
+ ACTIONS(180), 1,
5212
+ anon_sym_let,
5213
+ ACTIONS(182), 1,
5214
+ anon_sym_todo,
5215
+ ACTIONS(184), 1,
5216
+ anon_sym_panic,
5217
+ ACTIONS(186), 1,
5218
+ sym_float,
5219
+ ACTIONS(188), 1,
5220
+ anon_sym_DQUOTE,
5221
+ ACTIONS(192), 1,
5222
+ sym__decimal,
5223
+ ACTIONS(381), 1,
5224
+ anon_sym_record,
5225
+ ACTIONS(383), 1,
5226
+ sym_identifier,
5227
+ ACTIONS(190), 3,
5228
+ sym__hex,
5229
+ sym__octal,
5230
+ sym__binary,
5231
+ STATE(43), 3,
5232
+ aux_sym__statement_seq,
5233
+ sym__statement,
5234
+ sym_let,
5235
+ STATE(22), 10,
5236
+ sym_record,
5237
+ sym__expression,
5238
+ sym_binary_expression,
5239
+ sym__expression_unit,
5240
+ sym_expression_group,
5241
+ sym_negation,
5242
+ sym_todo,
5243
+ sym_panic,
5244
+ sym_integer,
5245
+ sym_string,
5246
+ [3483] = 14,
5247
+ ACTIONS(169), 1,
5248
+ anon_sym_LBRACE,
5249
+ ACTIONS(176), 1,
5250
+ anon_sym_DASH,
5251
+ ACTIONS(178), 1,
5252
+ anon_sym_BANG,
5253
+ ACTIONS(180), 1,
5254
+ anon_sym_let,
5255
+ ACTIONS(182), 1,
5256
+ anon_sym_todo,
5257
+ ACTIONS(184), 1,
5258
+ anon_sym_panic,
5259
+ ACTIONS(186), 1,
5260
+ sym_float,
5261
+ ACTIONS(188), 1,
5262
+ anon_sym_DQUOTE,
5263
+ ACTIONS(192), 1,
5264
+ sym__decimal,
5265
+ ACTIONS(381), 1,
5266
+ anon_sym_record,
5267
+ ACTIONS(383), 1,
5268
+ sym_identifier,
5269
+ ACTIONS(190), 3,
5270
+ sym__hex,
5271
+ sym__octal,
5272
+ sym__binary,
5273
+ STATE(53), 3,
5274
+ aux_sym__statement_seq,
5275
+ sym__statement,
5276
+ sym_let,
5277
+ STATE(22), 10,
5278
+ sym_record,
5279
+ sym__expression,
5280
+ sym_binary_expression,
5281
+ sym__expression_unit,
5282
+ sym_expression_group,
5283
+ sym_negation,
5284
+ sym_todo,
5285
+ sym_panic,
5286
+ sym_integer,
5287
+ sym_string,
5288
+ [3539] = 14,
5289
+ ACTIONS(169), 1,
5290
+ anon_sym_LBRACE,
5291
+ ACTIONS(176), 1,
5292
+ anon_sym_DASH,
5293
+ ACTIONS(178), 1,
5294
+ anon_sym_BANG,
5295
+ ACTIONS(180), 1,
5296
+ anon_sym_let,
5297
+ ACTIONS(182), 1,
5298
+ anon_sym_todo,
5299
+ ACTIONS(184), 1,
5300
+ anon_sym_panic,
5301
+ ACTIONS(186), 1,
5302
+ sym_float,
5303
+ ACTIONS(188), 1,
5304
+ anon_sym_DQUOTE,
5305
+ ACTIONS(192), 1,
5306
+ sym__decimal,
5307
+ ACTIONS(381), 1,
5308
+ anon_sym_record,
5309
+ ACTIONS(383), 1,
5310
+ sym_identifier,
5311
+ ACTIONS(190), 3,
5312
+ sym__hex,
5313
+ sym__octal,
5314
+ sym__binary,
5315
+ STATE(61), 3,
5316
+ aux_sym__statement_seq,
5317
+ sym__statement,
5318
+ sym_let,
5319
+ STATE(22), 10,
5320
+ sym_record,
5321
+ sym__expression,
5322
+ sym_binary_expression,
5323
+ sym__expression_unit,
5324
+ sym_expression_group,
5325
+ sym_negation,
5326
+ sym_todo,
5327
+ sym_panic,
5328
+ sym_integer,
5329
+ sym_string,
5330
+ [3595] = 14,
5331
+ ACTIONS(169), 1,
5332
+ anon_sym_LBRACE,
5333
+ ACTIONS(176), 1,
5334
+ anon_sym_DASH,
5335
+ ACTIONS(178), 1,
5336
+ anon_sym_BANG,
5337
+ ACTIONS(180), 1,
5338
+ anon_sym_let,
5339
+ ACTIONS(182), 1,
5340
+ anon_sym_todo,
5341
+ ACTIONS(184), 1,
5342
+ anon_sym_panic,
5343
+ ACTIONS(186), 1,
5344
+ sym_float,
5345
+ ACTIONS(188), 1,
5346
+ anon_sym_DQUOTE,
5347
+ ACTIONS(192), 1,
5348
+ sym__decimal,
5349
+ ACTIONS(381), 1,
5350
+ anon_sym_record,
5351
+ ACTIONS(383), 1,
5352
+ sym_identifier,
5353
+ ACTIONS(190), 3,
5354
+ sym__hex,
5355
+ sym__octal,
5356
+ sym__binary,
5357
+ STATE(55), 3,
5358
+ aux_sym__statement_seq,
5359
+ sym__statement,
5360
+ sym_let,
5361
+ STATE(22), 10,
5362
+ sym_record,
5363
+ sym__expression,
5364
+ sym_binary_expression,
5365
+ sym__expression_unit,
5366
+ sym_expression_group,
5367
+ sym_negation,
5368
+ sym_todo,
5369
+ sym_panic,
5370
+ sym_integer,
5371
+ sym_string,
5372
+ [3651] = 12,
5373
+ ACTIONS(169), 1,
5374
+ anon_sym_LBRACE,
5375
+ ACTIONS(176), 1,
5376
+ anon_sym_DASH,
5377
+ ACTIONS(178), 1,
5378
+ anon_sym_BANG,
5379
+ ACTIONS(182), 1,
5380
+ anon_sym_todo,
5381
+ ACTIONS(184), 1,
5382
+ anon_sym_panic,
5383
+ ACTIONS(188), 1,
5384
+ anon_sym_DQUOTE,
5385
+ ACTIONS(192), 1,
5386
+ sym__decimal,
5387
+ ACTIONS(381), 1,
5388
+ anon_sym_record,
5389
+ ACTIONS(385), 1,
5390
+ sym_float,
5391
+ ACTIONS(387), 1,
5392
+ sym_identifier,
5393
+ ACTIONS(190), 3,
5394
+ sym__hex,
5395
+ sym__octal,
5396
+ sym__binary,
5397
+ STATE(32), 10,
5398
+ sym_record,
5399
+ sym__expression,
5400
+ sym_binary_expression,
5401
+ sym__expression_unit,
5402
+ sym_expression_group,
5403
+ sym_negation,
5404
+ sym_todo,
5405
+ sym_panic,
5406
+ sym_integer,
5407
+ sym_string,
5408
+ [3699] = 12,
5409
+ ACTIONS(317), 1,
5410
+ anon_sym_LBRACE,
5411
+ ACTIONS(321), 1,
5412
+ anon_sym_record,
5413
+ ACTIONS(323), 1,
5414
+ anon_sym_DASH,
5415
+ ACTIONS(325), 1,
5416
+ anon_sym_BANG,
5417
+ ACTIONS(329), 1,
5418
+ anon_sym_todo,
5419
+ ACTIONS(331), 1,
5420
+ anon_sym_panic,
5421
+ ACTIONS(335), 1,
5422
+ anon_sym_DQUOTE,
5423
+ ACTIONS(339), 1,
5424
+ sym__decimal,
5425
+ ACTIONS(389), 1,
5426
+ sym_float,
5427
+ ACTIONS(391), 1,
5428
+ sym_identifier,
5429
+ ACTIONS(337), 3,
5430
+ sym__hex,
5431
+ sym__octal,
5432
+ sym__binary,
5433
+ STATE(67), 10,
5434
+ sym_record,
5435
+ sym__expression,
5436
+ sym_binary_expression,
5437
+ sym__expression_unit,
5438
+ sym_expression_group,
5439
+ sym_negation,
5440
+ sym_todo,
5441
+ sym_panic,
5442
+ sym_integer,
5443
+ sym_string,
5444
+ [3747] = 12,
5445
+ ACTIONS(169), 1,
5446
+ anon_sym_LBRACE,
5447
+ ACTIONS(176), 1,
5448
+ anon_sym_DASH,
5449
+ ACTIONS(178), 1,
5450
+ anon_sym_BANG,
5451
+ ACTIONS(182), 1,
5452
+ anon_sym_todo,
5453
+ ACTIONS(184), 1,
5454
+ anon_sym_panic,
5455
+ ACTIONS(188), 1,
5456
+ anon_sym_DQUOTE,
5457
+ ACTIONS(192), 1,
5458
+ sym__decimal,
5459
+ ACTIONS(381), 1,
5460
+ anon_sym_record,
5461
+ ACTIONS(393), 1,
5462
+ sym_float,
5463
+ ACTIONS(395), 1,
5464
+ sym_identifier,
5465
+ ACTIONS(190), 3,
5466
+ sym__hex,
5467
+ sym__octal,
5468
+ sym__binary,
5469
+ STATE(18), 10,
5470
+ sym_record,
5471
+ sym__expression,
5472
+ sym_binary_expression,
5473
+ sym__expression_unit,
5474
+ sym_expression_group,
5475
+ sym_negation,
5476
+ sym_todo,
5477
+ sym_panic,
5478
+ sym_integer,
5479
+ sym_string,
5480
+ [3795] = 12,
5481
+ ACTIONS(317), 1,
5482
+ anon_sym_LBRACE,
5483
+ ACTIONS(321), 1,
5484
+ anon_sym_record,
5485
+ ACTIONS(323), 1,
5486
+ anon_sym_DASH,
5487
+ ACTIONS(325), 1,
5488
+ anon_sym_BANG,
5489
+ ACTIONS(329), 1,
5490
+ anon_sym_todo,
5491
+ ACTIONS(331), 1,
5492
+ anon_sym_panic,
5493
+ ACTIONS(335), 1,
5494
+ anon_sym_DQUOTE,
5495
+ ACTIONS(339), 1,
5496
+ sym__decimal,
5497
+ ACTIONS(397), 1,
5498
+ sym_float,
5499
+ ACTIONS(399), 1,
5500
+ sym_identifier,
5501
+ ACTIONS(337), 3,
5502
+ sym__hex,
5503
+ sym__octal,
5504
+ sym__binary,
5505
+ STATE(37), 10,
5506
+ sym_record,
5507
+ sym__expression,
5508
+ sym_binary_expression,
5509
+ sym__expression_unit,
5510
+ sym_expression_group,
5511
+ sym_negation,
5512
+ sym_todo,
5513
+ sym_panic,
5514
+ sym_integer,
5515
+ sym_string,
5516
+ [3843] = 12,
5517
+ ACTIONS(169), 1,
5518
+ anon_sym_LBRACE,
5519
+ ACTIONS(176), 1,
5520
+ anon_sym_DASH,
5521
+ ACTIONS(178), 1,
5522
+ anon_sym_BANG,
5523
+ ACTIONS(182), 1,
5524
+ anon_sym_todo,
5525
+ ACTIONS(184), 1,
5526
+ anon_sym_panic,
5527
+ ACTIONS(188), 1,
5528
+ anon_sym_DQUOTE,
5529
+ ACTIONS(192), 1,
5530
+ sym__decimal,
5531
+ ACTIONS(381), 1,
5532
+ anon_sym_record,
5533
+ ACTIONS(401), 1,
5534
+ sym_float,
5535
+ ACTIONS(403), 1,
5536
+ sym_identifier,
5537
+ ACTIONS(190), 3,
5538
+ sym__hex,
5539
+ sym__octal,
5540
+ sym__binary,
5541
+ STATE(23), 10,
5542
+ sym_record,
5543
+ sym__expression,
5544
+ sym_binary_expression,
5545
+ sym__expression_unit,
5546
+ sym_expression_group,
5547
+ sym_negation,
5548
+ sym_todo,
5549
+ sym_panic,
5550
+ sym_integer,
5551
+ sym_string,
5552
+ [3891] = 12,
5553
+ ACTIONS(169), 1,
5554
+ anon_sym_LBRACE,
5555
+ ACTIONS(176), 1,
5556
+ anon_sym_DASH,
5557
+ ACTIONS(178), 1,
5558
+ anon_sym_BANG,
5559
+ ACTIONS(182), 1,
5560
+ anon_sym_todo,
5561
+ ACTIONS(184), 1,
5562
+ anon_sym_panic,
5563
+ ACTIONS(188), 1,
5564
+ anon_sym_DQUOTE,
5565
+ ACTIONS(192), 1,
5566
+ sym__decimal,
5567
+ ACTIONS(381), 1,
5568
+ anon_sym_record,
5569
+ ACTIONS(405), 1,
5570
+ sym_float,
5571
+ ACTIONS(407), 1,
5572
+ sym_identifier,
5573
+ ACTIONS(190), 3,
5574
+ sym__hex,
5575
+ sym__octal,
5576
+ sym__binary,
5577
+ STATE(25), 10,
5578
+ sym_record,
5579
+ sym__expression,
5580
+ sym_binary_expression,
5581
+ sym__expression_unit,
5582
+ sym_expression_group,
5583
+ sym_negation,
5584
+ sym_todo,
5585
+ sym_panic,
5586
+ sym_integer,
5587
+ sym_string,
5588
+ [3939] = 12,
5589
+ ACTIONS(169), 1,
5590
+ anon_sym_LBRACE,
5591
+ ACTIONS(176), 1,
5592
+ anon_sym_DASH,
5593
+ ACTIONS(178), 1,
5594
+ anon_sym_BANG,
5595
+ ACTIONS(182), 1,
5596
+ anon_sym_todo,
5597
+ ACTIONS(184), 1,
5598
+ anon_sym_panic,
5599
+ ACTIONS(188), 1,
5600
+ anon_sym_DQUOTE,
5601
+ ACTIONS(192), 1,
5602
+ sym__decimal,
5603
+ ACTIONS(381), 1,
5604
+ anon_sym_record,
5605
+ ACTIONS(409), 1,
5606
+ sym_float,
5607
+ ACTIONS(411), 1,
5608
+ sym_identifier,
5609
+ ACTIONS(190), 3,
5610
+ sym__hex,
5611
+ sym__octal,
5612
+ sym__binary,
5613
+ STATE(16), 10,
5614
+ sym_record,
5615
+ sym__expression,
5616
+ sym_binary_expression,
5617
+ sym__expression_unit,
5618
+ sym_expression_group,
5619
+ sym_negation,
5620
+ sym_todo,
5621
+ sym_panic,
5622
+ sym_integer,
5623
+ sym_string,
5624
+ [3987] = 12,
5625
+ ACTIONS(169), 1,
5626
+ anon_sym_LBRACE,
5627
+ ACTIONS(176), 1,
5628
+ anon_sym_DASH,
5629
+ ACTIONS(178), 1,
5630
+ anon_sym_BANG,
5631
+ ACTIONS(182), 1,
5632
+ anon_sym_todo,
5633
+ ACTIONS(184), 1,
5634
+ anon_sym_panic,
5635
+ ACTIONS(188), 1,
5636
+ anon_sym_DQUOTE,
5637
+ ACTIONS(192), 1,
5638
+ sym__decimal,
5639
+ ACTIONS(381), 1,
5640
+ anon_sym_record,
5641
+ ACTIONS(413), 1,
5642
+ sym_float,
5643
+ ACTIONS(415), 1,
5644
+ sym_identifier,
5645
+ ACTIONS(190), 3,
5646
+ sym__hex,
5647
+ sym__octal,
5648
+ sym__binary,
5649
+ STATE(21), 10,
5650
+ sym_record,
5651
+ sym__expression,
5652
+ sym_binary_expression,
5653
+ sym__expression_unit,
5654
+ sym_expression_group,
5655
+ sym_negation,
5656
+ sym_todo,
5657
+ sym_panic,
5658
+ sym_integer,
5659
+ sym_string,
5660
+ [4035] = 12,
5661
+ ACTIONS(169), 1,
5662
+ anon_sym_LBRACE,
5663
+ ACTIONS(176), 1,
5664
+ anon_sym_DASH,
5665
+ ACTIONS(178), 1,
5666
+ anon_sym_BANG,
5667
+ ACTIONS(182), 1,
5668
+ anon_sym_todo,
5669
+ ACTIONS(184), 1,
5670
+ anon_sym_panic,
5671
+ ACTIONS(188), 1,
5672
+ anon_sym_DQUOTE,
5673
+ ACTIONS(192), 1,
5674
+ sym__decimal,
5675
+ ACTIONS(381), 1,
5676
+ anon_sym_record,
5677
+ ACTIONS(417), 1,
5678
+ sym_float,
5679
+ ACTIONS(419), 1,
5680
+ sym_identifier,
5681
+ ACTIONS(190), 3,
5682
+ sym__hex,
5683
+ sym__octal,
5684
+ sym__binary,
5685
+ STATE(17), 10,
5686
+ sym_record,
5687
+ sym__expression,
5688
+ sym_binary_expression,
5689
+ sym__expression_unit,
5690
+ sym_expression_group,
5691
+ sym_negation,
5692
+ sym_todo,
5693
+ sym_panic,
5694
+ sym_integer,
5695
+ sym_string,
5696
+ [4083] = 12,
5697
+ ACTIONS(169), 1,
5698
+ anon_sym_LBRACE,
5699
+ ACTIONS(176), 1,
5700
+ anon_sym_DASH,
5701
+ ACTIONS(178), 1,
5702
+ anon_sym_BANG,
5703
+ ACTIONS(182), 1,
5704
+ anon_sym_todo,
5705
+ ACTIONS(184), 1,
5706
+ anon_sym_panic,
5707
+ ACTIONS(188), 1,
5708
+ anon_sym_DQUOTE,
5709
+ ACTIONS(192), 1,
5710
+ sym__decimal,
5711
+ ACTIONS(381), 1,
5712
+ anon_sym_record,
5713
+ ACTIONS(421), 1,
5714
+ sym_float,
5715
+ ACTIONS(423), 1,
5716
+ sym_identifier,
5717
+ ACTIONS(190), 3,
5718
+ sym__hex,
5719
+ sym__octal,
5720
+ sym__binary,
5721
+ STATE(28), 10,
5722
+ sym_record,
5723
+ sym__expression,
5724
+ sym_binary_expression,
5725
+ sym__expression_unit,
5726
+ sym_expression_group,
5727
+ sym_negation,
5728
+ sym_todo,
5729
+ sym_panic,
5730
+ sym_integer,
5731
+ sym_string,
5732
+ [4131] = 12,
5733
+ ACTIONS(317), 1,
5734
+ anon_sym_LBRACE,
5735
+ ACTIONS(321), 1,
5736
+ anon_sym_record,
5737
+ ACTIONS(323), 1,
5738
+ anon_sym_DASH,
5739
+ ACTIONS(325), 1,
5740
+ anon_sym_BANG,
5741
+ ACTIONS(329), 1,
5742
+ anon_sym_todo,
5743
+ ACTIONS(331), 1,
5744
+ anon_sym_panic,
5745
+ ACTIONS(335), 1,
5746
+ anon_sym_DQUOTE,
5747
+ ACTIONS(339), 1,
5748
+ sym__decimal,
5749
+ ACTIONS(425), 1,
5750
+ sym_float,
5751
+ ACTIONS(427), 1,
5752
+ sym_identifier,
5753
+ ACTIONS(337), 3,
5754
+ sym__hex,
5755
+ sym__octal,
5756
+ sym__binary,
5757
+ STATE(41), 10,
5758
+ sym_record,
5759
+ sym__expression,
5760
+ sym_binary_expression,
5761
+ sym__expression_unit,
5762
+ sym_expression_group,
5763
+ sym_negation,
5764
+ sym_todo,
5765
+ sym_panic,
5766
+ sym_integer,
5767
+ sym_string,
5768
+ [4179] = 12,
5769
+ ACTIONS(317), 1,
5770
+ anon_sym_LBRACE,
5771
+ ACTIONS(321), 1,
5772
+ anon_sym_record,
5773
+ ACTIONS(323), 1,
5774
+ anon_sym_DASH,
5775
+ ACTIONS(325), 1,
5776
+ anon_sym_BANG,
5777
+ ACTIONS(329), 1,
5778
+ anon_sym_todo,
5779
+ ACTIONS(331), 1,
5780
+ anon_sym_panic,
5781
+ ACTIONS(335), 1,
5782
+ anon_sym_DQUOTE,
5783
+ ACTIONS(339), 1,
5784
+ sym__decimal,
5785
+ ACTIONS(429), 1,
5786
+ sym_float,
5787
+ ACTIONS(431), 1,
5788
+ sym_identifier,
5789
+ ACTIONS(337), 3,
5790
+ sym__hex,
5791
+ sym__octal,
5792
+ sym__binary,
5793
+ STATE(40), 10,
5794
+ sym_record,
5795
+ sym__expression,
5796
+ sym_binary_expression,
5797
+ sym__expression_unit,
5798
+ sym_expression_group,
5799
+ sym_negation,
5800
+ sym_todo,
5801
+ sym_panic,
5802
+ sym_integer,
5803
+ sym_string,
5804
+ [4227] = 12,
5805
+ ACTIONS(317), 1,
5806
+ anon_sym_LBRACE,
5807
+ ACTIONS(321), 1,
5808
+ anon_sym_record,
5809
+ ACTIONS(323), 1,
5810
+ anon_sym_DASH,
5811
+ ACTIONS(325), 1,
5812
+ anon_sym_BANG,
5813
+ ACTIONS(329), 1,
5814
+ anon_sym_todo,
5815
+ ACTIONS(331), 1,
5816
+ anon_sym_panic,
5817
+ ACTIONS(335), 1,
5818
+ anon_sym_DQUOTE,
5819
+ ACTIONS(339), 1,
5820
+ sym__decimal,
5821
+ ACTIONS(433), 1,
5822
+ sym_float,
5823
+ ACTIONS(435), 1,
5824
+ sym_identifier,
5825
+ ACTIONS(337), 3,
5826
+ sym__hex,
5827
+ sym__octal,
5828
+ sym__binary,
5829
+ STATE(39), 10,
5830
+ sym_record,
5831
+ sym__expression,
5832
+ sym_binary_expression,
5833
+ sym__expression_unit,
5834
+ sym_expression_group,
5835
+ sym_negation,
5836
+ sym_todo,
5837
+ sym_panic,
5838
+ sym_integer,
5839
+ sym_string,
5840
+ [4275] = 12,
5841
+ ACTIONS(317), 1,
5842
+ anon_sym_LBRACE,
5843
+ ACTIONS(321), 1,
5844
+ anon_sym_record,
5845
+ ACTIONS(323), 1,
5846
+ anon_sym_DASH,
5847
+ ACTIONS(325), 1,
5848
+ anon_sym_BANG,
5849
+ ACTIONS(329), 1,
5850
+ anon_sym_todo,
5851
+ ACTIONS(331), 1,
5852
+ anon_sym_panic,
5853
+ ACTIONS(335), 1,
5854
+ anon_sym_DQUOTE,
5855
+ ACTIONS(339), 1,
5856
+ sym__decimal,
5857
+ ACTIONS(437), 1,
5858
+ sym_float,
5859
+ ACTIONS(439), 1,
5860
+ sym_identifier,
5861
+ ACTIONS(337), 3,
5862
+ sym__hex,
5863
+ sym__octal,
5864
+ sym__binary,
5865
+ STATE(65), 10,
5866
+ sym_record,
5867
+ sym__expression,
5868
+ sym_binary_expression,
5869
+ sym__expression_unit,
5870
+ sym_expression_group,
5871
+ sym_negation,
5872
+ sym_todo,
5873
+ sym_panic,
5874
+ sym_integer,
5875
+ sym_string,
5876
+ [4323] = 12,
5877
+ ACTIONS(169), 1,
5878
+ anon_sym_LBRACE,
5879
+ ACTIONS(176), 1,
5880
+ anon_sym_DASH,
5881
+ ACTIONS(178), 1,
5882
+ anon_sym_BANG,
5883
+ ACTIONS(182), 1,
5884
+ anon_sym_todo,
5885
+ ACTIONS(184), 1,
5886
+ anon_sym_panic,
5887
+ ACTIONS(188), 1,
5888
+ anon_sym_DQUOTE,
5889
+ ACTIONS(192), 1,
5890
+ sym__decimal,
5891
+ ACTIONS(381), 1,
5892
+ anon_sym_record,
5893
+ ACTIONS(441), 1,
5894
+ sym_float,
5895
+ ACTIONS(443), 1,
5896
+ sym_identifier,
5897
+ ACTIONS(190), 3,
5898
+ sym__hex,
5899
+ sym__octal,
5900
+ sym__binary,
5901
+ STATE(33), 10,
5902
+ sym_record,
5903
+ sym__expression,
5904
+ sym_binary_expression,
5905
+ sym__expression_unit,
5906
+ sym_expression_group,
5907
+ sym_negation,
5908
+ sym_todo,
5909
+ sym_panic,
5910
+ sym_integer,
5911
+ sym_string,
5912
+ [4371] = 12,
5913
+ ACTIONS(317), 1,
5914
+ anon_sym_LBRACE,
5915
+ ACTIONS(321), 1,
5916
+ anon_sym_record,
5917
+ ACTIONS(323), 1,
5918
+ anon_sym_DASH,
5919
+ ACTIONS(325), 1,
5920
+ anon_sym_BANG,
5921
+ ACTIONS(329), 1,
5922
+ anon_sym_todo,
5923
+ ACTIONS(331), 1,
5924
+ anon_sym_panic,
5925
+ ACTIONS(335), 1,
5926
+ anon_sym_DQUOTE,
5927
+ ACTIONS(339), 1,
5928
+ sym__decimal,
5929
+ ACTIONS(445), 1,
5930
+ sym_float,
5931
+ ACTIONS(447), 1,
5932
+ sym_identifier,
5933
+ ACTIONS(337), 3,
5934
+ sym__hex,
5935
+ sym__octal,
5936
+ sym__binary,
5937
+ STATE(47), 10,
5938
+ sym_record,
5939
+ sym__expression,
5940
+ sym_binary_expression,
5941
+ sym__expression_unit,
5942
+ sym_expression_group,
5943
+ sym_negation,
5944
+ sym_todo,
5945
+ sym_panic,
5946
+ sym_integer,
5947
+ sym_string,
5948
+ [4419] = 12,
5949
+ ACTIONS(317), 1,
5950
+ anon_sym_LBRACE,
5951
+ ACTIONS(321), 1,
5952
+ anon_sym_record,
5953
+ ACTIONS(323), 1,
5954
+ anon_sym_DASH,
5955
+ ACTIONS(325), 1,
5956
+ anon_sym_BANG,
5957
+ ACTIONS(329), 1,
5958
+ anon_sym_todo,
5959
+ ACTIONS(331), 1,
5960
+ anon_sym_panic,
5961
+ ACTIONS(335), 1,
5962
+ anon_sym_DQUOTE,
5963
+ ACTIONS(339), 1,
5964
+ sym__decimal,
5965
+ ACTIONS(449), 1,
5966
+ sym_float,
5967
+ ACTIONS(451), 1,
5968
+ sym_identifier,
5969
+ ACTIONS(337), 3,
5970
+ sym__hex,
5971
+ sym__octal,
5972
+ sym__binary,
5973
+ STATE(64), 10,
5974
+ sym_record,
5975
+ sym__expression,
5976
+ sym_binary_expression,
5977
+ sym__expression_unit,
5978
+ sym_expression_group,
5979
+ sym_negation,
5980
+ sym_todo,
5981
+ sym_panic,
5982
+ sym_integer,
5983
+ sym_string,
5984
+ [4467] = 12,
5985
+ ACTIONS(317), 1,
5986
+ anon_sym_LBRACE,
5987
+ ACTIONS(321), 1,
5988
+ anon_sym_record,
5989
+ ACTIONS(323), 1,
5990
+ anon_sym_DASH,
5991
+ ACTIONS(325), 1,
5992
+ anon_sym_BANG,
5993
+ ACTIONS(329), 1,
5994
+ anon_sym_todo,
5995
+ ACTIONS(331), 1,
5996
+ anon_sym_panic,
5997
+ ACTIONS(335), 1,
5998
+ anon_sym_DQUOTE,
5999
+ ACTIONS(339), 1,
6000
+ sym__decimal,
6001
+ ACTIONS(453), 1,
6002
+ sym_float,
6003
+ ACTIONS(455), 1,
6004
+ sym_identifier,
6005
+ ACTIONS(337), 3,
6006
+ sym__hex,
6007
+ sym__octal,
6008
+ sym__binary,
6009
+ STATE(62), 10,
6010
+ sym_record,
6011
+ sym__expression,
6012
+ sym_binary_expression,
6013
+ sym__expression_unit,
6014
+ sym_expression_group,
6015
+ sym_negation,
6016
+ sym_todo,
6017
+ sym_panic,
6018
+ sym_integer,
6019
+ sym_string,
6020
+ [4515] = 12,
6021
+ ACTIONS(317), 1,
6022
+ anon_sym_LBRACE,
6023
+ ACTIONS(321), 1,
6024
+ anon_sym_record,
6025
+ ACTIONS(323), 1,
6026
+ anon_sym_DASH,
6027
+ ACTIONS(325), 1,
6028
+ anon_sym_BANG,
6029
+ ACTIONS(329), 1,
6030
+ anon_sym_todo,
6031
+ ACTIONS(331), 1,
6032
+ anon_sym_panic,
6033
+ ACTIONS(335), 1,
6034
+ anon_sym_DQUOTE,
6035
+ ACTIONS(339), 1,
6036
+ sym__decimal,
6037
+ ACTIONS(457), 1,
6038
+ sym_float,
6039
+ ACTIONS(459), 1,
6040
+ sym_identifier,
6041
+ ACTIONS(337), 3,
6042
+ sym__hex,
6043
+ sym__octal,
6044
+ sym__binary,
6045
+ STATE(56), 8,
6046
+ sym_record,
6047
+ sym__expression_unit,
6048
+ sym_expression_group,
6049
+ sym_negation,
6050
+ sym_todo,
6051
+ sym_panic,
6052
+ sym_integer,
6053
+ sym_string,
6054
+ [4561] = 12,
6055
+ ACTIONS(169), 1,
6056
+ anon_sym_LBRACE,
6057
+ ACTIONS(176), 1,
6058
+ anon_sym_DASH,
6059
+ ACTIONS(178), 1,
6060
+ anon_sym_BANG,
6061
+ ACTIONS(182), 1,
6062
+ anon_sym_todo,
6063
+ ACTIONS(184), 1,
6064
+ anon_sym_panic,
6065
+ ACTIONS(188), 1,
6066
+ anon_sym_DQUOTE,
6067
+ ACTIONS(192), 1,
6068
+ sym__decimal,
6069
+ ACTIONS(381), 1,
6070
+ anon_sym_record,
6071
+ ACTIONS(461), 1,
6072
+ sym_float,
6073
+ ACTIONS(463), 1,
6074
+ sym_identifier,
6075
+ ACTIONS(190), 3,
6076
+ sym__hex,
6077
+ sym__octal,
6078
+ sym__binary,
6079
+ STATE(20), 8,
6080
+ sym_record,
6081
+ sym__expression_unit,
6082
+ sym_expression_group,
6083
+ sym_negation,
6084
+ sym_todo,
6085
+ sym_panic,
6086
+ sym_integer,
6087
+ sym_string,
6088
+ [4607] = 2,
6089
+ ACTIONS(465), 8,
909
6090
  ts_builtin_sym_end,
910
- anon_sym_import,
911
- anon_sym_as,
912
- anon_sym_COMMA,
913
- anon_sym_RBRACE,
6091
+ anon_sym_LBRACE,
6092
+ anon_sym_BANG,
6093
+ sym_float,
6094
+ anon_sym_DQUOTE,
6095
+ sym__hex,
6096
+ sym__octal,
6097
+ sym__binary,
6098
+ ACTIONS(467), 8,
914
6099
  anon_sym_record,
915
6100
  anon_sym_type,
6101
+ anon_sym_DASH,
6102
+ anon_sym_let,
6103
+ anon_sym_todo,
6104
+ anon_sym_panic,
6105
+ sym__decimal,
6106
+ sym_identifier,
6107
+ [4628] = 2,
6108
+ ACTIONS(467), 7,
6109
+ anon_sym_record,
6110
+ anon_sym_DASH,
6111
+ anon_sym_let,
6112
+ anon_sym_todo,
6113
+ anon_sym_panic,
6114
+ sym__decimal,
6115
+ sym_identifier,
6116
+ ACTIONS(465), 8,
6117
+ anon_sym_LBRACE,
916
- anon_sym_RPAREN,
6118
+ anon_sym_RBRACE,
6119
+ anon_sym_BANG,
6120
+ sym_float,
917
- anon_sym_COLON,
6121
+ anon_sym_DQUOTE,
6122
+ sym__hex,
6123
+ sym__octal,
6124
+ sym__binary,
918
- [12] = 6,
6125
+ [4648] = 9,
6126
+ ACTIONS(469), 1,
6127
+ anon_sym_DASH,
919
- ACTIONS(7), 1,
6128
+ ACTIONS(471), 1,
6129
+ sym_float,
6130
+ ACTIONS(475), 1,
6131
+ sym__decimal,
6132
+ ACTIONS(477), 1,
6133
+ sym_identifier,
6134
+ STATE(103), 1,
6135
+ sym__assignment,
6136
+ STATE(153), 1,
6137
+ sym__pattern_binary_expression,
6138
+ STATE(174), 1,
6139
+ sym__pattern,
6140
+ STATE(164), 2,
6141
+ sym__pattern_expression,
6142
+ sym_integer,
6143
+ ACTIONS(473), 3,
6144
+ sym__hex,
6145
+ sym__octal,
6146
+ sym__binary,
6147
+ [4679] = 9,
6148
+ ACTIONS(469), 1,
6149
+ anon_sym_DASH,
6150
+ ACTIONS(471), 1,
6151
+ sym_float,
6152
+ ACTIONS(475), 1,
6153
+ sym__decimal,
6154
+ ACTIONS(477), 1,
6155
+ sym_identifier,
6156
+ STATE(102), 1,
6157
+ sym__assignment,
6158
+ STATE(153), 1,
6159
+ sym__pattern_binary_expression,
6160
+ STATE(185), 1,
6161
+ sym__pattern,
6162
+ STATE(164), 2,
6163
+ sym__pattern_expression,
6164
+ sym_integer,
6165
+ ACTIONS(473), 3,
6166
+ sym__hex,
6167
+ sym__octal,
6168
+ sym__binary,
6169
+ [4710] = 7,
6170
+ ACTIONS(479), 1,
920
6171
  ts_builtin_sym_end,
921
- ACTIONS(9), 1,
6172
+ ACTIONS(481), 1,
922
6173
  anon_sym_import,
923
- ACTIONS(11), 1,
6174
+ ACTIONS(483), 1,
924
6175
  anon_sym_record,
925
- ACTIONS(13), 1,
6176
+ ACTIONS(485), 1,
926
6177
  anon_sym_type,
6178
+ ACTIONS(487), 1,
6179
+ sym_identifier,
927
- STATE(5), 2,
6180
+ STATE(122), 2,
928
6181
  sym_import,
929
6182
  aux_sym_source_file_repeat1,
930
- STATE(16), 3,
6183
+ STATE(116), 4,
931
6184
  sym_record,
932
6185
  sym_type,
6186
+ sym_proc,
933
6187
  aux_sym_source_file_repeat2,
934
- [34] = 7,
6188
+ [4736] = 7,
935
- ACTIONS(15), 1,
936
- ts_builtin_sym_end,
937
- ACTIONS(19), 1,
938
- anon_sym_LPAREN,
939
- ACTIONS(21), 1,
6189
+ ACTIONS(481), 1,
940
- aux_sym_identifier_token1,
941
- STATE(12), 1,
942
- sym_generic_list,
943
- STATE(83), 1,
944
- sym_identifier,
945
- ACTIONS(17), 2,
946
- anon_sym_record,
947
- anon_sym_type,
948
- STATE(11), 2,
949
- sym_type_field,
950
- aux_sym_record_repeat1,
951
- [58] = 6,
952
- ACTIONS(9), 1,
953
6190
  anon_sym_import,
954
- ACTIONS(11), 1,
6191
+ ACTIONS(483), 1,
955
6192
  anon_sym_record,
956
- ACTIONS(13), 1,
6193
+ ACTIONS(485), 1,
957
6194
  anon_sym_type,
958
- ACTIONS(23), 1,
6195
+ ACTIONS(487), 1,
6196
+ sym_identifier,
6197
+ ACTIONS(489), 1,
959
6198
  ts_builtin_sym_end,
960
- STATE(20), 2,
6199
+ STATE(106), 2,
961
6200
  sym_import,
962
6201
  aux_sym_source_file_repeat1,
963
- STATE(21), 3,
6202
+ STATE(113), 4,
964
6203
  sym_record,
965
6204
  sym_type,
6205
+ sym_proc,
966
6206
  aux_sym_source_file_repeat2,
967
- [80] = 3,
6207
+ [4762] = 7,
6208
+ ACTIONS(469), 1,
6209
+ anon_sym_DASH,
968
- ACTIONS(27), 1,
6210
+ ACTIONS(475), 1,
6211
+ sym__decimal,
6212
+ ACTIONS(491), 1,
969
- anon_sym_SLASH,
6213
+ sym_float,
6214
+ ACTIONS(493), 1,
6215
+ sym_identifier,
970
- STATE(9), 1,
6216
+ STATE(153), 1,
6217
+ sym__pattern_binary_expression,
6218
+ STATE(158), 2,
971
- aux_sym_module_name_repeat1,
6219
+ sym__pattern_expression,
6220
+ sym_integer,
6221
+ ACTIONS(473), 3,
6222
+ sym__hex,
6223
+ sym__octal,
6224
+ sym__binary,
6225
+ [4787] = 2,
972
- ACTIONS(25), 6,
6226
+ ACTIONS(49), 3,
973
- ts_builtin_sym_end,
974
- anon_sym_import,
975
- anon_sym_DOT,
976
- anon_sym_as,
977
6227
  anon_sym_record,
978
6228
  anon_sym_type,
979
- [95] = 1,
6229
+ sym_identifier,
980
- ACTIONS(29), 8,
6230
+ ACTIONS(47), 6,
981
6231
  ts_builtin_sym_end,
982
- anon_sym_as,
983
6232
  anon_sym_COMMA,
984
6233
  anon_sym_RBRACE,
985
- anon_sym_record,
986
- anon_sym_type,
6234
+ anon_sym_EQ,
987
6235
  anon_sym_PIPE,
988
6236
  anon_sym_LPAREN,
989
- [106] = 3,
6237
+ [4801] = 4,
990
- ACTIONS(27), 1,
6238
+ ACTIONS(499), 1,
991
6239
  anon_sym_SLASH,
992
- STATE(6), 1,
6240
+ STATE(111), 1,
993
6241
  aux_sym_module_name_repeat1,
994
- ACTIONS(31), 6,
6242
+ ACTIONS(495), 2,
995
6243
  ts_builtin_sym_end,
996
- anon_sym_import,
997
6244
  anon_sym_DOT,
6245
+ ACTIONS(497), 5,
6246
+ anon_sym_import,
998
6247
  anon_sym_as,
999
6248
  anon_sym_record,
1000
6249
  anon_sym_type,
6250
+ sym_identifier,
1001
- [121] = 3,
6251
+ [4819] = 4,
1002
- ACTIONS(35), 1,
6252
+ ACTIONS(499), 1,
1003
6253
  anon_sym_SLASH,
1004
- STATE(9), 1,
6254
+ STATE(112), 1,
1005
6255
  aux_sym_module_name_repeat1,
1006
- ACTIONS(33), 6,
6256
+ ACTIONS(501), 2,
1007
6257
  ts_builtin_sym_end,
1008
- anon_sym_import,
1009
6258
  anon_sym_DOT,
6259
+ ACTIONS(503), 5,
6260
+ anon_sym_import,
1010
6261
  anon_sym_as,
1011
6262
  anon_sym_record,
1012
6263
  anon_sym_type,
1013
- [136] = 2,
1014
- ACTIONS(38), 3,
1015
- anon_sym_record,
1016
- anon_sym_type,
1017
- aux_sym_identifier_token1,
1018
- ACTIONS(29), 5,
1019
- ts_builtin_sym_end,
1020
- anon_sym_COMMA,
1021
- anon_sym_RBRACE,
1022
- anon_sym_EQ,
1023
- anon_sym_LPAREN,
1024
- [149] = 5,
1025
- ACTIONS(21), 1,
1026
- aux_sym_identifier_token1,
1027
- ACTIONS(40), 1,
1028
- ts_builtin_sym_end,
1029
- STATE(83), 1,
1030
6264
  sym_identifier,
6265
+ [4837] = 4,
6266
+ ACTIONS(509), 1,
6267
+ anon_sym_SLASH,
6268
+ STATE(112), 1,
6269
+ aux_sym_module_name_repeat1,
1031
- ACTIONS(42), 2,
6270
+ ACTIONS(505), 2,
6271
+ ts_builtin_sym_end,
6272
+ anon_sym_DOT,
6273
+ ACTIONS(507), 5,
6274
+ anon_sym_import,
6275
+ anon_sym_as,
1032
6276
  anon_sym_record,
1033
6277
  anon_sym_type,
1034
- STATE(13), 2,
1035
- sym_type_field,
1036
- aux_sym_record_repeat1,
1037
- [167] = 5,
1038
- ACTIONS(21), 1,
1039
- aux_sym_identifier_token1,
1040
- ACTIONS(44), 1,
1041
- ts_builtin_sym_end,
1042
- STATE(83), 1,
1043
6278
  sym_identifier,
6279
+ [4855] = 5,
1044
- ACTIONS(46), 2,
6280
+ ACTIONS(479), 1,
6281
+ ts_builtin_sym_end,
6282
+ ACTIONS(483), 1,
1045
6283
  anon_sym_record,
6284
+ ACTIONS(485), 1,
1046
6285
  anon_sym_type,
1047
- STATE(15), 2,
1048
- sym_type_field,
1049
- aux_sym_record_repeat1,
1050
- [185] = 5,
1051
- ACTIONS(48), 1,
6286
+ ACTIONS(487), 1,
6287
+ sym_identifier,
6288
+ STATE(117), 4,
6289
+ sym_record,
6290
+ sym_type,
6291
+ sym_proc,
6292
+ aux_sym_source_file_repeat2,
6293
+ [4874] = 6,
6294
+ ACTIONS(5), 1,
1052
6295
  ts_builtin_sym_end,
1053
- ACTIONS(52), 1,
6296
+ ACTIONS(512), 1,
1054
- aux_sym_identifier_token1,
6297
+ anon_sym_LPAREN,
1055
- STATE(83), 1,
6298
+ ACTIONS(514), 1,
1056
6299
  sym_identifier,
6300
+ STATE(138), 1,
6301
+ sym_generic_list,
1057
- ACTIONS(50), 2,
6302
+ ACTIONS(7), 2,
1058
6303
  anon_sym_record,
1059
6304
  anon_sym_type,
1060
- STATE(13), 2,
6305
+ STATE(139), 2,
1061
6306
  sym_type_field,
1062
6307
  aux_sym_record_repeat1,
1063
- [203] = 1,
6308
+ [4895] = 2,
1064
- ACTIONS(33), 7,
6309
+ ACTIONS(505), 3,
1065
6310
  ts_builtin_sym_end,
1066
- anon_sym_import,
1067
6311
  anon_sym_DOT,
1068
- anon_sym_as,
1069
6312
  anon_sym_SLASH,
6313
+ ACTIONS(507), 5,
6314
+ anon_sym_import,
6315
+ anon_sym_as,
1070
6316
  anon_sym_record,
1071
6317
  anon_sym_type,
1072
- [213] = 5,
1073
- ACTIONS(21), 1,
1074
- aux_sym_identifier_token1,
1075
- ACTIONS(55), 1,
1076
- ts_builtin_sym_end,
1077
- STATE(83), 1,
1078
6318
  sym_identifier,
6319
+ [4908] = 5,
1079
- ACTIONS(57), 2,
6320
+ ACTIONS(483), 1,
1080
6321
  anon_sym_record,
6322
+ ACTIONS(485), 1,
1081
6323
  anon_sym_type,
1082
- STATE(13), 2,
6324
+ ACTIONS(487), 1,
1083
- sym_type_field,
6325
+ sym_identifier,
1084
- aux_sym_record_repeat1,
1085
- [231] = 4,
1086
- ACTIONS(11), 1,
6326
+ ACTIONS(517), 1,
6327
+ ts_builtin_sym_end,
6328
+ STATE(117), 4,
6329
+ sym_record,
6330
+ sym_type,
6331
+ sym_proc,
6332
+ aux_sym_source_file_repeat2,
6333
+ [4927] = 5,
6334
+ ACTIONS(519), 1,
6335
+ ts_builtin_sym_end,
6336
+ ACTIONS(521), 1,
1087
6337
  anon_sym_record,
1088
- ACTIONS(13), 1,
6338
+ ACTIONS(524), 1,
1089
6339
  anon_sym_type,
1090
- ACTIONS(23), 1,
6340
+ ACTIONS(527), 1,
1091
- ts_builtin_sym_end,
6341
+ sym_identifier,
1092
- STATE(22), 3,
6342
+ STATE(117), 4,
1093
6343
  sym_record,
1094
6344
  sym_type,
6345
+ sym_proc,
1095
6346
  aux_sym_source_file_repeat2,
1096
- [246] = 3,
6347
+ [4946] = 4,
1097
- ACTIONS(61), 1,
6348
+ ACTIONS(501), 1,
6349
+ ts_builtin_sym_end,
6350
+ ACTIONS(530), 1,
6351
+ anon_sym_SLASH,
6352
+ STATE(121), 1,
6353
+ aux_sym_module_name_repeat1,
6354
+ ACTIONS(503), 4,
6355
+ anon_sym_import,
6356
+ anon_sym_record,
6357
+ anon_sym_type,
6358
+ sym_identifier,
6359
+ [4962] = 4,
6360
+ ACTIONS(532), 1,
6361
+ ts_builtin_sym_end,
6362
+ ACTIONS(536), 1,
1098
6363
  anon_sym_DOT,
1099
- ACTIONS(63), 1,
6364
+ ACTIONS(538), 1,
1100
6365
  anon_sym_as,
1101
- ACTIONS(59), 4,
6366
+ ACTIONS(534), 4,
6367
+ anon_sym_import,
6368
+ anon_sym_record,
6369
+ anon_sym_type,
6370
+ sym_identifier,
6371
+ [4978] = 4,
6372
+ ACTIONS(495), 1,
1102
6373
  ts_builtin_sym_end,
6374
+ ACTIONS(530), 1,
6375
+ anon_sym_SLASH,
6376
+ STATE(118), 1,
6377
+ aux_sym_module_name_repeat1,
6378
+ ACTIONS(497), 4,
1103
6379
  anon_sym_import,
1104
6380
  anon_sym_record,
1105
6381
  anon_sym_type,
6382
+ sym_identifier,
1106
- [259] = 2,
6383
+ [4994] = 4,
1107
- ACTIONS(65), 3,
6384
+ ACTIONS(505), 1,
1108
6385
  ts_builtin_sym_end,
1109
- anon_sym_COMMA,
6386
+ ACTIONS(540), 1,
1110
- anon_sym_RPAREN,
6387
+ anon_sym_SLASH,
6388
+ STATE(121), 1,
6389
+ aux_sym_module_name_repeat1,
1111
- ACTIONS(67), 3,
6390
+ ACTIONS(507), 4,
6391
+ anon_sym_import,
1112
6392
  anon_sym_record,
1113
6393
  anon_sym_type,
1114
- aux_sym_identifier_token1,
1115
- [270] = 6,
1116
- ACTIONS(69), 1,
1117
- anon_sym_RBRACE,
1118
- ACTIONS(71), 1,
1119
- aux_sym_identifier_token1,
1120
- ACTIONS(73), 1,
1121
- sym__upname,
1122
- STATE(46), 1,
1123
- sym_type_identifier,
1124
- STATE(56), 1,
1125
6394
  sym_identifier,
1126
- STATE(60), 1,
1127
- sym_unqualified_import,
1128
- [289] = 3,
6395
+ [5010] = 4,
1129
- ACTIONS(77), 1,
6396
+ ACTIONS(543), 1,
6397
+ ts_builtin_sym_end,
6398
+ ACTIONS(545), 1,
1130
6399
  anon_sym_import,
1131
- STATE(20), 2,
6400
+ STATE(122), 2,
1132
6401
  sym_import,
1133
6402
  aux_sym_source_file_repeat1,
1134
- ACTIONS(75), 3,
6403
+ ACTIONS(548), 3,
1135
- ts_builtin_sym_end,
1136
6404
  anon_sym_record,
1137
6405
  anon_sym_type,
6406
+ sym_identifier,
1138
- [302] = 4,
6407
+ [5026] = 4,
1139
- ACTIONS(11), 1,
6408
+ ACTIONS(550), 1,
6409
+ ts_builtin_sym_end,
6410
+ ACTIONS(554), 1,
6411
+ anon_sym_PIPE,
6412
+ STATE(124), 1,
6413
+ aux_sym_type_repeat1,
6414
+ ACTIONS(552), 3,
1140
6415
  anon_sym_record,
1141
- ACTIONS(13), 1,
1142
6416
  anon_sym_type,
6417
+ sym_identifier,
6418
+ [5041] = 4,
1143
- ACTIONS(80), 1,
6419
+ ACTIONS(554), 1,
1144
- ts_builtin_sym_end,
1145
- STATE(22), 3,
1146
- sym_record,
1147
- sym_type,
6420
+ anon_sym_PIPE,
1148
- aux_sym_source_file_repeat2,
1149
- [317] = 4,
1150
- ACTIONS(82), 1,
6421
+ ACTIONS(556), 1,
1151
6422
  ts_builtin_sym_end,
6423
+ STATE(132), 1,
6424
+ aux_sym_type_repeat1,
1152
- ACTIONS(84), 1,
6425
+ ACTIONS(558), 3,
1153
6426
  anon_sym_record,
1154
- ACTIONS(87), 1,
1155
6427
  anon_sym_type,
1156
- STATE(22), 3,
1157
- sym_record,
1158
- sym_type,
1159
- aux_sym_source_file_repeat2,
1160
- [332] = 6,
1161
- ACTIONS(71), 1,
1162
- aux_sym_identifier_token1,
1163
- ACTIONS(73), 1,
1164
- sym__upname,
1165
- ACTIONS(90), 1,
1166
- anon_sym_RBRACE,
1167
- STATE(46), 1,
1168
- sym_type_identifier,
1169
- STATE(56), 1,
1170
6428
  sym_identifier,
1171
- STATE(70), 1,
1172
- sym_unqualified_import,
1173
- [351] = 6,
6429
+ [5056] = 2,
1174
- ACTIONS(71), 1,
6430
+ ACTIONS(560), 1,
1175
- aux_sym_identifier_token1,
6431
+ ts_builtin_sym_end,
1176
- ACTIONS(73), 1,
1177
- sym__upname,
1178
- ACTIONS(92), 1,
6432
+ ACTIONS(562), 5,
1179
- anon_sym_RBRACE,
6433
+ anon_sym_import,
1180
- STATE(46), 1,
6434
+ anon_sym_as,
6435
+ anon_sym_record,
1181
- sym_type_identifier,
6436
+ anon_sym_type,
1182
- STATE(56), 1,
1183
6437
  sym_identifier,
1184
- STATE(70), 1,
1185
- sym_unqualified_import,
1186
- [370] = 3,
6438
+ [5067] = 4,
1187
- ACTIONS(96), 1,
6439
+ ACTIONS(554), 1,
1188
6440
  anon_sym_PIPE,
6441
+ ACTIONS(564), 1,
6442
+ ts_builtin_sym_end,
1189
- STATE(31), 1,
6443
+ STATE(132), 1,
1190
6444
  aux_sym_type_repeat1,
6445
+ ACTIONS(566), 3,
6446
+ anon_sym_record,
6447
+ anon_sym_type,
6448
+ sym_identifier,
6449
+ [5082] = 2,
1191
- ACTIONS(94), 3,
6450
+ ACTIONS(143), 3,
1192
6451
  ts_builtin_sym_end,
6452
+ anon_sym_COMMA,
6453
+ anon_sym_RPAREN,
6454
+ ACTIONS(145), 3,
1193
6455
  anon_sym_record,
1194
6456
  anon_sym_type,
6457
+ sym_identifier,
1195
- [382] = 1,
6458
+ [5093] = 2,
1196
- ACTIONS(98), 5,
6459
+ ACTIONS(568), 1,
1197
6460
  ts_builtin_sym_end,
6461
+ ACTIONS(570), 5,
1198
6462
  anon_sym_import,
1199
6463
  anon_sym_as,
1200
6464
  anon_sym_record,
1201
6465
  anon_sym_type,
6466
+ sym_identifier,
1202
- [390] = 3,
6467
+ [5104] = 3,
1203
- ACTIONS(96), 1,
6468
+ ACTIONS(576), 1,
1204
- anon_sym_PIPE,
6469
+ anon_sym_LPAREN,
1205
- STATE(25), 1,
1206
- aux_sym_type_repeat1,
1207
- ACTIONS(100), 3,
6470
+ ACTIONS(572), 2,
1208
6471
  ts_builtin_sym_end,
6472
+ anon_sym_PIPE,
6473
+ ACTIONS(574), 3,
1209
6474
  anon_sym_record,
1210
6475
  anon_sym_type,
6476
+ sym_identifier,
1211
- [402] = 2,
6477
+ [5117] = 2,
1212
- ACTIONS(102), 2,
6478
+ ACTIONS(578), 1,
1213
6479
  ts_builtin_sym_end,
6480
+ ACTIONS(580), 5,
6481
+ anon_sym_import,
1214
- anon_sym_EQ,
6482
+ anon_sym_as,
1215
- ACTIONS(104), 3,
1216
6483
  anon_sym_record,
1217
6484
  anon_sym_type,
1218
- aux_sym_identifier_token1,
1219
- [412] = 5,
1220
- ACTIONS(71), 1,
1221
- aux_sym_identifier_token1,
1222
- ACTIONS(73), 1,
1223
- sym__upname,
1224
- STATE(46), 1,
1225
- sym_type_identifier,
1226
- STATE(56), 1,
1227
6485
  sym_identifier,
1228
- STATE(70), 1,
1229
- sym_unqualified_import,
1230
- [428] = 3,
6486
+ [5128] = 4,
1231
- ACTIONS(96), 1,
6487
+ ACTIONS(554), 1,
1232
6488
  anon_sym_PIPE,
1233
- STATE(31), 1,
1234
- aux_sym_type_repeat1,
1235
- ACTIONS(106), 3,
6489
+ ACTIONS(582), 1,
1236
6490
  ts_builtin_sym_end,
6491
+ STATE(126), 1,
6492
+ aux_sym_type_repeat1,
6493
+ ACTIONS(584), 3,
1237
6494
  anon_sym_record,
1238
6495
  anon_sym_type,
6496
+ sym_identifier,
1239
- [440] = 3,
6497
+ [5143] = 4,
6498
+ ACTIONS(586), 1,
6499
+ ts_builtin_sym_end,
1240
- ACTIONS(110), 1,
6500
+ ACTIONS(590), 1,
1241
6501
  anon_sym_PIPE,
1242
- STATE(31), 1,
6502
+ STATE(132), 1,
1243
6503
  aux_sym_type_repeat1,
1244
- ACTIONS(108), 3,
6504
+ ACTIONS(588), 3,
6505
+ anon_sym_record,
6506
+ anon_sym_type,
6507
+ sym_identifier,
6508
+ [5158] = 2,
6509
+ ACTIONS(593), 1,
1245
6510
  ts_builtin_sym_end,
6511
+ ACTIONS(595), 5,
6512
+ anon_sym_import,
6513
+ anon_sym_as,
1246
6514
  anon_sym_record,
1247
6515
  anon_sym_type,
6516
+ sym_identifier,
1248
- [452] = 3,
6517
+ [5169] = 4,
1249
- ACTIONS(96), 1,
6518
+ ACTIONS(19), 1,
1250
- anon_sym_PIPE,
1251
- STATE(30), 1,
1252
- aux_sym_type_repeat1,
1253
- ACTIONS(113), 3,
1254
6519
  ts_builtin_sym_end,
6520
+ ACTIONS(597), 1,
6521
+ sym_identifier,
6522
+ ACTIONS(21), 2,
1255
6523
  anon_sym_record,
1256
6524
  anon_sym_type,
6525
+ STATE(134), 2,
6526
+ sym_type_field,
6527
+ aux_sym_record_repeat1,
1257
- [464] = 2,
6528
+ [5184] = 2,
1258
- ACTIONS(117), 1,
1259
- anon_sym_as,
1260
- ACTIONS(115), 4,
6529
+ ACTIONS(505), 2,
1261
6530
  ts_builtin_sym_end,
6531
+ anon_sym_SLASH,
6532
+ ACTIONS(507), 4,
1262
6533
  anon_sym_import,
1263
6534
  anon_sym_record,
1264
6535
  anon_sym_type,
6536
+ sym_identifier,
1265
- [474] = 2,
6537
+ [5195] = 4,
1266
- ACTIONS(119), 2,
6538
+ ACTIONS(26), 1,
1267
6539
  ts_builtin_sym_end,
6540
+ ACTIONS(600), 1,
1268
- anon_sym_EQ,
6541
+ sym_identifier,
1269
- ACTIONS(121), 3,
6542
+ ACTIONS(28), 2,
1270
6543
  anon_sym_record,
1271
6544
  anon_sym_type,
6545
+ STATE(134), 2,
6546
+ sym_type_field,
1272
- aux_sym_identifier_token1,
6547
+ aux_sym_record_repeat1,
1273
- [484] = 1,
6548
+ [5210] = 3,
1274
- ACTIONS(123), 5,
6549
+ ACTIONS(603), 1,
1275
6550
  ts_builtin_sym_end,
1276
- anon_sym_import,
6551
+ ACTIONS(607), 1,
1277
6552
  anon_sym_as,
6553
+ ACTIONS(605), 4,
6554
+ anon_sym_import,
1278
6555
  anon_sym_record,
1279
6556
  anon_sym_type,
6557
+ sym_identifier,
1280
- [492] = 2,
6558
+ [5223] = 4,
1281
- ACTIONS(127), 1,
6559
+ ACTIONS(40), 1,
1282
- anon_sym_LPAREN,
1283
- ACTIONS(125), 4,
1284
6560
  ts_builtin_sym_end,
6561
+ ACTIONS(609), 1,
6562
+ sym_identifier,
6563
+ ACTIONS(42), 2,
1285
6564
  anon_sym_record,
1286
6565
  anon_sym_type,
6566
+ STATE(136), 2,
1287
- anon_sym_PIPE,
6567
+ sym_type_field,
6568
+ aux_sym_record_repeat1,
1288
- [502] = 1,
6569
+ [5238] = 4,
1289
- ACTIONS(129), 5,
6570
+ ACTIONS(33), 1,
1290
6571
  ts_builtin_sym_end,
6572
+ ACTIONS(612), 1,
1291
- anon_sym_import,
6573
+ sym_identifier,
1292
- anon_sym_as,
6574
+ ACTIONS(35), 2,
1293
6575
  anon_sym_record,
1294
6576
  anon_sym_type,
6577
+ STATE(134), 2,
6578
+ sym_type_field,
6579
+ aux_sym_record_repeat1,
1295
- [510] = 1,
6580
+ [5253] = 2,
1296
- ACTIONS(131), 5,
6581
+ ACTIONS(615), 2,
1297
6582
  ts_builtin_sym_end,
1298
- anon_sym_import,
1299
- anon_sym_as,
6583
+ anon_sym_PIPE,
6584
+ ACTIONS(617), 3,
1300
6585
  anon_sym_record,
1301
6586
  anon_sym_type,
6587
+ sym_identifier,
1302
- [518] = 1,
6588
+ [5263] = 5,
1303
- ACTIONS(108), 4,
6589
+ ACTIONS(619), 1,
6590
+ anon_sym_RBRACE,
6591
+ ACTIONS(621), 1,
6592
+ sym_identifier,
6593
+ ACTIONS(623), 1,
6594
+ sym__upname,
6595
+ STATE(187), 1,
6596
+ sym_type_identifier,
6597
+ STATE(188), 1,
6598
+ sym_unqualified_import,
6599
+ [5279] = 2,
6600
+ ACTIONS(625), 2,
1304
6601
  ts_builtin_sym_end,
6602
+ anon_sym_PIPE,
6603
+ ACTIONS(627), 3,
1305
6604
  anon_sym_record,
1306
6605
  anon_sym_type,
1307
- anon_sym_PIPE,
6606
+ sym_identifier,
1308
- [525] = 1,
6607
+ [5289] = 2,
1309
- ACTIONS(133), 4,
6608
+ ACTIONS(629), 1,
1310
6609
  ts_builtin_sym_end,
6610
+ ACTIONS(631), 4,
1311
6611
  anon_sym_import,
1312
6612
  anon_sym_record,
1313
6613
  anon_sym_type,
6614
+ sym_identifier,
1314
- [532] = 1,
6615
+ [5299] = 2,
1315
- ACTIONS(135), 4,
6616
+ ACTIONS(139), 2,
1316
6617
  ts_builtin_sym_end,
1317
- anon_sym_import,
6618
+ anon_sym_EQ,
6619
+ ACTIONS(141), 3,
1318
6620
  anon_sym_record,
1319
6621
  anon_sym_type,
6622
+ sym_identifier,
1320
- [539] = 2,
6623
+ [5309] = 2,
1321
- ACTIONS(5), 1,
6624
+ ACTIONS(633), 1,
1322
6625
  ts_builtin_sym_end,
1323
- ACTIONS(137), 3,
6626
+ ACTIONS(635), 4,
6627
+ anon_sym_import,
1324
6628
  anon_sym_record,
1325
6629
  anon_sym_type,
1326
- aux_sym_identifier_token1,
6630
+ sym_identifier,
1327
- [548] = 1,
6631
+ [5319] = 5,
6632
+ ACTIONS(621), 1,
6633
+ sym_identifier,
6634
+ ACTIONS(623), 1,
6635
+ sym__upname,
1328
- ACTIONS(139), 4,
6636
+ ACTIONS(637), 1,
6637
+ anon_sym_RBRACE,
6638
+ STATE(187), 1,
6639
+ sym_type_identifier,
6640
+ STATE(203), 1,
6641
+ sym_unqualified_import,
6642
+ [5335] = 2,
6643
+ ACTIONS(127), 2,
1329
6644
  ts_builtin_sym_end,
6645
+ anon_sym_EQ,
6646
+ ACTIONS(129), 3,
1330
6647
  anon_sym_record,
1331
6648
  anon_sym_type,
1332
- anon_sym_PIPE,
6649
+ sym_identifier,
1333
- [555] = 1,
6650
+ [5345] = 5,
6651
+ ACTIONS(621), 1,
6652
+ sym_identifier,
6653
+ ACTIONS(623), 1,
6654
+ sym__upname,
6655
+ ACTIONS(639), 1,
6656
+ anon_sym_RBRACE,
6657
+ STATE(187), 1,
6658
+ sym_type_identifier,
6659
+ STATE(203), 1,
6660
+ sym_unqualified_import,
6661
+ [5361] = 2,
1334
- ACTIONS(141), 4,
6662
+ ACTIONS(641), 1,
1335
6663
  ts_builtin_sym_end,
6664
+ ACTIONS(643), 4,
1336
6665
  anon_sym_import,
1337
6666
  anon_sym_record,
1338
6667
  anon_sym_type,
6668
+ sym_identifier,
1339
- [562] = 1,
6669
+ [5371] = 2,
1340
- ACTIONS(143), 4,
6670
+ ACTIONS(586), 2,
1341
6671
  ts_builtin_sym_end,
6672
+ anon_sym_PIPE,
6673
+ ACTIONS(588), 3,
1342
6674
  anon_sym_record,
1343
6675
  anon_sym_type,
1344
- anon_sym_PIPE,
6676
+ sym_identifier,
1345
- [569] = 2,
6677
+ [5381] = 3,
1346
- ACTIONS(145), 1,
6678
+ ACTIONS(645), 1,
6679
+ anon_sym_DQUOTE2,
6680
+ STATE(151), 1,
6681
+ aux_sym_string_repeat1,
6682
+ ACTIONS(647), 2,
6683
+ sym_quoted_content,
6684
+ sym_escape_sequence,
6685
+ [5392] = 4,
6686
+ ACTIONS(621), 1,
6687
+ sym_identifier,
6688
+ ACTIONS(623), 1,
6689
+ sym__upname,
6690
+ STATE(187), 1,
6691
+ sym_type_identifier,
6692
+ STATE(203), 1,
6693
+ sym_unqualified_import,
6694
+ [5405] = 1,
6695
+ ACTIONS(650), 4,
6696
+ anon_sym_as,
6697
+ anon_sym_EQ,
6698
+ anon_sym_LT_GT,
6699
+ anon_sym_COLON,
6700
+ [5412] = 2,
6701
+ ACTIONS(654), 1,
6702
+ sym__decimal,
6703
+ ACTIONS(652), 3,
6704
+ sym__hex,
6705
+ sym__octal,
6706
+ sym__binary,
6707
+ [5421] = 3,
6708
+ ACTIONS(656), 1,
6709
+ anon_sym_DQUOTE2,
6710
+ STATE(162), 1,
6711
+ aux_sym_string_repeat1,
6712
+ ACTIONS(658), 2,
6713
+ sym_quoted_content,
6714
+ sym_escape_sequence,
6715
+ [5432] = 4,
6716
+ ACTIONS(660), 1,
6717
+ anon_sym_EQ,
6718
+ ACTIONS(662), 1,
6719
+ sym__upname,
6720
+ STATE(216), 1,
6721
+ sym_type_identifier,
6722
+ STATE(230), 1,
6723
+ sym_return_type,
6724
+ [5445] = 1,
6725
+ ACTIONS(107), 4,
6726
+ anon_sym_as,
6727
+ anon_sym_EQ,
6728
+ anon_sym_LT_GT,
6729
+ anon_sym_COLON,
6730
+ [5452] = 1,
6731
+ ACTIONS(664), 4,
6732
+ anon_sym_as,
6733
+ anon_sym_EQ,
6734
+ anon_sym_LT_GT,
6735
+ anon_sym_COLON,
6736
+ [5459] = 1,
6737
+ ACTIONS(119), 4,
6738
+ anon_sym_as,
6739
+ anon_sym_EQ,
6740
+ anon_sym_LT_GT,
6741
+ anon_sym_COLON,
6742
+ [5466] = 3,
6743
+ ACTIONS(666), 1,
6744
+ anon_sym_DQUOTE2,
6745
+ STATE(151), 1,
6746
+ aux_sym_string_repeat1,
6747
+ ACTIONS(668), 2,
6748
+ sym_quoted_content,
6749
+ sym_escape_sequence,
6750
+ [5477] = 2,
6751
+ ACTIONS(672), 1,
6752
+ sym__decimal,
6753
+ ACTIONS(670), 3,
6754
+ sym__hex,
6755
+ sym__octal,
6756
+ sym__binary,
6757
+ [5486] = 3,
6758
+ ACTIONS(674), 1,
6759
+ anon_sym_DQUOTE2,
6760
+ STATE(151), 1,
6761
+ aux_sym_string_repeat1,
6762
+ ACTIONS(668), 2,
6763
+ sym_quoted_content,
6764
+ sym_escape_sequence,
6765
+ [5497] = 4,
6766
+ ACTIONS(662), 1,
6767
+ sym__upname,
6768
+ ACTIONS(676), 1,
6769
+ anon_sym_EQ,
6770
+ STATE(216), 1,
6771
+ sym_type_identifier,
6772
+ STATE(245), 1,
6773
+ sym_return_type,
6774
+ [5510] = 3,
6775
+ ACTIONS(678), 1,
1347
6776
  anon_sym_as,
6777
+ ACTIONS(682), 1,
6778
+ anon_sym_LT_GT,
1348
- ACTIONS(147), 2,
6779
+ ACTIONS(680), 2,
6780
+ anon_sym_EQ,
6781
+ anon_sym_COLON,
6782
+ [5521] = 3,
6783
+ ACTIONS(684), 1,
6784
+ anon_sym_DQUOTE2,
6785
+ STATE(160), 1,
6786
+ aux_sym_string_repeat1,
6787
+ ACTIONS(686), 2,
6788
+ sym_quoted_content,
6789
+ sym_escape_sequence,
6790
+ [5532] = 4,
6791
+ ACTIONS(662), 1,
6792
+ sym__upname,
6793
+ ACTIONS(688), 1,
6794
+ anon_sym_EQ,
6795
+ STATE(216), 1,
6796
+ sym_type_identifier,
6797
+ STATE(232), 1,
6798
+ sym_return_type,
6799
+ [5545] = 2,
6800
+ ACTIONS(692), 1,
6801
+ sym__decimal,
6802
+ ACTIONS(690), 3,
6803
+ sym__hex,
6804
+ sym__octal,
6805
+ sym__binary,
6806
+ [5554] = 3,
6807
+ ACTIONS(512), 1,
6808
+ anon_sym_LPAREN,
6809
+ ACTIONS(694), 1,
6810
+ anon_sym_EQ,
6811
+ STATE(218), 1,
6812
+ sym_generic_list,
6813
+ [5564] = 3,
6814
+ ACTIONS(696), 1,
1349
6815
  anon_sym_COMMA,
6816
+ ACTIONS(698), 1,
6817
+ anon_sym_RPAREN,
6818
+ STATE(193), 1,
6819
+ aux_sym_return_type_repeat1,
6820
+ [5574] = 3,
6821
+ ACTIONS(700), 1,
6822
+ anon_sym_COMMA,
6823
+ ACTIONS(702), 1,
6824
+ anon_sym_RPAREN,
6825
+ STATE(176), 1,
6826
+ aux_sym_proc_repeat1,
6827
+ [5584] = 3,
6828
+ ACTIONS(696), 1,
6829
+ anon_sym_COMMA,
6830
+ ACTIONS(704), 1,
6831
+ anon_sym_RPAREN,
6832
+ STATE(193), 1,
6833
+ aux_sym_return_type_repeat1,
6834
+ [5594] = 3,
6835
+ ACTIONS(637), 1,
1350
6836
  anon_sym_RBRACE,
1351
- [577] = 3,
1352
- ACTIONS(149), 1,
6837
+ ACTIONS(706), 1,
6838
+ anon_sym_COMMA,
6839
+ STATE(184), 1,
6840
+ aux_sym_unqualified_imports_repeat1,
6841
+ [5604] = 3,
6842
+ ACTIONS(696), 1,
1353
6843
  anon_sym_COMMA,
1354
- ACTIONS(152), 1,
6844
+ ACTIONS(708), 1,
1355
6845
  anon_sym_RPAREN,
1356
- STATE(47), 1,
6846
+ STATE(171), 1,
1357
6847
  aux_sym_return_type_repeat1,
1358
- [587] = 3,
6848
+ [5614] = 3,
1359
- ACTIONS(154), 1,
6849
+ ACTIONS(710), 1,
6850
+ anon_sym_EQ,
6851
+ ACTIONS(712), 1,
6852
+ anon_sym_COLON,
6853
+ STATE(235), 1,
6854
+ sym__type_annotation,
6855
+ [5624] = 1,
6856
+ ACTIONS(47), 3,
6857
+ anon_sym_as,
1360
6858
  anon_sym_COMMA,
6859
+ anon_sym_RBRACE,
6860
+ [5630] = 3,
6861
+ ACTIONS(714), 1,
6862
+ anon_sym_COMMA,
1361
- ACTIONS(157), 1,
6863
+ ACTIONS(717), 1,
1362
6864
  anon_sym_RPAREN,
1363
- STATE(48), 1,
6865
+ STATE(176), 1,
1364
- aux_sym_type_name_repeat1,
6866
+ aux_sym_proc_repeat1,
1365
- [597] = 3,
6867
+ [5640] = 3,
1366
- ACTIONS(159), 1,
6868
+ ACTIONS(696), 1,
1367
6869
  anon_sym_COMMA,
1368
- ACTIONS(161), 1,
6870
+ ACTIONS(719), 1,
1369
6871
  anon_sym_RPAREN,
1370
- STATE(50), 1,
6872
+ STATE(193), 1,
1371
6873
  aux_sym_return_type_repeat1,
1372
- [607] = 3,
6874
+ [5650] = 3,
1373
- ACTIONS(159), 1,
6875
+ ACTIONS(696), 1,
1374
6876
  anon_sym_COMMA,
1375
- ACTIONS(163), 1,
6877
+ ACTIONS(721), 1,
1376
6878
  anon_sym_RPAREN,
1377
- STATE(47), 1,
6879
+ STATE(169), 1,
1378
6880
  aux_sym_return_type_repeat1,
1379
- [617] = 3,
6881
+ [5660] = 3,
6882
+ ACTIONS(723), 1,
6883
+ anon_sym_RPAREN,
1380
- ACTIONS(165), 1,
6884
+ ACTIONS(725), 1,
6885
+ sym_identifier,
6886
+ STATE(181), 1,
6887
+ sym_type_field,
6888
+ [5670] = 3,
6889
+ ACTIONS(662), 1,
1381
6890
  sym__upname,
1382
- STATE(36), 1,
6891
+ STATE(129), 1,
1383
6892
  sym_type_identifier,
1384
- STATE(39), 1,
6893
+ STATE(131), 1,
1385
6894
  sym_type_name,
1386
- [627] = 3,
6895
+ [5680] = 3,
6896
+ ACTIONS(700), 1,
6897
+ anon_sym_COMMA,
6898
+ ACTIONS(727), 1,
6899
+ anon_sym_RPAREN,
6900
+ STATE(191), 1,
6901
+ aux_sym_proc_repeat1,
6902
+ [5690] = 3,
1387
- ACTIONS(165), 1,
6903
+ ACTIONS(662), 1,
1388
6904
  sym__upname,
1389
- STATE(27), 1,
6905
+ STATE(129), 1,
1390
- sym_type_name,
1391
- STATE(36), 1,
1392
6906
  sym_type_identifier,
1393
- [637] = 3,
1394
- ACTIONS(71), 1,
1395
- aux_sym_identifier_token1,
1396
- STATE(61), 1,
6907
+ STATE(150), 1,
1397
- sym_type_field,
1398
- STATE(67), 1,
1399
- sym_identifier,
1400
- [647] = 3,
1401
- ACTIONS(165), 1,
1402
- sym__upname,
1403
- STATE(32), 1,
1404
6908
  sym_type_name,
1405
- STATE(36), 1,
1406
- sym_type_identifier,
1407
- [657] = 3,
6909
+ [5700] = 3,
1408
- ACTIONS(167), 1,
6910
+ ACTIONS(696), 1,
1409
6911
  anon_sym_COMMA,
1410
- ACTIONS(169), 1,
6912
+ ACTIONS(729), 1,
1411
6913
  anon_sym_RPAREN,
1412
- STATE(48), 1,
6914
+ STATE(193), 1,
1413
- aux_sym_type_name_repeat1,
6915
+ aux_sym_return_type_repeat1,
1414
- [667] = 2,
6916
+ [5710] = 3,
1415
- ACTIONS(171), 1,
6917
+ ACTIONS(731), 1,
1416
- anon_sym_as,
1417
- ACTIONS(147), 2,
1418
6918
  anon_sym_COMMA,
6919
+ ACTIONS(734), 1,
1419
6920
  anon_sym_RBRACE,
1420
- [675] = 3,
1421
- ACTIONS(92), 1,
1422
- anon_sym_RBRACE,
1423
- ACTIONS(173), 1,
1424
- anon_sym_COMMA,
1425
- STATE(59), 1,
6921
+ STATE(184), 1,
1426
6922
  aux_sym_unqualified_imports_repeat1,
1427
- [685] = 3,
6923
+ [5720] = 3,
1428
- ACTIONS(71), 1,
6924
+ ACTIONS(712), 1,
6925
+ anon_sym_COLON,
6926
+ ACTIONS(736), 1,
6927
+ anon_sym_EQ,
6928
+ STATE(228), 1,
1429
- aux_sym_identifier_token1,
6929
+ sym__type_annotation,
6930
+ [5730] = 3,
6931
+ ACTIONS(696), 1,
6932
+ anon_sym_COMMA,
6933
+ ACTIONS(738), 1,
6934
+ anon_sym_RPAREN,
1430
- STATE(79), 1,
6935
+ STATE(177), 1,
1431
- sym_type_field,
6936
+ aux_sym_return_type_repeat1,
1432
- STATE(85), 1,
1433
- sym_identifier,
1434
- [695] = 3,
6937
+ [5740] = 2,
1435
- ACTIONS(175), 1,
6938
+ ACTIONS(740), 1,
6939
+ anon_sym_as,
6940
+ ACTIONS(742), 2,
1436
6941
  anon_sym_COMMA,
1437
- ACTIONS(178), 1,
1438
6942
  anon_sym_RBRACE,
1439
- STATE(59), 1,
1440
- aux_sym_unqualified_imports_repeat1,
1441
- [705] = 3,
6943
+ [5748] = 3,
1442
- ACTIONS(180), 1,
6944
+ ACTIONS(744), 1,
1443
6945
  anon_sym_COMMA,
1444
- ACTIONS(182), 1,
6946
+ ACTIONS(746), 1,
1445
6947
  anon_sym_RBRACE,
1446
- STATE(57), 1,
6948
+ STATE(172), 1,
1447
6949
  aux_sym_unqualified_imports_repeat1,
1448
- [715] = 3,
6950
+ [5758] = 2,
1449
- ACTIONS(167), 1,
6951
+ ACTIONS(748), 1,
6952
+ anon_sym_as,
6953
+ ACTIONS(742), 2,
1450
6954
  anon_sym_COMMA,
6955
+ anon_sym_RBRACE,
6956
+ [5766] = 3,
1451
- ACTIONS(184), 1,
6957
+ ACTIONS(700), 1,
6958
+ anon_sym_COMMA,
6959
+ ACTIONS(750), 1,
1452
6960
  anon_sym_RPAREN,
1453
- STATE(55), 1,
6961
+ STATE(170), 1,
1454
- aux_sym_type_name_repeat1,
6962
+ aux_sym_proc_repeat1,
1455
- [725] = 3,
6963
+ [5776] = 3,
1456
- ACTIONS(19), 1,
6964
+ ACTIONS(700), 1,
6965
+ anon_sym_COMMA,
6966
+ ACTIONS(752), 1,
1457
- anon_sym_LPAREN,
6967
+ anon_sym_RPAREN,
6968
+ STATE(176), 1,
6969
+ aux_sym_proc_repeat1,
6970
+ [5786] = 3,
1458
- ACTIONS(186), 1,
6971
+ ACTIONS(696), 1,
1459
- anon_sym_EQ,
6972
+ anon_sym_COMMA,
1460
- STATE(81), 1,
1461
- sym_generic_list,
1462
- [735] = 2,
1463
- ACTIONS(71), 1,
6973
+ ACTIONS(754), 1,
1464
- aux_sym_identifier_token1,
6974
+ anon_sym_RPAREN,
1465
- STATE(40), 1,
6975
+ STATE(183), 1,
1466
- sym_identifier,
6976
+ aux_sym_return_type_repeat1,
1467
- [742] = 2,
6977
+ [5796] = 3,
1468
- ACTIONS(188), 1,
6978
+ ACTIONS(756), 1,
6979
+ anon_sym_COMMA,
6980
+ ACTIONS(759), 1,
6981
+ anon_sym_RPAREN,
6982
+ STATE(193), 1,
6983
+ aux_sym_return_type_repeat1,
6984
+ [5806] = 3,
6985
+ ACTIONS(662), 1,
1469
6986
  sym__upname,
1470
- STATE(73), 1,
6987
+ STATE(123), 1,
6988
+ sym_type_name,
6989
+ STATE(129), 1,
1471
6990
  sym_type_identifier,
6991
+ [5816] = 1,
6992
+ ACTIONS(761), 2,
6993
+ anon_sym_COMMA,
6994
+ anon_sym_RBRACE,
1472
- [749] = 2,
6995
+ [5821] = 2,
1473
- ACTIONS(190), 1,
6996
+ ACTIONS(725), 1,
1474
- sym__name,
1475
- STATE(44), 1,
1476
- sym_module_name,
1477
- [756] = 2,
1478
- ACTIONS(192), 1,
1479
- aux_sym_identifier_token1,
1480
- STATE(18), 1,
1481
6997
  sym_identifier,
6998
+ STATE(211), 1,
6999
+ sym_type_field,
1482
- [763] = 2,
7000
+ [5828] = 2,
1483
- ACTIONS(184), 1,
7001
+ ACTIONS(188), 1,
7002
+ anon_sym_DQUOTE,
7003
+ STATE(236), 1,
7004
+ sym_string,
7005
+ [5835] = 1,
7006
+ ACTIONS(759), 2,
7007
+ anon_sym_COMMA,
1484
7008
  anon_sym_RPAREN,
7009
+ [5840] = 2,
1485
- ACTIONS(194), 1,
7010
+ ACTIONS(750), 1,
7011
+ anon_sym_RPAREN,
7012
+ ACTIONS(763), 1,
1486
7013
  anon_sym_COLON,
1487
- [770] = 2,
7014
+ [5847] = 2,
7015
+ ACTIONS(662), 1,
7016
+ sym__upname,
7017
+ STATE(195), 1,
7018
+ sym_type_identifier,
7019
+ [5854] = 2,
1488
- ACTIONS(71), 1,
7020
+ ACTIONS(765), 1,
1489
- aux_sym_identifier_token1,
1490
- STATE(18), 1,
7021
+ anon_sym_EQ,
1491
- sym_identifier,
1492
- [777] = 2,
1493
- ACTIONS(188), 1,
7022
+ ACTIONS(767), 1,
7023
+ anon_sym_DASH_GT,
7024
+ [5861] = 2,
7025
+ ACTIONS(769), 1,
1494
7026
  sym__upname,
1495
- STATE(62), 1,
7027
+ STATE(3), 1,
1496
7028
  sym_type_identifier,
1497
- [784] = 1,
7029
+ [5868] = 1,
1498
- ACTIONS(178), 2,
7030
+ ACTIONS(734), 2,
1499
7031
  anon_sym_COMMA,
1500
7032
  anon_sym_RBRACE,
1501
- [789] = 2,
7033
+ [5873] = 2,
1502
- ACTIONS(188), 1,
7034
+ ACTIONS(771), 1,
7035
+ sym__name,
7036
+ STATE(149), 1,
7037
+ sym_module_name,
7038
+ [5880] = 2,
7039
+ ACTIONS(773), 1,
7040
+ sym_identifier,
7041
+ STATE(190), 1,
7042
+ sym_type_field,
7043
+ [5887] = 2,
7044
+ ACTIONS(775), 1,
7045
+ anon_sym_EQ,
7046
+ ACTIONS(777), 1,
7047
+ anon_sym_DASH_GT,
7048
+ [5894] = 2,
7049
+ ACTIONS(779), 1,
7050
+ sym__name,
7051
+ STATE(119), 1,
7052
+ sym_module_name,
7053
+ [5901] = 2,
7054
+ ACTIONS(662), 1,
1503
7055
  sym__upname,
1504
- STATE(4), 1,
7056
+ STATE(114), 1,
1505
7057
  sym_type_identifier,
1506
- [796] = 1,
7058
+ [5908] = 2,
1507
- ACTIONS(152), 2,
7059
+ ACTIONS(188), 1,
7060
+ anon_sym_DQUOTE,
7061
+ STATE(220), 1,
7062
+ sym_string,
7063
+ [5915] = 2,
7064
+ ACTIONS(781), 1,
7065
+ anon_sym_EQ,
7066
+ ACTIONS(783), 1,
7067
+ anon_sym_DASH_GT,
7068
+ [5922] = 1,
7069
+ ACTIONS(717), 2,
1508
7070
  anon_sym_COMMA,
1509
7071
  anon_sym_RPAREN,
1510
- [801] = 1,
1511
- ACTIONS(196), 2,
1512
- anon_sym_COMMA,
1513
- anon_sym_RBRACE,
1514
- [806] = 2,
7072
+ [5927] = 2,
1515
- ACTIONS(198), 1,
7073
+ ACTIONS(785), 1,
7074
+ sym__upname,
7075
+ STATE(2), 1,
7076
+ sym_type_identifier,
7077
+ [5934] = 2,
7078
+ ACTIONS(662), 1,
7079
+ sym__upname,
7080
+ STATE(168), 1,
7081
+ sym_type_identifier,
7082
+ [5941] = 2,
7083
+ ACTIONS(787), 1,
1516
7084
  anon_sym_LBRACE,
1517
- STATE(33), 1,
7085
+ STATE(137), 1,
1518
7086
  sym_unqualified_imports,
7087
+ [5948] = 1,
7088
+ ACTIONS(789), 2,
7089
+ anon_sym_EQ,
7090
+ anon_sym_COLON,
1519
- [813] = 2,
7091
+ [5953] = 2,
1520
- ACTIONS(71), 1,
7092
+ ACTIONS(791), 1,
1521
- aux_sym_identifier_token1,
7093
+ anon_sym_EQ,
1522
- STATE(73), 1,
7094
+ ACTIONS(793), 1,
7095
+ anon_sym_LPAREN,
7096
+ [5960] = 1,
7097
+ ACTIONS(795), 1,
7098
+ anon_sym_LPAREN,
7099
+ [5964] = 1,
7100
+ ACTIONS(797), 1,
7101
+ anon_sym_EQ,
7102
+ [5968] = 1,
7103
+ ACTIONS(799), 1,
7104
+ sym__name,
7105
+ [5972] = 1,
7106
+ ACTIONS(801), 1,
7107
+ anon_sym_RPAREN,
7108
+ [5976] = 1,
7109
+ ACTIONS(803), 1,
1523
7110
  sym_identifier,
1524
- [820] = 2,
7111
+ [5980] = 1,
1525
- ACTIONS(71), 1,
7112
+ ACTIONS(805), 1,
1526
- aux_sym_identifier_token1,
7113
+ anon_sym_EQ,
7114
+ [5984] = 1,
1527
- STATE(49), 1,
7115
+ ACTIONS(807), 1,
1528
7116
  sym_identifier,
1529
- [827] = 2,
7117
+ [5988] = 1,
1530
- ACTIONS(190), 1,
7118
+ ACTIONS(809), 1,
1531
7119
  sym__name,
1532
- STATE(17), 1,
1533
- sym_module_name,
1534
- [834] = 2,
7120
+ [5992] = 1,
1535
- ACTIONS(71), 1,
7121
+ ACTIONS(811), 1,
1536
- aux_sym_identifier_token1,
1537
- STATE(41), 1,
1538
7122
  sym_identifier,
1539
- [841] = 1,
7123
+ [5996] = 1,
7124
+ ACTIONS(813), 1,
7125
+ sym_identifier,
7126
+ [6000] = 1,
7127
+ ACTIONS(763), 1,
7128
+ anon_sym_COLON,
7129
+ [6004] = 1,
1540
- ACTIONS(157), 2,
7130
+ ACTIONS(815), 1,
1541
- anon_sym_COMMA,
7131
+ anon_sym_EQ,
7132
+ [6008] = 1,
7133
+ ACTIONS(817), 1,
7134
+ sym_identifier,
7135
+ [6012] = 1,
7136
+ ACTIONS(819), 1,
7137
+ anon_sym_EQ,
7138
+ [6016] = 1,
7139
+ ACTIONS(821), 1,
7140
+ sym_identifier,
7141
+ [6020] = 1,
7142
+ ACTIONS(823), 1,
7143
+ anon_sym_EQ,
7144
+ [6024] = 1,
7145
+ ACTIONS(825), 1,
7146
+ sym_identifier,
7147
+ [6028] = 1,
7148
+ ACTIONS(827), 1,
7149
+ sym_identifier,
7150
+ [6032] = 1,
7151
+ ACTIONS(829), 1,
7152
+ anon_sym_EQ,
7153
+ [6036] = 1,
7154
+ ACTIONS(831), 1,
1542
7155
  anon_sym_RPAREN,
1543
- [846] = 2,
7156
+ [6040] = 1,
1544
- ACTIONS(71), 1,
7157
+ ACTIONS(833), 1,
1545
- aux_sym_identifier_token1,
1546
- STATE(72), 1,
1547
7158
  sym_identifier,
1548
- [853] = 1,
7159
+ [6044] = 1,
1549
- ACTIONS(200), 1,
7160
+ ACTIONS(835), 1,
1550
7161
  anon_sym_EQ,
1551
- [857] = 1,
7162
+ [6048] = 1,
1552
- ACTIONS(202), 1,
7163
+ ACTIONS(837), 1,
1553
- ts_builtin_sym_end,
7164
+ sym_identifier,
1554
- [861] = 1,
7165
+ [6052] = 1,
1555
- ACTIONS(204), 1,
7166
+ ACTIONS(839), 1,
7167
+ anon_sym_EQ,
7168
+ [6056] = 1,
7169
+ ACTIONS(841), 1,
7170
+ sym_identifier,
7171
+ [6060] = 1,
7172
+ ACTIONS(843), 1,
7173
+ sym_identifier,
7174
+ [6064] = 1,
7175
+ ACTIONS(845), 1,
1556
7176
  anon_sym_COLON,
1557
- [865] = 1,
7177
+ [6068] = 1,
1558
- ACTIONS(206), 1,
7178
+ ACTIONS(847), 1,
1559
- sym__name,
7179
+ ts_builtin_sym_end,
1560
- [869] = 1,
7180
+ [6072] = 1,
1561
- ACTIONS(194), 1,
7181
+ ACTIONS(849), 1,
7182
+ anon_sym_EQ,
7183
+ [6076] = 1,
7184
+ ACTIONS(851), 1,
7185
+ sym_identifier,
7186
+ [6080] = 1,
7187
+ ACTIONS(853), 1,
1562
7188
  anon_sym_COLON,
1563
7189
  };
1564
7190
 
1565
7191
  static const uint32_t ts_small_parse_table_map[] = {
1566
7192
  [SMALL_STATE(2)] = 0,
1567
- [SMALL_STATE(3)] = 12,
1568
- [SMALL_STATE(4)] = 34,
1569
- [SMALL_STATE(5)] = 58,
1570
- [SMALL_STATE(6)] = 80,
1571
- [SMALL_STATE(7)] = 95,
1572
- [SMALL_STATE(8)] = 106,
1573
- [SMALL_STATE(9)] = 121,
1574
- [SMALL_STATE(10)] = 136,
1575
- [SMALL_STATE(11)] = 149,
1576
- [SMALL_STATE(12)] = 167,
1577
- [SMALL_STATE(13)] = 185,
1578
- [SMALL_STATE(14)] = 203,
1579
- [SMALL_STATE(15)] = 213,
1580
- [SMALL_STATE(16)] = 231,
1581
- [SMALL_STATE(17)] = 246,
1582
- [SMALL_STATE(18)] = 259,
1583
- [SMALL_STATE(19)] = 270,
1584
- [SMALL_STATE(20)] = 289,
1585
- [SMALL_STATE(21)] = 302,
1586
- [SMALL_STATE(22)] = 317,
1587
- [SMALL_STATE(23)] = 332,
1588
- [SMALL_STATE(24)] = 351,
1589
- [SMALL_STATE(25)] = 370,
1590
- [SMALL_STATE(26)] = 382,
1591
- [SMALL_STATE(27)] = 390,
1592
- [SMALL_STATE(28)] = 402,
1593
- [SMALL_STATE(29)] = 412,
1594
- [SMALL_STATE(30)] = 428,
1595
- [SMALL_STATE(31)] = 440,
1596
- [SMALL_STATE(32)] = 452,
1597
- [SMALL_STATE(33)] = 464,
1598
- [SMALL_STATE(34)] = 474,
1599
- [SMALL_STATE(35)] = 484,
1600
- [SMALL_STATE(36)] = 492,
1601
- [SMALL_STATE(37)] = 502,
1602
- [SMALL_STATE(38)] = 510,
1603
- [SMALL_STATE(39)] = 518,
1604
- [SMALL_STATE(40)] = 525,
1605
- [SMALL_STATE(41)] = 532,
1606
- [SMALL_STATE(42)] = 539,
1607
- [SMALL_STATE(43)] = 548,
1608
- [SMALL_STATE(44)] = 555,
1609
- [SMALL_STATE(45)] = 562,
1610
- [SMALL_STATE(46)] = 569,
1611
- [SMALL_STATE(47)] = 577,
1612
- [SMALL_STATE(48)] = 587,
1613
- [SMALL_STATE(49)] = 597,
1614
- [SMALL_STATE(50)] = 607,
1615
- [SMALL_STATE(51)] = 617,
1616
- [SMALL_STATE(52)] = 627,
1617
- [SMALL_STATE(53)] = 637,
1618
- [SMALL_STATE(54)] = 647,
1619
- [SMALL_STATE(55)] = 657,
1620
- [SMALL_STATE(56)] = 667,
1621
- [SMALL_STATE(57)] = 675,
1622
- [SMALL_STATE(58)] = 685,
1623
- [SMALL_STATE(59)] = 695,
1624
- [SMALL_STATE(60)] = 705,
1625
- [SMALL_STATE(61)] = 715,
1626
- [SMALL_STATE(62)] = 725,
1627
- [SMALL_STATE(63)] = 735,
1628
- [SMALL_STATE(64)] = 742,
1629
- [SMALL_STATE(65)] = 749,
1630
- [SMALL_STATE(66)] = 756,
1631
- [SMALL_STATE(67)] = 763,
1632
- [SMALL_STATE(68)] = 770,
1633
- [SMALL_STATE(69)] = 777,
1634
- [SMALL_STATE(70)] = 784,
1635
- [SMALL_STATE(71)] = 789,
1636
- [SMALL_STATE(72)] = 796,
1637
- [SMALL_STATE(73)] = 801,
1638
- [SMALL_STATE(74)] = 806,
1639
- [SMALL_STATE(75)] = 813,
1640
- [SMALL_STATE(76)] = 820,
1641
- [SMALL_STATE(77)] = 827,
1642
- [SMALL_STATE(78)] = 834,
1643
- [SMALL_STATE(79)] = 841,
1644
- [SMALL_STATE(80)] = 846,
1645
- [SMALL_STATE(81)] = 853,
1646
- [SMALL_STATE(82)] = 857,
1647
- [SMALL_STATE(83)] = 861,
1648
- [SMALL_STATE(84)] = 865,
1649
- [SMALL_STATE(85)] = 869,
7193
+ [SMALL_STATE(3)] = 47,
7194
+ [SMALL_STATE(4)] = 93,
7195
+ [SMALL_STATE(5)] = 134,
7196
+ [SMALL_STATE(6)] = 175,
7197
+ [SMALL_STATE(7)] = 216,
7198
+ [SMALL_STATE(8)] = 257,
7199
+ [SMALL_STATE(9)] = 293,
7200
+ [SMALL_STATE(10)] = 331,
7201
+ [SMALL_STATE(11)] = 367,
7202
+ [SMALL_STATE(12)] = 407,
7203
+ [SMALL_STATE(13)] = 447,
7204
+ [SMALL_STATE(14)] = 483,
7205
+ [SMALL_STATE(15)] = 523,
7206
+ [SMALL_STATE(16)] = 563,
7207
+ [SMALL_STATE(17)] = 606,
7208
+ [SMALL_STATE(18)] = 659,
7209
+ [SMALL_STATE(19)] = 712,
7210
+ [SMALL_STATE(20)] = 747,
7211
+ [SMALL_STATE(21)] = 782,
7212
+ [SMALL_STATE(22)] = 829,
7213
+ [SMALL_STATE(23)] = 882,
7214
+ [SMALL_STATE(24)] = 919,
7215
+ [SMALL_STATE(25)] = 954,
7216
+ [SMALL_STATE(26)] = 995,
7217
+ [SMALL_STATE(27)] = 1030,
7218
+ [SMALL_STATE(28)] = 1065,
7219
+ [SMALL_STATE(29)] = 1114,
7220
+ [SMALL_STATE(30)] = 1149,
7221
+ [SMALL_STATE(31)] = 1184,
7222
+ [SMALL_STATE(32)] = 1219,
7223
+ [SMALL_STATE(33)] = 1270,
7224
+ [SMALL_STATE(34)] = 1305,
7225
+ [SMALL_STATE(35)] = 1340,
7226
+ [SMALL_STATE(36)] = 1375,
7227
+ [SMALL_STATE(37)] = 1412,
7228
+ [SMALL_STATE(38)] = 1464,
7229
+ [SMALL_STATE(39)] = 1498,
7230
+ [SMALL_STATE(40)] = 1546,
7231
+ [SMALL_STATE(41)] = 1596,
7232
+ [SMALL_STATE(42)] = 1630,
7233
+ [SMALL_STATE(43)] = 1664,
7234
+ [SMALL_STATE(44)] = 1726,
7235
+ [SMALL_STATE(45)] = 1760,
7236
+ [SMALL_STATE(46)] = 1822,
7237
+ [SMALL_STATE(47)] = 1884,
7238
+ [SMALL_STATE(48)] = 1930,
7239
+ [SMALL_STATE(49)] = 1964,
7240
+ [SMALL_STATE(50)] = 1998,
7241
+ [SMALL_STATE(51)] = 2060,
7242
+ [SMALL_STATE(52)] = 2122,
7243
+ [SMALL_STATE(53)] = 2184,
7244
+ [SMALL_STATE(54)] = 2246,
7245
+ [SMALL_STATE(55)] = 2280,
7246
+ [SMALL_STATE(56)] = 2342,
7247
+ [SMALL_STATE(57)] = 2376,
7248
+ [SMALL_STATE(58)] = 2410,
7249
+ [SMALL_STATE(59)] = 2462,
7250
+ [SMALL_STATE(60)] = 2496,
7251
+ [SMALL_STATE(61)] = 2530,
7252
+ [SMALL_STATE(62)] = 2592,
7253
+ [SMALL_STATE(63)] = 2634,
7254
+ [SMALL_STATE(64)] = 2696,
7255
+ [SMALL_STATE(65)] = 2736,
7256
+ [SMALL_STATE(66)] = 2788,
7257
+ [SMALL_STATE(67)] = 2822,
7258
+ [SMALL_STATE(68)] = 2858,
7259
+ [SMALL_STATE(69)] = 2917,
7260
+ [SMALL_STATE(70)] = 2976,
7261
+ [SMALL_STATE(71)] = 3035,
7262
+ [SMALL_STATE(72)] = 3091,
7263
+ [SMALL_STATE(73)] = 3147,
7264
+ [SMALL_STATE(74)] = 3203,
7265
+ [SMALL_STATE(75)] = 3259,
7266
+ [SMALL_STATE(76)] = 3315,
7267
+ [SMALL_STATE(77)] = 3371,
7268
+ [SMALL_STATE(78)] = 3427,
7269
+ [SMALL_STATE(79)] = 3483,
7270
+ [SMALL_STATE(80)] = 3539,
7271
+ [SMALL_STATE(81)] = 3595,
7272
+ [SMALL_STATE(82)] = 3651,
7273
+ [SMALL_STATE(83)] = 3699,
7274
+ [SMALL_STATE(84)] = 3747,
7275
+ [SMALL_STATE(85)] = 3795,
7276
+ [SMALL_STATE(86)] = 3843,
7277
+ [SMALL_STATE(87)] = 3891,
7278
+ [SMALL_STATE(88)] = 3939,
7279
+ [SMALL_STATE(89)] = 3987,
7280
+ [SMALL_STATE(90)] = 4035,
7281
+ [SMALL_STATE(91)] = 4083,
7282
+ [SMALL_STATE(92)] = 4131,
7283
+ [SMALL_STATE(93)] = 4179,
7284
+ [SMALL_STATE(94)] = 4227,
7285
+ [SMALL_STATE(95)] = 4275,
7286
+ [SMALL_STATE(96)] = 4323,
7287
+ [SMALL_STATE(97)] = 4371,
7288
+ [SMALL_STATE(98)] = 4419,
7289
+ [SMALL_STATE(99)] = 4467,
7290
+ [SMALL_STATE(100)] = 4515,
7291
+ [SMALL_STATE(101)] = 4561,
7292
+ [SMALL_STATE(102)] = 4607,
7293
+ [SMALL_STATE(103)] = 4628,
7294
+ [SMALL_STATE(104)] = 4648,
7295
+ [SMALL_STATE(105)] = 4679,
7296
+ [SMALL_STATE(106)] = 4710,
7297
+ [SMALL_STATE(107)] = 4736,
7298
+ [SMALL_STATE(108)] = 4762,
7299
+ [SMALL_STATE(109)] = 4787,
7300
+ [SMALL_STATE(110)] = 4801,
7301
+ [SMALL_STATE(111)] = 4819,
7302
+ [SMALL_STATE(112)] = 4837,
7303
+ [SMALL_STATE(113)] = 4855,
7304
+ [SMALL_STATE(114)] = 4874,
7305
+ [SMALL_STATE(115)] = 4895,
7306
+ [SMALL_STATE(116)] = 4908,
7307
+ [SMALL_STATE(117)] = 4927,
7308
+ [SMALL_STATE(118)] = 4946,
7309
+ [SMALL_STATE(119)] = 4962,
7310
+ [SMALL_STATE(120)] = 4978,
7311
+ [SMALL_STATE(121)] = 4994,
7312
+ [SMALL_STATE(122)] = 5010,
7313
+ [SMALL_STATE(123)] = 5026,
7314
+ [SMALL_STATE(124)] = 5041,
7315
+ [SMALL_STATE(125)] = 5056,
7316
+ [SMALL_STATE(126)] = 5067,
7317
+ [SMALL_STATE(127)] = 5082,
7318
+ [SMALL_STATE(128)] = 5093,
7319
+ [SMALL_STATE(129)] = 5104,
7320
+ [SMALL_STATE(130)] = 5117,
7321
+ [SMALL_STATE(131)] = 5128,
7322
+ [SMALL_STATE(132)] = 5143,
7323
+ [SMALL_STATE(133)] = 5158,
7324
+ [SMALL_STATE(134)] = 5169,
7325
+ [SMALL_STATE(135)] = 5184,
7326
+ [SMALL_STATE(136)] = 5195,
7327
+ [SMALL_STATE(137)] = 5210,
7328
+ [SMALL_STATE(138)] = 5223,
7329
+ [SMALL_STATE(139)] = 5238,
7330
+ [SMALL_STATE(140)] = 5253,
7331
+ [SMALL_STATE(141)] = 5263,
7332
+ [SMALL_STATE(142)] = 5279,
7333
+ [SMALL_STATE(143)] = 5289,
7334
+ [SMALL_STATE(144)] = 5299,
7335
+ [SMALL_STATE(145)] = 5309,
7336
+ [SMALL_STATE(146)] = 5319,
7337
+ [SMALL_STATE(147)] = 5335,
7338
+ [SMALL_STATE(148)] = 5345,
7339
+ [SMALL_STATE(149)] = 5361,
7340
+ [SMALL_STATE(150)] = 5371,
7341
+ [SMALL_STATE(151)] = 5381,
7342
+ [SMALL_STATE(152)] = 5392,
7343
+ [SMALL_STATE(153)] = 5405,
7344
+ [SMALL_STATE(154)] = 5412,
7345
+ [SMALL_STATE(155)] = 5421,
7346
+ [SMALL_STATE(156)] = 5432,
7347
+ [SMALL_STATE(157)] = 5445,
7348
+ [SMALL_STATE(158)] = 5452,
7349
+ [SMALL_STATE(159)] = 5459,
7350
+ [SMALL_STATE(160)] = 5466,
7351
+ [SMALL_STATE(161)] = 5477,
7352
+ [SMALL_STATE(162)] = 5486,
7353
+ [SMALL_STATE(163)] = 5497,
7354
+ [SMALL_STATE(164)] = 5510,
7355
+ [SMALL_STATE(165)] = 5521,
7356
+ [SMALL_STATE(166)] = 5532,
7357
+ [SMALL_STATE(167)] = 5545,
7358
+ [SMALL_STATE(168)] = 5554,
7359
+ [SMALL_STATE(169)] = 5564,
7360
+ [SMALL_STATE(170)] = 5574,
7361
+ [SMALL_STATE(171)] = 5584,
7362
+ [SMALL_STATE(172)] = 5594,
7363
+ [SMALL_STATE(173)] = 5604,
7364
+ [SMALL_STATE(174)] = 5614,
7365
+ [SMALL_STATE(175)] = 5624,
7366
+ [SMALL_STATE(176)] = 5630,
7367
+ [SMALL_STATE(177)] = 5640,
7368
+ [SMALL_STATE(178)] = 5650,
7369
+ [SMALL_STATE(179)] = 5660,
7370
+ [SMALL_STATE(180)] = 5670,
7371
+ [SMALL_STATE(181)] = 5680,
7372
+ [SMALL_STATE(182)] = 5690,
7373
+ [SMALL_STATE(183)] = 5700,
7374
+ [SMALL_STATE(184)] = 5710,
7375
+ [SMALL_STATE(185)] = 5720,
7376
+ [SMALL_STATE(186)] = 5730,
7377
+ [SMALL_STATE(187)] = 5740,
7378
+ [SMALL_STATE(188)] = 5748,
7379
+ [SMALL_STATE(189)] = 5758,
7380
+ [SMALL_STATE(190)] = 5766,
7381
+ [SMALL_STATE(191)] = 5776,
7382
+ [SMALL_STATE(192)] = 5786,
7383
+ [SMALL_STATE(193)] = 5796,
7384
+ [SMALL_STATE(194)] = 5806,
7385
+ [SMALL_STATE(195)] = 5816,
7386
+ [SMALL_STATE(196)] = 5821,
7387
+ [SMALL_STATE(197)] = 5828,
7388
+ [SMALL_STATE(198)] = 5835,
7389
+ [SMALL_STATE(199)] = 5840,
7390
+ [SMALL_STATE(200)] = 5847,
7391
+ [SMALL_STATE(201)] = 5854,
7392
+ [SMALL_STATE(202)] = 5861,
7393
+ [SMALL_STATE(203)] = 5868,
7394
+ [SMALL_STATE(204)] = 5873,
7395
+ [SMALL_STATE(205)] = 5880,
7396
+ [SMALL_STATE(206)] = 5887,
7397
+ [SMALL_STATE(207)] = 5894,
7398
+ [SMALL_STATE(208)] = 5901,
7399
+ [SMALL_STATE(209)] = 5908,
7400
+ [SMALL_STATE(210)] = 5915,
7401
+ [SMALL_STATE(211)] = 5922,
7402
+ [SMALL_STATE(212)] = 5927,
7403
+ [SMALL_STATE(213)] = 5934,
7404
+ [SMALL_STATE(214)] = 5941,
7405
+ [SMALL_STATE(215)] = 5948,
7406
+ [SMALL_STATE(216)] = 5953,
7407
+ [SMALL_STATE(217)] = 5960,
7408
+ [SMALL_STATE(218)] = 5964,
7409
+ [SMALL_STATE(219)] = 5968,
7410
+ [SMALL_STATE(220)] = 5972,
7411
+ [SMALL_STATE(221)] = 5976,
7412
+ [SMALL_STATE(222)] = 5980,
7413
+ [SMALL_STATE(223)] = 5984,
7414
+ [SMALL_STATE(224)] = 5988,
7415
+ [SMALL_STATE(225)] = 5992,
7416
+ [SMALL_STATE(226)] = 5996,
7417
+ [SMALL_STATE(227)] = 6000,
7418
+ [SMALL_STATE(228)] = 6004,
7419
+ [SMALL_STATE(229)] = 6008,
7420
+ [SMALL_STATE(230)] = 6012,
7421
+ [SMALL_STATE(231)] = 6016,
7422
+ [SMALL_STATE(232)] = 6020,
7423
+ [SMALL_STATE(233)] = 6024,
7424
+ [SMALL_STATE(234)] = 6028,
7425
+ [SMALL_STATE(235)] = 6032,
7426
+ [SMALL_STATE(236)] = 6036,
7427
+ [SMALL_STATE(237)] = 6040,
7428
+ [SMALL_STATE(238)] = 6044,
7429
+ [SMALL_STATE(239)] = 6048,
7430
+ [SMALL_STATE(240)] = 6052,
7431
+ [SMALL_STATE(241)] = 6056,
7432
+ [SMALL_STATE(242)] = 6060,
7433
+ [SMALL_STATE(243)] = 6064,
7434
+ [SMALL_STATE(244)] = 6068,
7435
+ [SMALL_STATE(245)] = 6072,
7436
+ [SMALL_STATE(246)] = 6076,
7437
+ [SMALL_STATE(247)] = 6080,
1650
7438
  };
1651
7439
 
1652
7440
  static const TSParseActionEntry ts_parse_actions[] = {
1653
7441
  [0] = {.entry = {.count = 0, .reusable = false}},
1654
7442
  [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
1655
- [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
1656
- [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1),
1657
- [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
1658
- [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
1659
- [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
1660
- [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
1661
- [15] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 2, .production_id = 2),
1662
- [17] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 2, .production_id = 2),
1663
- [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
1664
- [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2),
1665
- [23] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
1666
- [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_name, 2),
1667
- [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
1668
- [29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1),
1669
- [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_name, 1),
1670
- [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_name_repeat1, 2),
1671
- [35] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_name_repeat1, 2), SHIFT_REPEAT(84),
1672
- [38] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1),
1673
- [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 3, .production_id = 4),
1674
- [42] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 4),
1675
- [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 3, .production_id = 3),
1676
- [46] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 3),
1677
- [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_repeat1, 2),
1678
- [50] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_repeat1, 2),
1679
- [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_repeat1, 2), SHIFT_REPEAT(2),
1680
- [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 4, .production_id = 7),
1681
- [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 4, .production_id = 7),
1682
- [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1),
1683
- [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
1684
- [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
1685
- [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_field, 3, .production_id = 10),
1686
- [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_field, 3, .production_id = 10),
1687
- [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
1688
- [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
1689
- [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7),
1690
- [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
1691
- [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(77),
1692
- [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3),
1693
- [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
1694
- [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(71),
1695
- [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(69),
1696
- [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
1697
- [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
1698
- [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 6, .production_id = 14),
1699
- [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
1700
- [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 3),
1701
- [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5, .production_id = 12),
1702
- [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 4),
1703
- [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_list, 4),
1704
- [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5, .production_id = 11),
1705
- [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2),
1706
- [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(51),
1707
- [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, .production_id = 8),
1708
- [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 5),
1709
- [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
1710
- [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 3),
1711
- [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_list, 3),
1712
- [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 2),
1713
- [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1, .production_id = 9),
1714
- [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
1715
- [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 4),
1716
- [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 5),
1717
- [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 6),
1718
- [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 6, .production_id = 13),
1719
- [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1),
1720
- [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 4, .production_id = 9),
1721
- [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2, .production_id = 1),
1722
- [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 5, .production_id = 9),
1723
- [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
1724
- [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 1, .production_id = 9),
1725
- [149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2), SHIFT_REPEAT(80),
1726
- [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2),
1727
- [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2), SHIFT_REPEAT(58),
1728
- [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2),
1729
- [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
1730
- [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
1731
- [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
1732
- [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
1733
- [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
1734
- [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
1735
- [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
1736
- [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
1737
- [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2), SHIFT_REPEAT(29),
1738
- [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2),
1739
- [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
1740
- [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
1741
- [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
1742
- [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
1743
- [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
1744
- [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
1745
- [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
1746
- [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
1747
- [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 3, .production_id = 15),
1748
- [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
1749
- [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
1750
- [202] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
1751
- [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
1752
- [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
7443
+ [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204),
7444
+ [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 2, .production_id = 2),
7445
+ [7] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 2, .production_id = 2),
7446
+ [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
7447
+ [11] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 2, .production_id = 2), SHIFT(243),
7448
+ [14] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
7449
+ [16] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 2, .production_id = 2), SHIFT(247),
7450
+ [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_repeat1, 2),
7451
+ [21] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_repeat1, 2),
7452
+ [23] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_repeat1, 2), SHIFT_REPEAT(243),
7453
+ [26] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 4, .production_id = 7),
7454
+ [28] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 4, .production_id = 7),
7455
+ [30] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 4, .production_id = 7), SHIFT(243),
7456
+ [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 3, .production_id = 4),
7457
+ [35] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 4),
7458
+ [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 4), SHIFT(243),
7459
+ [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record, 3, .production_id = 3),
7460
+ [42] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 3),
7461
+ [44] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 3), SHIFT(243),
7462
+ [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_identifier, 1),
7463
+ [49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_identifier, 1),
7464
+ [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_todo, 1),
7465
+ [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_todo, 1),
7466
+ [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
7467
+ [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2),
7468
+ [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2),
7469
+ [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 3), SHIFT(247),
7470
+ [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 4), SHIFT(247),
7471
+ [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3),
7472
+ [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3),
7473
+ [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 4, .production_id = 7), SHIFT(247),
7474
+ [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_repeat1, 2), SHIFT_REPEAT(247),
7475
+ [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 21),
7476
+ [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
7477
+ [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 21),
7478
+ [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
7479
+ [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
7480
+ [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86),
7481
+ [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__assignment, 4, .production_id = 32),
7482
+ [91] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__assignment, 4, .production_id = 32),
7483
+ [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
7484
+ [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
7485
+ [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
7486
+ [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88),
7487
+ [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
7488
+ [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__assignment, 3, .production_id = 25),
7489
+ [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__assignment, 3, .production_id = 25),
7490
+ [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 2),
7491
+ [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_integer, 2),
7492
+ [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negation, 2),
7493
+ [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negation, 2),
7494
+ [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1),
7495
+ [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1),
7496
+ [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1),
7497
+ [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_integer, 1),
7498
+ [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_todo, 4, .production_id = 28),
7499
+ [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_todo, 4, .production_id = 28),
7500
+ [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 4),
7501
+ [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_list, 4),
7502
+ [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_panic, 1),
7503
+ [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_panic, 1),
7504
+ [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_group, 3),
7505
+ [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_group, 3),
7506
+ [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_list, 3),
7507
+ [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_list, 3),
7508
+ [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_field, 3, .production_id = 10),
7509
+ [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_field, 3, .production_id = 10),
7510
+ [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197),
7511
+ [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
7512
+ [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
7513
+ [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
7514
+ [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
7515
+ [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99),
7516
+ [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
7517
+ [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
7518
+ [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
7519
+ [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83),
7520
+ [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6, .production_id = 19),
7521
+ [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
7522
+ [171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 6, .production_id = 19), SHIFT(212),
7523
+ [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6, .production_id = 19),
7524
+ [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161),
7525
+ [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
7526
+ [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105),
7527
+ [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9),
7528
+ [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29),
7529
+ [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
7530
+ [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
7531
+ [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
7532
+ [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24),
7533
+ [194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 6, .production_id = 19), SHIFT(22),
7534
+ [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6, .production_id = 18),
7535
+ [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 6, .production_id = 18), SHIFT(212),
7536
+ [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6, .production_id = 18),
7537
+ [204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 6, .production_id = 18), SHIFT(22),
7538
+ [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2),
7539
+ [209] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(73),
7540
+ [212] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(212),
7541
+ [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2),
7542
+ [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(161),
7543
+ [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(101),
7544
+ [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(105),
7545
+ [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(9),
7546
+ [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(29),
7547
+ [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(22),
7548
+ [235] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(165),
7549
+ [238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(24),
7550
+ [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(24),
7551
+ [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(22),
7552
+ [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 7, .production_id = 22),
7553
+ [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 22), SHIFT(212),
7554
+ [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 22),
7555
+ [254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 22), SHIFT(22),
7556
+ [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 7, .production_id = 23),
7557
+ [259] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 23), SHIFT(212),
7558
+ [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 23),
7559
+ [264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 23), SHIFT(22),
7560
+ [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 7, .production_id = 24),
7561
+ [269] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 24), SHIFT(212),
7562
+ [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 24),
7563
+ [274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 7, .production_id = 24), SHIFT(22),
7564
+ [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 8, .production_id = 30),
7565
+ [279] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 8, .production_id = 30), SHIFT(212),
7566
+ [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 8, .production_id = 30),
7567
+ [284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 8, .production_id = 30), SHIFT(22),
7568
+ [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 8, .production_id = 31),
7569
+ [289] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 8, .production_id = 31), SHIFT(212),
7570
+ [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 8, .production_id = 31),
7571
+ [294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 8, .production_id = 31), SHIFT(22),
7572
+ [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 9, .production_id = 34),
7573
+ [299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 9, .production_id = 34), SHIFT(212),
7574
+ [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 9, .production_id = 34),
7575
+ [304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 9, .production_id = 34), SHIFT(22),
7576
+ [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5, .production_id = 13),
7577
+ [309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 5, .production_id = 13), SHIFT(212),
7578
+ [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5, .production_id = 13),
7579
+ [314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_proc, 5, .production_id = 13), SHIFT(22),
7580
+ [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
7581
+ [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
7582
+ [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202),
7583
+ [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154),
7584
+ [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
7585
+ [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104),
7586
+ [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36),
7587
+ [331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60),
7588
+ [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
7589
+ [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
7590
+ [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
7591
+ [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59),
7592
+ [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58),
7593
+ [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
7594
+ [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(71),
7595
+ [348] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(202),
7596
+ [351] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(154),
7597
+ [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(100),
7598
+ [357] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(104),
7599
+ [360] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(36),
7600
+ [363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(60),
7601
+ [366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(58),
7602
+ [369] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(155),
7603
+ [372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(59),
7604
+ [375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(59),
7605
+ [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__statement_seq, 2), SHIFT_REPEAT(58),
7606
+ [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212),
7607
+ [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22),
7608
+ [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
7609
+ [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32),
7610
+ [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
7611
+ [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67),
7612
+ [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
7613
+ [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18),
7614
+ [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
7615
+ [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37),
7616
+ [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
7617
+ [403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
7618
+ [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
7619
+ [407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25),
7620
+ [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
7621
+ [411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16),
7622
+ [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
7623
+ [415] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21),
7624
+ [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
7625
+ [419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
7626
+ [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
7627
+ [423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28),
7628
+ [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
7629
+ [427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41),
7630
+ [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
7631
+ [431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40),
7632
+ [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
7633
+ [435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39),
7634
+ [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
7635
+ [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
7636
+ [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
7637
+ [443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
7638
+ [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
7639
+ [447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47),
7640
+ [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
7641
+ [451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64),
7642
+ [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
7643
+ [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62),
7644
+ [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
7645
+ [459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56),
7646
+ [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
7647
+ [463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20),
7648
+ [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let, 2, .production_id = 16),
7649
+ [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let, 2, .production_id = 16),
7650
+ [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167),
7651
+ [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
7652
+ [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159),
7653
+ [475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159),
7654
+ [477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164),
7655
+ [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2),
7656
+ [481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207),
7657
+ [483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208),
7658
+ [485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213),
7659
+ [487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217),
7660
+ [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
7661
+ [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
7662
+ [493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158),
7663
+ [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_name, 1),
7664
+ [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_name, 1),
7665
+ [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224),
7666
+ [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_name, 2),
7667
+ [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_name, 2),
7668
+ [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_name_repeat1, 2),
7669
+ [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_module_name_repeat1, 2),
7670
+ [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_name_repeat1, 2), SHIFT_REPEAT(224),
7671
+ [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
7672
+ [514] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 2, .production_id = 2), SHIFT(227),
7673
+ [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 3),
7674
+ [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
7675
+ [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(208),
7676
+ [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(213),
7677
+ [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(217),
7678
+ [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
7679
+ [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1),
7680
+ [534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1),
7681
+ [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
7682
+ [538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223),
7683
+ [540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_name_repeat1, 2), SHIFT_REPEAT(219),
7684
+ [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
7685
+ [545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(207),
7686
+ [548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2),
7687
+ [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5, .production_id = 12),
7688
+ [552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 5, .production_id = 12),
7689
+ [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
7690
+ [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 6, .production_id = 15),
7691
+ [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 6, .production_id = 15),
7692
+ [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 3),
7693
+ [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 3),
7694
+ [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5, .production_id = 11),
7695
+ [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 5, .production_id = 11),
7696
+ [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 2),
7697
+ [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 2),
7698
+ [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1, .production_id = 9),
7699
+ [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1, .production_id = 9),
7700
+ [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
7701
+ [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 5),
7702
+ [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 5),
7703
+ [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4, .production_id = 8),
7704
+ [584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4, .production_id = 8),
7705
+ [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2),
7706
+ [588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2),
7707
+ [590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(182),
7708
+ [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_imports, 4),
7709
+ [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unqualified_imports, 4),
7710
+ [597] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_repeat1, 2), SHIFT_REPEAT(227),
7711
+ [600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 4, .production_id = 7), SHIFT(227),
7712
+ [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 5),
7713
+ [605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, .production_id = 5),
7714
+ [607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237),
7715
+ [609] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 3), SHIFT(227),
7716
+ [612] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_record, 3, .production_id = 4), SHIFT(227),
7717
+ [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 5, .production_id = 9),
7718
+ [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 5, .production_id = 9),
7719
+ [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
7720
+ [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
7721
+ [623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175),
7722
+ [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 4, .production_id = 9),
7723
+ [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 4, .production_id = 9),
7724
+ [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 6, .production_id = 14),
7725
+ [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 6, .production_id = 14),
7726
+ [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, .production_id = 6),
7727
+ [635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, .production_id = 6),
7728
+ [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
7729
+ [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
7730
+ [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2, .production_id = 1),
7731
+ [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module, 2, .production_id = 1),
7732
+ [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2),
7733
+ [647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(151),
7734
+ [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern_expression, 1, .production_id = 17),
7735
+ [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
7736
+ [654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57),
7737
+ [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
7738
+ [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
7739
+ [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
7740
+ [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
7741
+ [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern_binary_expression, 3, .production_id = 21),
7742
+ [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
7743
+ [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
7744
+ [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
7745
+ [672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19),
7746
+ [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
7747
+ [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
7748
+ [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
7749
+ [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1),
7750
+ [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
7751
+ [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
7752
+ [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
7753
+ [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
7754
+ [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
7755
+ [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157),
7756
+ [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
7757
+ [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
7758
+ [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
7759
+ [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
7760
+ [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
7761
+ [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
7762
+ [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
7763
+ [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
7764
+ [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
7765
+ [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
7766
+ [714] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_proc_repeat1, 2), SHIFT_REPEAT(196),
7767
+ [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_proc_repeat1, 2),
7768
+ [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
7769
+ [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
7770
+ [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
7771
+ [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
7772
+ [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
7773
+ [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
7774
+ [731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2), SHIFT_REPEAT(152),
7775
+ [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unqualified_imports_repeat1, 2),
7776
+ [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
7777
+ [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
7778
+ [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200),
7779
+ [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 1, .production_id = 9),
7780
+ [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
7781
+ [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
7782
+ [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
7783
+ [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
7784
+ [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
7785
+ [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
7786
+ [756] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2), SHIFT_REPEAT(234),
7787
+ [759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2),
7788
+ [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 3, .production_id = 20),
7789
+ [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
7790
+ [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
7791
+ [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166),
7792
+ [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
7793
+ [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
7794
+ [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
7795
+ [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
7796
+ [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
7797
+ [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
7798
+ [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
7799
+ [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
7800
+ [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
7801
+ [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
7802
+ [789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 3, .production_id = 27),
7803
+ [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 1, .production_id = 9),
7804
+ [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
7805
+ [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
7806
+ [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
7807
+ [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
7808
+ [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
7809
+ [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
7810
+ [805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_annotation, 2, .production_id = 26),
7811
+ [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
7812
+ [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
7813
+ [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
7814
+ [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
7815
+ [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
7816
+ [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
7817
+ [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
7818
+ [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
7819
+ [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
7820
+ [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
7821
+ [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198),
7822
+ [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
7823
+ [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
7824
+ [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
7825
+ [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 5, .production_id = 33),
7826
+ [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
7827
+ [839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 4, .production_id = 29),
7828
+ [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
7829
+ [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
7830
+ [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
7831
+ [847] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
7832
+ [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
7833
+ [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
7834
+ [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
1753
7835
  };
1754
7836
 
1755
7837
  #ifdef __cplusplus
1756
7838
  extern "C" {
1757
7839
  #endif
7840
+ void *tree_sitter_palm_external_scanner_create(void);
7841
+ void tree_sitter_palm_external_scanner_destroy(void *);
7842
+ bool tree_sitter_palm_external_scanner_scan(void *, TSLexer *, const bool *);
7843
+ unsigned tree_sitter_palm_external_scanner_serialize(void *, char *);
7844
+ void tree_sitter_palm_external_scanner_deserialize(void *, const char *, unsigned);
7845
+
1758
7846
  #ifdef _WIN32
1759
7847
  #define extern __declspec(dllexport)
1760
7848
  #endif
@@ -1785,6 +7873,15 @@ extern const TSLanguage *tree_sitter_palm(void) {
1785
7873
  .alias_sequences = &ts_alias_sequences[0][0],
1786
7874
  .lex_modes = ts_lex_modes,
1787
7875
  .lex_fn = ts_lex,
7876
+ .external_scanner = {
7877
+ &ts_external_scanner_states[0][0],
7878
+ ts_external_scanner_symbol_map,
7879
+ tree_sitter_palm_external_scanner_create,
7880
+ tree_sitter_palm_external_scanner_destroy,
7881
+ tree_sitter_palm_external_scanner_scan,
7882
+ tree_sitter_palm_external_scanner_serialize,
7883
+ tree_sitter_palm_external_scanner_deserialize,
7884
+ },
1788
7885
  .primary_state_ids = ts_primary_state_ids,
1789
7886
  };
1790
7887
  return &language;
src/scanner.c ADDED
@@ -0,0 +1,29 @@
1
+ #include <tree_sitter/parser.h>
2
+
3
+ enum TokenType {
4
+ QUOTED_CONTENT
5
+ };
6
+
7
+ void * tree_sitter_palm_external_scanner_create() {return NULL;}
8
+ void tree_sitter_palm_external_scanner_destroy(void * payload) {}
9
+ unsigned tree_sitter_palm_external_scanner_serialize(void * payload, char * buffer) {return 0;}
10
+ void tree_sitter_palm_external_scanner_deserialize(void * payload, const char * buffer, unsigned length) {}
11
+
12
+ bool tree_sitter_palm_external_scanner_scan(void * payload, TSLexer *lexer, const bool * valid_symbols) {
13
+ if (valid_symbols[QUOTED_CONTENT]) {
14
+ bool has_content = false;
15
+
16
+ while (true) {
17
+ if (lexer->lookahead == '\"' || lexer->lookahead == '\\') {
18
+ break;
19
+ } else if (lexer->lookahead == 0) {
20
+ return false;
21
+ }
22
+ has_content = true;
23
+ lexer->advance(lexer, false);
24
+ }
25
+ lexer->result_symbol = QUOTED_CONTENT;
26
+ return has_content;
27
+ }
28
+ return false;
29
+ }
test/corpus/functions.txt CHANGED
@@ -1,167 +1,20 @@
1
1
  ================================================================================
2
- Functions - Simple
2
+ Function - Simple
3
3
  ================================================================================
4
4
 
5
- package definitions
5
+ module palm
6
6
 
7
7
  main() =
8
- todo("Not done")
8
+ let a = "123"
9
9
 
10
10
  --------------------------------------------------------------------------------
11
11
 
12
12
  (source_file
13
- (package
13
+ (module
14
- (identifier))
15
- (definitions
16
- (fun_definition
17
- (identifier))))
18
-
19
- ================================================================================
20
- Functions - Extension
21
- ================================================================================
22
-
23
- package definitions
24
-
25
- fun User.fullName() => {
26
- }
27
-
28
- --------------------------------------------------------------------------------
29
-
30
- (source_file
14
+ (module_name))
31
- (package
15
+ (proc
32
- (identifier))
33
- (definitions
34
- (fun_definition
35
- (identifier)
16
+ (identifier)
36
- (identifier))))
37
-
38
-
39
- ================================================================================
40
- Functions - Return
41
- ================================================================================
42
-
43
- package definitions
44
-
45
- fun add(a: Int, b: Int) => Int {
46
- }
47
-
48
- --------------------------------------------------------------------------------
49
-
50
- (source_file
51
- (package
52
- (identifier))
53
- (definitions
54
- (fun_definition
55
- (identifier)
56
- (param
57
- (variable_name)
58
- (type
17
+ (let
59
- (definition_name)))
60
- (param
61
- (variable_name)
62
- (type
63
- (definition_name)))
64
- (type
65
- (definition_name)))))
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
18
  (identifier)
84
- (generic_list
85
- (identifier)
86
- (identifier))
87
- (param
19
+ (string
88
- (variable_name)
89
- (type
90
- (definition_name)))
91
- (param
92
- (variable_name)
93
- (type
94
- (definition_name)))
95
- (type
96
- (definition_name)))))
20
+ (quoted_content)))))
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
-
134
- ================================================================================
135
- Functions - High Order 1
136
- ================================================================================
137
-
138
- package definitions
139
-
140
- fun add(a: Int, b: Int): () -> Unit
141
- return {
142
- println("A + B")
143
- }
144
-
145
- --------------------------------------------------------------------------------
146
-
147
- (source_file
148
- (package
149
- (identifier))
150
-
151
- ================================================================================
152
- Functions - High Order 2
153
- ================================================================================
154
-
155
- package definitions
156
-
157
- fun add(a: Int, b: () -> Unit): () -> Unit =>
158
- return {
159
- b()
160
- println("A + B")
161
- }
162
-
163
- --------------------------------------------------------------------------------
164
-
165
- (source_file
166
- (package
167
- (identifier))