From 423cd051a0757409f25ca35debc365609d4e5c75 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 5 Nov 2024 21:56:39 +0300 Subject: [PATCH] feat: sql grammar --- Makefile | 2 +- grammar.js | 6 +- src/grammar.json | 50 +- src/node-types.json | 22 +- src/parser.c | 3685 +++++++++-------- .../docs/special_objects/sql_tables.txt | 175 + 6 files changed, 2179 insertions(+), 1761 deletions(-) create mode 100644 test/corpus/docs/special_objects/sql_tables.txt diff --git a/Makefile b/Makefile index 48d8b3c..95d0c6b 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ watch-hl: reload watch-parse: - watchexec --exts d2,js,scm -- make parse + watchexec --exts d2,js,scm,txt -- make parse watch-test: watchexec --exts d2,js,scm,txt -- make test diff --git a/grammar.js b/grammar.js index 30e6851..4a29bd4 100644 --- a/grammar.js +++ b/grammar.js @@ -67,6 +67,7 @@ module.exports = grammar({ $.label_codeblock, repeat1($._label_base), token(seq('"', /.*/, '"')), + seq('[', $._label_constraints, ']'), )), label_codeblock: $ => choice( @@ -78,6 +79,9 @@ module.exports = grammar({ _label_codeblock_lang: _ => token(/[a-zA-Z]+/), _label_codeblock_body: _ => repeat1(seq(/.+/, /\s*/)), + _label_constraints: $ => repeat1(seq($.label_constraint, optional(";"))), + + label_constraint: _ => token(/[a-z_]+/), _label_base: $ => choice( $._ident_base, @@ -98,7 +102,7 @@ module.exports = grammar({ optional($._fields), )), _fields: $ => r1seq(".", field("field", $.identifier)), - _ident: $ => seq($._ident_base, rseq(/[\s\-\'\_]+/, $._ident_base)), + _ident: $ => seq($._ident_base, rseq(/[\s\-\']+/, $._ident_base)), _ident_base: _ => /[\p{L}\d\/\*\_]+/, comment: _ => token(seq('#', /.*/)), diff --git a/src/grammar.json b/src/grammar.json index a9f34f4..4e1857e 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -243,6 +243,23 @@ } ] } + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "_label_constraints" + }, + { + "type": "STRING", + "value": "]" + } + ] } ] } @@ -359,6 +376,37 @@ ] } }, + "_label_constraints": { + "type": "REPEAT1", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "label_constraint" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "label_constraint": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "[a-z_]+" + } + }, "_label_base": { "type": "CHOICE", "members": [ @@ -495,7 +543,7 @@ "members": [ { "type": "PATTERN", - "value": "[\\s\\-\\'\\_]+" + "value": "[\\s\\-\\']+" }, { "type": "SYMBOL", diff --git a/src/node-types.json b/src/node-types.json index ed1ef8a..5f837f1 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -137,12 +137,16 @@ "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": false, "types": [ { "type": "label_codeblock", "named": true + }, + { + "type": "label_constraint", + "named": true } ] } @@ -188,6 +192,18 @@ "type": ":", "named": false }, + { + "type": ";", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, { "type": "`|", "named": false @@ -204,6 +220,10 @@ "type": "connection_identifier", "named": true }, + { + "type": "label_constraint", + "named": true + }, { "type": "{", "named": false diff --git a/src/parser.c b/src/parser.c index 609a265..58b6bfc 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,11 +5,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 168 +#define STATE_COUNT 177 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 42 +#define SYMBOL_COUNT 47 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 25 +#define TOKEN_COUNT 29 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 5 @@ -23,40 +23,45 @@ enum ts_symbol_identifiers { anon_sym_LBRACE = 5, anon_sym_RBRACE = 6, aux_sym_label_token1 = 7, - anon_sym_PIPE_BQUOTE = 8, - aux_sym_label_codeblock_token1 = 9, - anon_sym_BQUOTE_PIPE = 10, - anon_sym_PIPE_PIPE_PIPE = 11, - anon_sym_PIPE_PIPE = 12, - anon_sym_PIPE = 13, - aux_sym_label_codeblock_token2 = 14, - sym__label_codeblock_lang = 15, - aux_sym__label_codeblock_body_token1 = 16, - aux_sym__label_codeblock_body_token2 = 17, - aux_sym__label_base_token1 = 18, - anon_sym_LPAREN = 19, - anon_sym_RPAREN = 20, - sym_connection_identifier = 21, - anon_sym_DOT = 22, - aux_sym__ident_token1 = 23, - sym_comment = 24, - sym_source_file = 25, - sym_declaration = 26, - sym__expr = 27, - sym_block = 28, - sym_label = 29, - sym_label_codeblock = 30, - aux_sym__label_codeblock_body = 31, - sym__label_base = 32, - sym_connection_refference = 33, - sym_identifier = 34, - aux_sym__fields = 35, - sym__ident = 36, - aux_sym_source_file_repeat1 = 37, - aux_sym__expr_repeat1 = 38, - aux_sym_block_repeat1 = 39, - aux_sym_label_repeat1 = 40, - aux_sym__ident_repeat1 = 41, + anon_sym_LBRACK = 8, + anon_sym_RBRACK = 9, + anon_sym_PIPE_BQUOTE = 10, + aux_sym_label_codeblock_token1 = 11, + anon_sym_BQUOTE_PIPE = 12, + anon_sym_PIPE_PIPE_PIPE = 13, + anon_sym_PIPE_PIPE = 14, + anon_sym_PIPE = 15, + aux_sym_label_codeblock_token2 = 16, + sym__label_codeblock_lang = 17, + aux_sym__label_codeblock_body_token1 = 18, + aux_sym__label_codeblock_body_token2 = 19, + anon_sym_SEMI = 20, + sym_label_constraint = 21, + aux_sym__label_base_token1 = 22, + anon_sym_LPAREN = 23, + anon_sym_RPAREN = 24, + sym_connection_identifier = 25, + anon_sym_DOT = 26, + aux_sym__ident_token1 = 27, + sym_comment = 28, + sym_source_file = 29, + sym_declaration = 30, + sym__expr = 31, + sym_block = 32, + sym_label = 33, + sym_label_codeblock = 34, + aux_sym__label_codeblock_body = 35, + aux_sym__label_constraints = 36, + sym__label_base = 37, + sym_connection_refference = 38, + sym_identifier = 39, + aux_sym__fields = 40, + sym__ident = 41, + aux_sym_source_file_repeat1 = 42, + aux_sym__expr_repeat1 = 43, + aux_sym_block_repeat1 = 44, + aux_sym_label_repeat1 = 45, + aux_sym__ident_repeat1 = 46, }; static const char * const ts_symbol_names[] = { @@ -68,6 +73,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [aux_sym_label_token1] = "label_token1", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", [anon_sym_PIPE_BQUOTE] = "|`", [aux_sym_label_codeblock_token1] = "label_codeblock_token1", [anon_sym_BQUOTE_PIPE] = "`|", @@ -78,6 +85,8 @@ static const char * const ts_symbol_names[] = { [sym__label_codeblock_lang] = "_label_codeblock_lang", [aux_sym__label_codeblock_body_token1] = "_label_codeblock_body_token1", [aux_sym__label_codeblock_body_token2] = "_label_codeblock_body_token2", + [anon_sym_SEMI] = ";", + [sym_label_constraint] = "label_constraint", [aux_sym__label_base_token1] = "_label_base_token1", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", @@ -92,6 +101,7 @@ static const char * const ts_symbol_names[] = { [sym_label] = "label", [sym_label_codeblock] = "label_codeblock", [aux_sym__label_codeblock_body] = "_label_codeblock_body", + [aux_sym__label_constraints] = "_label_constraints", [sym__label_base] = "_label_base", [sym_connection_refference] = "connection_refference", [sym_identifier] = "identifier", @@ -113,6 +123,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [aux_sym_label_token1] = aux_sym_label_token1, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_PIPE_BQUOTE] = anon_sym_PIPE_BQUOTE, [aux_sym_label_codeblock_token1] = aux_sym_label_codeblock_token1, [anon_sym_BQUOTE_PIPE] = anon_sym_BQUOTE_PIPE, @@ -123,6 +135,8 @@ static const TSSymbol ts_symbol_map[] = { [sym__label_codeblock_lang] = sym__label_codeblock_lang, [aux_sym__label_codeblock_body_token1] = aux_sym__label_codeblock_body_token1, [aux_sym__label_codeblock_body_token2] = aux_sym__label_codeblock_body_token2, + [anon_sym_SEMI] = anon_sym_SEMI, + [sym_label_constraint] = sym_label_constraint, [aux_sym__label_base_token1] = aux_sym__label_base_token1, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, @@ -137,6 +151,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_label] = sym_label, [sym_label_codeblock] = sym_label_codeblock, [aux_sym__label_codeblock_body] = aux_sym__label_codeblock_body, + [aux_sym__label_constraints] = aux_sym__label_constraints, [sym__label_base] = sym__label_base, [sym_connection_refference] = sym_connection_refference, [sym_identifier] = sym_identifier, @@ -182,6 +197,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, [anon_sym_PIPE_BQUOTE] = { .visible = true, .named = false, @@ -222,6 +245,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [sym_label_constraint] = { + .visible = true, + .named = true, + }, [aux_sym__label_base_token1] = { .visible = false, .named = false, @@ -278,6 +309,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym__label_constraints] = { + .visible = false, + .named = false, + }, [sym__label_base] = { .visible = false, .named = true, @@ -439,9 +474,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [13] = 6, [14] = 7, [15] = 9, - [16] = 8, - [17] = 10, - [18] = 18, + [16] = 16, + [17] = 8, + [18] = 10, [19] = 19, [20] = 20, [21] = 21, @@ -451,146 +486,155 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [25] = 21, [26] = 22, [27] = 19, - [28] = 24, - [29] = 23, - [30] = 6, - [31] = 7, - [32] = 9, - [33] = 20, - [34] = 6, - [35] = 19, + [28] = 23, + [29] = 6, + [30] = 24, + [31] = 9, + [32] = 20, + [33] = 6, + [34] = 19, + [35] = 7, [36] = 7, [37] = 9, [38] = 19, - [39] = 19, - [40] = 40, + [39] = 23, + [40] = 19, [41] = 41, - [42] = 40, - [43] = 20, - [44] = 41, - [45] = 24, - [46] = 23, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 41, [47] = 47, - [48] = 19, - [49] = 49, - [50] = 49, - [51] = 51, - [52] = 24, - [53] = 23, - [54] = 47, - [55] = 20, - [56] = 51, - [57] = 57, - [58] = 57, + [48] = 47, + [49] = 45, + [50] = 43, + [51] = 42, + [52] = 44, + [53] = 20, + [54] = 24, + [55] = 23, + [56] = 24, + [57] = 20, + [58] = 19, [59] = 59, [60] = 60, [61] = 60, [62] = 62, - [63] = 62, - [64] = 59, - [65] = 9, - [66] = 7, - [67] = 6, - [68] = 68, + [63] = 59, + [64] = 62, + [65] = 65, + [66] = 66, + [67] = 65, + [68] = 6, [69] = 69, [70] = 70, - [71] = 70, - [72] = 72, - [73] = 68, - [74] = 69, - [75] = 72, - [76] = 19, - [77] = 77, - [78] = 23, - [79] = 24, + [71] = 7, + [72] = 66, + [73] = 69, + [74] = 9, + [75] = 75, + [76] = 70, + [77] = 75, + [78] = 24, + [79] = 79, [80] = 80, - [81] = 81, - [82] = 80, - [83] = 20, - [84] = 84, - [85] = 85, - [86] = 81, - [87] = 87, + [81] = 23, + [82] = 79, + [83] = 83, + [84] = 80, + [85] = 20, + [86] = 86, + [87] = 86, [88] = 88, - [89] = 88, - [90] = 19, - [91] = 87, - [92] = 77, - [93] = 85, - [94] = 84, - [95] = 95, - [96] = 57, + [89] = 89, + [90] = 90, + [91] = 88, + [92] = 89, + [93] = 90, + [94] = 19, + [95] = 83, + [96] = 19, [97] = 97, - [98] = 98, - [99] = 47, - [100] = 100, + [98] = 42, + [99] = 44, + [100] = 47, [101] = 101, [102] = 102, - [103] = 103, + [103] = 97, [104] = 104, [105] = 105, [106] = 106, [107] = 107, - [108] = 103, + [108] = 108, [109] = 109, [110] = 110, - [111] = 97, - [112] = 110, - [113] = 97, - [114] = 104, - [115] = 98, - [116] = 97, - [117] = 117, - [118] = 100, - [119] = 110, - [120] = 101, - [121] = 102, - [122] = 107, - [123] = 40, - [124] = 109, + [111] = 111, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 102, + [116] = 116, + [117] = 110, + [118] = 116, + [119] = 106, + [120] = 107, + [121] = 105, + [122] = 104, + [123] = 101, + [124] = 124, [125] = 125, - [126] = 95, - [127] = 125, - [128] = 41, - [129] = 105, - [130] = 97, - [131] = 106, - [132] = 117, - [133] = 133, - [134] = 60, - [135] = 135, - [136] = 133, - [137] = 137, - [138] = 137, - [139] = 135, + [126] = 126, + [127] = 112, + [128] = 113, + [129] = 114, + [130] = 108, + [131] = 111, + [132] = 125, + [133] = 126, + [134] = 101, + [135] = 45, + [136] = 116, + [137] = 101, + [138] = 101, + [139] = 60, [140] = 140, [141] = 141, [142] = 142, - [143] = 143, - [144] = 141, + [143] = 141, + [144] = 140, [145] = 145, [146] = 146, - [147] = 147, - [148] = 148, + [147] = 145, + [148] = 146, [149] = 149, [150] = 150, - [151] = 146, + [151] = 151, [152] = 152, [153] = 153, [154] = 154, - [155] = 143, - [156] = 143, - [157] = 143, - [158] = 153, - [159] = 152, - [160] = 147, - [161] = 148, - [162] = 145, - [163] = 143, - [164] = 140, + [155] = 154, + [156] = 156, + [157] = 156, + [158] = 158, + [159] = 159, + [160] = 150, + [161] = 161, + [162] = 159, + [163] = 150, + [164] = 150, [165] = 150, - [166] = 154, - [167] = 142, + [166] = 166, + [167] = 166, + [168] = 153, + [169] = 169, + [170] = 170, + [171] = 158, + [172] = 151, + [173] = 161, + [174] = 149, + [175] = 170, + [176] = 152, }; static TSCharacterRange sym__ident_base_character_set_1[] = { @@ -655,380 +699,407 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(17); + if (eof) ADVANCE(18); ADVANCE_MAP( '"', 4, - '#', 50, - '(', 51, - ')', 52, - '-', 48, - '.', 50, - ':', 50, - '<', 7, - '[', 11, - '_', 49, - '`', 10, - '{', 23, - '|', 36, - '}', 24, - '%', 50, - '&', 50, - '\\', 50, + '#', 56, + '(', 57, + ')', 58, + '-', 54, + '.', 56, + ':', 56, + ';', 52, + '<', 8, + '[', 28, + ']', 29, + '_', 55, + '`', 11, + '{', 24, + '|', 40, + '}', 25, + '%', 56, + '&', 56, + '\\', 56, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); case 1: if (lookahead == '\n') SKIP(1); - if (lookahead == '#') ADVANCE(46); - if (lookahead == '|') ADVANCE(43); + if (lookahead == '#') ADVANCE(50); + if (lookahead == '|') ADVANCE(47); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(40); - if (lookahead != 0) ADVANCE(46); + lookahead == ' ') ADVANCE(44); + if (lookahead != 0) ADVANCE(50); END_STATE(); case 2: if (lookahead == '\n') SKIP(2); - if (lookahead == '#') ADVANCE(46); + if (lookahead == '#') ADVANCE(50); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(42); - if (lookahead != 0) ADVANCE(46); + lookahead == ' ') ADVANCE(46); + if (lookahead != 0) ADVANCE(50); END_STATE(); case 3: if (lookahead == '\n') SKIP(3); - if (lookahead == '#') ADVANCE(46); - if (lookahead == '|') ADVANCE(45); + if (lookahead == '#') ADVANCE(50); + if (lookahead == '|') ADVANCE(49); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(41); - if (lookahead != 0) ADVANCE(46); + lookahead == ' ') ADVANCE(45); + if (lookahead != 0) ADVANCE(50); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(25); + if (lookahead == '"') ADVANCE(26); if (lookahead != 0 && lookahead != '\n') ADVANCE(4); END_STATE(); case 5: - if (lookahead == '#') ADVANCE(62); - if (lookahead == ')') ADVANCE(52); - if (lookahead == '-') ADVANCE(57); - if (lookahead == '.') ADVANCE(54); - if (lookahead == '<') ADVANCE(7); - if (lookahead == '\'' || - lookahead == '_') ADVANCE(60); + if (lookahead == '#') ADVANCE(67); + if (lookahead == '\'') ADVANCE(65); + if (lookahead == ')') ADVANCE(58); + if (lookahead == '-') ADVANCE(64); + if (lookahead == '.') ADVANCE(60); + if (lookahead == '<') ADVANCE(8); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(58); + lookahead == ' ') ADVANCE(63); END_STATE(); case 6: - if (lookahead == '#') ADVANCE(37); + if (lookahead == '#') ADVANCE(67); + if (lookahead == ';') ADVANCE(52); + if (lookahead == ']') ADVANCE(29); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(38); - if (lookahead != 0 && - lookahead != '|') ADVANCE(39); + lookahead == ' ') SKIP(6); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(53); END_STATE(); case 7: - if (lookahead == '-') ADVANCE(22); + if (lookahead == '#') ADVANCE(41); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(42); + if (lookahead != 0 && + lookahead != '|') ADVANCE(43); END_STATE(); case 8: - if (lookahead == '-') ADVANCE(22); - if (lookahead == '>') ADVANCE(21); + if (lookahead == '-') ADVANCE(23); END_STATE(); case 9: - if (lookahead == ']') ADVANCE(53); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(9); + if (lookahead == '-') ADVANCE(23); + if (lookahead == '>') ADVANCE(22); END_STATE(); case 10: - if (lookahead == '|') ADVANCE(30); + if (lookahead == ']') ADVANCE(59); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); END_STATE(); case 11: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(9); + if (lookahead == '|') ADVANCE(34); END_STATE(); case 12: - if (eof) ADVANCE(17); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); + END_STATE(); + case 13: + if (eof) ADVANCE(18); ADVANCE_MAP( - '\n', 20, + '\n', 21, '"', 4, - '#', 50, - '(', 51, - '_', 49, - '{', 23, - '|', 36, - '}', 24, - 0, 19, - ';', 19, + '#', 56, + '(', 57, + '[', 27, + '_', 55, + '{', 24, + '|', 40, + '}', 25, + 0, 20, + ';', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(12); + lookahead == ' ') SKIP(13); if (lookahead == '%' || lookahead == '&' || lookahead == '-' || lookahead == '.' || lookahead == ':' || - lookahead == '\\') ADVANCE(50); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); - END_STATE(); - case 13: - if (eof) ADVANCE(17); - ADVANCE_MAP( - '\n', 20, - '#', 62, - '\'', 60, - '(', 51, - '-', 57, - '.', 54, - ':', 18, - '<', 7, - '_', 59, - '}', 24, - 0, 19, - ';', 19, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(55); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + lookahead == '\\') ADVANCE(56); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); case 14: - if (eof) ADVANCE(17); + if (eof) ADVANCE(18); ADVANCE_MAP( - '\n', 20, - '#', 62, - '(', 51, - '-', 8, - '.', 54, - ':', 18, - '<', 7, - '{', 23, - '}', 24, - 0, 19, - ';', 19, + '\n', 21, + '#', 67, + '\'', 65, + '(', 57, + '-', 64, + '.', 60, + ':', 19, + '<', 8, + '}', 25, + 0, 20, + ';', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(14); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + lookahead == ' ') ADVANCE(61); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); case 15: - if (eof) ADVANCE(17); + if (eof) ADVANCE(18); ADVANCE_MAP( - '\n', 20, - '#', 62, - '(', 51, - '.', 54, - ':', 18, - '_', 59, - '}', 24, - 0, 19, - ';', 19, - '\'', 60, - '-', 60, + '\n', 21, + '#', 67, + '(', 57, + '-', 9, + '.', 60, + ':', 19, + '<', 8, + '{', 24, + '}', 25, + 0, 20, + ';', 20, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(56); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + lookahead == ' ') SKIP(15); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); case 16: - if (eof) ADVANCE(17); + if (eof) ADVANCE(18); ADVANCE_MAP( - '#', 62, - '(', 51, - ')', 52, - '-', 8, - '.', 54, - '<', 7, - '[', 11, - '`', 10, - '|', 35, - '}', 24, + '\n', 21, + '#', 67, + '(', 57, + '.', 60, + ':', 19, + '}', 25, + 0, 20, + ';', 20, + '\'', 65, + '-', 65, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(16); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + lookahead == ' ') ADVANCE(62); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); case 17: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (eof) ADVANCE(18); + ADVANCE_MAP( + '#', 67, + '(', 57, + ')', 58, + '-', 9, + '.', 60, + '<', 8, + '[', 12, + '`', 11, + '|', 39, + '}', 25, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(17); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); case 18: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 19: - ACCEPT_TOKEN(aux_sym_declaration_token1); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 20: ACCEPT_TOKEN(aux_sym_declaration_token1); - if (lookahead == '\n') ADVANCE(20); - if ((!eof && lookahead == 00) || - lookahead == ';') ADVANCE(19); END_STATE(); case 21: - ACCEPT_TOKEN(sym_connection); + ACCEPT_TOKEN(aux_sym_declaration_token1); + if (lookahead == '\n') ADVANCE(21); + if ((!eof && lookahead == 00) || + lookahead == ';') ADVANCE(20); END_STATE(); case 22: ACCEPT_TOKEN(sym_connection); - if (lookahead == '-') ADVANCE(22); - if (lookahead == '>') ADVANCE(21); END_STATE(); case 23: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(sym_connection); + if (lookahead == '-') ADVANCE(23); + if (lookahead == '>') ADVANCE(22); END_STATE(); case 24: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 25: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 26: ACCEPT_TOKEN(aux_sym_label_token1); - if (lookahead == '"') ADVANCE(25); + if (lookahead == '"') ADVANCE(26); if (lookahead != 0 && lookahead != '\n') ADVANCE(4); END_STATE(); - case 26: + case 27: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 28: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); + END_STATE(); + case 29: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 30: ACCEPT_TOKEN(anon_sym_PIPE_BQUOTE); END_STATE(); - case 27: + case 31: ACCEPT_TOKEN(aux_sym_label_codeblock_token1); - if (lookahead == '\n') ADVANCE(29); - if (lookahead == '`') ADVANCE(62); - if (lookahead != 0) ADVANCE(27); + if (lookahead == '\n') ADVANCE(33); + if (lookahead == '`') ADVANCE(67); + if (lookahead != 0) ADVANCE(31); END_STATE(); - case 28: + case 32: ACCEPT_TOKEN(aux_sym_label_codeblock_token1); - if (lookahead == '#') ADVANCE(27); + if (lookahead == '#') ADVANCE(31); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(28); + lookahead == ' ') ADVANCE(32); if (lookahead != 0 && - lookahead != '`') ADVANCE(29); + lookahead != '`') ADVANCE(33); END_STATE(); - case 29: + case 33: ACCEPT_TOKEN(aux_sym_label_codeblock_token1); if (lookahead != 0 && - lookahead != '`') ADVANCE(29); + lookahead != '`') ADVANCE(33); END_STATE(); - case 30: + case 34: ACCEPT_TOKEN(anon_sym_BQUOTE_PIPE); END_STATE(); - case 31: + case 35: ACCEPT_TOKEN(anon_sym_PIPE_PIPE_PIPE); END_STATE(); - case 32: + case 36: ACCEPT_TOKEN(anon_sym_PIPE_PIPE_PIPE); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(50); END_STATE(); - case 33: + case 37: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); - if (lookahead == '|') ADVANCE(31); + if (lookahead == '|') ADVANCE(35); END_STATE(); - case 34: + case 38: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(50); END_STATE(); - case 35: + case 39: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); - case 36: + case 40: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '`') ADVANCE(26); - if (lookahead == '|') ADVANCE(33); + if (lookahead == '`') ADVANCE(30); + if (lookahead == '|') ADVANCE(37); END_STATE(); - case 37: + case 41: ACCEPT_TOKEN(aux_sym_label_codeblock_token2); - if (lookahead == '\n') ADVANCE(39); - if (lookahead == '|') ADVANCE(62); - if (lookahead != 0) ADVANCE(37); + if (lookahead == '\n') ADVANCE(43); + if (lookahead == '|') ADVANCE(67); + if (lookahead != 0) ADVANCE(41); END_STATE(); - case 38: + case 42: ACCEPT_TOKEN(aux_sym_label_codeblock_token2); - if (lookahead == '#') ADVANCE(37); + if (lookahead == '#') ADVANCE(41); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(38); + lookahead == ' ') ADVANCE(42); if (lookahead != 0 && - lookahead != '|') ADVANCE(39); + lookahead != '|') ADVANCE(43); END_STATE(); - case 39: + case 43: ACCEPT_TOKEN(aux_sym_label_codeblock_token2); if (lookahead != 0 && - lookahead != '|') ADVANCE(39); + lookahead != '|') ADVANCE(43); END_STATE(); - case 40: + case 44: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); - if (lookahead == '#') ADVANCE(46); - if (lookahead == '|') ADVANCE(43); + if (lookahead == '#') ADVANCE(50); + if (lookahead == '|') ADVANCE(47); if (lookahead == '\t' || (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(40); + lookahead == ' ') ADVANCE(44); if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(46); + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(50); END_STATE(); - case 41: + case 45: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); - if (lookahead == '#') ADVANCE(46); - if (lookahead == '|') ADVANCE(45); + if (lookahead == '#') ADVANCE(50); + if (lookahead == '|') ADVANCE(49); if (lookahead == '\t' || (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(41); + lookahead == ' ') ADVANCE(45); if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(46); + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(50); END_STATE(); - case 42: + case 46: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); - if (lookahead == '#') ADVANCE(46); + if (lookahead == '#') ADVANCE(50); if (lookahead == '\t' || (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(42); + lookahead == ' ') ADVANCE(46); if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(46); + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(50); END_STATE(); - case 43: + case 47: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); - if (lookahead == '|') ADVANCE(34); + if (lookahead == '|') ADVANCE(38); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(50); END_STATE(); - case 44: + case 48: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); - if (lookahead == '|') ADVANCE(32); + if (lookahead == '|') ADVANCE(36); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(50); END_STATE(); - case 45: + case 49: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); - if (lookahead == '|') ADVANCE(44); + if (lookahead == '|') ADVANCE(48); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(50); END_STATE(); - case 46: + case 50: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token1); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(50); END_STATE(); - case 47: + case 51: ACCEPT_TOKEN(aux_sym__label_codeblock_body_token2); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(47); + lookahead == ' ') ADVANCE(51); END_STATE(); - case 48: + case 52: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 53: + ACCEPT_TOKEN(sym_label_constraint); + if (lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(53); + END_STATE(); + case 54: ACCEPT_TOKEN(aux_sym__label_base_token1); ADVANCE_MAP( - '-', 22, - '>', 21, - '#', 50, - '%', 50, - '&', 50, - '.', 50, - ':', 50, - '\\', 50, - '_', 50, + '-', 23, + '>', 22, + '#', 56, + '%', 56, + '&', 56, + '.', 56, + ':', 56, + '\\', 56, + '_', 56, ); END_STATE(); - case 49: + case 55: ACCEPT_TOKEN(aux_sym__label_base_token1); - if (lookahead == '_') ADVANCE(49); + if (lookahead == '_') ADVANCE(55); if (lookahead == '#' || lookahead == '%' || lookahead == '&' || lookahead == '-' || lookahead == '.' || lookahead == ':' || - lookahead == '\\') ADVANCE(50); + lookahead == '\\') ADVANCE(56); END_STATE(); - case 50: + case 56: ACCEPT_TOKEN(aux_sym__label_base_token1); if (lookahead == '#' || lookahead == '%' || @@ -1037,86 +1108,72 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == '.' || lookahead == ':' || lookahead == '\\' || - lookahead == '_') ADVANCE(50); + lookahead == '_') ADVANCE(56); END_STATE(); - case 51: + case 57: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 52: + case 58: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 53: + case 59: ACCEPT_TOKEN(sym_connection_identifier); END_STATE(); - case 54: + case 60: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 55: + case 61: ACCEPT_TOKEN(aux_sym__ident_token1); - if (lookahead == '\n') ADVANCE(20); - if (lookahead == '\'') ADVANCE(60); - if (lookahead == '-') ADVANCE(57); - if (lookahead == '<') ADVANCE(7); - if (lookahead == '_') ADVANCE(59); + if (lookahead == '\n') ADVANCE(21); + if (lookahead == '\'') ADVANCE(65); + if (lookahead == '-') ADVANCE(64); + if (lookahead == '<') ADVANCE(8); if ((!eof && lookahead == 00) || - lookahead == ';') ADVANCE(19); + lookahead == ';') ADVANCE(20); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(55); + lookahead == ' ') ADVANCE(61); END_STATE(); - case 56: + case 62: ACCEPT_TOKEN(aux_sym__ident_token1); - if (lookahead == '\n') ADVANCE(20); - if (lookahead == '_') ADVANCE(59); + if (lookahead == '\n') ADVANCE(21); if ((!eof && lookahead == 00) || - lookahead == ';') ADVANCE(19); + lookahead == ';') ADVANCE(20); if (lookahead == '\'' || - lookahead == '-') ADVANCE(60); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(56); - END_STATE(); - case 57: - ACCEPT_TOKEN(aux_sym__ident_token1); - if (lookahead == '-') ADVANCE(22); - if (lookahead == '>') ADVANCE(21); + lookahead == '-') ADVANCE(65); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == '\'' || - lookahead == '_') ADVANCE(60); + lookahead == ' ') ADVANCE(62); END_STATE(); - case 58: + case 63: ACCEPT_TOKEN(aux_sym__ident_token1); - if (lookahead == '-') ADVANCE(57); - if (lookahead == '<') ADVANCE(7); - if (lookahead == '\'' || - lookahead == '_') ADVANCE(60); + if (lookahead == '\'') ADVANCE(65); + if (lookahead == '-') ADVANCE(64); + if (lookahead == '<') ADVANCE(8); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(58); + lookahead == ' ') ADVANCE(63); END_STATE(); - case 59: + case 64: ACCEPT_TOKEN(aux_sym__ident_token1); - if (lookahead == '_') ADVANCE(59); + if (lookahead == '-') ADVANCE(23); + if (lookahead == '>') ADVANCE(22); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || - lookahead == '\'' || - lookahead == '-') ADVANCE(60); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + lookahead == '\'') ADVANCE(65); END_STATE(); - case 60: + case 65: ACCEPT_TOKEN(aux_sym__ident_token1); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == '\'' || - lookahead == '-' || - lookahead == '_') ADVANCE(60); + lookahead == '-') ADVANCE(65); END_STATE(); - case 61: + case 66: ACCEPT_TOKEN(sym__ident_base); - if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(61); + if (set_contains(sym__ident_base_character_set_1, 432, lookahead)) ADVANCE(66); END_STATE(); - case 62: + case 67: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(62); + lookahead != '\n') ADVANCE(67); END_STATE(); default: return false; @@ -1145,173 +1202,182 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 16}, - [2] = {.lex_state = 12}, - [3] = {.lex_state = 12}, - [4] = {.lex_state = 12}, - [5] = {.lex_state = 12}, - [6] = {.lex_state = 13}, - [7] = {.lex_state = 13}, - [8] = {.lex_state = 16}, - [9] = {.lex_state = 13}, - [10] = {.lex_state = 16}, - [11] = {.lex_state = 16}, - [12] = {.lex_state = 16}, - [13] = {.lex_state = 13}, - [14] = {.lex_state = 13}, - [15] = {.lex_state = 13}, - [16] = {.lex_state = 16}, - [17] = {.lex_state = 16}, - [18] = {.lex_state = 16}, - [19] = {.lex_state = 14}, - [20] = {.lex_state = 14}, - [21] = {.lex_state = 12}, - [22] = {.lex_state = 12}, - [23] = {.lex_state = 13}, - [24] = {.lex_state = 14}, - [25] = {.lex_state = 12}, - [26] = {.lex_state = 12}, - [27] = {.lex_state = 14}, + [1] = {.lex_state = 17}, + [2] = {.lex_state = 13}, + [3] = {.lex_state = 13}, + [4] = {.lex_state = 13}, + [5] = {.lex_state = 13}, + [6] = {.lex_state = 14}, + [7] = {.lex_state = 14}, + [8] = {.lex_state = 17}, + [9] = {.lex_state = 14}, + [10] = {.lex_state = 17}, + [11] = {.lex_state = 17}, + [12] = {.lex_state = 17}, + [13] = {.lex_state = 14}, + [14] = {.lex_state = 14}, + [15] = {.lex_state = 14}, + [16] = {.lex_state = 17}, + [17] = {.lex_state = 17}, + [18] = {.lex_state = 17}, + [19] = {.lex_state = 15}, + [20] = {.lex_state = 15}, + [21] = {.lex_state = 13}, + [22] = {.lex_state = 13}, + [23] = {.lex_state = 14}, + [24] = {.lex_state = 15}, + [25] = {.lex_state = 13}, + [26] = {.lex_state = 13}, + [27] = {.lex_state = 15}, [28] = {.lex_state = 14}, - [29] = {.lex_state = 13}, + [29] = {.lex_state = 16}, [30] = {.lex_state = 15}, - [31] = {.lex_state = 15}, + [31] = {.lex_state = 16}, [32] = {.lex_state = 15}, - [33] = {.lex_state = 14}, + [33] = {.lex_state = 16}, [34] = {.lex_state = 15}, - [35] = {.lex_state = 14}, - [36] = {.lex_state = 15}, - [37] = {.lex_state = 15}, - [38] = {.lex_state = 14}, - [39] = {.lex_state = 14}, - [40] = {.lex_state = 14}, - [41] = {.lex_state = 14}, - [42] = {.lex_state = 14}, - [43] = {.lex_state = 14}, - [44] = {.lex_state = 14}, - [45] = {.lex_state = 14}, + [35] = {.lex_state = 16}, + [36] = {.lex_state = 16}, + [37] = {.lex_state = 16}, + [38] = {.lex_state = 15}, + [39] = {.lex_state = 16}, + [40] = {.lex_state = 15}, + [41] = {.lex_state = 15}, + [42] = {.lex_state = 15}, + [43] = {.lex_state = 15}, + [44] = {.lex_state = 15}, + [45] = {.lex_state = 15}, [46] = {.lex_state = 15}, - [47] = {.lex_state = 14}, - [48] = {.lex_state = 14}, - [49] = {.lex_state = 14}, - [50] = {.lex_state = 14}, - [51] = {.lex_state = 14}, - [52] = {.lex_state = 14}, + [47] = {.lex_state = 15}, + [48] = {.lex_state = 15}, + [49] = {.lex_state = 15}, + [50] = {.lex_state = 15}, + [51] = {.lex_state = 15}, + [52] = {.lex_state = 15}, [53] = {.lex_state = 15}, - [54] = {.lex_state = 14}, - [55] = {.lex_state = 14}, - [56] = {.lex_state = 14}, - [57] = {.lex_state = 14}, - [58] = {.lex_state = 14}, - [59] = {.lex_state = 14}, - [60] = {.lex_state = 14}, - [61] = {.lex_state = 14}, - [62] = {.lex_state = 14}, - [63] = {.lex_state = 14}, - [64] = {.lex_state = 14}, - [65] = {.lex_state = 5}, - [66] = {.lex_state = 5}, - [67] = {.lex_state = 5}, - [68] = {.lex_state = 14}, - [69] = {.lex_state = 14}, - [70] = {.lex_state = 14}, - [71] = {.lex_state = 14}, - [72] = {.lex_state = 14}, - [73] = {.lex_state = 14}, - [74] = {.lex_state = 14}, - [75] = {.lex_state = 14}, - [76] = {.lex_state = 16}, - [77] = {.lex_state = 16}, - [78] = {.lex_state = 5}, - [79] = {.lex_state = 16}, - [80] = {.lex_state = 14}, - [81] = {.lex_state = 14}, - [82] = {.lex_state = 14}, - [83] = {.lex_state = 16}, - [84] = {.lex_state = 14}, - [85] = {.lex_state = 14}, - [86] = {.lex_state = 14}, - [87] = {.lex_state = 14}, - [88] = {.lex_state = 14}, - [89] = {.lex_state = 14}, - [90] = {.lex_state = 16}, - [91] = {.lex_state = 14}, - [92] = {.lex_state = 16}, - [93] = {.lex_state = 14}, - [94] = {.lex_state = 14}, - [95] = {.lex_state = 1}, - [96] = {.lex_state = 16}, - [97] = {.lex_state = 16}, - [98] = {.lex_state = 16}, - [99] = {.lex_state = 16}, - [100] = {.lex_state = 16}, - [101] = {.lex_state = 16}, - [102] = {.lex_state = 16}, - [103] = {.lex_state = 3}, - [104] = {.lex_state = 16}, - [105] = {.lex_state = 16}, - [106] = {.lex_state = 16}, - [107] = {.lex_state = 16}, - [108] = {.lex_state = 1}, - [109] = {.lex_state = 16}, - [110] = {.lex_state = 16}, - [111] = {.lex_state = 16}, - [112] = {.lex_state = 16}, - [113] = {.lex_state = 16}, - [114] = {.lex_state = 16}, - [115] = {.lex_state = 16}, - [116] = {.lex_state = 16}, - [117] = {.lex_state = 16}, - [118] = {.lex_state = 16}, - [119] = {.lex_state = 16}, - [120] = {.lex_state = 16}, - [121] = {.lex_state = 16}, - [122] = {.lex_state = 16}, - [123] = {.lex_state = 16}, - [124] = {.lex_state = 16}, + [54] = {.lex_state = 15}, + [55] = {.lex_state = 16}, + [56] = {.lex_state = 15}, + [57] = {.lex_state = 15}, + [58] = {.lex_state = 15}, + [59] = {.lex_state = 15}, + [60] = {.lex_state = 15}, + [61] = {.lex_state = 15}, + [62] = {.lex_state = 15}, + [63] = {.lex_state = 15}, + [64] = {.lex_state = 15}, + [65] = {.lex_state = 15}, + [66] = {.lex_state = 15}, + [67] = {.lex_state = 15}, + [68] = {.lex_state = 5}, + [69] = {.lex_state = 15}, + [70] = {.lex_state = 15}, + [71] = {.lex_state = 5}, + [72] = {.lex_state = 15}, + [73] = {.lex_state = 15}, + [74] = {.lex_state = 5}, + [75] = {.lex_state = 15}, + [76] = {.lex_state = 15}, + [77] = {.lex_state = 15}, + [78] = {.lex_state = 17}, + [79] = {.lex_state = 17}, + [80] = {.lex_state = 15}, + [81] = {.lex_state = 5}, + [82] = {.lex_state = 17}, + [83] = {.lex_state = 15}, + [84] = {.lex_state = 15}, + [85] = {.lex_state = 17}, + [86] = {.lex_state = 15}, + [87] = {.lex_state = 15}, + [88] = {.lex_state = 15}, + [89] = {.lex_state = 15}, + [90] = {.lex_state = 15}, + [91] = {.lex_state = 15}, + [92] = {.lex_state = 15}, + [93] = {.lex_state = 15}, + [94] = {.lex_state = 17}, + [95] = {.lex_state = 15}, + [96] = {.lex_state = 17}, + [97] = {.lex_state = 17}, + [98] = {.lex_state = 17}, + [99] = {.lex_state = 17}, + [100] = {.lex_state = 17}, + [101] = {.lex_state = 17}, + [102] = {.lex_state = 17}, + [103] = {.lex_state = 17}, + [104] = {.lex_state = 17}, + [105] = {.lex_state = 17}, + [106] = {.lex_state = 17}, + [107] = {.lex_state = 17}, + [108] = {.lex_state = 17}, + [109] = {.lex_state = 6}, + [110] = {.lex_state = 17}, + [111] = {.lex_state = 6}, + [112] = {.lex_state = 17}, + [113] = {.lex_state = 17}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 17}, + [116] = {.lex_state = 17}, + [117] = {.lex_state = 17}, + [118] = {.lex_state = 17}, + [119] = {.lex_state = 17}, + [120] = {.lex_state = 17}, + [121] = {.lex_state = 17}, + [122] = {.lex_state = 17}, + [123] = {.lex_state = 17}, + [124] = {.lex_state = 6}, [125] = {.lex_state = 3}, [126] = {.lex_state = 1}, - [127] = {.lex_state = 3}, - [128] = {.lex_state = 16}, - [129] = {.lex_state = 16}, - [130] = {.lex_state = 16}, - [131] = {.lex_state = 16}, - [132] = {.lex_state = 16}, - [133] = {.lex_state = 2}, - [134] = {.lex_state = 16}, - [135] = {.lex_state = 2}, - [136] = {.lex_state = 2}, - [137] = {.lex_state = 3}, - [138] = {.lex_state = 1}, - [139] = {.lex_state = 2}, - [140] = {.lex_state = 16}, - [141] = {.lex_state = 16}, - [142] = {.lex_state = 16}, - [143] = {.lex_state = 16}, - [144] = {.lex_state = 16}, - [145] = {.lex_state = 6}, - [146] = {.lex_state = 16}, - [147] = {.lex_state = 16}, - [148] = {.lex_state = 47}, - [149] = {.lex_state = 16}, - [150] = {.lex_state = 16}, - [151] = {.lex_state = 16}, - [152] = {.lex_state = 28}, - [153] = {.lex_state = 16}, - [154] = {.lex_state = 16}, - [155] = {.lex_state = 16}, - [156] = {.lex_state = 16}, - [157] = {.lex_state = 16}, - [158] = {.lex_state = 16}, - [159] = {.lex_state = 28}, - [160] = {.lex_state = 16}, - [161] = {.lex_state = 47}, - [162] = {.lex_state = 6}, - [163] = {.lex_state = 16}, - [164] = {.lex_state = 16}, - [165] = {.lex_state = 16}, - [166] = {.lex_state = 16}, - [167] = {.lex_state = 16}, + [127] = {.lex_state = 17}, + [128] = {.lex_state = 17}, + [129] = {.lex_state = 3}, + [130] = {.lex_state = 17}, + [131] = {.lex_state = 6}, + [132] = {.lex_state = 3}, + [133] = {.lex_state = 1}, + [134] = {.lex_state = 17}, + [135] = {.lex_state = 17}, + [136] = {.lex_state = 17}, + [137] = {.lex_state = 17}, + [138] = {.lex_state = 17}, + [139] = {.lex_state = 17}, + [140] = {.lex_state = 6}, + [141] = {.lex_state = 1}, + [142] = {.lex_state = 6}, + [143] = {.lex_state = 3}, + [144] = {.lex_state = 6}, + [145] = {.lex_state = 2}, + [146] = {.lex_state = 2}, + [147] = {.lex_state = 2}, + [148] = {.lex_state = 2}, + [149] = {.lex_state = 17}, + [150] = {.lex_state = 17}, + [151] = {.lex_state = 17}, + [152] = {.lex_state = 17}, + [153] = {.lex_state = 32}, + [154] = {.lex_state = 17}, + [155] = {.lex_state = 17}, + [156] = {.lex_state = 51}, + [157] = {.lex_state = 51}, + [158] = {.lex_state = 7}, + [159] = {.lex_state = 17}, + [160] = {.lex_state = 17}, + [161] = {.lex_state = 17}, + [162] = {.lex_state = 17}, + [163] = {.lex_state = 17}, + [164] = {.lex_state = 17}, + [165] = {.lex_state = 17}, + [166] = {.lex_state = 17}, + [167] = {.lex_state = 17}, + [168] = {.lex_state = 32}, + [169] = {.lex_state = 17}, + [170] = {.lex_state = 17}, + [171] = {.lex_state = 7}, + [172] = {.lex_state = 17}, + [173] = {.lex_state = 17}, + [174] = {.lex_state = 17}, + [175] = {.lex_state = 17}, + [176] = {.lex_state = 17}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1323,12 +1389,15 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [aux_sym_label_token1] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_PIPE_BQUOTE] = ACTIONS(1), [anon_sym_BQUOTE_PIPE] = ACTIONS(1), [anon_sym_PIPE_PIPE_PIPE] = ACTIONS(1), [anon_sym_PIPE_PIPE] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), [sym__label_codeblock_lang] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), [aux_sym__label_base_token1] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), @@ -1337,11 +1406,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [1] = { - [sym_source_file] = STATE(149), + [sym_source_file] = STATE(169), [sym_declaration] = STATE(11), [sym__expr] = STATE(73), - [sym_connection_refference] = STATE(74), - [sym_identifier] = STATE(47), + [sym_connection_refference] = STATE(76), + [sym_identifier] = STATE(49), [sym__ident] = STATE(19), [aux_sym_source_file_repeat1] = STATE(11), [ts_builtin_sym_end] = ACTIONS(5), @@ -1352,7 +1421,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }; static const uint16_t ts_small_parse_table[] = { - [0] = 14, + [0] = 15, ACTIONS(13), 1, ts_builtin_sym_end, ACTIONS(17), 1, @@ -1362,132 +1431,140 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(21), 1, aux_sym_label_token1, ACTIONS(23), 1, - anon_sym_PIPE_BQUOTE, + anon_sym_LBRACK, ACTIONS(25), 1, - anon_sym_PIPE_PIPE_PIPE, + anon_sym_PIPE_BQUOTE, ACTIONS(27), 1, - anon_sym_PIPE_PIPE, + anon_sym_PIPE_PIPE_PIPE, ACTIONS(29), 1, + anon_sym_PIPE_PIPE, + ACTIONS(31), 1, anon_sym_PIPE, STATE(63), 1, sym_label, - STATE(70), 1, + STATE(77), 1, sym_label_codeblock, - STATE(82), 1, + STATE(95), 1, sym_block, ACTIONS(15), 2, aux_sym__label_base_token1, sym__ident_base, - ACTIONS(31), 2, + ACTIONS(33), 2, anon_sym_LPAREN, sym_comment, STATE(21), 2, sym__label_base, aux_sym_label_repeat1, - [46] = 14, + [49] = 15, ACTIONS(19), 1, anon_sym_LBRACE, ACTIONS(21), 1, aux_sym_label_token1, ACTIONS(23), 1, - anon_sym_PIPE_BQUOTE, + anon_sym_LBRACK, ACTIONS(25), 1, - anon_sym_PIPE_PIPE_PIPE, + anon_sym_PIPE_BQUOTE, ACTIONS(27), 1, - anon_sym_PIPE_PIPE, + anon_sym_PIPE_PIPE_PIPE, ACTIONS(29), 1, + anon_sym_PIPE_PIPE, + ACTIONS(31), 1, anon_sym_PIPE, - ACTIONS(33), 1, - ts_builtin_sym_end, ACTIONS(35), 1, + ts_builtin_sym_end, + ACTIONS(37), 1, aux_sym_declaration_token1, - STATE(59), 1, + STATE(64), 1, sym_label, - STATE(70), 1, + STATE(77), 1, sym_label_codeblock, - STATE(86), 1, + STATE(80), 1, sym_block, ACTIONS(15), 2, aux_sym__label_base_token1, sym__ident_base, - ACTIONS(37), 2, + ACTIONS(39), 2, anon_sym_LPAREN, sym_comment, STATE(21), 2, sym__label_base, aux_sym_label_repeat1, - [92] = 14, + [98] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(41), 1, - aux_sym_declaration_token1, ACTIONS(43), 1, - anon_sym_LBRACE, + aux_sym_declaration_token1, ACTIONS(45), 1, - aux_sym_label_token1, + anon_sym_LBRACE, ACTIONS(47), 1, - anon_sym_PIPE_BQUOTE, + aux_sym_label_token1, ACTIONS(49), 1, - anon_sym_PIPE_PIPE_PIPE, + anon_sym_LBRACK, ACTIONS(51), 1, - anon_sym_PIPE_PIPE, + anon_sym_PIPE_BQUOTE, ACTIONS(53), 1, + anon_sym_PIPE_PIPE_PIPE, + ACTIONS(55), 1, + anon_sym_PIPE_PIPE, + ACTIONS(57), 1, anon_sym_PIPE, - STATE(62), 1, + STATE(59), 1, sym_label, - STATE(71), 1, + STATE(75), 1, sym_label_codeblock, - STATE(80), 1, + STATE(83), 1, sym_block, - ACTIONS(31), 2, + ACTIONS(33), 2, anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(39), 2, + ACTIONS(41), 2, aux_sym__label_base_token1, sym__ident_base, STATE(25), 2, sym__label_base, aux_sym_label_repeat1, - [138] = 14, + [147] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, ACTIONS(45), 1, - aux_sym_label_token1, + anon_sym_LBRACE, ACTIONS(47), 1, - anon_sym_PIPE_BQUOTE, + aux_sym_label_token1, ACTIONS(49), 1, - anon_sym_PIPE_PIPE_PIPE, + anon_sym_LBRACK, ACTIONS(51), 1, - anon_sym_PIPE_PIPE, + anon_sym_PIPE_BQUOTE, ACTIONS(53), 1, - anon_sym_PIPE, + anon_sym_PIPE_PIPE_PIPE, ACTIONS(55), 1, + anon_sym_PIPE_PIPE, + ACTIONS(57), 1, + anon_sym_PIPE, + ACTIONS(59), 1, aux_sym_declaration_token1, - STATE(64), 1, + STATE(62), 1, sym_label, - STATE(71), 1, + STATE(75), 1, sym_label_codeblock, - STATE(81), 1, + STATE(84), 1, sym_block, - ACTIONS(37), 2, + ACTIONS(39), 2, anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(39), 2, + ACTIONS(41), 2, aux_sym__label_base_token1, sym__ident_base, STATE(25), 2, sym__label_base, aux_sym_label_repeat1, - [184] = 4, - ACTIONS(57), 1, - ts_builtin_sym_end, + [196] = 4, ACTIONS(61), 1, + ts_builtin_sym_end, + ACTIONS(65), 1, aux_sym__ident_token1, STATE(7), 1, aux_sym__ident_repeat1, - ACTIONS(59), 7, + ACTIONS(63), 7, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1495,14 +1572,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, sym__ident_base, sym_comment, - [203] = 4, - ACTIONS(61), 1, + [215] = 4, + ACTIONS(65), 1, aux_sym__ident_token1, - ACTIONS(63), 1, + ACTIONS(67), 1, ts_builtin_sym_end, STATE(9), 1, aux_sym__ident_repeat1, - ACTIONS(65), 7, + ACTIONS(69), 7, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1510,34 +1587,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, sym__ident_base, sym_comment, - [222] = 9, - ACTIONS(67), 1, + [234] = 9, + ACTIONS(71), 1, sym__ident_base, - ACTIONS(69), 1, + ACTIONS(73), 1, anon_sym_RBRACE, - ACTIONS(71), 1, + ACTIONS(75), 1, anon_sym_LPAREN, - ACTIONS(73), 1, + ACTIONS(77), 1, sym_comment, - STATE(35), 1, + STATE(34), 1, sym__ident, - STATE(54), 1, + STATE(45), 1, sym_identifier, - STATE(68), 1, - sym__expr, STATE(69), 1, + sym__expr, + STATE(70), 1, sym_connection_refference, STATE(10), 2, sym_declaration, aux_sym_block_repeat1, - [251] = 4, - ACTIONS(75), 1, - ts_builtin_sym_end, + [263] = 4, ACTIONS(79), 1, + ts_builtin_sym_end, + ACTIONS(83), 1, aux_sym__ident_token1, STATE(9), 1, aux_sym__ident_repeat1, - ACTIONS(77), 7, + ACTIONS(81), 7, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1545,74 +1622,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, sym__ident_base, sym_comment, - [270] = 9, - ACTIONS(67), 1, - sym__ident_base, + [282] = 9, ACTIONS(71), 1, + sym__ident_base, + ACTIONS(75), 1, anon_sym_LPAREN, - ACTIONS(73), 1, + ACTIONS(77), 1, sym_comment, - ACTIONS(82), 1, + ACTIONS(86), 1, anon_sym_RBRACE, - STATE(35), 1, + STATE(34), 1, sym__ident, - STATE(54), 1, + STATE(45), 1, sym_identifier, - STATE(68), 1, - sym__expr, STATE(69), 1, + sym__expr, + STATE(70), 1, sym_connection_refference, STATE(12), 2, sym_declaration, aux_sym_block_repeat1, - [299] = 9, + [311] = 9, ACTIONS(7), 1, sym__ident_base, ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(84), 1, + ACTIONS(88), 1, ts_builtin_sym_end, - ACTIONS(86), 1, + ACTIONS(90), 1, sym_comment, STATE(19), 1, sym__ident, - STATE(47), 1, + STATE(49), 1, sym_identifier, STATE(73), 1, sym__expr, - STATE(74), 1, + STATE(76), 1, sym_connection_refference, - STATE(18), 2, + STATE(16), 2, sym_declaration, aux_sym_source_file_repeat1, - [328] = 9, - ACTIONS(73), 1, + [340] = 9, + ACTIONS(77), 1, sym_comment, - ACTIONS(88), 1, + ACTIONS(92), 1, sym__ident_base, - ACTIONS(91), 1, + ACTIONS(95), 1, anon_sym_RBRACE, - ACTIONS(93), 1, + ACTIONS(97), 1, anon_sym_LPAREN, - STATE(35), 1, + STATE(34), 1, sym__ident, - STATE(54), 1, + STATE(45), 1, sym_identifier, - STATE(68), 1, - sym__expr, STATE(69), 1, + sym__expr, + STATE(70), 1, sym_connection_refference, STATE(12), 2, sym_declaration, aux_sym_block_repeat1, - [357] = 4, + [369] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(96), 1, + ACTIONS(100), 1, aux_sym__ident_token1, STATE(14), 1, aux_sym__ident_repeat1, - ACTIONS(59), 7, + ACTIONS(63), 7, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1620,14 +1697,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [376] = 4, + [388] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(96), 1, + ACTIONS(100), 1, aux_sym__ident_token1, STATE(15), 1, aux_sym__ident_repeat1, - ACTIONS(65), 7, + ACTIONS(69), 7, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1635,14 +1712,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [395] = 4, + [407] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(98), 1, + ACTIONS(102), 1, aux_sym__ident_token1, STATE(15), 1, aux_sym__ident_repeat1, - ACTIONS(77), 7, + ACTIONS(81), 7, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1650,126 +1727,126 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [414] = 9, - ACTIONS(67), 1, + [426] = 9, + ACTIONS(105), 1, + ts_builtin_sym_end, + ACTIONS(107), 1, sym__ident_base, - ACTIONS(71), 1, + ACTIONS(110), 1, anon_sym_LPAREN, - ACTIONS(73), 1, + ACTIONS(113), 1, sym_comment, - ACTIONS(101), 1, - anon_sym_RBRACE, - STATE(35), 1, + STATE(19), 1, sym__ident, - STATE(54), 1, + STATE(49), 1, sym_identifier, - STATE(68), 1, + STATE(73), 1, sym__expr, - STATE(69), 1, + STATE(76), 1, sym_connection_refference, - STATE(17), 2, + STATE(16), 2, sym_declaration, - aux_sym_block_repeat1, - [443] = 9, - ACTIONS(67), 1, - sym__ident_base, + aux_sym_source_file_repeat1, + [455] = 9, ACTIONS(71), 1, + sym__ident_base, + ACTIONS(75), 1, anon_sym_LPAREN, - ACTIONS(73), 1, + ACTIONS(77), 1, sym_comment, - ACTIONS(103), 1, + ACTIONS(116), 1, anon_sym_RBRACE, - STATE(35), 1, + STATE(34), 1, sym__ident, - STATE(54), 1, + STATE(45), 1, sym_identifier, - STATE(68), 1, - sym__expr, STATE(69), 1, + sym__expr, + STATE(70), 1, sym_connection_refference, - STATE(12), 2, + STATE(18), 2, sym_declaration, aux_sym_block_repeat1, - [472] = 9, - ACTIONS(105), 1, - ts_builtin_sym_end, - ACTIONS(107), 1, + [484] = 9, + ACTIONS(71), 1, sym__ident_base, - ACTIONS(110), 1, + ACTIONS(75), 1, anon_sym_LPAREN, - ACTIONS(113), 1, + ACTIONS(77), 1, sym_comment, - STATE(19), 1, + ACTIONS(118), 1, + anon_sym_RBRACE, + STATE(34), 1, sym__ident, - STATE(47), 1, + STATE(45), 1, sym_identifier, - STATE(73), 1, + STATE(69), 1, sym__expr, - STATE(74), 1, + STATE(70), 1, sym_connection_refference, - STATE(18), 2, + STATE(12), 2, sym_declaration, - aux_sym_source_file_repeat1, - [501] = 4, - ACTIONS(120), 1, + aux_sym_block_repeat1, + [513] = 4, + ACTIONS(124), 1, anon_sym_DOT, STATE(24), 1, aux_sym__fields, - ACTIONS(116), 2, + ACTIONS(120), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(118), 5, + ACTIONS(122), 5, anon_sym_COLON, sym_connection, anon_sym_LPAREN, sym__ident_base, sym_comment, - [519] = 4, - ACTIONS(126), 1, + [531] = 4, + ACTIONS(130), 1, anon_sym_DOT, STATE(20), 1, aux_sym__fields, - ACTIONS(122), 2, + ACTIONS(126), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(124), 5, + ACTIONS(128), 5, anon_sym_COLON, sym_connection, anon_sym_LPAREN, sym__ident_base, sym_comment, - [537] = 4, - ACTIONS(129), 2, + [549] = 4, + ACTIONS(133), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(131), 2, + ACTIONS(135), 2, aux_sym__label_base_token1, sym__ident_base, STATE(22), 2, sym__label_base, aux_sym_label_repeat1, - ACTIONS(133), 3, + ACTIONS(137), 3, anon_sym_LBRACE, anon_sym_LPAREN, sym_comment, - [555] = 4, - ACTIONS(135), 2, + [567] = 4, + ACTIONS(139), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(137), 2, + ACTIONS(141), 2, aux_sym__label_base_token1, sym__ident_base, STATE(22), 2, sym__label_base, aux_sym_label_repeat1, - ACTIONS(140), 3, + ACTIONS(144), 3, anon_sym_LBRACE, anon_sym_LPAREN, sym_comment, - [573] = 2, - ACTIONS(75), 1, + [585] = 2, + ACTIONS(79), 1, ts_builtin_sym_end, - ACTIONS(77), 8, + ACTIONS(81), 8, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1778,82 +1855,67 @@ static const uint16_t ts_small_parse_table[] = { aux_sym__ident_token1, sym__ident_base, sym_comment, - [587] = 4, - ACTIONS(120), 1, + [599] = 4, + ACTIONS(124), 1, anon_sym_DOT, STATE(20), 1, aux_sym__fields, - ACTIONS(142), 2, + ACTIONS(146), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(144), 5, + ACTIONS(148), 5, anon_sym_COLON, sym_connection, anon_sym_LPAREN, sym__ident_base, sym_comment, - [605] = 5, + [617] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(129), 1, + ACTIONS(133), 1, aux_sym_declaration_token1, - ACTIONS(146), 2, + ACTIONS(150), 2, aux_sym__label_base_token1, sym__ident_base, STATE(26), 2, sym__label_base, aux_sym_label_repeat1, - ACTIONS(133), 3, + ACTIONS(137), 3, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, - [625] = 5, + [637] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(135), 1, + ACTIONS(139), 1, aux_sym_declaration_token1, - ACTIONS(148), 2, + ACTIONS(152), 2, aux_sym__label_base_token1, sym__ident_base, STATE(26), 2, sym__label_base, aux_sym_label_repeat1, - ACTIONS(140), 3, + ACTIONS(144), 3, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, - [645] = 3, + [657] = 3, STATE(24), 1, aux_sym__fields, - ACTIONS(116), 2, + ACTIONS(120), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(118), 6, + ACTIONS(122), 6, anon_sym_COLON, sym_connection, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, sym_comment, - [661] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(142), 1, - aux_sym_declaration_token1, - ACTIONS(151), 1, - anon_sym_DOT, - STATE(33), 1, - aux_sym__fields, - ACTIONS(144), 5, - anon_sym_COLON, - sym_connection, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym__ident_base, - [681] = 2, + [673] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(77), 8, + ACTIONS(81), 8, anon_sym_COLON, aux_sym_declaration_token1, sym_connection, @@ -1862,685 +1924,710 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, aux_sym__ident_token1, sym__ident_base, - [695] = 4, - ACTIONS(57), 1, + [687] = 4, + ACTIONS(61), 1, ts_builtin_sym_end, - ACTIONS(153), 1, + ACTIONS(155), 1, aux_sym__ident_token1, - STATE(31), 1, + STATE(36), 1, aux_sym__ident_repeat1, - ACTIONS(59), 6, + ACTIONS(63), 6, anon_sym_COLON, aux_sym_declaration_token1, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, sym_comment, - [713] = 4, - ACTIONS(63), 1, - ts_builtin_sym_end, - ACTIONS(153), 1, - aux_sym__ident_token1, + [705] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(146), 1, + aux_sym_declaration_token1, + ACTIONS(157), 1, + anon_sym_DOT, STATE(32), 1, - aux_sym__ident_repeat1, - ACTIONS(65), 6, + aux_sym__fields, + ACTIONS(148), 5, anon_sym_COLON, - aux_sym_declaration_token1, + sym_connection, + anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DOT, sym__ident_base, - sym_comment, - [731] = 4, - ACTIONS(75), 1, + [725] = 4, + ACTIONS(79), 1, ts_builtin_sym_end, - ACTIONS(155), 1, + ACTIONS(159), 1, aux_sym__ident_token1, - STATE(32), 1, + STATE(31), 1, aux_sym__ident_repeat1, - ACTIONS(77), 6, + ACTIONS(81), 6, anon_sym_COLON, aux_sym_declaration_token1, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, sym_comment, - [749] = 5, + [743] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(122), 1, + ACTIONS(126), 1, aux_sym_declaration_token1, - ACTIONS(158), 1, + ACTIONS(162), 1, anon_sym_DOT, - STATE(33), 1, + STATE(32), 1, aux_sym__fields, - ACTIONS(124), 5, + ACTIONS(128), 5, anon_sym_COLON, sym_connection, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [769] = 4, + [763] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(161), 1, + ACTIONS(165), 1, aux_sym__ident_token1, - STATE(36), 1, + STATE(35), 1, aux_sym__ident_repeat1, - ACTIONS(59), 6, + ACTIONS(63), 6, anon_sym_COLON, aux_sym_declaration_token1, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [787] = 5, + [781] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 1, + ACTIONS(120), 1, aux_sym_declaration_token1, - ACTIONS(151), 1, + ACTIONS(157), 1, anon_sym_DOT, - STATE(28), 1, + STATE(30), 1, aux_sym__fields, - ACTIONS(118), 5, + ACTIONS(122), 5, anon_sym_COLON, sym_connection, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [807] = 4, + [801] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(161), 1, + ACTIONS(165), 1, aux_sym__ident_token1, STATE(37), 1, aux_sym__ident_repeat1, - ACTIONS(65), 6, + ACTIONS(69), 6, anon_sym_COLON, aux_sym_declaration_token1, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [825] = 4, + [819] = 4, + ACTIONS(67), 1, + ts_builtin_sym_end, + ACTIONS(155), 1, + aux_sym__ident_token1, + STATE(31), 1, + aux_sym__ident_repeat1, + ACTIONS(69), 6, + anon_sym_COLON, + aux_sym_declaration_token1, + anon_sym_LPAREN, + anon_sym_DOT, + sym__ident_base, + sym_comment, + [837] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(163), 1, + ACTIONS(167), 1, aux_sym__ident_token1, STATE(37), 1, aux_sym__ident_repeat1, - ACTIONS(77), 6, + ACTIONS(81), 6, anon_sym_COLON, aux_sym_declaration_token1, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [843] = 4, + [855] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 1, + ACTIONS(120), 1, aux_sym_declaration_token1, - STATE(28), 1, + STATE(30), 1, aux_sym__fields, - ACTIONS(118), 6, + ACTIONS(122), 6, anon_sym_COLON, sym_connection, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, - [861] = 3, - STATE(45), 1, - aux_sym__fields, - ACTIONS(116), 2, - ts_builtin_sym_end, + [873] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(81), 7, + anon_sym_COLON, + aux_sym_declaration_token1, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DOT, + aux_sym__ident_token1, + sym__ident_base, + [886] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(120), 1, aux_sym_declaration_token1, - ACTIONS(118), 5, + STATE(56), 1, + aux_sym__fields, + ACTIONS(122), 5, anon_sym_COLON, + anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, + [903] = 5, + ACTIONS(3), 1, sym_comment, - [876] = 4, - ACTIONS(170), 1, + ACTIONS(172), 1, + aux_sym_declaration_token1, + ACTIONS(174), 1, + anon_sym_DOT, + STATE(43), 1, + aux_sym__fields, + ACTIONS(170), 4, + anon_sym_COLON, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [922] = 4, + ACTIONS(180), 1, sym_connection, - STATE(40), 1, + STATE(42), 1, aux_sym__expr_repeat1, - ACTIONS(166), 2, + ACTIONS(176), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(168), 4, + ACTIONS(178), 4, anon_sym_COLON, anon_sym_LPAREN, sym__ident_base, sym_comment, - [893] = 2, - ACTIONS(173), 2, + [939] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(174), 1, + anon_sym_DOT, + ACTIONS(185), 1, + aux_sym_declaration_token1, + STATE(57), 1, + aux_sym__fields, + ACTIONS(183), 4, + anon_sym_COLON, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [958] = 2, + ACTIONS(187), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(175), 6, + ACTIONS(189), 6, anon_sym_COLON, sym_connection, anon_sym_LPAREN, anon_sym_DOT, sym__ident_base, sym_comment, - [906] = 5, + [971] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(166), 1, + ACTIONS(193), 1, aux_sym_declaration_token1, - ACTIONS(177), 1, + ACTIONS(195), 1, sym_connection, - STATE(42), 1, + STATE(47), 1, aux_sym__expr_repeat1, - ACTIONS(168), 4, + ACTIONS(191), 4, anon_sym_COLON, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [925] = 4, - ACTIONS(180), 1, + [990] = 4, + ACTIONS(197), 1, anon_sym_DOT, - STATE(43), 1, + STATE(50), 1, aux_sym__fields, - ACTIONS(122), 2, + ACTIONS(172), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(124), 4, + ACTIONS(170), 4, anon_sym_COLON, anon_sym_LPAREN, sym__ident_base, sym_comment, - [942] = 3, + [1007] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(173), 1, + ACTIONS(195), 1, + sym_connection, + ACTIONS(201), 1, aux_sym_declaration_token1, - ACTIONS(175), 6, + STATE(51), 1, + aux_sym__expr_repeat1, + ACTIONS(199), 4, anon_sym_COLON, - sym_connection, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DOT, sym__ident_base, - [957] = 4, - ACTIONS(183), 1, - anon_sym_DOT, - STATE(43), 1, - aux_sym__fields, - ACTIONS(142), 2, + [1026] = 4, + ACTIONS(203), 1, + sym_connection, + STATE(42), 1, + aux_sym__expr_repeat1, + ACTIONS(201), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(144), 4, + ACTIONS(199), 4, anon_sym_COLON, anon_sym_LPAREN, sym__ident_base, sym_comment, - [974] = 2, - ACTIONS(75), 1, + [1043] = 4, + ACTIONS(203), 1, + sym_connection, + STATE(48), 1, + aux_sym__expr_repeat1, + ACTIONS(193), 2, ts_builtin_sym_end, - ACTIONS(77), 7, - anon_sym_COLON, aux_sym_declaration_token1, + ACTIONS(191), 4, + anon_sym_COLON, anon_sym_LPAREN, - anon_sym_DOT, - aux_sym__ident_token1, sym__ident_base, sym_comment, - [987] = 4, - ACTIONS(189), 1, - sym_connection, - STATE(57), 1, - aux_sym__expr_repeat1, + [1060] = 4, + ACTIONS(197), 1, + anon_sym_DOT, + STATE(53), 1, + aux_sym__fields, ACTIONS(185), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(187), 4, + ACTIONS(183), 4, anon_sym_COLON, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1004] = 4, + [1077] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 1, + ACTIONS(176), 1, aux_sym_declaration_token1, - STATE(52), 1, - aux_sym__fields, - ACTIONS(118), 5, + ACTIONS(205), 1, + sym_connection, + STATE(51), 1, + aux_sym__expr_repeat1, + ACTIONS(178), 4, anon_sym_COLON, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DOT, sym__ident_base, - [1021] = 5, + [1096] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, + ACTIONS(187), 1, aux_sym_declaration_token1, - ACTIONS(195), 1, - anon_sym_DOT, - STATE(51), 1, - aux_sym__fields, - ACTIONS(191), 4, + ACTIONS(189), 6, anon_sym_COLON, + sym_connection, anon_sym_RBRACE, anon_sym_LPAREN, + anon_sym_DOT, sym__ident_base, - [1040] = 4, - ACTIONS(183), 1, + [1111] = 4, + ACTIONS(208), 1, anon_sym_DOT, - STATE(56), 1, + STATE(53), 1, aux_sym__fields, - ACTIONS(193), 2, + ACTIONS(126), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(191), 4, + ACTIONS(128), 4, anon_sym_COLON, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1057] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(195), 1, + [1128] = 4, + ACTIONS(197), 1, anon_sym_DOT, - ACTIONS(199), 1, - aux_sym_declaration_token1, - STATE(55), 1, + STATE(53), 1, aux_sym__fields, - ACTIONS(197), 4, - anon_sym_COLON, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym__ident_base, - [1076] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(142), 1, + ACTIONS(146), 2, + ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(195), 1, - anon_sym_DOT, - STATE(55), 1, - aux_sym__fields, - ACTIONS(144), 4, + ACTIONS(148), 4, anon_sym_COLON, - anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1095] = 2, - ACTIONS(3), 1, sym_comment, - ACTIONS(77), 7, + [1145] = 2, + ACTIONS(79), 1, + ts_builtin_sym_end, + ACTIONS(81), 7, anon_sym_COLON, aux_sym_declaration_token1, - anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_DOT, aux_sym__ident_token1, sym__ident_base, - [1108] = 5, + sym_comment, + [1158] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 1, + ACTIONS(146), 1, aux_sym_declaration_token1, - ACTIONS(201), 1, - sym_connection, - STATE(58), 1, - aux_sym__expr_repeat1, - ACTIONS(187), 4, + ACTIONS(174), 1, + anon_sym_DOT, + STATE(57), 1, + aux_sym__fields, + ACTIONS(148), 4, anon_sym_COLON, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1127] = 5, + [1177] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(122), 1, + ACTIONS(126), 1, aux_sym_declaration_token1, - ACTIONS(203), 1, + ACTIONS(211), 1, anon_sym_DOT, - STATE(55), 1, + STATE(57), 1, aux_sym__fields, - ACTIONS(124), 4, + ACTIONS(128), 4, anon_sym_COLON, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1146] = 4, - ACTIONS(183), 1, - anon_sym_DOT, - STATE(43), 1, + [1196] = 3, + STATE(54), 1, aux_sym__fields, - ACTIONS(199), 2, - ts_builtin_sym_end, - aux_sym_declaration_token1, - ACTIONS(197), 4, - anon_sym_COLON, - anon_sym_LPAREN, - sym__ident_base, - sym_comment, - [1163] = 4, - ACTIONS(189), 1, - sym_connection, - STATE(40), 1, - aux_sym__expr_repeat1, - ACTIONS(206), 2, + ACTIONS(120), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(208), 4, + ACTIONS(122), 5, anon_sym_COLON, anon_sym_LPAREN, + anon_sym_DOT, sym__ident_base, sym_comment, - [1180] = 5, + [1211] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(201), 1, - sym_connection, - ACTIONS(206), 1, + ACTIONS(45), 1, + anon_sym_LBRACE, + ACTIONS(216), 1, aux_sym_declaration_token1, - STATE(42), 1, - aux_sym__expr_repeat1, - ACTIONS(208), 4, - anon_sym_COLON, + STATE(88), 1, + sym_block, + ACTIONS(214), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1199] = 5, - ACTIONS(19), 1, - anon_sym_LBRACE, - ACTIONS(210), 1, + [1229] = 2, + ACTIONS(218), 2, ts_builtin_sym_end, - ACTIONS(214), 1, aux_sym_declaration_token1, - STATE(93), 1, - sym_block, - ACTIONS(212), 3, + ACTIONS(220), 5, + anon_sym_COLON, + sym_connection, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1217] = 3, + [1241] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(218), 1, aux_sym_declaration_token1, - ACTIONS(216), 5, + ACTIONS(220), 5, anon_sym_COLON, sym_connection, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1231] = 2, - ACTIONS(218), 2, - ts_builtin_sym_end, - aux_sym_declaration_token1, - ACTIONS(216), 5, - anon_sym_COLON, - sym_connection, - anon_sym_LPAREN, - sym__ident_base, - sym_comment, - [1243] = 5, + [1255] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(45), 1, anon_sym_LBRACE, - ACTIONS(222), 1, + ACTIONS(224), 1, aux_sym_declaration_token1, - STATE(87), 1, + STATE(89), 1, sym_block, - ACTIONS(220), 3, + ACTIONS(222), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1261] = 5, + [1273] = 5, ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(224), 1, - ts_builtin_sym_end, ACTIONS(226), 1, + ts_builtin_sym_end, + ACTIONS(228), 1, aux_sym_declaration_token1, STATE(91), 1, sym_block, - ACTIONS(220), 3, + ACTIONS(214), 3, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1279] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(43), 1, + [1291] = 5, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(228), 1, + ACTIONS(230), 1, + ts_builtin_sym_end, + ACTIONS(232), 1, aux_sym_declaration_token1, - STATE(85), 1, + STATE(92), 1, sym_block, - ACTIONS(212), 3, - anon_sym_RBRACE, + ACTIONS(222), 3, anon_sym_LPAREN, sym__ident_base, - [1297] = 4, - ACTIONS(3), 1, sym_comment, - ACTIONS(230), 1, - aux_sym__ident_token1, - STATE(65), 1, - aux_sym__ident_repeat1, - ACTIONS(77), 3, - sym_connection, - anon_sym_RPAREN, - anon_sym_DOT, - [1312] = 4, + [1309] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(233), 1, - aux_sym__ident_token1, - STATE(65), 1, - aux_sym__ident_repeat1, - ACTIONS(65), 3, - sym_connection, - anon_sym_RPAREN, - anon_sym_DOT, - [1327] = 4, + ACTIONS(236), 1, + aux_sym_declaration_token1, + ACTIONS(234), 4, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [1322] = 2, + ACTIONS(238), 2, + ts_builtin_sym_end, + aux_sym_declaration_token1, + ACTIONS(240), 4, + anon_sym_LBRACE, + anon_sym_LPAREN, + sym__ident_base, + sym_comment, + [1333] = 2, + ACTIONS(236), 2, + ts_builtin_sym_end, + aux_sym_declaration_token1, + ACTIONS(234), 4, + anon_sym_LBRACE, + anon_sym_LPAREN, + sym__ident_base, + sym_comment, + [1344] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(233), 1, + ACTIONS(242), 1, aux_sym__ident_token1, - STATE(66), 1, + STATE(71), 1, aux_sym__ident_repeat1, - ACTIONS(59), 3, + ACTIONS(63), 3, sym_connection, anon_sym_RPAREN, anon_sym_DOT, - [1342] = 4, + [1359] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(237), 1, + ACTIONS(246), 1, anon_sym_COLON, - ACTIONS(239), 1, + ACTIONS(248), 1, aux_sym_declaration_token1, - ACTIONS(235), 3, + ACTIONS(244), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1357] = 4, + [1374] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(243), 1, + ACTIONS(252), 1, anon_sym_COLON, - ACTIONS(245), 1, + ACTIONS(254), 1, aux_sym_declaration_token1, - ACTIONS(241), 3, + ACTIONS(250), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1372] = 2, - ACTIONS(129), 2, - ts_builtin_sym_end, - aux_sym_declaration_token1, - ACTIONS(133), 4, - anon_sym_LBRACE, - anon_sym_LPAREN, - sym__ident_base, - sym_comment, - [1383] = 3, + [1389] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(129), 1, - aux_sym_declaration_token1, - ACTIONS(133), 4, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym__ident_base, - [1396] = 3, + ACTIONS(242), 1, + aux_sym__ident_token1, + STATE(74), 1, + aux_sym__ident_repeat1, + ACTIONS(69), 3, + sym_connection, + anon_sym_RPAREN, + anon_sym_DOT, + [1404] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(249), 1, + ACTIONS(238), 1, aux_sym_declaration_token1, - ACTIONS(247), 4, + ACTIONS(240), 4, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1409] = 4, - ACTIONS(251), 1, + [1417] = 4, + ACTIONS(256), 1, ts_builtin_sym_end, - ACTIONS(253), 1, + ACTIONS(258), 1, anon_sym_COLON, - ACTIONS(255), 1, + ACTIONS(260), 1, aux_sym_declaration_token1, - ACTIONS(235), 3, + ACTIONS(244), 3, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1424] = 4, - ACTIONS(257), 1, + [1432] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(262), 1, + aux_sym__ident_token1, + STATE(74), 1, + aux_sym__ident_repeat1, + ACTIONS(81), 3, + sym_connection, + anon_sym_RPAREN, + anon_sym_DOT, + [1447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(133), 1, + aux_sym_declaration_token1, + ACTIONS(137), 4, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [1460] = 4, + ACTIONS(265), 1, ts_builtin_sym_end, - ACTIONS(259), 1, + ACTIONS(267), 1, anon_sym_COLON, - ACTIONS(261), 1, + ACTIONS(269), 1, aux_sym_declaration_token1, - ACTIONS(241), 3, + ACTIONS(250), 3, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1439] = 2, - ACTIONS(249), 2, + [1475] = 2, + ACTIONS(133), 2, ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(247), 4, + ACTIONS(137), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1450] = 4, - ACTIONS(73), 1, + [1486] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(263), 1, + ACTIONS(271), 1, anon_sym_DOT, - STATE(79), 1, + STATE(85), 1, aux_sym__fields, - ACTIONS(116), 2, + ACTIONS(146), 2, sym_connection, anon_sym_RPAREN, - [1464] = 5, - ACTIONS(73), 1, + [1500] = 5, + ACTIONS(77), 1, sym_comment, - ACTIONS(265), 1, + ACTIONS(273), 1, sym__ident_base, - STATE(76), 1, + STATE(96), 1, sym__ident, - STATE(99), 1, + STATE(135), 1, sym_identifier, - STATE(158), 1, + STATE(166), 1, sym__expr, - [1480] = 2, + [1516] = 3, + ACTIONS(275), 1, + ts_builtin_sym_end, + ACTIONS(279), 1, + aux_sym_declaration_token1, + ACTIONS(277), 3, + anon_sym_LPAREN, + sym__ident_base, + sym_comment, + [1528] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(77), 4, + ACTIONS(81), 4, sym_connection, anon_sym_RPAREN, anon_sym_DOT, aux_sym__ident_token1, - [1490] = 4, - ACTIONS(73), 1, + [1538] = 5, + ACTIONS(77), 1, sym_comment, - ACTIONS(263), 1, - anon_sym_DOT, - STATE(83), 1, - aux_sym__fields, - ACTIONS(142), 2, - sym_connection, - anon_sym_RPAREN, - [1504] = 3, + ACTIONS(273), 1, + sym__ident_base, + STATE(96), 1, + sym__ident, + STATE(135), 1, + sym_identifier, + STATE(167), 1, + sym__expr, + [1554] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(269), 1, + ACTIONS(283), 1, aux_sym_declaration_token1, - ACTIONS(267), 3, + ACTIONS(281), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1516] = 3, + [1566] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(273), 1, + ACTIONS(285), 1, aux_sym_declaration_token1, - ACTIONS(271), 3, + ACTIONS(277), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1528] = 3, - ACTIONS(275), 1, - ts_builtin_sym_end, - ACTIONS(277), 1, - aux_sym_declaration_token1, - ACTIONS(267), 3, - anon_sym_LPAREN, - sym__ident_base, + [1578] = 4, + ACTIONS(77), 1, sym_comment, - [1540] = 4, - ACTIONS(73), 1, - sym_comment, - ACTIONS(279), 1, + ACTIONS(287), 1, anon_sym_DOT, - STATE(83), 1, + STATE(85), 1, aux_sym__fields, - ACTIONS(122), 2, + ACTIONS(126), 2, sym_connection, anon_sym_RPAREN, - [1554] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(284), 1, + [1592] = 2, + ACTIONS(290), 2, + ts_builtin_sym_end, aux_sym_declaration_token1, - ACTIONS(282), 3, - anon_sym_RBRACE, + ACTIONS(292), 3, anon_sym_LPAREN, sym__ident_base, - [1566] = 3, + sym_comment, + [1602] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, - aux_sym_declaration_token1, - ACTIONS(286), 3, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym__ident_base, - [1578] = 3, ACTIONS(290), 1, - ts_builtin_sym_end, - ACTIONS(292), 1, aux_sym_declaration_token1, - ACTIONS(271), 3, + ACTIONS(292), 3, + anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - sym_comment, - [1590] = 3, + [1614] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(296), 1, @@ -2549,7 +2636,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1602] = 3, + [1626] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(300), 1, @@ -2558,705 +2645,778 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1614] = 2, - ACTIONS(300), 2, + [1638] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(304), 1, + aux_sym_declaration_token1, + ACTIONS(302), 3, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [1650] = 3, + ACTIONS(306), 1, ts_builtin_sym_end, + ACTIONS(308), 1, + aux_sym_declaration_token1, + ACTIONS(294), 3, + anon_sym_LPAREN, + sym__ident_base, + sym_comment, + [1662] = 3, + ACTIONS(310), 1, + ts_builtin_sym_end, + ACTIONS(312), 1, aux_sym_declaration_token1, ACTIONS(298), 3, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1624] = 3, - ACTIONS(73), 1, + [1674] = 2, + ACTIONS(304), 2, + ts_builtin_sym_end, + aux_sym_declaration_token1, + ACTIONS(302), 3, + anon_sym_LPAREN, + sym__ident_base, sym_comment, - STATE(79), 1, + [1684] = 3, + ACTIONS(77), 1, + sym_comment, + STATE(78), 1, aux_sym__fields, - ACTIONS(116), 3, + ACTIONS(120), 3, sym_connection, anon_sym_RPAREN, anon_sym_DOT, - [1636] = 3, - ACTIONS(302), 1, + [1696] = 3, + ACTIONS(314), 1, ts_builtin_sym_end, - ACTIONS(304), 1, + ACTIONS(316), 1, aux_sym_declaration_token1, - ACTIONS(294), 3, + ACTIONS(281), 3, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1648] = 5, - ACTIONS(73), 1, + [1708] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(265), 1, - sym__ident_base, - STATE(76), 1, - sym__ident, - STATE(99), 1, - sym_identifier, - STATE(153), 1, - sym__expr, - [1664] = 3, - ACTIONS(306), 1, + ACTIONS(271), 1, + anon_sym_DOT, + STATE(78), 1, + aux_sym__fields, + ACTIONS(120), 2, + sym_connection, + anon_sym_RPAREN, + [1722] = 1, + ACTIONS(318), 4, ts_builtin_sym_end, - ACTIONS(308), 1, - aux_sym_declaration_token1, - ACTIONS(286), 3, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1676] = 2, - ACTIONS(284), 2, - ts_builtin_sym_end, - aux_sym_declaration_token1, - ACTIONS(282), 3, - anon_sym_LPAREN, - sym__ident_base, + [1729] = 4, + ACTIONS(77), 1, sym_comment, - [1686] = 4, - ACTIONS(3), 1, + ACTIONS(176), 1, + anon_sym_RPAREN, + ACTIONS(320), 1, + sym_connection, + STATE(98), 1, + aux_sym__expr_repeat1, + [1742] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(310), 1, - anon_sym_PIPE_PIPE, - ACTIONS(312), 1, - aux_sym__label_codeblock_body_token1, - STATE(108), 1, - aux_sym__label_codeblock_body, - [1699] = 4, - ACTIONS(73), 1, + ACTIONS(187), 3, + sym_connection, + anon_sym_RPAREN, + anon_sym_DOT, + [1751] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(206), 1, + ACTIONS(201), 1, anon_sym_RPAREN, - ACTIONS(314), 1, + ACTIONS(323), 1, sym_connection, - STATE(123), 1, + STATE(98), 1, aux_sym__expr_repeat1, - [1712] = 4, - ACTIONS(73), 1, + [1764] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(265), 1, + ACTIONS(273), 1, sym__ident_base, - STATE(90), 1, + STATE(94), 1, sym__ident, - STATE(128), 1, + STATE(99), 1, sym_identifier, - [1725] = 2, - ACTIONS(73), 1, + [1777] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(316), 3, + ACTIONS(325), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1734] = 4, - ACTIONS(73), 1, + [1786] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(185), 1, - anon_sym_RPAREN, - ACTIONS(314), 1, - sym_connection, - STATE(96), 1, - aux_sym__expr_repeat1, - [1747] = 1, - ACTIONS(33), 4, + ACTIONS(318), 3, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [1795] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(13), 3, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym__ident_base, + [1804] = 1, + ACTIONS(35), 4, ts_builtin_sym_end, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1754] = 2, - ACTIONS(73), 1, + [1811] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(318), 3, + ACTIONS(327), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1763] = 2, - ACTIONS(73), 1, + [1820] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(320), 3, + ACTIONS(329), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1772] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(322), 1, - anon_sym_PIPE_PIPE_PIPE, - ACTIONS(324), 1, - aux_sym__label_codeblock_body_token1, - STATE(103), 1, - aux_sym__label_codeblock_body, - [1785] = 1, - ACTIONS(327), 4, + [1829] = 1, + ACTIONS(331), 4, ts_builtin_sym_end, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1792] = 2, - ACTIONS(73), 1, + [1836] = 3, + ACTIONS(77), 1, sym_comment, - ACTIONS(329), 3, + ACTIONS(335), 1, + anon_sym_SEMI, + ACTIONS(333), 2, + anon_sym_RBRACK, + sym_label_constraint, + [1847] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(337), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1801] = 2, - ACTIONS(73), 1, + [1856] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(331), 3, + ACTIONS(339), 1, + anon_sym_RBRACK, + ACTIONS(341), 1, + sym_label_constraint, + STATE(124), 1, + aux_sym__label_constraints, + [1869] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(343), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1810] = 2, - ACTIONS(73), 1, + [1878] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(333), 3, + ACTIONS(345), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1819] = 4, + [1887] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(322), 1, + ACTIONS(347), 1, anon_sym_PIPE_PIPE, - ACTIONS(335), 1, + ACTIONS(349), 1, aux_sym__label_codeblock_body_token1, - STATE(108), 1, + STATE(114), 1, aux_sym__label_codeblock_body, - [1832] = 2, - ACTIONS(73), 1, - sym_comment, - ACTIONS(13), 3, - anon_sym_RBRACE, + [1900] = 1, + ACTIONS(325), 4, + ts_builtin_sym_end, anon_sym_LPAREN, sym__ident_base, - [1841] = 4, - ACTIONS(7), 1, + sym_comment, + [1907] = 4, + ACTIONS(71), 1, sym__ident_base, - ACTIONS(73), 1, + ACTIONS(77), 1, sym_comment, - STATE(19), 1, + STATE(34), 1, sym__ident, STATE(61), 1, sym_identifier, - [1854] = 4, - ACTIONS(7), 1, + [1920] = 1, + ACTIONS(337), 4, + ts_builtin_sym_end, + anon_sym_LPAREN, sym__ident_base, - ACTIONS(73), 1, sym_comment, - STATE(27), 1, - sym__ident, - STATE(41), 1, - sym_identifier, - [1867] = 4, - ACTIONS(67), 1, + [1927] = 4, + ACTIONS(7), 1, sym__ident_base, - ACTIONS(73), 1, + ACTIONS(77), 1, sym_comment, - STATE(35), 1, + STATE(19), 1, sym__ident, STATE(60), 1, sym_identifier, - [1880] = 4, - ACTIONS(73), 1, + [1940] = 1, + ACTIONS(327), 4, + ts_builtin_sym_end, + anon_sym_LPAREN, + sym__ident_base, sym_comment, - ACTIONS(338), 1, + [1947] = 1, + ACTIONS(329), 4, + ts_builtin_sym_end, + anon_sym_LPAREN, sym__ident_base, - STATE(39), 1, - sym__ident, - STATE(41), 1, - sym_identifier, - [1893] = 2, - ACTIONS(73), 1, sym_comment, - ACTIONS(327), 3, + [1954] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(35), 3, anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, - [1902] = 1, - ACTIONS(316), 4, + [1963] = 1, + ACTIONS(13), 4, ts_builtin_sym_end, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1909] = 4, - ACTIONS(67), 1, + [1970] = 4, + ACTIONS(71), 1, sym__ident_base, - ACTIONS(73), 1, + ACTIONS(77), 1, sym_comment, STATE(38), 1, sym__ident, - STATE(44), 1, + STATE(52), 1, sym_identifier, - [1922] = 1, - ACTIONS(340), 4, - ts_builtin_sym_end, - anon_sym_LPAREN, - sym__ident_base, - sym_comment, - [1929] = 2, - ACTIONS(73), 1, + [1983] = 4, + ACTIONS(77), 1, + sym_comment, + ACTIONS(352), 1, + anon_sym_RBRACK, + ACTIONS(354), 1, + sym_label_constraint, + STATE(124), 1, + aux_sym__label_constraints, + [1996] = 4, + ACTIONS(3), 1, sym_comment, - ACTIONS(33), 3, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym__ident_base, - [1938] = 4, - ACTIONS(73), 1, + ACTIONS(357), 1, + anon_sym_PIPE_PIPE_PIPE, + ACTIONS(359), 1, + aux_sym__label_codeblock_body_token1, + STATE(129), 1, + aux_sym__label_codeblock_body, + [2009] = 4, + ACTIONS(3), 1, sym_comment, - ACTIONS(265), 1, - sym__ident_base, - STATE(76), 1, - sym__ident, - STATE(134), 1, - sym_identifier, - [1951] = 1, - ACTIONS(318), 4, + ACTIONS(357), 1, + anon_sym_PIPE_PIPE, + ACTIONS(361), 1, + aux_sym__label_codeblock_body_token1, + STATE(114), 1, + aux_sym__label_codeblock_body, + [2022] = 1, + ACTIONS(343), 4, ts_builtin_sym_end, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1958] = 1, - ACTIONS(320), 4, + [2029] = 1, + ACTIONS(345), 4, ts_builtin_sym_end, anon_sym_LPAREN, sym__ident_base, sym_comment, - [1965] = 1, - ACTIONS(333), 4, - ts_builtin_sym_end, - anon_sym_LPAREN, - sym__ident_base, + [2036] = 4, + ACTIONS(3), 1, sym_comment, - [1972] = 4, - ACTIONS(73), 1, + ACTIONS(347), 1, + anon_sym_PIPE_PIPE_PIPE, + ACTIONS(363), 1, + aux_sym__label_codeblock_body_token1, + STATE(129), 1, + aux_sym__label_codeblock_body, + [2049] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(166), 1, - anon_sym_RPAREN, - ACTIONS(342), 1, - sym_connection, - STATE(123), 1, - aux_sym__expr_repeat1, - [1985] = 1, - ACTIONS(13), 4, - ts_builtin_sym_end, + ACTIONS(331), 3, + anon_sym_RBRACE, anon_sym_LPAREN, sym__ident_base, + [2058] = 4, + ACTIONS(77), 1, sym_comment, - [1992] = 4, + ACTIONS(341), 1, + sym_label_constraint, + ACTIONS(366), 1, + anon_sym_RBRACK, + STATE(124), 1, + aux_sym__label_constraints, + [2071] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(345), 1, - anon_sym_PIPE_PIPE_PIPE, - ACTIONS(347), 1, + ACTIONS(359), 1, aux_sym__label_codeblock_body_token1, - STATE(103), 1, + ACTIONS(368), 1, + anon_sym_PIPE_PIPE_PIPE, + STATE(129), 1, aux_sym__label_codeblock_body, - [2005] = 4, + [2084] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, + ACTIONS(361), 1, aux_sym__label_codeblock_body_token1, - ACTIONS(345), 1, + ACTIONS(368), 1, anon_sym_PIPE_PIPE, - STATE(108), 1, + STATE(114), 1, aux_sym__label_codeblock_body, - [2018] = 4, - ACTIONS(3), 1, + [2097] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(310), 1, - anon_sym_PIPE_PIPE_PIPE, - ACTIONS(347), 1, - aux_sym__label_codeblock_body_token1, - STATE(103), 1, - aux_sym__label_codeblock_body, - [2031] = 2, - ACTIONS(73), 1, + ACTIONS(370), 1, + sym__ident_base, + STATE(40), 1, + sym__ident, + STATE(52), 1, + sym_identifier, + [2110] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(173), 3, - sym_connection, + ACTIONS(193), 1, anon_sym_RPAREN, - anon_sym_DOT, - [2040] = 1, - ACTIONS(329), 4, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(323), 1, + sym_connection, + STATE(100), 1, + aux_sym__expr_repeat1, + [2123] = 4, + ACTIONS(77), 1, + sym_comment, + ACTIONS(273), 1, sym__ident_base, + STATE(96), 1, + sym__ident, + STATE(139), 1, + sym_identifier, + [2136] = 4, + ACTIONS(7), 1, + sym__ident_base, + ACTIONS(77), 1, sym_comment, - [2047] = 4, - ACTIONS(73), 1, + STATE(27), 1, + sym__ident, + STATE(44), 1, + sym_identifier, + [2149] = 4, + ACTIONS(77), 1, sym_comment, - ACTIONS(349), 1, + ACTIONS(372), 1, sym__ident_base, STATE(44), 1, sym_identifier, - STATE(48), 1, + STATE(58), 1, sym__ident, - [2060] = 1, - ACTIONS(331), 4, - ts_builtin_sym_end, - anon_sym_LPAREN, - sym__ident_base, - sym_comment, - [2067] = 2, - ACTIONS(73), 1, + [2162] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(340), 3, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym__ident_base, - [2076] = 3, + ACTIONS(218), 2, + sym_connection, + anon_sym_RPAREN, + [2170] = 3, + ACTIONS(77), 1, + sym_comment, + ACTIONS(341), 1, + sym_label_constraint, + STATE(111), 1, + aux_sym__label_constraints, + [2180] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(347), 2, + anon_sym_PIPE_PIPE, aux_sym__label_codeblock_body_token1, - STATE(95), 1, - aux_sym__label_codeblock_body, - [2086] = 2, - ACTIONS(73), 1, + [2188] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(218), 2, - sym_connection, - anon_sym_RPAREN, - [2094] = 3, + ACTIONS(352), 2, + anon_sym_RBRACK, + sym_label_constraint, + [2196] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(347), 2, + anon_sym_PIPE_PIPE_PIPE, aux_sym__label_codeblock_body_token1, - STATE(125), 1, - aux_sym__label_codeblock_body, - [2104] = 3, + [2204] = 3, + ACTIONS(77), 1, + sym_comment, + ACTIONS(341), 1, + sym_label_constraint, + STATE(131), 1, + aux_sym__label_constraints, + [2214] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(374), 1, aux_sym__label_codeblock_body_token1, - STATE(126), 1, + STATE(132), 1, aux_sym__label_codeblock_body, - [2114] = 2, + [2224] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(322), 2, - anon_sym_PIPE_PIPE_PIPE, + ACTIONS(376), 1, aux_sym__label_codeblock_body_token1, - [2122] = 2, + STATE(133), 1, + aux_sym__label_codeblock_body, + [2234] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(322), 2, - anon_sym_PIPE_PIPE, + ACTIONS(374), 1, aux_sym__label_codeblock_body_token1, - [2130] = 3, + STATE(125), 1, + aux_sym__label_codeblock_body, + [2244] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(376), 1, aux_sym__label_codeblock_body_token1, - STATE(127), 1, + STATE(126), 1, aux_sym__label_codeblock_body, - [2140] = 2, - ACTIONS(73), 1, + [2254] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(355), 1, + ACTIONS(378), 1, sym__label_codeblock_lang, - [2147] = 2, - ACTIONS(73), 1, - sym_comment, - ACTIONS(357), 1, - sym_connection_identifier, - [2154] = 2, - ACTIONS(73), 1, + [2261] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(359), 1, - sym__label_codeblock_lang, - [2161] = 2, - ACTIONS(73), 1, - sym_comment, - ACTIONS(361), 1, + ACTIONS(380), 1, sym__ident_base, - [2168] = 2, - ACTIONS(73), 1, + [2268] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(363), 1, + ACTIONS(382), 1, sym_connection_identifier, - [2175] = 2, + [2275] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(384), 1, + sym__label_codeblock_lang, + [2282] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(365), 1, - aux_sym_label_codeblock_token2, - [2182] = 2, - ACTIONS(73), 1, + ACTIONS(386), 1, + aux_sym_label_codeblock_token1, + [2289] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(367), 1, - anon_sym_PIPE, - [2189] = 2, - ACTIONS(73), 1, + ACTIONS(388), 1, + anon_sym_BQUOTE_PIPE, + [2296] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(369), 1, + ACTIONS(390), 1, anon_sym_BQUOTE_PIPE, - [2196] = 2, + [2303] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(392), 1, aux_sym__label_codeblock_body_token2, - [2203] = 2, - ACTIONS(73), 1, + [2310] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(373), 1, - ts_builtin_sym_end, - [2210] = 2, - ACTIONS(73), 1, + ACTIONS(394), 1, + aux_sym__label_codeblock_body_token2, + [2317] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(375), 1, - sym__label_codeblock_lang, - [2217] = 2, - ACTIONS(73), 1, + ACTIONS(396), 1, + aux_sym_label_codeblock_token2, + [2324] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(369), 1, + ACTIONS(390), 1, anon_sym_PIPE, - [2224] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(377), 1, - aux_sym_label_codeblock_token1, - [2231] = 2, - ACTIONS(73), 1, + [2331] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(379), 1, - anon_sym_RPAREN, - [2238] = 2, - ACTIONS(73), 1, + ACTIONS(398), 1, + sym__ident_base, + [2338] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(381), 1, + ACTIONS(400), 1, sym__label_codeblock_lang, - [2245] = 2, - ACTIONS(73), 1, + [2345] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(388), 1, + anon_sym_PIPE, + [2352] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(383), 1, + ACTIONS(402), 1, sym__ident_base, - [2252] = 2, - ACTIONS(73), 1, + [2359] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(385), 1, + ACTIONS(404), 1, sym__ident_base, - [2259] = 2, - ACTIONS(73), 1, + [2366] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(387), 1, + ACTIONS(406), 1, sym__ident_base, - [2266] = 2, - ACTIONS(73), 1, + [2373] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(389), 1, + ACTIONS(408), 1, anon_sym_RPAREN, - [2273] = 2, + [2380] = 2, + ACTIONS(77), 1, + sym_comment, + ACTIONS(410), 1, + anon_sym_RPAREN, + [2387] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(391), 1, + ACTIONS(412), 1, aux_sym_label_codeblock_token1, - [2280] = 2, - ACTIONS(73), 1, + [2394] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(367), 1, - anon_sym_BQUOTE_PIPE, - [2287] = 2, - ACTIONS(3), 1, + ACTIONS(414), 1, + ts_builtin_sym_end, + [2401] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(393), 1, - aux_sym__label_codeblock_body_token2, - [2294] = 2, + ACTIONS(416), 1, + sym__label_codeblock_lang, + [2408] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(395), 1, + ACTIONS(418), 1, aux_sym_label_codeblock_token2, - [2301] = 2, - ACTIONS(73), 1, + [2415] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(397), 1, - sym__ident_base, - [2308] = 2, - ACTIONS(73), 1, + ACTIONS(420), 1, + sym_connection_identifier, + [2422] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(399), 1, + ACTIONS(422), 1, sym__label_codeblock_lang, - [2315] = 2, - ACTIONS(73), 1, + [2429] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(401), 1, + ACTIONS(424), 1, sym__label_codeblock_lang, - [2322] = 2, - ACTIONS(73), 1, + [2436] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(403), 1, + ACTIONS(426), 1, sym__label_codeblock_lang, - [2329] = 2, - ACTIONS(73), 1, + [2443] = 2, + ACTIONS(77), 1, sym_comment, - ACTIONS(405), 1, + ACTIONS(428), 1, sym__label_codeblock_lang, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 46, - [SMALL_STATE(4)] = 92, - [SMALL_STATE(5)] = 138, - [SMALL_STATE(6)] = 184, - [SMALL_STATE(7)] = 203, - [SMALL_STATE(8)] = 222, - [SMALL_STATE(9)] = 251, - [SMALL_STATE(10)] = 270, - [SMALL_STATE(11)] = 299, - [SMALL_STATE(12)] = 328, - [SMALL_STATE(13)] = 357, - [SMALL_STATE(14)] = 376, - [SMALL_STATE(15)] = 395, - [SMALL_STATE(16)] = 414, - [SMALL_STATE(17)] = 443, - [SMALL_STATE(18)] = 472, - [SMALL_STATE(19)] = 501, - [SMALL_STATE(20)] = 519, - [SMALL_STATE(21)] = 537, - [SMALL_STATE(22)] = 555, - [SMALL_STATE(23)] = 573, - [SMALL_STATE(24)] = 587, - [SMALL_STATE(25)] = 605, - [SMALL_STATE(26)] = 625, - [SMALL_STATE(27)] = 645, - [SMALL_STATE(28)] = 661, - [SMALL_STATE(29)] = 681, - [SMALL_STATE(30)] = 695, - [SMALL_STATE(31)] = 713, - [SMALL_STATE(32)] = 731, - [SMALL_STATE(33)] = 749, - [SMALL_STATE(34)] = 769, - [SMALL_STATE(35)] = 787, - [SMALL_STATE(36)] = 807, - [SMALL_STATE(37)] = 825, - [SMALL_STATE(38)] = 843, - [SMALL_STATE(39)] = 861, - [SMALL_STATE(40)] = 876, - [SMALL_STATE(41)] = 893, - [SMALL_STATE(42)] = 906, - [SMALL_STATE(43)] = 925, - [SMALL_STATE(44)] = 942, - [SMALL_STATE(45)] = 957, - [SMALL_STATE(46)] = 974, - [SMALL_STATE(47)] = 987, - [SMALL_STATE(48)] = 1004, - [SMALL_STATE(49)] = 1021, - [SMALL_STATE(50)] = 1040, - [SMALL_STATE(51)] = 1057, - [SMALL_STATE(52)] = 1076, - [SMALL_STATE(53)] = 1095, - [SMALL_STATE(54)] = 1108, - [SMALL_STATE(55)] = 1127, - [SMALL_STATE(56)] = 1146, - [SMALL_STATE(57)] = 1163, - [SMALL_STATE(58)] = 1180, - [SMALL_STATE(59)] = 1199, - [SMALL_STATE(60)] = 1217, - [SMALL_STATE(61)] = 1231, - [SMALL_STATE(62)] = 1243, - [SMALL_STATE(63)] = 1261, - [SMALL_STATE(64)] = 1279, - [SMALL_STATE(65)] = 1297, - [SMALL_STATE(66)] = 1312, - [SMALL_STATE(67)] = 1327, - [SMALL_STATE(68)] = 1342, - [SMALL_STATE(69)] = 1357, - [SMALL_STATE(70)] = 1372, - [SMALL_STATE(71)] = 1383, - [SMALL_STATE(72)] = 1396, - [SMALL_STATE(73)] = 1409, - [SMALL_STATE(74)] = 1424, - [SMALL_STATE(75)] = 1439, - [SMALL_STATE(76)] = 1450, - [SMALL_STATE(77)] = 1464, - [SMALL_STATE(78)] = 1480, - [SMALL_STATE(79)] = 1490, - [SMALL_STATE(80)] = 1504, - [SMALL_STATE(81)] = 1516, - [SMALL_STATE(82)] = 1528, - [SMALL_STATE(83)] = 1540, - [SMALL_STATE(84)] = 1554, - [SMALL_STATE(85)] = 1566, - [SMALL_STATE(86)] = 1578, - [SMALL_STATE(87)] = 1590, - [SMALL_STATE(88)] = 1602, - [SMALL_STATE(89)] = 1614, - [SMALL_STATE(90)] = 1624, - [SMALL_STATE(91)] = 1636, - [SMALL_STATE(92)] = 1648, - [SMALL_STATE(93)] = 1664, - [SMALL_STATE(94)] = 1676, - [SMALL_STATE(95)] = 1686, - [SMALL_STATE(96)] = 1699, - [SMALL_STATE(97)] = 1712, - [SMALL_STATE(98)] = 1725, - [SMALL_STATE(99)] = 1734, - [SMALL_STATE(100)] = 1747, - [SMALL_STATE(101)] = 1754, - [SMALL_STATE(102)] = 1763, - [SMALL_STATE(103)] = 1772, - [SMALL_STATE(104)] = 1785, - [SMALL_STATE(105)] = 1792, - [SMALL_STATE(106)] = 1801, - [SMALL_STATE(107)] = 1810, - [SMALL_STATE(108)] = 1819, - [SMALL_STATE(109)] = 1832, - [SMALL_STATE(110)] = 1841, - [SMALL_STATE(111)] = 1854, - [SMALL_STATE(112)] = 1867, - [SMALL_STATE(113)] = 1880, - [SMALL_STATE(114)] = 1893, - [SMALL_STATE(115)] = 1902, - [SMALL_STATE(116)] = 1909, - [SMALL_STATE(117)] = 1922, - [SMALL_STATE(118)] = 1929, - [SMALL_STATE(119)] = 1938, - [SMALL_STATE(120)] = 1951, - [SMALL_STATE(121)] = 1958, - [SMALL_STATE(122)] = 1965, - [SMALL_STATE(123)] = 1972, - [SMALL_STATE(124)] = 1985, - [SMALL_STATE(125)] = 1992, - [SMALL_STATE(126)] = 2005, - [SMALL_STATE(127)] = 2018, - [SMALL_STATE(128)] = 2031, - [SMALL_STATE(129)] = 2040, - [SMALL_STATE(130)] = 2047, - [SMALL_STATE(131)] = 2060, - [SMALL_STATE(132)] = 2067, - [SMALL_STATE(133)] = 2076, - [SMALL_STATE(134)] = 2086, - [SMALL_STATE(135)] = 2094, - [SMALL_STATE(136)] = 2104, - [SMALL_STATE(137)] = 2114, - [SMALL_STATE(138)] = 2122, - [SMALL_STATE(139)] = 2130, - [SMALL_STATE(140)] = 2140, - [SMALL_STATE(141)] = 2147, - [SMALL_STATE(142)] = 2154, - [SMALL_STATE(143)] = 2161, - [SMALL_STATE(144)] = 2168, - [SMALL_STATE(145)] = 2175, - [SMALL_STATE(146)] = 2182, - [SMALL_STATE(147)] = 2189, - [SMALL_STATE(148)] = 2196, - [SMALL_STATE(149)] = 2203, - [SMALL_STATE(150)] = 2210, - [SMALL_STATE(151)] = 2217, - [SMALL_STATE(152)] = 2224, - [SMALL_STATE(153)] = 2231, - [SMALL_STATE(154)] = 2238, - [SMALL_STATE(155)] = 2245, - [SMALL_STATE(156)] = 2252, - [SMALL_STATE(157)] = 2259, - [SMALL_STATE(158)] = 2266, - [SMALL_STATE(159)] = 2273, - [SMALL_STATE(160)] = 2280, - [SMALL_STATE(161)] = 2287, - [SMALL_STATE(162)] = 2294, - [SMALL_STATE(163)] = 2301, - [SMALL_STATE(164)] = 2308, - [SMALL_STATE(165)] = 2315, - [SMALL_STATE(166)] = 2322, - [SMALL_STATE(167)] = 2329, + [SMALL_STATE(3)] = 49, + [SMALL_STATE(4)] = 98, + [SMALL_STATE(5)] = 147, + [SMALL_STATE(6)] = 196, + [SMALL_STATE(7)] = 215, + [SMALL_STATE(8)] = 234, + [SMALL_STATE(9)] = 263, + [SMALL_STATE(10)] = 282, + [SMALL_STATE(11)] = 311, + [SMALL_STATE(12)] = 340, + [SMALL_STATE(13)] = 369, + [SMALL_STATE(14)] = 388, + [SMALL_STATE(15)] = 407, + [SMALL_STATE(16)] = 426, + [SMALL_STATE(17)] = 455, + [SMALL_STATE(18)] = 484, + [SMALL_STATE(19)] = 513, + [SMALL_STATE(20)] = 531, + [SMALL_STATE(21)] = 549, + [SMALL_STATE(22)] = 567, + [SMALL_STATE(23)] = 585, + [SMALL_STATE(24)] = 599, + [SMALL_STATE(25)] = 617, + [SMALL_STATE(26)] = 637, + [SMALL_STATE(27)] = 657, + [SMALL_STATE(28)] = 673, + [SMALL_STATE(29)] = 687, + [SMALL_STATE(30)] = 705, + [SMALL_STATE(31)] = 725, + [SMALL_STATE(32)] = 743, + [SMALL_STATE(33)] = 763, + [SMALL_STATE(34)] = 781, + [SMALL_STATE(35)] = 801, + [SMALL_STATE(36)] = 819, + [SMALL_STATE(37)] = 837, + [SMALL_STATE(38)] = 855, + [SMALL_STATE(39)] = 873, + [SMALL_STATE(40)] = 886, + [SMALL_STATE(41)] = 903, + [SMALL_STATE(42)] = 922, + [SMALL_STATE(43)] = 939, + [SMALL_STATE(44)] = 958, + [SMALL_STATE(45)] = 971, + [SMALL_STATE(46)] = 990, + [SMALL_STATE(47)] = 1007, + [SMALL_STATE(48)] = 1026, + [SMALL_STATE(49)] = 1043, + [SMALL_STATE(50)] = 1060, + [SMALL_STATE(51)] = 1077, + [SMALL_STATE(52)] = 1096, + [SMALL_STATE(53)] = 1111, + [SMALL_STATE(54)] = 1128, + [SMALL_STATE(55)] = 1145, + [SMALL_STATE(56)] = 1158, + [SMALL_STATE(57)] = 1177, + [SMALL_STATE(58)] = 1196, + [SMALL_STATE(59)] = 1211, + [SMALL_STATE(60)] = 1229, + [SMALL_STATE(61)] = 1241, + [SMALL_STATE(62)] = 1255, + [SMALL_STATE(63)] = 1273, + [SMALL_STATE(64)] = 1291, + [SMALL_STATE(65)] = 1309, + [SMALL_STATE(66)] = 1322, + [SMALL_STATE(67)] = 1333, + [SMALL_STATE(68)] = 1344, + [SMALL_STATE(69)] = 1359, + [SMALL_STATE(70)] = 1374, + [SMALL_STATE(71)] = 1389, + [SMALL_STATE(72)] = 1404, + [SMALL_STATE(73)] = 1417, + [SMALL_STATE(74)] = 1432, + [SMALL_STATE(75)] = 1447, + [SMALL_STATE(76)] = 1460, + [SMALL_STATE(77)] = 1475, + [SMALL_STATE(78)] = 1486, + [SMALL_STATE(79)] = 1500, + [SMALL_STATE(80)] = 1516, + [SMALL_STATE(81)] = 1528, + [SMALL_STATE(82)] = 1538, + [SMALL_STATE(83)] = 1554, + [SMALL_STATE(84)] = 1566, + [SMALL_STATE(85)] = 1578, + [SMALL_STATE(86)] = 1592, + [SMALL_STATE(87)] = 1602, + [SMALL_STATE(88)] = 1614, + [SMALL_STATE(89)] = 1626, + [SMALL_STATE(90)] = 1638, + [SMALL_STATE(91)] = 1650, + [SMALL_STATE(92)] = 1662, + [SMALL_STATE(93)] = 1674, + [SMALL_STATE(94)] = 1684, + [SMALL_STATE(95)] = 1696, + [SMALL_STATE(96)] = 1708, + [SMALL_STATE(97)] = 1722, + [SMALL_STATE(98)] = 1729, + [SMALL_STATE(99)] = 1742, + [SMALL_STATE(100)] = 1751, + [SMALL_STATE(101)] = 1764, + [SMALL_STATE(102)] = 1777, + [SMALL_STATE(103)] = 1786, + [SMALL_STATE(104)] = 1795, + [SMALL_STATE(105)] = 1804, + [SMALL_STATE(106)] = 1811, + [SMALL_STATE(107)] = 1820, + [SMALL_STATE(108)] = 1829, + [SMALL_STATE(109)] = 1836, + [SMALL_STATE(110)] = 1847, + [SMALL_STATE(111)] = 1856, + [SMALL_STATE(112)] = 1869, + [SMALL_STATE(113)] = 1878, + [SMALL_STATE(114)] = 1887, + [SMALL_STATE(115)] = 1900, + [SMALL_STATE(116)] = 1907, + [SMALL_STATE(117)] = 1920, + [SMALL_STATE(118)] = 1927, + [SMALL_STATE(119)] = 1940, + [SMALL_STATE(120)] = 1947, + [SMALL_STATE(121)] = 1954, + [SMALL_STATE(122)] = 1963, + [SMALL_STATE(123)] = 1970, + [SMALL_STATE(124)] = 1983, + [SMALL_STATE(125)] = 1996, + [SMALL_STATE(126)] = 2009, + [SMALL_STATE(127)] = 2022, + [SMALL_STATE(128)] = 2029, + [SMALL_STATE(129)] = 2036, + [SMALL_STATE(130)] = 2049, + [SMALL_STATE(131)] = 2058, + [SMALL_STATE(132)] = 2071, + [SMALL_STATE(133)] = 2084, + [SMALL_STATE(134)] = 2097, + [SMALL_STATE(135)] = 2110, + [SMALL_STATE(136)] = 2123, + [SMALL_STATE(137)] = 2136, + [SMALL_STATE(138)] = 2149, + [SMALL_STATE(139)] = 2162, + [SMALL_STATE(140)] = 2170, + [SMALL_STATE(141)] = 2180, + [SMALL_STATE(142)] = 2188, + [SMALL_STATE(143)] = 2196, + [SMALL_STATE(144)] = 2204, + [SMALL_STATE(145)] = 2214, + [SMALL_STATE(146)] = 2224, + [SMALL_STATE(147)] = 2234, + [SMALL_STATE(148)] = 2244, + [SMALL_STATE(149)] = 2254, + [SMALL_STATE(150)] = 2261, + [SMALL_STATE(151)] = 2268, + [SMALL_STATE(152)] = 2275, + [SMALL_STATE(153)] = 2282, + [SMALL_STATE(154)] = 2289, + [SMALL_STATE(155)] = 2296, + [SMALL_STATE(156)] = 2303, + [SMALL_STATE(157)] = 2310, + [SMALL_STATE(158)] = 2317, + [SMALL_STATE(159)] = 2324, + [SMALL_STATE(160)] = 2331, + [SMALL_STATE(161)] = 2338, + [SMALL_STATE(162)] = 2345, + [SMALL_STATE(163)] = 2352, + [SMALL_STATE(164)] = 2359, + [SMALL_STATE(165)] = 2366, + [SMALL_STATE(166)] = 2373, + [SMALL_STATE(167)] = 2380, + [SMALL_STATE(168)] = 2387, + [SMALL_STATE(169)] = 2394, + [SMALL_STATE(170)] = 2401, + [SMALL_STATE(171)] = 2408, + [SMALL_STATE(172)] = 2415, + [SMALL_STATE(173)] = 2422, + [SMALL_STATE(174)] = 2429, + [SMALL_STATE(175)] = 2436, + [SMALL_STATE(176)] = 2443, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -3265,194 +3425,205 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), [13] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 2, 0, 1), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), - [31] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 2, 0, 1), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 2, 0, 0), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 2, 0, 0), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ident, 1, 0, 0), - [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ident, 1, 0, 0), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ident, 2, 0, 0), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ident, 2, 0, 0), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), - [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), - [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(163), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), - [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(77), - [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), - [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(155), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [33] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 2, 0, 1), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 2, 0, 0), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [39] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 2, 0, 0), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ident, 1, 0, 0), + [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ident, 1, 0, 0), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ident, 2, 0, 0), + [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ident, 2, 0, 0), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), + [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(160), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(79), + [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(163), [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(6), - [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), - [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fields, 2, 0, 12), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), - [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(111), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 1, 0, 0), - [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label, 1, 0, 0), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), - [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), SHIFT_REPEAT(22), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 2, 0, 4), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 2, 0, 4), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), SHIFT_REPEAT(26), - [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), - [155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(156), - [158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(116), - [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), - [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(157), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), - [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), SHIFT_REPEAT(110), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fields, 2, 0, 11), - [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 11), - [177] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), SHIFT_REPEAT(112), - [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(113), - [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 2), - [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1, 0, 2), - [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_connection_refference, 4, 0, 13), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection_refference, 4, 0, 13), - [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_connection_refference, 5, 0, 16), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection_refference, 5, 0, 16), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(130), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 2, 0, 3), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 2, 0, 3), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 8), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 8), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 9), + [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(82), + [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(16), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), + [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1, 0, 0), + [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fields, 2, 0, 12), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), + [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(137), + [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 1, 0, 0), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label, 1, 0, 0), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), + [141] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), SHIFT_REPEAT(22), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 2, 0, 4), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 2, 0, 4), + [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_label_repeat1, 2, 0, 0), SHIFT_REPEAT(26), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(164), + [162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(123), + [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(165), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_connection_refference, 4, 0, 13), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection_refference, 4, 0, 13), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), + [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), SHIFT_REPEAT(118), + [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_connection_refference, 5, 0, 16), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection_refference, 5, 0, 16), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fields, 2, 0, 11), + [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 11), + [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1, 0, 2), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 2), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 2, 0, 3), + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 2, 0, 3), + [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), SHIFT_REPEAT(116), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(138), + [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(134), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 6), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 9), - [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 6), - [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 6), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(143), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), - [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 1), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 0), - [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_codeblock, 4, 0, 0), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_codeblock, 4, 0, 0), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 1), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 0), - [259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 5), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 7), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 5), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [279] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(97), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 15), - [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 7), - [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 9), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 8), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 6), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 8), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_codeblock, 4, 0, 0), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_codeblock, 4, 0, 0), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 3, 0, 0), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label, 3, 0, 0), + [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 1), + [246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 0), + [252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 1), + [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__ident_repeat1, 2, 0, 0), SHIFT_REPEAT(150), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 0), + [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 7), + [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 7), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 5), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [287] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__fields, 2, 0, 12), SHIFT_REPEAT(101), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 14), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 14), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 15), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 5), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 7), - [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 8), - [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__label_codeblock_body, 2, 0, 0), - [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__label_codeblock_body, 2, 0, 0), SHIFT_REPEAT(161), - [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 0), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 14), - [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 15), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 1), - [335] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__label_codeblock_body, 2, 0, 0), SHIFT_REPEAT(148), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 6), - [342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), SHIFT_REPEAT(119), - [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [373] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 15), + [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 14), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 15), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 5), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 6), + [320] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expr_repeat1, 2, 0, 10), SHIFT_REPEAT(136), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 5), + [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 7), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 8), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 0), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__label_constraints, 1, 0, 0), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 1), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 14), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 15), + [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__label_codeblock_body, 2, 0, 0), + [349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__label_codeblock_body, 2, 0, 0), SHIFT_REPEAT(156), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__label_constraints, 2, 0, 0), + [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__label_constraints, 2, 0, 0), SHIFT_REPEAT(109), + [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), + [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__label_codeblock_body, 2, 0, 0), SHIFT_REPEAT(157), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [414] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), }; #ifdef __cplusplus diff --git a/test/corpus/docs/special_objects/sql_tables.txt b/test/corpus/docs/special_objects/sql_tables.txt new file mode 100644 index 0000000..d70d6e0 --- /dev/null +++ b/test/corpus/docs/special_objects/sql_tables.txt @@ -0,0 +1,175 @@ +====================||| +Basics +====================||| + +my_table: { + shape: sql_table + # This is defined using the shorthand syntax for labels discussed in the containers section. + # But here it's for the type of a constraint. + # The id field becomes a map that looks like {type: int; constraint: primary_key} + id: int {constraint: primary_key} + last_updated: timestamp with time zone +} + +---||| + +(source_file + (declaration + (identifier) + (block + (declaration + (identifier) + (label)) + (comment) + (comment) + (comment) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))) + (declaration + (identifier) + (label))))) + +====================||| +Multiple constraints +====================||| + +x: int { constraint: [primary_key; unique] } + +---||| + +(source_file + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label + (label_constraint) + (label_constraint)))))) + + +====================||| +Foreign Keys +====================||| + +objects: { + shape: sql_table + id: int {constraint: primary_key} + disk: int {constraint: foreign_key} + + json: jsonb {constraint: unique} + last_updated: timestamp with time zone +} + +---||| + +(source_file + (declaration + (identifier) + (block + (declaration + (identifier) + (label)) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))) + (declaration + (identifier) + (label))))) + +====================||| +Example +====================||| + +cloud: { + disks: { + shape: sql_table + id: int {constraint: primary_key} + } + blocks: { + shape: sql_table + id: int {constraint: primary_key} + disk: int {constraint: foreign_key} + blob: blob + } + blocks.disk -> disks.id + + AWS S3 Vancouver -> disks +} + +---||| + +(source_file + (declaration + (identifier) + (block + (declaration + (identifier) + (block + (declaration + (identifier) + (label)) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))))) + (declaration + (identifier) + (block + (declaration + (identifier) + (label)) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))) + (declaration + (identifier) + (label) + (block + (declaration + (identifier) + (label)))) + (declaration + (identifier) + (label)))) + (declaration + (identifier + (identifier)) + (connection) + (identifier + (identifier))) + (declaration + (identifier) + (connection) + (identifier)))))