~repos /plum

#treesitter#compiler#wasm

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

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


30158b02 Peter John

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