plum

#treesitter#compiler#wasm

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

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


0d8e2abpyrossh 2024-12-18T21:48:44+05:30
add cargo pkg
tooling/tree-sitter-plum/.gitignore CHANGED
@@ -1,2 +1,5 @@
1
1
  plum.dylib
2
- plum.so
2
+ plum.so
3
+
4
+ # Rust artifacts
5
+ target/
tooling/tree-sitter-plum/Cargo.lock ADDED
@@ -0,0 +1,96 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.3"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "cc"
16
+ version = "1.2.4"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf"
19
+ dependencies = [
20
+ "shlex",
21
+ ]
22
+
23
+ [[package]]
24
+ name = "memchr"
25
+ version = "2.7.4"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
28
+
29
+ [[package]]
30
+ name = "regex"
31
+ version = "1.11.1"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
34
+ dependencies = [
35
+ "aho-corasick",
36
+ "memchr",
37
+ "regex-automata",
38
+ "regex-syntax",
39
+ ]
40
+
41
+ [[package]]
42
+ name = "regex-automata"
43
+ version = "0.4.9"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
46
+ dependencies = [
47
+ "aho-corasick",
48
+ "memchr",
49
+ "regex-syntax",
50
+ ]
51
+
52
+ [[package]]
53
+ name = "regex-syntax"
54
+ version = "0.8.5"
55
+ source = "registry+https://github.com/rust-lang/crates.io-index"
56
+ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
57
+
58
+ [[package]]
59
+ name = "shlex"
60
+ version = "1.3.0"
61
+ source = "registry+https://github.com/rust-lang/crates.io-index"
62
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
63
+
64
+ [[package]]
65
+ name = "streaming-iterator"
66
+ version = "0.1.9"
67
+ source = "registry+https://github.com/rust-lang/crates.io-index"
68
+ checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520"
69
+
70
+ [[package]]
71
+ name = "tree-sitter"
72
+ version = "0.24.5"
73
+ source = "registry+https://github.com/rust-lang/crates.io-index"
74
+ checksum = "8ac95b18f0f727aaaa012bd5179a1916706ee3ed071920fdbda738750b0c0bf5"
75
+ dependencies = [
76
+ "cc",
77
+ "regex",
78
+ "regex-syntax",
79
+ "streaming-iterator",
80
+ "tree-sitter-language",
81
+ ]
82
+
83
+ [[package]]
84
+ name = "tree-sitter-language"
85
+ version = "0.1.3"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "c199356c799a8945965bb5f2c55b2ad9d9aa7c4b4f6e587fe9dea0bc715e5f9c"
88
+
89
+ [[package]]
90
+ name = "tree-sitter-plum"
91
+ version = "0.1.0"
92
+ dependencies = [
93
+ "cc",
94
+ "tree-sitter",
95
+ "tree-sitter-language",
96
+ ]
tooling/tree-sitter-plum/Cargo.toml ADDED
@@ -0,0 +1,32 @@
1
+ [package]
2
+ name = "tree-sitter-plum"
3
+ description = "plum"
4
+ version = "0.1.0"
5
+ authors = ["pyrossh <[email protected]>"]
6
+ license = "MIT"
7
+ keywords = ["incremental", "parsing", "tree-sitter", "plum"]
8
+ categories = ["parsing", "text-editors"]
9
+ repository = "https://git.sr.ht/~pyrossh/plum"
10
+ edition = "2021"
11
+ autoexamples = false
12
+
13
+ build = "bindings/rust/build.rs"
14
+ include = [
15
+ "bindings/rust/*",
16
+ "grammar.js",
17
+ "queries/*",
18
+ "src/*",
19
+ "tree-sitter.json",
20
+ ]
21
+
22
+ [lib]
23
+ path = "bindings/rust/lib.rs"
24
+
25
+ [dependencies]
26
+ tree-sitter-language = "0.1"
27
+
28
+ [build-dependencies]
29
+ cc = "1.1.22"
30
+
31
+ [dev-dependencies]
32
+ tree-sitter = "0.24.5"
tooling/tree-sitter-plum/bindings/rust/build.rs ADDED
@@ -0,0 +1,19 @@
1
+ fn main() {
2
+ let src_dir = std::path::Path::new("src");
3
+
4
+ let mut c_config = cc::Build::new();
5
+ c_config.std("c11").include(src_dir);
6
+
7
+ #[cfg(target_env = "msvc")]
8
+ c_config.flag("-utf-8");
9
+
10
+ let parser_path = src_dir.join("parser.c");
11
+ c_config.file(&parser_path);
12
+ println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap());
13
+
14
+ let scanner_path = src_dir.join("scanner.c");
15
+ c_config.file(&scanner_path);
16
+ println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
17
+
18
+ c_config.compile("tree-sitter-plum");
19
+ }
tooling/tree-sitter-plum/bindings/rust/lib.rs ADDED
@@ -0,0 +1,53 @@
1
+ //! This crate provides plum language support for the [tree-sitter][] parsing library.
2
+ //!
3
+ //! Typically, you will use the [LANGUAGE][] constant to add this language to a
4
+ //! tree-sitter [Parser][], and then use the parser to parse some code:
5
+ //!
6
+ //! ```
7
+ //! let code = r#"
8
+ //! "#;
9
+ //! let mut parser = tree_sitter::Parser::new();
10
+ //! let language = tree_sitter_plum::LANGUAGE;
11
+ //! parser
12
+ //! .set_language(&language.into())
13
+ //! .expect("Error loading plum parser");
14
+ //! let tree = parser.parse(code, None).unwrap();
15
+ //! assert!(!tree.root_node().has_error());
16
+ //! ```
17
+ //!
18
+ //! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html
19
+ //! [tree-sitter]: https://tree-sitter.github.io/
20
+
21
+ use tree_sitter_language::LanguageFn;
22
+
23
+ extern "C" {
24
+ fn tree_sitter_plum() -> *const ();
25
+ }
26
+
27
+ /// The tree-sitter [`LanguageFn`][LanguageFn] for this grammar.
28
+ ///
29
+ /// [LanguageFn]: https://docs.rs/tree-sitter-language/*/tree_sitter_language/struct.LanguageFn.html
30
+ pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_plum) };
31
+
32
+ /// The content of the [`node-types.json`][] file for this grammar.
33
+ ///
34
+ /// [`node-types.json`]: https://tree-sitter.github.io/tree-sitter/using-parsers#static-node-types
35
+ pub const NODE_TYPES: &str = include_str!("../../src/node-types.json");
36
+
37
+ // NOTE: uncomment these to include any queries that this grammar contains:
38
+
39
+ // pub const HIGHLIGHTS_QUERY: &str = include_str!("../../queries/highlights.scm");
40
+ // pub const INJECTIONS_QUERY: &str = include_str!("../../queries/injections.scm");
41
+ // pub const LOCALS_QUERY: &str = include_str!("../../queries/locals.scm");
42
+ // pub const TAGS_QUERY: &str = include_str!("../../queries/tags.scm");
43
+
44
+ #[cfg(test)]
45
+ mod tests {
46
+ #[test]
47
+ fn test_can_load_grammar() {
48
+ let mut parser = tree_sitter::Parser::new();
49
+ parser
50
+ .set_language(&super::LANGUAGE.into())
51
+ .expect("Error loading plum parser");
52
+ }
53
+ }
tooling/tree-sitter-plum/src/grammar.json CHANGED
@@ -2410,13 +2410,13 @@
2410
2410
  "name": "arguments",
2411
2411
  "content": {
2412
2412
  "type": "SYMBOL",
2413
- "name": "argument_list"
2413
+ "name": "fn_argument_list"
2414
2414
  }
2415
2415
  }
2416
2416
  ]
2417
2417
  }
2418
2418
  },
2419
- "argument_list": {
2419
+ "fn_argument_list": {
2420
2420
  "type": "SEQ",
2421
2421
  "members": [
2422
2422
  {
tooling/tree-sitter-plum/src/node-types.json CHANGED
@@ -1,27 +1,4 @@
1
1
  [
2
- {
3
- "type": "argument_list",
4
- "named": true,
5
- "fields": {},
6
- "children": {
7
- "multiple": true,
8
- "required": false,
9
- "types": [
10
- {
11
- "type": "expression",
12
- "named": true
13
- },
14
- {
15
- "type": "keyword_argument",
16
- "named": true
17
- },
18
- {
19
- "type": "pair_argument",
20
- "named": true
21
- }
22
- ]
23
- }
24
- },
25
2
  {
26
3
  "type": "assert",
27
4
  "named": true,
@@ -838,6 +815,29 @@
838
815
  }
839
816
  }
840
817
  },
818
+ {
819
+ "type": "fn_argument_list",
820
+ "named": true,
821
+ "fields": {},
822
+ "children": {
823
+ "multiple": true,
824
+ "required": false,
825
+ "types": [
826
+ {
827
+ "type": "expression",
828
+ "named": true
829
+ },
830
+ {
831
+ "type": "keyword_argument",
832
+ "named": true
833
+ },
834
+ {
835
+ "type": "pair_argument",
836
+ "named": true
837
+ }
838
+ ]
839
+ }
840
+ },
841
841
  {
842
842
  "type": "fn_call",
843
843
  "named": true,
@@ -847,7 +847,7 @@
847
847
  "required": true,
848
848
  "types": [
849
849
  {
850
- "type": "argument_list",
850
+ "type": "fn_argument_list",
851
851
  "named": true
852
852
  }
853
853
  ]
tooling/tree-sitter-plum/src/parser.c CHANGED
@@ -141,7 +141,7 @@ enum ts_symbol_identifiers {
141
141
  sym_comparison_operator = 123,
142
142
  sym_attribute = 124,
143
143
  sym_fn_call = 125,
144
- sym_argument_list = 126,
144
+ sym_fn_argument_list = 126,
145
145
  sym_keyword_argument = 127,
146
146
  sym_pair_argument = 128,
147
147
  sym_class_call = 129,
@@ -174,7 +174,7 @@ enum ts_symbol_identifiers {
174
174
  aux_sym_match_repeat1 = 156,
175
175
  aux_sym_match_repeat2 = 157,
176
176
  aux_sym_case_repeat1 = 158,
177
- aux_sym_argument_list_repeat1 = 159,
177
+ aux_sym_fn_argument_list_repeat1 = 159,
178
178
  aux_sym_class_argument_list_repeat1 = 160,
179
179
  aux_sym_string_repeat1 = 161,
180
180
  aux_sym_string_content_repeat1 = 162,
@@ -307,7 +307,7 @@ static const char * const ts_symbol_names[] = {
307
307
  [sym_comparison_operator] = "comparison_operator",
308
308
  [sym_attribute] = "attribute",
309
309
  [sym_fn_call] = "fn_call",
310
- [sym_argument_list] = "argument_list",
310
+ [sym_fn_argument_list] = "fn_argument_list",
311
311
  [sym_keyword_argument] = "keyword_argument",
312
312
  [sym_pair_argument] = "pair_argument",
313
313
  [sym_class_call] = "class_call",
@@ -340,7 +340,7 @@ static const char * const ts_symbol_names[] = {
340
340
  [aux_sym_match_repeat1] = "match_repeat1",
341
341
  [aux_sym_match_repeat2] = "match_repeat2",
342
342
  [aux_sym_case_repeat1] = "case_repeat1",
343
- [aux_sym_argument_list_repeat1] = "argument_list_repeat1",
343
+ [aux_sym_fn_argument_list_repeat1] = "fn_argument_list_repeat1",
344
344
  [aux_sym_class_argument_list_repeat1] = "class_argument_list_repeat1",
345
345
  [aux_sym_string_repeat1] = "string_repeat1",
346
346
  [aux_sym_string_content_repeat1] = "string_content_repeat1",
@@ -473,7 +473,7 @@ static const TSSymbol ts_symbol_map[] = {
473
473
  [sym_comparison_operator] = sym_comparison_operator,
474
474
  [sym_attribute] = sym_attribute,
475
475
  [sym_fn_call] = sym_fn_call,
476
- [sym_argument_list] = sym_argument_list,
476
+ [sym_fn_argument_list] = sym_fn_argument_list,
477
477
  [sym_keyword_argument] = sym_keyword_argument,
478
478
  [sym_pair_argument] = sym_pair_argument,
479
479
  [sym_class_call] = sym_class_call,
@@ -506,7 +506,7 @@ static const TSSymbol ts_symbol_map[] = {
506
506
  [aux_sym_match_repeat1] = aux_sym_match_repeat1,
507
507
  [aux_sym_match_repeat2] = aux_sym_match_repeat2,
508
508
  [aux_sym_case_repeat1] = aux_sym_case_repeat1,
509
- [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1,
509
+ [aux_sym_fn_argument_list_repeat1] = aux_sym_fn_argument_list_repeat1,
510
510
  [aux_sym_class_argument_list_repeat1] = aux_sym_class_argument_list_repeat1,
511
511
  [aux_sym_string_repeat1] = aux_sym_string_repeat1,
512
512
  [aux_sym_string_content_repeat1] = aux_sym_string_content_repeat1,
@@ -1017,7 +1017,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
1017
1017
  .visible = true,
1018
1018
  .named = true,
1019
1019
  },
1020
- [sym_argument_list] = {
1020
+ [sym_fn_argument_list] = {
1021
1021
  .visible = true,
1022
1022
  .named = true,
1023
1023
  },
@@ -1149,7 +1149,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
1149
1149
  .visible = false,
1150
1150
  .named = false,
1151
1151
  },
1152
- [aux_sym_argument_list_repeat1] = {
1152
+ [aux_sym_fn_argument_list_repeat1] = {
1153
1153
  .visible = false,
1154
1154
  .named = false,
1155
1155
  },
@@ -20863,7 +20863,7 @@ static const uint16_t ts_small_parse_table[] = {
20863
20863
  ACTIONS(944), 1,
20864
20864
  anon_sym_RPAREN,
20865
20865
  STATE(620), 1,
20866
- aux_sym_argument_list_repeat1,
20866
+ aux_sym_fn_argument_list_repeat1,
20867
20867
  [19782] = 3,
20868
20868
  ACTIONS(3), 1,
20869
20869
  sym_comment,
@@ -21067,7 +21067,7 @@ static const uint16_t ts_small_parse_table[] = {
21067
21067
  ACTIONS(992), 1,
21068
21068
  anon_sym_RPAREN,
21069
21069
  STATE(641), 1,
21070
- aux_sym_argument_list_repeat1,
21070
+ aux_sym_fn_argument_list_repeat1,
21071
21071
  [20046] = 7,
21072
21072
  ACTIONS(3), 1,
21073
21073
  sym_comment,
@@ -21145,7 +21145,7 @@ static const uint16_t ts_small_parse_table[] = {
21145
21145
  ACTIONS(1012), 1,
21146
21146
  anon_sym_RPAREN,
21147
21147
  STATE(659), 1,
21148
- aux_sym_argument_list_repeat1,
21148
+ aux_sym_fn_argument_list_repeat1,
21149
21149
  [20154] = 3,
21150
21150
  ACTIONS(3), 1,
21151
21151
  sym_comment,
@@ -21234,7 +21234,7 @@ static const uint16_t ts_small_parse_table[] = {
21234
21234
  ACTIONS(1034), 1,
21235
21235
  anon_sym_RPAREN,
21236
21236
  STATE(670), 1,
21237
- aux_sym_argument_list_repeat1,
21237
+ aux_sym_fn_argument_list_repeat1,
21238
21238
  [20276] = 3,
21239
21239
  ACTIONS(3), 1,
21240
21240
  sym_comment,
@@ -21309,7 +21309,7 @@ static const uint16_t ts_small_parse_table[] = {
21309
21309
  ACTIONS(1050), 1,
21310
21310
  anon_sym_RPAREN,
21311
21311
  STATE(678), 1,
21312
- aux_sym_argument_list_repeat1,
21312
+ aux_sym_fn_argument_list_repeat1,
21313
21313
  [20378] = 7,
21314
21314
  ACTIONS(3), 1,
21315
21315
  sym_comment,
@@ -21372,7 +21372,7 @@ static const uint16_t ts_small_parse_table[] = {
21372
21372
  ACTIONS(1062), 1,
21373
21373
  anon_sym_RPAREN,
21374
21374
  STATE(686), 1,
21375
- aux_sym_argument_list_repeat1,
21375
+ aux_sym_fn_argument_list_repeat1,
21376
21376
  [20464] = 4,
21377
21377
  ACTIONS(3), 1,
21378
21378
  sym_comment,
@@ -22667,7 +22667,7 @@ static const uint16_t ts_small_parse_table[] = {
22667
22667
  ACTIONS(944), 1,
22668
22668
  anon_sym_RPAREN,
22669
22669
  STATE(620), 1,
22670
- aux_sym_argument_list_repeat1,
22670
+ aux_sym_fn_argument_list_repeat1,
22671
22671
  [22267] = 4,
22672
22672
  ACTIONS(3), 1,
22673
22673
  sym_comment,
@@ -22743,7 +22743,7 @@ static const uint16_t ts_small_parse_table[] = {
22743
22743
  ACTIONS(1346), 1,
22744
22744
  anon_sym_COMMA,
22745
22745
  STATE(684), 1,
22746
- aux_sym_argument_list_repeat1,
22746
+ aux_sym_fn_argument_list_repeat1,
22747
22747
  [22374] = 4,
22748
22748
  ACTIONS(3), 1,
22749
22749
  sym_comment,
@@ -22890,7 +22890,7 @@ static const uint16_t ts_small_parse_table[] = {
22890
22890
  ACTIONS(992), 1,
22891
22891
  anon_sym_RPAREN,
22892
22892
  STATE(641), 1,
22893
- aux_sym_argument_list_repeat1,
22893
+ aux_sym_fn_argument_list_repeat1,
22894
22894
  [22583] = 4,
22895
22895
  ACTIONS(3), 1,
22896
22896
  sym_comment,
@@ -22926,7 +22926,7 @@ static const uint16_t ts_small_parse_table[] = {
22926
22926
  ACTIONS(1401), 1,
22927
22927
  anon_sym_COMMA,
22928
22928
  STATE(684), 1,
22929
- aux_sym_argument_list_repeat1,
22929
+ aux_sym_fn_argument_list_repeat1,
22930
22930
  [22635] = 4,
22931
22931
  ACTIONS(3), 1,
22932
22932
  sym_comment,
@@ -23067,7 +23067,7 @@ static const uint16_t ts_small_parse_table[] = {
23067
23067
  ACTIONS(1012), 1,
23068
23068
  anon_sym_RPAREN,
23069
23069
  STATE(659), 1,
23070
- aux_sym_argument_list_repeat1,
23070
+ aux_sym_fn_argument_list_repeat1,
23071
23071
  [22837] = 2,
23072
23072
  ACTIONS(3), 1,
23073
23073
  sym_comment,
@@ -23083,7 +23083,7 @@ static const uint16_t ts_small_parse_table[] = {
23083
23083
  ACTIONS(1442), 1,
23084
23084
  anon_sym_COMMA,
23085
23085
  STATE(684), 1,
23086
- aux_sym_argument_list_repeat1,
23086
+ aux_sym_fn_argument_list_repeat1,
23087
23087
  [22859] = 4,
23088
23088
  ACTIONS(3), 1,
23089
23089
  sym_comment,
@@ -23164,7 +23164,7 @@ static const uint16_t ts_small_parse_table[] = {
23164
23164
  ACTIONS(1034), 1,
23165
23165
  anon_sym_RPAREN,
23166
23166
  STATE(670), 1,
23167
- aux_sym_argument_list_repeat1,
23167
+ aux_sym_fn_argument_list_repeat1,
23168
23168
  [22976] = 4,
23169
23169
  ACTIONS(3), 1,
23170
23170
  sym_comment,
@@ -23182,7 +23182,7 @@ static const uint16_t ts_small_parse_table[] = {
23182
23182
  ACTIONS(1466), 1,
23183
23183
  anon_sym_COMMA,
23184
23184
  STATE(684), 1,
23185
- aux_sym_argument_list_repeat1,
23185
+ aux_sym_fn_argument_list_repeat1,
23186
23186
  [23002] = 4,
23187
23187
  ACTIONS(3), 1,
23188
23188
  sym_comment,
@@ -23235,7 +23235,7 @@ static const uint16_t ts_small_parse_table[] = {
23235
23235
  ACTIONS(1050), 1,
23236
23236
  anon_sym_RPAREN,
23237
23237
  STATE(678), 1,
23238
- aux_sym_argument_list_repeat1,
23238
+ aux_sym_fn_argument_list_repeat1,
23239
23239
  [23078] = 4,
23240
23240
  ACTIONS(3), 1,
23241
23241
  sym_comment,
@@ -23253,7 +23253,7 @@ static const uint16_t ts_small_parse_table[] = {
23253
23253
  ACTIONS(1487), 1,
23254
23254
  anon_sym_COMMA,
23255
23255
  STATE(684), 1,
23256
- aux_sym_argument_list_repeat1,
23256
+ aux_sym_fn_argument_list_repeat1,
23257
23257
  [23104] = 4,
23258
23258
  ACTIONS(3), 1,
23259
23259
  sym_comment,
@@ -23307,7 +23307,7 @@ static const uint16_t ts_small_parse_table[] = {
23307
23307
  ACTIONS(1502), 1,
23308
23308
  anon_sym_COMMA,
23309
23309
  STATE(684), 1,
23310
- aux_sym_argument_list_repeat1,
23310
+ aux_sym_fn_argument_list_repeat1,
23311
23311
  [23182] = 4,
23312
23312
  ACTIONS(3), 1,
23313
23313
  sym_comment,
@@ -23316,7 +23316,7 @@ static const uint16_t ts_small_parse_table[] = {
23316
23316
  ACTIONS(1062), 1,
23317
23317
  anon_sym_RPAREN,
23318
23318
  STATE(686), 1,
23319
- aux_sym_argument_list_repeat1,
23319
+ aux_sym_fn_argument_list_repeat1,
23320
23320
  [23195] = 4,
23321
23321
  ACTIONS(3), 1,
23322
23322
  sym_comment,
@@ -23325,7 +23325,7 @@ static const uint16_t ts_small_parse_table[] = {
23325
23325
  ACTIONS(1505), 1,
23326
23326
  anon_sym_COMMA,
23327
23327
  STATE(684), 1,
23328
- aux_sym_argument_list_repeat1,
23328
+ aux_sym_fn_argument_list_repeat1,
23329
23329
  [23208] = 4,
23330
23330
  ACTIONS(3), 1,
23331
23331
  sym_comment,
@@ -23505,7 +23505,7 @@ static const uint16_t ts_small_parse_table[] = {
23505
23505
  ACTIONS(1551), 1,
23506
23506
  anon_sym_LPAREN,
23507
23507
  STATE(89), 1,
23508
- sym_argument_list,
23508
+ sym_fn_argument_list,
23509
23509
  [23461] = 3,
23510
23510
  ACTIONS(3), 1,
23511
23511
  sym_comment,
@@ -23531,7 +23531,7 @@ static const uint16_t ts_small_parse_table[] = {
23531
23531
  ACTIONS(1555), 1,
23532
23532
  anon_sym_LPAREN,
23533
23533
  STATE(236), 1,
23534
- sym_argument_list,
23534
+ sym_fn_argument_list,
23535
23535
  [23497] = 3,
23536
23536
  ACTIONS(3), 1,
23537
23537
  sym_comment,
@@ -23608,7 +23608,7 @@ static const uint16_t ts_small_parse_table[] = {
23608
23608
  ACTIONS(1569), 1,
23609
23609
  anon_sym_LPAREN,
23610
23610
  STATE(16), 1,
23611
- sym_argument_list,
23611
+ sym_fn_argument_list,
23612
23612
  [23603] = 3,
23613
23613
  ACTIONS(3), 1,
23614
23614
  sym_comment,
@@ -23752,7 +23752,7 @@ static const uint16_t ts_small_parse_table[] = {
23752
23752
  ACTIONS(1601), 1,
23753
23753
  anon_sym_LPAREN,
23754
23754
  STATE(193), 1,
23755
- sym_argument_list,
23755
+ sym_fn_argument_list,
23756
23756
  [23803] = 2,
23757
23757
  ACTIONS(3), 1,
23758
23758
  sym_comment,
@@ -23796,7 +23796,7 @@ static const uint16_t ts_small_parse_table[] = {
23796
23796
  ACTIONS(1607), 1,
23797
23797
  anon_sym_LPAREN,
23798
23798
  STATE(263), 1,
23799
- sym_argument_list,
23799
+ sym_fn_argument_list,
23800
23800
  [23863] = 3,
23801
23801
  ACTIONS(3), 1,
23802
23802
  sym_comment,
@@ -23862,7 +23862,7 @@ static const uint16_t ts_small_parse_table[] = {
23862
23862
  ACTIONS(1609), 1,
23863
23863
  anon_sym_LPAREN,
23864
23864
  STATE(261), 1,
23865
- sym_argument_list,
23865
+ sym_fn_argument_list,
23866
23866
  [23955] = 2,
23867
23867
  ACTIONS(3), 1,
23868
23868
  sym_comment,
@@ -25118,20 +25118,20 @@ static const TSParseActionEntry ts_parse_actions[] = {
25118
25118
  [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0),
25119
25119
  [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
25120
25120
  [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
25121
- [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0),
25121
+ [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 2, 0, 0),
25122
- [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0),
25122
+ [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_argument_list, 2, 0, 0),
25123
25123
  [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_argument_list, 2, 0, 0),
25124
25124
  [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_argument_list, 2, 0, 0),
25125
25125
  [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 11),
25126
25126
  [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 3, 0, 11),
25127
- [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0),
25127
+ [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 3, 0, 0),
25128
- [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0),
25128
+ [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_argument_list, 3, 0, 0),
25129
25129
  [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_argument_list, 3, 0, 0),
25130
25130
  [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_argument_list, 3, 0, 0),
25131
- [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0),
25131
+ [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 4, 0, 0),
25132
- [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0),
25132
+ [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_argument_list, 4, 0, 0),
25133
- [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, 0, 0),
25133
+ [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 5, 0, 0),
25134
- [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, 0, 0),
25134
+ [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_argument_list, 5, 0, 0),
25135
25135
  [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_argument_list, 6, 0, 29),
25136
25136
  [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_argument_list, 6, 0, 29),
25137
25137
  [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_argument_list, 6, 0, 42),
@@ -25574,7 +25574,7 @@ static const TSParseActionEntry ts_parse_actions[] = {
25574
25574
  [1124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_repeat2, 2, 0, 0),
25575
25575
  [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770),
25576
25576
  [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468),
25577
- [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0),
25577
+ [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fn_argument_list_repeat1, 2, 0, 0),
25578
25578
  [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pair_argument, 3, 0, 22),
25579
25579
  [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, 0, 22),
25580
25580
  [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462),
@@ -25752,7 +25752,7 @@ static const TSParseActionEntry ts_parse_actions[] = {
25752
25752
  [1495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
25753
25753
  [1497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
25754
25754
  [1499] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_assign_repeat1, 2, 0, 0), SHIFT_REPEAT(731),
25755
- [1502] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(79),
25755
+ [1502] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fn_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(79),
25756
25756
  [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
25757
25757
  [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(728),
25758
25758
  [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831),