diff --git a/grammar.js b/grammar.js index 4a9688a..8dcaa63 100644 --- a/grammar.js +++ b/grammar.js @@ -24,17 +24,17 @@ module.exports = grammar({ seq( field("key", choice( $.identifier, - alias($.export, $.identifier), + alias("export", $.identifier), )), "=", optional(field("value", $._value)), $._end_of_assignment, ), prec(1, seq( - $.export, + "export", field("key", choice( $.identifier, - alias($.export, $.identifier), + alias("export", $.identifier), )), "=", optional(field("value", $._value)), @@ -43,7 +43,6 @@ module.exports = grammar({ ), comment: _ => /\#[^\n]*/, - export: _ => token(prec(1, 'export')), identifier: _ => /[A-Za-z_][A-Za-z0-9_]*/, variable: $ => seq('$', choice( diff --git a/queries/highlights.scm b/queries/highlights.scm index 62d938c..7c576b4 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -1,8 +1,8 @@ "=" @operator -(comment) @comment +"export" @keyword -(export) @keyword +(comment) @comment (boolean) @constant diff --git a/src/grammar.json b/src/grammar.json index 6eefe95..290137a 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -38,8 +38,8 @@ { "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "export" + "type": "STRING", + "value": "export" }, "named": true, "value": "identifier" @@ -80,8 +80,8 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "export" + "type": "STRING", + "value": "export" }, { "type": "FIELD", @@ -96,8 +96,8 @@ { "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "export" + "type": "STRING", + "value": "export" }, "named": true, "value": "identifier" @@ -138,17 +138,6 @@ "type": "PATTERN", "value": "\\#[^\\n]*" }, - "export": { - "type": "TOKEN", - "content": { - "type": "PREC", - "value": 1, - "content": { - "type": "STRING", - "value": "export" - } - } - }, "identifier": { "type": "PATTERN", "value": "[A-Za-z_][A-Za-z0-9_]*" diff --git a/src/node-types.json b/src/node-types.json index 360f0da..7318f0c 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -39,16 +39,6 @@ } ] } - }, - "children": { - "multiple": false, - "required": false, - "types": [ - { - "type": "export", - "named": true - } - ] } }, { @@ -173,7 +163,7 @@ }, { "type": "export", - "named": true + "named": false }, { "type": "float", diff --git a/src/parser.c b/src/parser.c index a4ea02c..3b208fe 100644 --- a/src/parser.c +++ b/src/parser.c @@ -21,9 +21,9 @@ enum ts_symbol_identifiers { sym_identifier = 1, - anon_sym_EQ = 2, - sym_comment = 3, - sym_export = 4, + anon_sym_export = 2, + anon_sym_EQ = 3, + sym_comment = 4, anon_sym_DOLLAR = 5, anon_sym_LBRACE = 6, anon_sym_RBRACE = 7, @@ -53,9 +53,9 @@ enum ts_symbol_identifiers { static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", + [anon_sym_export] = "export", [anon_sym_EQ] = "=", [sym_comment] = "comment", - [sym_export] = "export", [anon_sym_DOLLAR] = "$", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", @@ -85,9 +85,9 @@ static const char * const ts_symbol_names[] = { static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, + [anon_sym_export] = anon_sym_export, [anon_sym_EQ] = anon_sym_EQ, [sym_comment] = sym_comment, - [sym_export] = sym_export, [anon_sym_DOLLAR] = anon_sym_DOLLAR, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, @@ -123,6 +123,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_export] = { + .visible = true, + .named = false, + }, [anon_sym_EQ] = { .visible = true, .named = false, @@ -131,10 +135,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_export] = { - .visible = true, - .named = true, - }, [anon_sym_DOLLAR] = { .visible = true, .named = false, @@ -247,10 +247,10 @@ static const char * const ts_field_names[] = { static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 0, .length = 1}, - [3] = {.index = 1, .length = 2}, - [4] = {.index = 3, .length = 1}, - [5] = {.index = 3, .length = 1}, - [6] = {.index = 1, .length = 2}, + [3] = {.index = 1, .length = 1}, + [4] = {.index = 2, .length = 2}, + [5] = {.index = 1, .length = 1}, + [6] = {.index = 2, .length = 2}, [7] = {.index = 4, .length = 2}, [8] = {.index = 4, .length = 2}, }; @@ -259,10 +259,10 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_key, 0}, [1] = + {field_key, 1}, + [2] = {field_key, 0}, {field_value, 2}, - [3] = - {field_key, 1}, [4] = {field_key, 1}, {field_value, 3}, @@ -274,10 +274,10 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [0] = sym_identifier, }, [3] = { - [0] = sym_identifier, + [1] = sym_identifier, }, [4] = { - [1] = sym_identifier, + [0] = sym_identifier, }, [7] = { [1] = sym_identifier, @@ -312,9 +312,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [20] = 20, [21] = 21, [22] = 22, - [23] = 23, - [24] = 22, - [25] = 20, + [23] = 22, + [24] = 24, + [25] = 25, [26] = 26, [27] = 27, [28] = 28, @@ -332,10 +332,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [40] = 40, [41] = 21, [42] = 42, - [43] = 43, + [43] = 20, [44] = 44, - [45] = 35, - [46] = 42, + [45] = 36, + [46] = 44, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -754,7 +754,7 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(6); END_STATE(); case 6: - ACCEPT_TOKEN(sym_export); + ACCEPT_TOKEN(anon_sym_export); END_STATE(); default: return false; @@ -785,28 +785,28 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [20] = {.lex_state = 2}, [21] = {.lex_state = 2}, [22] = {.lex_state = 8}, - [23] = {.lex_state = 3}, - [24] = {.lex_state = 8}, + [23] = {.lex_state = 8}, + [24] = {.lex_state = 3}, [25] = {.lex_state = 0, .external_lex_state = 1}, [26] = {.lex_state = 0}, [27] = {.lex_state = 0, .external_lex_state = 1}, - [28] = {.lex_state = 0, .external_lex_state = 1}, + [28] = {.lex_state = 0}, [29] = {.lex_state = 0, .external_lex_state = 1}, [30] = {.lex_state = 0, .external_lex_state = 1}, [31] = {.lex_state = 0, .external_lex_state = 1}, - [32] = {.lex_state = 0}, + [32] = {.lex_state = 0, .external_lex_state = 1}, [33] = {.lex_state = 0, .external_lex_state = 1}, [34] = {.lex_state = 0}, [35] = {.lex_state = 0}, - [36] = {.lex_state = 0, .external_lex_state = 1}, + [36] = {.lex_state = 0}, [37] = {.lex_state = 0, .external_lex_state = 1}, - [38] = {.lex_state = 0, .external_lex_state = 1}, + [38] = {.lex_state = 0}, [39] = {.lex_state = 0, .external_lex_state = 1}, - [40] = {.lex_state = 0}, + [40] = {.lex_state = 0, .external_lex_state = 1}, [41] = {.lex_state = 0, .external_lex_state = 1}, - [42] = {.lex_state = 8}, + [42] = {.lex_state = 0, .external_lex_state = 1}, [43] = {.lex_state = 0, .external_lex_state = 1}, - [44] = {.lex_state = 0}, + [44] = {.lex_state = 8}, [45] = {.lex_state = 0}, [46] = {.lex_state = 8}, }; @@ -815,9 +815,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [STATE(0)] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), + [anon_sym_export] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [sym_comment] = ACTIONS(1), - [sym_export] = ACTIONS(1), [anon_sym_DOLLAR] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), @@ -831,21 +831,21 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [STATE(1)] = { [sym_document] = STATE(26), - [sym_assignment] = STATE(6), - [aux_sym_document_repeat1] = STATE(6), + [sym_assignment] = STATE(7), + [aux_sym_document_repeat1] = STATE(7), [ts_builtin_sym_end] = ACTIONS(3), [sym_identifier] = ACTIONS(5), - [sym_comment] = ACTIONS(7), - [sym_export] = ACTIONS(9), + [anon_sym_export] = ACTIONS(7), + [sym_comment] = ACTIONS(9), }, [STATE(2)] = { [sym_variable] = STATE(33), [sym__value] = STATE(33), [sym_string] = STATE(33), - [sym__literal_string] = STATE(30), - [sym__string] = STATE(30), + [sym__literal_string] = STATE(32), + [sym__string] = STATE(32), [sym_number] = STATE(33), - [sym_integer] = STATE(28), + [sym_integer] = STATE(30), [anon_sym_DOLLAR] = ACTIONS(11), [anon_sym_SQUOTE] = ACTIONS(13), [anon_sym_DQUOTE] = ACTIONS(15), @@ -860,10 +860,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_variable] = STATE(39), [sym__value] = STATE(39), [sym_string] = STATE(39), - [sym__literal_string] = STATE(30), - [sym__string] = STATE(30), + [sym__literal_string] = STATE(32), + [sym__string] = STATE(32), [sym_number] = STATE(39), - [sym_integer] = STATE(28), + [sym_integer] = STATE(30), [anon_sym_DOLLAR] = ACTIONS(11), [anon_sym_SQUOTE] = ACTIONS(13), [anon_sym_DQUOTE] = ACTIONS(15), @@ -875,13 +875,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__end_of_assignment] = ACTIONS(27), }, [STATE(4)] = { - [sym_variable] = STATE(29), - [sym__value] = STATE(29), - [sym_string] = STATE(29), - [sym__literal_string] = STATE(30), - [sym__string] = STATE(30), - [sym_number] = STATE(29), - [sym_integer] = STATE(28), + [sym_variable] = STATE(42), + [sym__value] = STATE(42), + [sym_string] = STATE(42), + [sym__literal_string] = STATE(32), + [sym__string] = STATE(32), + [sym_number] = STATE(42), + [sym_integer] = STATE(30), [anon_sym_DOLLAR] = ACTIONS(11), [anon_sym_SQUOTE] = ACTIONS(13), [anon_sym_DQUOTE] = ACTIONS(15), @@ -896,10 +896,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_variable] = STATE(31), [sym__value] = STATE(31), [sym_string] = STATE(31), - [sym__literal_string] = STATE(30), - [sym__string] = STATE(30), + [sym__literal_string] = STATE(32), + [sym__string] = STATE(32), [sym_number] = STATE(31), - [sym_integer] = STATE(28), + [sym_integer] = STATE(30), [anon_sym_DOLLAR] = ACTIONS(11), [anon_sym_SQUOTE] = ACTIONS(13), [anon_sym_DQUOTE] = ACTIONS(15), @@ -914,27 +914,27 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { static const uint16_t ts_small_parse_table[] = { [0] = 5, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(9), 1, - sym_export, ACTIONS(37), 1, ts_builtin_sym_end, ACTIONS(39), 1, + sym_identifier, + ACTIONS(42), 1, + anon_sym_export, + ACTIONS(45), 1, sym_comment, - STATE(7), 2, + STATE(6), 2, sym_assignment, aux_sym_document_repeat1, [17] = 5, - ACTIONS(41), 1, - ts_builtin_sym_end, - ACTIONS(43), 1, + ACTIONS(5), 1, sym_identifier, - ACTIONS(46), 1, + ACTIONS(7), 1, + anon_sym_export, + ACTIONS(48), 1, + ts_builtin_sym_end, + ACTIONS(50), 1, sym_comment, - ACTIONS(49), 1, - sym_export, - STATE(7), 2, + STATE(6), 2, sym_assignment, aux_sym_document_repeat1, [34] = 4, @@ -968,68 +968,68 @@ static const uint16_t ts_small_parse_table[] = { sym_variable, aux_sym__string_repeat1, [76] = 2, - ACTIONS(72), 1, - sym_identifier, - ACTIONS(70), 3, + ACTIONS(70), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(72), 2, + anon_sym_export, + sym_identifier, [85] = 2, - ACTIONS(76), 1, - sym_identifier, - ACTIONS(74), 3, + ACTIONS(74), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(76), 2, + anon_sym_export, + sym_identifier, [94] = 2, - ACTIONS(80), 1, - sym_identifier, - ACTIONS(78), 3, + ACTIONS(78), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(80), 2, + anon_sym_export, + sym_identifier, [103] = 2, - ACTIONS(84), 1, - sym_identifier, - ACTIONS(82), 3, + ACTIONS(82), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(84), 2, + anon_sym_export, + sym_identifier, [112] = 2, - ACTIONS(88), 1, - sym_identifier, - ACTIONS(86), 3, + ACTIONS(86), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(88), 2, + anon_sym_export, + sym_identifier, [121] = 2, - ACTIONS(92), 1, - sym_identifier, - ACTIONS(90), 3, + ACTIONS(90), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(92), 2, + anon_sym_export, + sym_identifier, [130] = 2, - ACTIONS(96), 1, - sym_identifier, - ACTIONS(94), 3, + ACTIONS(94), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(96), 2, + anon_sym_export, + sym_identifier, [139] = 2, - ACTIONS(100), 1, - sym_identifier, - ACTIONS(98), 3, + ACTIONS(98), 2, ts_builtin_sym_end, sym_comment, - sym_export, + ACTIONS(100), 2, + anon_sym_export, + sym_identifier, [148] = 3, ACTIONS(102), 1, sym_identifier, ACTIONS(104), 1, - anon_sym_EQ, + anon_sym_export, ACTIONS(106), 1, - sym_export, + anon_sym_EQ, [158] = 2, ACTIONS(110), 1, aux_sym__string_token1, @@ -1049,74 +1049,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, [181] = 2, ACTIONS(120), 1, - anon_sym_SQUOTE, + sym_identifier, ACTIONS(122), 1, - aux_sym__literal_string_token1, + anon_sym_LBRACE, [188] = 2, ACTIONS(124), 1, - sym_identifier, + anon_sym_SQUOTE, ACTIONS(126), 1, - anon_sym_LBRACE, + aux_sym__literal_string_token1, [195] = 1, - ACTIONS(110), 1, + ACTIONS(128), 1, sym__end_of_assignment, [199] = 1, - ACTIONS(128), 1, + ACTIONS(130), 1, ts_builtin_sym_end, [203] = 1, - ACTIONS(130), 1, - sym__end_of_assignment, - [207] = 1, ACTIONS(132), 1, sym__end_of_assignment, - [211] = 1, + [207] = 1, ACTIONS(134), 1, - sym__end_of_assignment, - [215] = 1, + anon_sym_SQUOTE, + [211] = 1, ACTIONS(136), 1, sym__end_of_assignment, - [219] = 1, + [215] = 1, ACTIONS(138), 1, sym__end_of_assignment, - [223] = 1, + [219] = 1, ACTIONS(140), 1, - anon_sym_EQ, - [227] = 1, + sym__end_of_assignment, + [223] = 1, ACTIONS(142), 1, sym__end_of_assignment, - [231] = 1, + [227] = 1, ACTIONS(144), 1, + sym__end_of_assignment, + [231] = 1, + ACTIONS(146), 1, anon_sym_EQ, [235] = 1, - ACTIONS(146), 1, - anon_sym_RBRACE, - [239] = 1, ACTIONS(148), 1, - sym__end_of_assignment, - [243] = 1, + anon_sym_EQ, + [239] = 1, ACTIONS(150), 1, - sym__end_of_assignment, - [247] = 1, + anon_sym_RBRACE, + [243] = 1, ACTIONS(152), 1, sym__end_of_assignment, - [251] = 1, + [247] = 1, ACTIONS(154), 1, + anon_sym_EQ, + [251] = 1, + ACTIONS(156), 1, sym__end_of_assignment, [255] = 1, - ACTIONS(156), 1, - anon_sym_EQ, + ACTIONS(158), 1, + sym__end_of_assignment, [259] = 1, ACTIONS(114), 1, sym__end_of_assignment, [263] = 1, - ACTIONS(158), 1, - sym_identifier, - [267] = 1, ACTIONS(160), 1, sym__end_of_assignment, + [267] = 1, + ACTIONS(110), 1, + sym__end_of_assignment, [271] = 1, ACTIONS(162), 1, - anon_sym_SQUOTE, + sym_identifier, [275] = 1, ACTIONS(164), 1, anon_sym_RBRACE, @@ -1173,34 +1173,34 @@ static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0, 0, 0), - [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), - [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(40), - [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(19), - [52] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [54] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(38), + [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(19), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(6), + [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0), + [50] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [52] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [54] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), [56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [58] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [58] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), [60] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_repeat1, 2, 0, 0), SHIFT_REPEAT(24), + [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_repeat1, 2, 0, 0), SHIFT_REPEAT(22), [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_repeat1, 2, 0, 0), [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_repeat1, 2, 0, 0), SHIFT_REPEAT(10), [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 1), @@ -1209,46 +1209,46 @@ static const TSParseActionEntry ts_parse_actions[] = { [76] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 2), [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 4), [80] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 4), - [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 3), - [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 3), - [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 5), - [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 5), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 6), - [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 6), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, 0, 7), - [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 5, 0, 7), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 5), + [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 5), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 6), + [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 6), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, 0, 7), + [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 5, 0, 7), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 3), + [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 3), [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, 0, 8), [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 5, 0, 8), [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 2, 0, 0), [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable, 2, 0, 0), [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 4, 0, 0), [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable, 4, 0, 0), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [128] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 2, 0, 0), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3, 0, 0), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 3, 0, 0), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1, 0, 0), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 2, 0, 0), + [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 3, 0, 0), + [130] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 2, 0, 0), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 2, 0, 0), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3, 0, 0), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1, 0, 0), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), diff --git a/test/corpus/export.txt b/test/corpus/export.txt index f5c2c58..1b4cbc0 100644 --- a/test/corpus/export.txt +++ b/test/corpus/export.txt @@ -1,5 +1,6 @@ ================================================================================ Export keyword +:cst ================================================================================ export VAR=one @@ -9,27 +10,31 @@ export export=var -------------------------------------------------------------------------------- -(document - (assignment - (export) - (identifier) - (value)) - (assignment - (export) - (identifier) - (value)) - (assignment - (export) - (identifier) - (value)) - (assignment - (export) - (identifier) - (value)) -) +1:0 - 5:0 document +1:0 - 1:14 assignment +1:0 - 1:6 "export" +1:7 - 1:10 key: identifier `VAR` +1:10 - 1:11 "=" +1:11 - 1:14 value: value `one` +2:0 - 2:18 assignment +2:0 - 2:6 "export" +2:8 - 2:11 key: identifier `VAR` +2:13 - 2:14 "=" +2:15 - 2:18 value: value `one` +3:0 - 3:14 assignment +3:0 - 3:6 "export" +3:7 - 3:10 key: identifier `TAB` +3:10 - 3:11 "=" +3:11 - 3:14 value: value `two` +4:0 - 4:17 assignment +4:0 - 4:6 "export" +4:7 - 4:13 key: identifier `export` +4:13 - 4:14 "=" +4:14 - 4:17 value: value `var` ================================================================================ Export-like identifiers +:cst ================================================================================ export=one @@ -40,17 +45,20 @@ exportVAR = two -------------------------------------------------------------------------------- -(document - (assignment - key: (identifier) - value: (value)) - (assignment - key: (identifier) - value: (value)) - (assignment - key: (identifier) - value: (value)) - (assignment - key: (identifier) - value: (value)) -) +1:0 - 6:0 document +1:0 - 1:10 assignment +1:0 - 1:6 key: identifier `export` +1:6 - 1:7 "=" +1:7 - 1:10 value: value `one` +2:0 - 2:12 assignment +2:0 - 2:6 key: identifier `export` +2:7 - 2:8 "=" +2:9 - 2:12 value: value `one` +3:0 - 3:13 assignment +3:0 - 3:9 key: identifier `exportVAR` +3:9 - 3:10 "=" +3:10 - 3:13 value: value `two` +4:0 - 4:15 assignment +4:0 - 4:9 key: identifier `exportVAR` +4:10 - 4:11 "=" +4:12 - 4:15 value: value `two`