plum
git clone https://git.pyrossh.dev/plum
A statically typed, imperative programming language inspired by rust, python
0d8e2ab
— pyrossh
2024-12-18T21:48:44+05:30
add cargo pkg
- tooling/tree-sitter-plum/.gitignore +4 -1
- tooling/tree-sitter-plum/Cargo.lock +96 -0
- tooling/tree-sitter-plum/Cargo.toml +32 -0
- tooling/tree-sitter-plum/bindings/rust/build.rs +19 -0
- tooling/tree-sitter-plum/bindings/rust/lib.rs +53 -0
- tooling/tree-sitter-plum/src/grammar.json +2 -2
- tooling/tree-sitter-plum/src/node-types.json +24 -24
- tooling/tree-sitter-plum/src/parser.c +43 -43
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": "
|
|
2413
|
+
"name": "fn_argument_list"
|
|
2414
2414
|
}
|
|
2415
2415
|
}
|
|
2416
2416
|
]
|
|
2417
2417
|
}
|
|
2418
2418
|
},
|
|
2419
|
-
"
|
|
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": "
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
[
|
|
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
|
-
[
|
|
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
|
-
[
|
|
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
|
-
[
|
|
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
|
-
[
|
|
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
|
-
[
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
25121
|
+
[196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 2, 0, 0),
|
|
25122
|
-
[198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(
|
|
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(
|
|
25127
|
+
[208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 3, 0, 0),
|
|
25128
|
-
[210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(
|
|
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(
|
|
25131
|
+
[216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 4, 0, 0),
|
|
25132
|
-
[218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(
|
|
25132
|
+
[218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_argument_list, 4, 0, 0),
|
|
25133
|
-
[220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(
|
|
25133
|
+
[220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_argument_list, 5, 0, 0),
|
|
25134
|
-
[222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(
|
|
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(
|
|
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(
|
|
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),
|