mirror of
https://github.com/pnx/tree-sitter-dotenv
synced 2026-08-26 16:08:13 +02:00
feat: make export keyword anonymous.
"export" was a named node despite always having fixed spelling, with
no variation to expose to queries. Anonymous string literals are
already fully queryable ("export" @keyword), so the named production
added a redundant node in the tree for no benefit.
Keeps the alias("export", $.identifier) in the key field, since that
usage is a genuine reclassification (export as an identifier, not the
keyword) and still needs to be named.
Updated corpus tests to use :cst format where "export" and "="
presence needs to be asserted explicitly.
This commit is contained in:
parent
65e3328e01
commit
0cc23a517e
6 changed files with 236 additions and 250 deletions
|
|
@ -24,17 +24,17 @@ module.exports = grammar({
|
||||||
seq(
|
seq(
|
||||||
field("key", choice(
|
field("key", choice(
|
||||||
$.identifier,
|
$.identifier,
|
||||||
alias($.export, $.identifier),
|
alias("export", $.identifier),
|
||||||
)),
|
)),
|
||||||
"=",
|
"=",
|
||||||
optional(field("value", $._value)),
|
optional(field("value", $._value)),
|
||||||
$._end_of_assignment,
|
$._end_of_assignment,
|
||||||
),
|
),
|
||||||
prec(1, seq(
|
prec(1, seq(
|
||||||
$.export,
|
"export",
|
||||||
field("key", choice(
|
field("key", choice(
|
||||||
$.identifier,
|
$.identifier,
|
||||||
alias($.export, $.identifier),
|
alias("export", $.identifier),
|
||||||
)),
|
)),
|
||||||
"=",
|
"=",
|
||||||
optional(field("value", $._value)),
|
optional(field("value", $._value)),
|
||||||
|
|
@ -43,7 +43,6 @@ module.exports = grammar({
|
||||||
),
|
),
|
||||||
|
|
||||||
comment: _ => /\#[^\n]*/,
|
comment: _ => /\#[^\n]*/,
|
||||||
export: _ => token(prec(1, 'export')),
|
|
||||||
|
|
||||||
identifier: _ => /[A-Za-z_][A-Za-z0-9_]*/,
|
identifier: _ => /[A-Za-z_][A-Za-z0-9_]*/,
|
||||||
variable: $ => seq('$', choice(
|
variable: $ => seq('$', choice(
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
"=" @operator
|
"=" @operator
|
||||||
|
|
||||||
(comment) @comment
|
"export" @keyword
|
||||||
|
|
||||||
(export) @keyword
|
(comment) @comment
|
||||||
|
|
||||||
(boolean) @constant
|
(boolean) @constant
|
||||||
|
|
||||||
|
|
|
||||||
23
src/grammar.json
generated
23
src/grammar.json
generated
|
|
@ -38,8 +38,8 @@
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "ALIAS",
|
||||||
"content": {
|
"content": {
|
||||||
"type": "SYMBOL",
|
"type": "STRING",
|
||||||
"name": "export"
|
"value": "export"
|
||||||
},
|
},
|
||||||
"named": true,
|
"named": true,
|
||||||
"value": "identifier"
|
"value": "identifier"
|
||||||
|
|
@ -80,8 +80,8 @@
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "STRING",
|
||||||
"name": "export"
|
"value": "export"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "FIELD",
|
"type": "FIELD",
|
||||||
|
|
@ -96,8 +96,8 @@
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "ALIAS",
|
||||||
"content": {
|
"content": {
|
||||||
"type": "SYMBOL",
|
"type": "STRING",
|
||||||
"name": "export"
|
"value": "export"
|
||||||
},
|
},
|
||||||
"named": true,
|
"named": true,
|
||||||
"value": "identifier"
|
"value": "identifier"
|
||||||
|
|
@ -138,17 +138,6 @@
|
||||||
"type": "PATTERN",
|
"type": "PATTERN",
|
||||||
"value": "\\#[^\\n]*"
|
"value": "\\#[^\\n]*"
|
||||||
},
|
},
|
||||||
"export": {
|
|
||||||
"type": "TOKEN",
|
|
||||||
"content": {
|
|
||||||
"type": "PREC",
|
|
||||||
"value": 1,
|
|
||||||
"content": {
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "export"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"identifier": {
|
"identifier": {
|
||||||
"type": "PATTERN",
|
"type": "PATTERN",
|
||||||
"value": "[A-Za-z_][A-Za-z0-9_]*"
|
"value": "[A-Za-z_][A-Za-z0-9_]*"
|
||||||
|
|
|
||||||
12
src/node-types.json
generated
12
src/node-types.json
generated
|
|
@ -39,16 +39,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"multiple": false,
|
|
||||||
"required": false,
|
|
||||||
"types": [
|
|
||||||
{
|
|
||||||
"type": "export",
|
|
||||||
"named": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -173,7 +163,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "export",
|
"type": "export",
|
||||||
"named": true
|
"named": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "float",
|
"type": "float",
|
||||||
|
|
|
||||||
368
src/parser.c
generated
368
src/parser.c
generated
|
|
@ -21,9 +21,9 @@
|
||||||
|
|
||||||
enum ts_symbol_identifiers {
|
enum ts_symbol_identifiers {
|
||||||
sym_identifier = 1,
|
sym_identifier = 1,
|
||||||
anon_sym_EQ = 2,
|
anon_sym_export = 2,
|
||||||
sym_comment = 3,
|
anon_sym_EQ = 3,
|
||||||
sym_export = 4,
|
sym_comment = 4,
|
||||||
anon_sym_DOLLAR = 5,
|
anon_sym_DOLLAR = 5,
|
||||||
anon_sym_LBRACE = 6,
|
anon_sym_LBRACE = 6,
|
||||||
anon_sym_RBRACE = 7,
|
anon_sym_RBRACE = 7,
|
||||||
|
|
@ -53,9 +53,9 @@ enum ts_symbol_identifiers {
|
||||||
static const char * const ts_symbol_names[] = {
|
static const char * const ts_symbol_names[] = {
|
||||||
[ts_builtin_sym_end] = "end",
|
[ts_builtin_sym_end] = "end",
|
||||||
[sym_identifier] = "identifier",
|
[sym_identifier] = "identifier",
|
||||||
|
[anon_sym_export] = "export",
|
||||||
[anon_sym_EQ] = "=",
|
[anon_sym_EQ] = "=",
|
||||||
[sym_comment] = "comment",
|
[sym_comment] = "comment",
|
||||||
[sym_export] = "export",
|
|
||||||
[anon_sym_DOLLAR] = "$",
|
[anon_sym_DOLLAR] = "$",
|
||||||
[anon_sym_LBRACE] = "{",
|
[anon_sym_LBRACE] = "{",
|
||||||
[anon_sym_RBRACE] = "}",
|
[anon_sym_RBRACE] = "}",
|
||||||
|
|
@ -85,9 +85,9 @@ static const char * const ts_symbol_names[] = {
|
||||||
static const TSSymbol ts_symbol_map[] = {
|
static const TSSymbol ts_symbol_map[] = {
|
||||||
[ts_builtin_sym_end] = ts_builtin_sym_end,
|
[ts_builtin_sym_end] = ts_builtin_sym_end,
|
||||||
[sym_identifier] = sym_identifier,
|
[sym_identifier] = sym_identifier,
|
||||||
|
[anon_sym_export] = anon_sym_export,
|
||||||
[anon_sym_EQ] = anon_sym_EQ,
|
[anon_sym_EQ] = anon_sym_EQ,
|
||||||
[sym_comment] = sym_comment,
|
[sym_comment] = sym_comment,
|
||||||
[sym_export] = sym_export,
|
|
||||||
[anon_sym_DOLLAR] = anon_sym_DOLLAR,
|
[anon_sym_DOLLAR] = anon_sym_DOLLAR,
|
||||||
[anon_sym_LBRACE] = anon_sym_LBRACE,
|
[anon_sym_LBRACE] = anon_sym_LBRACE,
|
||||||
[anon_sym_RBRACE] = anon_sym_RBRACE,
|
[anon_sym_RBRACE] = anon_sym_RBRACE,
|
||||||
|
|
@ -123,6 +123,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
|
||||||
.visible = true,
|
.visible = true,
|
||||||
.named = true,
|
.named = true,
|
||||||
},
|
},
|
||||||
|
[anon_sym_export] = {
|
||||||
|
.visible = true,
|
||||||
|
.named = false,
|
||||||
|
},
|
||||||
[anon_sym_EQ] = {
|
[anon_sym_EQ] = {
|
||||||
.visible = true,
|
.visible = true,
|
||||||
.named = false,
|
.named = false,
|
||||||
|
|
@ -131,10 +135,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
|
||||||
.visible = true,
|
.visible = true,
|
||||||
.named = true,
|
.named = true,
|
||||||
},
|
},
|
||||||
[sym_export] = {
|
|
||||||
.visible = true,
|
|
||||||
.named = true,
|
|
||||||
},
|
|
||||||
[anon_sym_DOLLAR] = {
|
[anon_sym_DOLLAR] = {
|
||||||
.visible = true,
|
.visible = true,
|
||||||
.named = false,
|
.named = false,
|
||||||
|
|
@ -247,10 +247,10 @@ static const char * const ts_field_names[] = {
|
||||||
static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
|
static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
|
||||||
[1] = {.index = 0, .length = 1},
|
[1] = {.index = 0, .length = 1},
|
||||||
[2] = {.index = 0, .length = 1},
|
[2] = {.index = 0, .length = 1},
|
||||||
[3] = {.index = 1, .length = 2},
|
[3] = {.index = 1, .length = 1},
|
||||||
[4] = {.index = 3, .length = 1},
|
[4] = {.index = 2, .length = 2},
|
||||||
[5] = {.index = 3, .length = 1},
|
[5] = {.index = 1, .length = 1},
|
||||||
[6] = {.index = 1, .length = 2},
|
[6] = {.index = 2, .length = 2},
|
||||||
[7] = {.index = 4, .length = 2},
|
[7] = {.index = 4, .length = 2},
|
||||||
[8] = {.index = 4, .length = 2},
|
[8] = {.index = 4, .length = 2},
|
||||||
};
|
};
|
||||||
|
|
@ -259,10 +259,10 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
|
||||||
[0] =
|
[0] =
|
||||||
{field_key, 0},
|
{field_key, 0},
|
||||||
[1] =
|
[1] =
|
||||||
|
{field_key, 1},
|
||||||
|
[2] =
|
||||||
{field_key, 0},
|
{field_key, 0},
|
||||||
{field_value, 2},
|
{field_value, 2},
|
||||||
[3] =
|
|
||||||
{field_key, 1},
|
|
||||||
[4] =
|
[4] =
|
||||||
{field_key, 1},
|
{field_key, 1},
|
||||||
{field_value, 3},
|
{field_value, 3},
|
||||||
|
|
@ -274,10 +274,10 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE
|
||||||
[0] = sym_identifier,
|
[0] = sym_identifier,
|
||||||
},
|
},
|
||||||
[3] = {
|
[3] = {
|
||||||
[0] = sym_identifier,
|
[1] = sym_identifier,
|
||||||
},
|
},
|
||||||
[4] = {
|
[4] = {
|
||||||
[1] = sym_identifier,
|
[0] = sym_identifier,
|
||||||
},
|
},
|
||||||
[7] = {
|
[7] = {
|
||||||
[1] = sym_identifier,
|
[1] = sym_identifier,
|
||||||
|
|
@ -312,9 +312,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
|
||||||
[20] = 20,
|
[20] = 20,
|
||||||
[21] = 21,
|
[21] = 21,
|
||||||
[22] = 22,
|
[22] = 22,
|
||||||
[23] = 23,
|
[23] = 22,
|
||||||
[24] = 22,
|
[24] = 24,
|
||||||
[25] = 20,
|
[25] = 25,
|
||||||
[26] = 26,
|
[26] = 26,
|
||||||
[27] = 27,
|
[27] = 27,
|
||||||
[28] = 28,
|
[28] = 28,
|
||||||
|
|
@ -332,10 +332,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
|
||||||
[40] = 40,
|
[40] = 40,
|
||||||
[41] = 21,
|
[41] = 21,
|
||||||
[42] = 42,
|
[42] = 42,
|
||||||
[43] = 43,
|
[43] = 20,
|
||||||
[44] = 44,
|
[44] = 44,
|
||||||
[45] = 35,
|
[45] = 36,
|
||||||
[46] = 42,
|
[46] = 44,
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
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);
|
if (lookahead == 't') ADVANCE(6);
|
||||||
END_STATE();
|
END_STATE();
|
||||||
case 6:
|
case 6:
|
||||||
ACCEPT_TOKEN(sym_export);
|
ACCEPT_TOKEN(anon_sym_export);
|
||||||
END_STATE();
|
END_STATE();
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -785,28 +785,28 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = {
|
||||||
[20] = {.lex_state = 2},
|
[20] = {.lex_state = 2},
|
||||||
[21] = {.lex_state = 2},
|
[21] = {.lex_state = 2},
|
||||||
[22] = {.lex_state = 8},
|
[22] = {.lex_state = 8},
|
||||||
[23] = {.lex_state = 3},
|
[23] = {.lex_state = 8},
|
||||||
[24] = {.lex_state = 8},
|
[24] = {.lex_state = 3},
|
||||||
[25] = {.lex_state = 0, .external_lex_state = 1},
|
[25] = {.lex_state = 0, .external_lex_state = 1},
|
||||||
[26] = {.lex_state = 0},
|
[26] = {.lex_state = 0},
|
||||||
[27] = {.lex_state = 0, .external_lex_state = 1},
|
[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},
|
[29] = {.lex_state = 0, .external_lex_state = 1},
|
||||||
[30] = {.lex_state = 0, .external_lex_state = 1},
|
[30] = {.lex_state = 0, .external_lex_state = 1},
|
||||||
[31] = {.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},
|
[33] = {.lex_state = 0, .external_lex_state = 1},
|
||||||
[34] = {.lex_state = 0},
|
[34] = {.lex_state = 0},
|
||||||
[35] = {.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},
|
[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},
|
[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},
|
[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},
|
[43] = {.lex_state = 0, .external_lex_state = 1},
|
||||||
[44] = {.lex_state = 0},
|
[44] = {.lex_state = 8},
|
||||||
[45] = {.lex_state = 0},
|
[45] = {.lex_state = 0},
|
||||||
[46] = {.lex_state = 8},
|
[46] = {.lex_state = 8},
|
||||||
};
|
};
|
||||||
|
|
@ -815,9 +815,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
||||||
[STATE(0)] = {
|
[STATE(0)] = {
|
||||||
[ts_builtin_sym_end] = ACTIONS(1),
|
[ts_builtin_sym_end] = ACTIONS(1),
|
||||||
[sym_identifier] = ACTIONS(1),
|
[sym_identifier] = ACTIONS(1),
|
||||||
|
[anon_sym_export] = ACTIONS(1),
|
||||||
[anon_sym_EQ] = ACTIONS(1),
|
[anon_sym_EQ] = ACTIONS(1),
|
||||||
[sym_comment] = ACTIONS(1),
|
[sym_comment] = ACTIONS(1),
|
||||||
[sym_export] = ACTIONS(1),
|
|
||||||
[anon_sym_DOLLAR] = ACTIONS(1),
|
[anon_sym_DOLLAR] = ACTIONS(1),
|
||||||
[anon_sym_LBRACE] = ACTIONS(1),
|
[anon_sym_LBRACE] = ACTIONS(1),
|
||||||
[anon_sym_RBRACE] = 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)] = {
|
[STATE(1)] = {
|
||||||
[sym_document] = STATE(26),
|
[sym_document] = STATE(26),
|
||||||
[sym_assignment] = STATE(6),
|
[sym_assignment] = STATE(7),
|
||||||
[aux_sym_document_repeat1] = STATE(6),
|
[aux_sym_document_repeat1] = STATE(7),
|
||||||
[ts_builtin_sym_end] = ACTIONS(3),
|
[ts_builtin_sym_end] = ACTIONS(3),
|
||||||
[sym_identifier] = ACTIONS(5),
|
[sym_identifier] = ACTIONS(5),
|
||||||
[sym_comment] = ACTIONS(7),
|
[anon_sym_export] = ACTIONS(7),
|
||||||
[sym_export] = ACTIONS(9),
|
[sym_comment] = ACTIONS(9),
|
||||||
},
|
},
|
||||||
[STATE(2)] = {
|
[STATE(2)] = {
|
||||||
[sym_variable] = STATE(33),
|
[sym_variable] = STATE(33),
|
||||||
[sym__value] = STATE(33),
|
[sym__value] = STATE(33),
|
||||||
[sym_string] = STATE(33),
|
[sym_string] = STATE(33),
|
||||||
[sym__literal_string] = STATE(30),
|
[sym__literal_string] = STATE(32),
|
||||||
[sym__string] = STATE(30),
|
[sym__string] = STATE(32),
|
||||||
[sym_number] = STATE(33),
|
[sym_number] = STATE(33),
|
||||||
[sym_integer] = STATE(28),
|
[sym_integer] = STATE(30),
|
||||||
[anon_sym_DOLLAR] = ACTIONS(11),
|
[anon_sym_DOLLAR] = ACTIONS(11),
|
||||||
[anon_sym_SQUOTE] = ACTIONS(13),
|
[anon_sym_SQUOTE] = ACTIONS(13),
|
||||||
[anon_sym_DQUOTE] = ACTIONS(15),
|
[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_variable] = STATE(39),
|
||||||
[sym__value] = STATE(39),
|
[sym__value] = STATE(39),
|
||||||
[sym_string] = STATE(39),
|
[sym_string] = STATE(39),
|
||||||
[sym__literal_string] = STATE(30),
|
[sym__literal_string] = STATE(32),
|
||||||
[sym__string] = STATE(30),
|
[sym__string] = STATE(32),
|
||||||
[sym_number] = STATE(39),
|
[sym_number] = STATE(39),
|
||||||
[sym_integer] = STATE(28),
|
[sym_integer] = STATE(30),
|
||||||
[anon_sym_DOLLAR] = ACTIONS(11),
|
[anon_sym_DOLLAR] = ACTIONS(11),
|
||||||
[anon_sym_SQUOTE] = ACTIONS(13),
|
[anon_sym_SQUOTE] = ACTIONS(13),
|
||||||
[anon_sym_DQUOTE] = ACTIONS(15),
|
[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),
|
[sym__end_of_assignment] = ACTIONS(27),
|
||||||
},
|
},
|
||||||
[STATE(4)] = {
|
[STATE(4)] = {
|
||||||
[sym_variable] = STATE(29),
|
[sym_variable] = STATE(42),
|
||||||
[sym__value] = STATE(29),
|
[sym__value] = STATE(42),
|
||||||
[sym_string] = STATE(29),
|
[sym_string] = STATE(42),
|
||||||
[sym__literal_string] = STATE(30),
|
[sym__literal_string] = STATE(32),
|
||||||
[sym__string] = STATE(30),
|
[sym__string] = STATE(32),
|
||||||
[sym_number] = STATE(29),
|
[sym_number] = STATE(42),
|
||||||
[sym_integer] = STATE(28),
|
[sym_integer] = STATE(30),
|
||||||
[anon_sym_DOLLAR] = ACTIONS(11),
|
[anon_sym_DOLLAR] = ACTIONS(11),
|
||||||
[anon_sym_SQUOTE] = ACTIONS(13),
|
[anon_sym_SQUOTE] = ACTIONS(13),
|
||||||
[anon_sym_DQUOTE] = ACTIONS(15),
|
[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_variable] = STATE(31),
|
||||||
[sym__value] = STATE(31),
|
[sym__value] = STATE(31),
|
||||||
[sym_string] = STATE(31),
|
[sym_string] = STATE(31),
|
||||||
[sym__literal_string] = STATE(30),
|
[sym__literal_string] = STATE(32),
|
||||||
[sym__string] = STATE(30),
|
[sym__string] = STATE(32),
|
||||||
[sym_number] = STATE(31),
|
[sym_number] = STATE(31),
|
||||||
[sym_integer] = STATE(28),
|
[sym_integer] = STATE(30),
|
||||||
[anon_sym_DOLLAR] = ACTIONS(11),
|
[anon_sym_DOLLAR] = ACTIONS(11),
|
||||||
[anon_sym_SQUOTE] = ACTIONS(13),
|
[anon_sym_SQUOTE] = ACTIONS(13),
|
||||||
[anon_sym_DQUOTE] = ACTIONS(15),
|
[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[] = {
|
static const uint16_t ts_small_parse_table[] = {
|
||||||
[0] = 5,
|
[0] = 5,
|
||||||
ACTIONS(5), 1,
|
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(9), 1,
|
|
||||||
sym_export,
|
|
||||||
ACTIONS(37), 1,
|
ACTIONS(37), 1,
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
ACTIONS(39), 1,
|
ACTIONS(39), 1,
|
||||||
|
sym_identifier,
|
||||||
|
ACTIONS(42), 1,
|
||||||
|
anon_sym_export,
|
||||||
|
ACTIONS(45), 1,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
STATE(7), 2,
|
STATE(6), 2,
|
||||||
sym_assignment,
|
sym_assignment,
|
||||||
aux_sym_document_repeat1,
|
aux_sym_document_repeat1,
|
||||||
[17] = 5,
|
[17] = 5,
|
||||||
ACTIONS(41), 1,
|
ACTIONS(5), 1,
|
||||||
ts_builtin_sym_end,
|
|
||||||
ACTIONS(43), 1,
|
|
||||||
sym_identifier,
|
sym_identifier,
|
||||||
ACTIONS(46), 1,
|
ACTIONS(7), 1,
|
||||||
|
anon_sym_export,
|
||||||
|
ACTIONS(48), 1,
|
||||||
|
ts_builtin_sym_end,
|
||||||
|
ACTIONS(50), 1,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
ACTIONS(49), 1,
|
STATE(6), 2,
|
||||||
sym_export,
|
|
||||||
STATE(7), 2,
|
|
||||||
sym_assignment,
|
sym_assignment,
|
||||||
aux_sym_document_repeat1,
|
aux_sym_document_repeat1,
|
||||||
[34] = 4,
|
[34] = 4,
|
||||||
|
|
@ -968,68 +968,68 @@ static const uint16_t ts_small_parse_table[] = {
|
||||||
sym_variable,
|
sym_variable,
|
||||||
aux_sym__string_repeat1,
|
aux_sym__string_repeat1,
|
||||||
[76] = 2,
|
[76] = 2,
|
||||||
ACTIONS(72), 1,
|
ACTIONS(70), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(70), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(72), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[85] = 2,
|
[85] = 2,
|
||||||
ACTIONS(76), 1,
|
ACTIONS(74), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(74), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(76), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[94] = 2,
|
[94] = 2,
|
||||||
ACTIONS(80), 1,
|
ACTIONS(78), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(78), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(80), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[103] = 2,
|
[103] = 2,
|
||||||
ACTIONS(84), 1,
|
ACTIONS(82), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(82), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(84), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[112] = 2,
|
[112] = 2,
|
||||||
ACTIONS(88), 1,
|
ACTIONS(86), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(86), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(88), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[121] = 2,
|
[121] = 2,
|
||||||
ACTIONS(92), 1,
|
ACTIONS(90), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(90), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(92), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[130] = 2,
|
[130] = 2,
|
||||||
ACTIONS(96), 1,
|
ACTIONS(94), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(94), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(96), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[139] = 2,
|
[139] = 2,
|
||||||
ACTIONS(100), 1,
|
ACTIONS(98), 2,
|
||||||
sym_identifier,
|
|
||||||
ACTIONS(98), 3,
|
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
sym_comment,
|
sym_comment,
|
||||||
sym_export,
|
ACTIONS(100), 2,
|
||||||
|
anon_sym_export,
|
||||||
|
sym_identifier,
|
||||||
[148] = 3,
|
[148] = 3,
|
||||||
ACTIONS(102), 1,
|
ACTIONS(102), 1,
|
||||||
sym_identifier,
|
sym_identifier,
|
||||||
ACTIONS(104), 1,
|
ACTIONS(104), 1,
|
||||||
anon_sym_EQ,
|
anon_sym_export,
|
||||||
ACTIONS(106), 1,
|
ACTIONS(106), 1,
|
||||||
sym_export,
|
anon_sym_EQ,
|
||||||
[158] = 2,
|
[158] = 2,
|
||||||
ACTIONS(110), 1,
|
ACTIONS(110), 1,
|
||||||
aux_sym__string_token1,
|
aux_sym__string_token1,
|
||||||
|
|
@ -1049,74 +1049,74 @@ static const uint16_t ts_small_parse_table[] = {
|
||||||
anon_sym_LBRACE,
|
anon_sym_LBRACE,
|
||||||
[181] = 2,
|
[181] = 2,
|
||||||
ACTIONS(120), 1,
|
ACTIONS(120), 1,
|
||||||
anon_sym_SQUOTE,
|
sym_identifier,
|
||||||
ACTIONS(122), 1,
|
ACTIONS(122), 1,
|
||||||
aux_sym__literal_string_token1,
|
anon_sym_LBRACE,
|
||||||
[188] = 2,
|
[188] = 2,
|
||||||
ACTIONS(124), 1,
|
ACTIONS(124), 1,
|
||||||
sym_identifier,
|
anon_sym_SQUOTE,
|
||||||
ACTIONS(126), 1,
|
ACTIONS(126), 1,
|
||||||
anon_sym_LBRACE,
|
aux_sym__literal_string_token1,
|
||||||
[195] = 1,
|
[195] = 1,
|
||||||
ACTIONS(110), 1,
|
ACTIONS(128), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[199] = 1,
|
[199] = 1,
|
||||||
ACTIONS(128), 1,
|
ACTIONS(130), 1,
|
||||||
ts_builtin_sym_end,
|
ts_builtin_sym_end,
|
||||||
[203] = 1,
|
[203] = 1,
|
||||||
ACTIONS(130), 1,
|
|
||||||
sym__end_of_assignment,
|
|
||||||
[207] = 1,
|
|
||||||
ACTIONS(132), 1,
|
ACTIONS(132), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[211] = 1,
|
[207] = 1,
|
||||||
ACTIONS(134), 1,
|
ACTIONS(134), 1,
|
||||||
sym__end_of_assignment,
|
anon_sym_SQUOTE,
|
||||||
[215] = 1,
|
[211] = 1,
|
||||||
ACTIONS(136), 1,
|
ACTIONS(136), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[219] = 1,
|
[215] = 1,
|
||||||
ACTIONS(138), 1,
|
ACTIONS(138), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[223] = 1,
|
[219] = 1,
|
||||||
ACTIONS(140), 1,
|
ACTIONS(140), 1,
|
||||||
anon_sym_EQ,
|
sym__end_of_assignment,
|
||||||
[227] = 1,
|
[223] = 1,
|
||||||
ACTIONS(142), 1,
|
ACTIONS(142), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[231] = 1,
|
[227] = 1,
|
||||||
ACTIONS(144), 1,
|
ACTIONS(144), 1,
|
||||||
|
sym__end_of_assignment,
|
||||||
|
[231] = 1,
|
||||||
|
ACTIONS(146), 1,
|
||||||
anon_sym_EQ,
|
anon_sym_EQ,
|
||||||
[235] = 1,
|
[235] = 1,
|
||||||
ACTIONS(146), 1,
|
|
||||||
anon_sym_RBRACE,
|
|
||||||
[239] = 1,
|
|
||||||
ACTIONS(148), 1,
|
ACTIONS(148), 1,
|
||||||
sym__end_of_assignment,
|
anon_sym_EQ,
|
||||||
[243] = 1,
|
[239] = 1,
|
||||||
ACTIONS(150), 1,
|
ACTIONS(150), 1,
|
||||||
sym__end_of_assignment,
|
anon_sym_RBRACE,
|
||||||
[247] = 1,
|
[243] = 1,
|
||||||
ACTIONS(152), 1,
|
ACTIONS(152), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[251] = 1,
|
[247] = 1,
|
||||||
ACTIONS(154), 1,
|
ACTIONS(154), 1,
|
||||||
|
anon_sym_EQ,
|
||||||
|
[251] = 1,
|
||||||
|
ACTIONS(156), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[255] = 1,
|
[255] = 1,
|
||||||
ACTIONS(156), 1,
|
ACTIONS(158), 1,
|
||||||
anon_sym_EQ,
|
sym__end_of_assignment,
|
||||||
[259] = 1,
|
[259] = 1,
|
||||||
ACTIONS(114), 1,
|
ACTIONS(114), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
[263] = 1,
|
[263] = 1,
|
||||||
ACTIONS(158), 1,
|
|
||||||
sym_identifier,
|
|
||||||
[267] = 1,
|
|
||||||
ACTIONS(160), 1,
|
ACTIONS(160), 1,
|
||||||
sym__end_of_assignment,
|
sym__end_of_assignment,
|
||||||
|
[267] = 1,
|
||||||
|
ACTIONS(110), 1,
|
||||||
|
sym__end_of_assignment,
|
||||||
[271] = 1,
|
[271] = 1,
|
||||||
ACTIONS(162), 1,
|
ACTIONS(162), 1,
|
||||||
anon_sym_SQUOTE,
|
sym_identifier,
|
||||||
[275] = 1,
|
[275] = 1,
|
||||||
ACTIONS(164), 1,
|
ACTIONS(164), 1,
|
||||||
anon_sym_RBRACE,
|
anon_sym_RBRACE,
|
||||||
|
|
@ -1173,34 +1173,34 @@ static const TSParseActionEntry ts_parse_actions[] = {
|
||||||
[0] = {.entry = {.count = 0, .reusable = false}},
|
[0] = {.entry = {.count = 0, .reusable = false}},
|
||||||
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
|
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
|
||||||
[3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0, 0, 0),
|
[3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0, 0, 0),
|
||||||
[5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40),
|
[5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38),
|
||||||
[7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
|
[7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19),
|
||||||
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
|
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
|
||||||
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
|
[11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
|
||||||
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
|
[13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
|
||||||
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
|
[15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
|
||||||
[17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38),
|
[17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40),
|
||||||
[19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28),
|
[19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30),
|
||||||
[21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
|
[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),
|
[25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39),
|
||||||
[27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
|
[27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
|
||||||
[29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29),
|
[29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42),
|
||||||
[31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
|
[31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
|
||||||
[33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31),
|
[33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31),
|
||||||
[35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
|
[35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
|
||||||
[37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0),
|
[37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0),
|
||||||
[39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
|
[39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
|
||||||
[41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0),
|
[42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(19),
|
||||||
[43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(40),
|
[45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(6),
|
||||||
[46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(7),
|
[48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0),
|
||||||
[49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(19),
|
[50] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
|
||||||
[52] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24),
|
[52] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22),
|
||||||
[54] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27),
|
[54] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29),
|
||||||
[56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
|
[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),
|
[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),
|
[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),
|
[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),
|
[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),
|
[76] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 2),
|
||||||
[78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 4),
|
[78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 4),
|
||||||
[80] = {.entry = {.count = 1, .reusable = false}}, 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),
|
[82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4, 0, 5),
|
||||||
[84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 3),
|
[84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 5),
|
||||||
[86] = {.entry = {.count = 1, .reusable = true}}, 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, 5),
|
[88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 6),
|
||||||
[90] = {.entry = {.count = 1, .reusable = true}}, 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, 4, 0, 6),
|
[92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 5, 0, 7),
|
||||||
[94] = {.entry = {.count = 1, .reusable = true}}, 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, 5, 0, 7),
|
[96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4, 0, 3),
|
||||||
[98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, 0, 8),
|
[98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, 0, 8),
|
||||||
[100] = {.entry = {.count = 1, .reusable = false}}, 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),
|
[102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34),
|
||||||
[104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
|
[104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35),
|
||||||
[106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
|
[106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
|
||||||
[108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 2, 0, 0),
|
[108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 2, 0, 0),
|
||||||
[110] = {.entry = {.count = 1, .reusable = true}}, 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),
|
[112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 4, 0, 0),
|
||||||
[114] = {.entry = {.count = 1, .reusable = true}}, 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),
|
[116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
|
||||||
[118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
|
[118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
|
||||||
[120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43),
|
[120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
|
||||||
[122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
|
[122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
|
||||||
[124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
|
[124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27),
|
||||||
[126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
|
[126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
|
||||||
[128] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
|
[128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 3, 0, 0),
|
||||||
[130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 2, 0, 0),
|
[130] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
|
||||||
[132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0),
|
[132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 2, 0, 0),
|
||||||
[134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
|
[134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
|
||||||
[136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0),
|
[136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 2, 0, 0),
|
||||||
[138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
|
[138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0),
|
||||||
[140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
|
[140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
|
||||||
[142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
|
[142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0),
|
||||||
[144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
|
[144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
|
||||||
[146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
|
[146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
|
||||||
[148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3, 0, 0),
|
[148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
|
||||||
[150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 3, 0, 0),
|
[150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
|
||||||
[152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1, 0, 0),
|
[152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 3, 0, 0),
|
||||||
[154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
|
[154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
|
||||||
[156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
|
[156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
|
||||||
[158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
|
[158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer, 1, 0, 0),
|
||||||
[160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_string, 2, 0, 0),
|
[160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
|
||||||
[162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
|
[162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
|
||||||
[164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
|
[164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
|
||||||
[166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
|
[166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
================================================================================
|
================================================================================
|
||||||
Export keyword
|
Export keyword
|
||||||
|
:cst
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
export VAR=one
|
export VAR=one
|
||||||
|
|
@ -9,27 +10,31 @@ export export=var
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
(document
|
1:0 - 5:0 document
|
||||||
(assignment
|
1:0 - 1:14 assignment
|
||||||
(export)
|
1:0 - 1:6 "export"
|
||||||
(identifier)
|
1:7 - 1:10 key: identifier `VAR`
|
||||||
(value))
|
1:10 - 1:11 "="
|
||||||
(assignment
|
1:11 - 1:14 value: value `one`
|
||||||
(export)
|
2:0 - 2:18 assignment
|
||||||
(identifier)
|
2:0 - 2:6 "export"
|
||||||
(value))
|
2:8 - 2:11 key: identifier `VAR`
|
||||||
(assignment
|
2:13 - 2:14 "="
|
||||||
(export)
|
2:15 - 2:18 value: value `one`
|
||||||
(identifier)
|
3:0 - 3:14 assignment
|
||||||
(value))
|
3:0 - 3:6 "export"
|
||||||
(assignment
|
3:7 - 3:10 key: identifier `TAB`
|
||||||
(export)
|
3:10 - 3:11 "="
|
||||||
(identifier)
|
3:11 - 3:14 value: value `two`
|
||||||
(value))
|
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
|
Export-like identifiers
|
||||||
|
:cst
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
export=one
|
export=one
|
||||||
|
|
@ -40,17 +45,20 @@ exportVAR = two
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
(document
|
1:0 - 6:0 document
|
||||||
(assignment
|
1:0 - 1:10 assignment
|
||||||
key: (identifier)
|
1:0 - 1:6 key: identifier `export`
|
||||||
value: (value))
|
1:6 - 1:7 "="
|
||||||
(assignment
|
1:7 - 1:10 value: value `one`
|
||||||
key: (identifier)
|
2:0 - 2:12 assignment
|
||||||
value: (value))
|
2:0 - 2:6 key: identifier `export`
|
||||||
(assignment
|
2:7 - 2:8 "="
|
||||||
key: (identifier)
|
2:9 - 2:12 value: value `one`
|
||||||
value: (value))
|
3:0 - 3:13 assignment
|
||||||
(assignment
|
3:0 - 3:9 key: identifier `exportVAR`
|
||||||
key: (identifier)
|
3:9 - 3:10 "="
|
||||||
value: (value))
|
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`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue