Add comment tests; Rewrite statment tests
This commit is contained in:
parent
b8384b936b
commit
4b0c658a2b
35
corpus/comments.txt
Normal file
35
corpus/comments.txt
Normal file
@ -0,0 +1,35 @@
|
||||
==================
|
||||
Full Line Comments
|
||||
==================
|
||||
|
||||
# comment
|
||||
#comment
|
||||
# also a comment!
|
||||
|
||||
---
|
||||
|
||||
(source
|
||||
(comment)
|
||||
(comment)
|
||||
(comment))
|
||||
|
||||
==================
|
||||
Partial Line Comments
|
||||
==================
|
||||
|
||||
# comment # 1;
|
||||
#comment# "one";
|
||||
|
||||
---
|
||||
|
||||
(source
|
||||
(comment)
|
||||
(statement
|
||||
(closed_statment
|
||||
(value
|
||||
(integer))))
|
||||
(comment)
|
||||
(statement
|
||||
(closed_statment
|
||||
(value
|
||||
(string)))))
|
@ -9,20 +9,23 @@ x;
|
||||
---
|
||||
|
||||
(source
|
||||
(statement
|
||||
(expression
|
||||
(value
|
||||
(integer)))
|
||||
(close))
|
||||
(statement
|
||||
(expression
|
||||
(value
|
||||
(string)))
|
||||
(close))
|
||||
(statement
|
||||
(expression
|
||||
(identifier))
|
||||
(close)))
|
||||
(statement
|
||||
(closed_statement
|
||||
(expression
|
||||
(value
|
||||
(integer)))
|
||||
(close)))
|
||||
(statement
|
||||
(closed_statement
|
||||
(expression
|
||||
(value
|
||||
(string)))
|
||||
(close)))
|
||||
(statement
|
||||
(closed_statement
|
||||
(expression
|
||||
(identifier))
|
||||
(close))))
|
||||
|
||||
==================
|
||||
Simple Assignment
|
||||
@ -34,20 +37,29 @@ y = "one";
|
||||
---
|
||||
|
||||
(source
|
||||
(statement
|
||||
(expression
|
||||
(identifier)
|
||||
(operator)
|
||||
(value
|
||||
(integer)))
|
||||
(close))
|
||||
(statement
|
||||
(expression
|
||||
(identifier)
|
||||
(operator)
|
||||
(value
|
||||
(string)))
|
||||
(close)))
|
||||
(statement
|
||||
(closed_statement
|
||||
(expression
|
||||
(operation
|
||||
(expression
|
||||
(identifier))
|
||||
(operator)
|
||||
(expression
|
||||
(value
|
||||
(integer)))))
|
||||
(close)))
|
||||
(statement
|
||||
(closed_statement
|
||||
(expression
|
||||
(operation
|
||||
(expression
|
||||
(identifier))
|
||||
(operator)
|
||||
(expression
|
||||
(value
|
||||
(string)))))
|
||||
(close))))
|
||||
|
||||
|
||||
==================
|
||||
Complex Assignment
|
||||
@ -58,14 +70,22 @@ x = 1 + 1;
|
||||
---
|
||||
|
||||
(source
|
||||
(statement
|
||||
(expression
|
||||
(identifier)
|
||||
(operator)
|
||||
(expression
|
||||
(value
|
||||
(integer))
|
||||
(operator)
|
||||
(value
|
||||
(integer))))
|
||||
(close)))
|
||||
(statement
|
||||
(closed_statement
|
||||
(expression
|
||||
(operation
|
||||
(expression
|
||||
(operation
|
||||
(expression
|
||||
(identifier))
|
||||
(operator)
|
||||
(expression
|
||||
(value
|
||||
(integer)))))
|
||||
(operator)
|
||||
(expression
|
||||
(value
|
||||
(integer)))))
|
||||
(close))))
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@ module.exports = grammar({
|
||||
$.statement,
|
||||
)),
|
||||
|
||||
comment: $ => seq('#', /.*/),
|
||||
comment: $ => prec.right(seq('#', /.*/, optional('#'))),
|
||||
|
||||
statement: $ => choice(
|
||||
$.closed_statement,
|
||||
|
@ -18,17 +18,33 @@
|
||||
}
|
||||
},
|
||||
"comment": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "#"
|
||||
},
|
||||
{
|
||||
"type": "PATTERN",
|
||||
"value": ".*"
|
||||
}
|
||||
]
|
||||
"type": "PREC_RIGHT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "#"
|
||||
},
|
||||
{
|
||||
"type": "PATTERN",
|
||||
"value": ".*"
|
||||
},
|
||||
{
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "#"
|
||||
},
|
||||
{
|
||||
"type": "BLANK"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statement": {
|
||||
"type": "CHOICE",
|
||||
|
359
src/parser.c
359
src/parser.c
@ -6,7 +6,7 @@
|
||||
#endif
|
||||
|
||||
#define LANGUAGE_VERSION 14
|
||||
#define STATE_COUNT 29
|
||||
#define STATE_COUNT 30
|
||||
#define LARGE_STATE_COUNT 6
|
||||
#define SYMBOL_COUNT 31
|
||||
#define ALIAS_COUNT 0
|
||||
@ -267,21 +267,22 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
|
||||
[11] = 11,
|
||||
[12] = 12,
|
||||
[13] = 13,
|
||||
[14] = 13,
|
||||
[15] = 15,
|
||||
[14] = 14,
|
||||
[15] = 13,
|
||||
[16] = 16,
|
||||
[17] = 16,
|
||||
[18] = 18,
|
||||
[19] = 19,
|
||||
[20] = 20,
|
||||
[21] = 21,
|
||||
[22] = 9,
|
||||
[23] = 8,
|
||||
[24] = 11,
|
||||
[25] = 25,
|
||||
[22] = 22,
|
||||
[23] = 6,
|
||||
[24] = 7,
|
||||
[25] = 8,
|
||||
[26] = 26,
|
||||
[27] = 27,
|
||||
[28] = 28,
|
||||
[29] = 29,
|
||||
};
|
||||
|
||||
static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
||||
@ -557,14 +558,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
|
||||
[18] = {.lex_state = 0},
|
||||
[19] = {.lex_state = 0},
|
||||
[20] = {.lex_state = 0},
|
||||
[21] = {.lex_state = 9},
|
||||
[21] = {.lex_state = 0},
|
||||
[22] = {.lex_state = 9},
|
||||
[23] = {.lex_state = 9},
|
||||
[24] = {.lex_state = 9},
|
||||
[25] = {.lex_state = 9},
|
||||
[26] = {.lex_state = 0},
|
||||
[27] = {.lex_state = 13},
|
||||
[28] = {.lex_state = 0},
|
||||
[26] = {.lex_state = 9},
|
||||
[27] = {.lex_state = 0},
|
||||
[28] = {.lex_state = 13},
|
||||
[29] = {.lex_state = 0},
|
||||
};
|
||||
|
||||
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
||||
@ -588,16 +590,16 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
||||
[anon_sym_EQ] = ACTIONS(1),
|
||||
},
|
||||
[1] = {
|
||||
[sym_source] = STATE(28),
|
||||
[sym_source] = STATE(29),
|
||||
[sym_comment] = STATE(3),
|
||||
[sym_statement] = STATE(3),
|
||||
[sym_closed_statement] = STATE(18),
|
||||
[sym_open_statement] = STATE(18),
|
||||
[sym_expression] = STATE(4),
|
||||
[sym_value] = STATE(6),
|
||||
[sym_boolean] = STATE(9),
|
||||
[sym_list] = STATE(9),
|
||||
[sym_operation] = STATE(7),
|
||||
[sym_expression] = STATE(5),
|
||||
[sym_value] = STATE(9),
|
||||
[sym_boolean] = STATE(7),
|
||||
[sym_list] = STATE(7),
|
||||
[sym_operation] = STATE(10),
|
||||
[aux_sym_source_repeat1] = STATE(3),
|
||||
[ts_builtin_sym_end] = ACTIONS(3),
|
||||
[anon_sym_POUND] = ACTIONS(5),
|
||||
@ -616,11 +618,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
||||
[sym_statement] = STATE(2),
|
||||
[sym_closed_statement] = STATE(18),
|
||||
[sym_open_statement] = STATE(18),
|
||||
[sym_expression] = STATE(4),
|
||||
[sym_value] = STATE(6),
|
||||
[sym_boolean] = STATE(9),
|
||||
[sym_list] = STATE(9),
|
||||
[sym_operation] = STATE(7),
|
||||
[sym_expression] = STATE(5),
|
||||
[sym_value] = STATE(9),
|
||||
[sym_boolean] = STATE(7),
|
||||
[sym_list] = STATE(7),
|
||||
[sym_operation] = STATE(10),
|
||||
[aux_sym_source_repeat1] = STATE(2),
|
||||
[ts_builtin_sym_end] = ACTIONS(17),
|
||||
[anon_sym_POUND] = ACTIONS(19),
|
||||
@ -639,11 +641,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
||||
[sym_statement] = STATE(2),
|
||||
[sym_closed_statement] = STATE(18),
|
||||
[sym_open_statement] = STATE(18),
|
||||
[sym_expression] = STATE(4),
|
||||
[sym_value] = STATE(6),
|
||||
[sym_boolean] = STATE(9),
|
||||
[sym_list] = STATE(9),
|
||||
[sym_operation] = STATE(7),
|
||||
[sym_expression] = STATE(5),
|
||||
[sym_value] = STATE(9),
|
||||
[sym_boolean] = STATE(7),
|
||||
[sym_list] = STATE(7),
|
||||
[sym_operation] = STATE(10),
|
||||
[aux_sym_source_repeat1] = STATE(2),
|
||||
[ts_builtin_sym_end] = ACTIONS(37),
|
||||
[anon_sym_POUND] = ACTIONS(5),
|
||||
@ -661,37 +663,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
||||
[sym_operator] = STATE(12),
|
||||
[ts_builtin_sym_end] = ACTIONS(39),
|
||||
[anon_sym_POUND] = ACTIONS(39),
|
||||
[sym_close] = ACTIONS(41),
|
||||
[sym_identifier] = ACTIONS(43),
|
||||
[sym_close] = ACTIONS(39),
|
||||
[sym_identifier] = ACTIONS(41),
|
||||
[sym_float] = ACTIONS(39),
|
||||
[sym_integer] = ACTIONS(43),
|
||||
[sym_integer] = ACTIONS(41),
|
||||
[sym_string] = ACTIONS(39),
|
||||
[sym_function] = ACTIONS(39),
|
||||
[sym_empty] = ACTIONS(39),
|
||||
[anon_sym_true] = ACTIONS(43),
|
||||
[anon_sym_false] = ACTIONS(43),
|
||||
[anon_sym_LPAREN] = ACTIONS(43),
|
||||
[anon_sym_PLUS] = ACTIONS(45),
|
||||
[anon_sym_DASH] = ACTIONS(45),
|
||||
[anon_sym_EQ] = ACTIONS(45),
|
||||
[anon_sym_true] = ACTIONS(41),
|
||||
[anon_sym_false] = ACTIONS(41),
|
||||
[anon_sym_LPAREN] = ACTIONS(41),
|
||||
[anon_sym_PLUS] = ACTIONS(39),
|
||||
[anon_sym_DASH] = ACTIONS(39),
|
||||
[anon_sym_EQ] = ACTIONS(39),
|
||||
},
|
||||
[5] = {
|
||||
[sym_operator] = STATE(12),
|
||||
[ts_builtin_sym_end] = ACTIONS(47),
|
||||
[anon_sym_POUND] = ACTIONS(47),
|
||||
[sym_close] = ACTIONS(47),
|
||||
[sym_identifier] = ACTIONS(49),
|
||||
[sym_float] = ACTIONS(47),
|
||||
[sym_integer] = ACTIONS(49),
|
||||
[sym_string] = ACTIONS(47),
|
||||
[sym_function] = ACTIONS(47),
|
||||
[sym_empty] = ACTIONS(47),
|
||||
[anon_sym_true] = ACTIONS(49),
|
||||
[anon_sym_false] = ACTIONS(49),
|
||||
[anon_sym_LPAREN] = ACTIONS(49),
|
||||
[anon_sym_PLUS] = ACTIONS(47),
|
||||
[anon_sym_DASH] = ACTIONS(47),
|
||||
[anon_sym_EQ] = ACTIONS(47),
|
||||
[ts_builtin_sym_end] = ACTIONS(43),
|
||||
[anon_sym_POUND] = ACTIONS(43),
|
||||
[sym_close] = ACTIONS(45),
|
||||
[sym_identifier] = ACTIONS(47),
|
||||
[sym_float] = ACTIONS(43),
|
||||
[sym_integer] = ACTIONS(47),
|
||||
[sym_string] = ACTIONS(43),
|
||||
[sym_function] = ACTIONS(43),
|
||||
[sym_empty] = ACTIONS(43),
|
||||
[anon_sym_true] = ACTIONS(47),
|
||||
[anon_sym_false] = ACTIONS(47),
|
||||
[anon_sym_LPAREN] = ACTIONS(47),
|
||||
[anon_sym_PLUS] = ACTIONS(49),
|
||||
[anon_sym_DASH] = ACTIONS(49),
|
||||
[anon_sym_EQ] = ACTIONS(49),
|
||||
},
|
||||
};
|
||||
|
||||
@ -715,24 +717,6 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_DASH,
|
||||
anon_sym_EQ,
|
||||
[20] = 2,
|
||||
ACTIONS(53), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(51), 10,
|
||||
ts_builtin_sym_end,
|
||||
anon_sym_POUND,
|
||||
sym_close,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
sym_empty,
|
||||
anon_sym_PLUS,
|
||||
anon_sym_DASH,
|
||||
anon_sym_EQ,
|
||||
[40] = 2,
|
||||
ACTIONS(57), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
@ -750,7 +734,7 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_PLUS,
|
||||
anon_sym_DASH,
|
||||
anon_sym_EQ,
|
||||
[60] = 2,
|
||||
[40] = 2,
|
||||
ACTIONS(61), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
@ -768,14 +752,32 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_PLUS,
|
||||
anon_sym_DASH,
|
||||
anon_sym_EQ,
|
||||
[80] = 2,
|
||||
ACTIONS(53), 5,
|
||||
[60] = 2,
|
||||
ACTIONS(65), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(51), 10,
|
||||
ACTIONS(63), 10,
|
||||
ts_builtin_sym_end,
|
||||
anon_sym_POUND,
|
||||
sym_close,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
sym_empty,
|
||||
anon_sym_PLUS,
|
||||
anon_sym_DASH,
|
||||
anon_sym_EQ,
|
||||
[80] = 2,
|
||||
ACTIONS(65), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(63), 10,
|
||||
ts_builtin_sym_end,
|
||||
anon_sym_POUND,
|
||||
sym_close,
|
||||
@ -811,16 +813,16 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
sym_integer,
|
||||
ACTIONS(15), 1,
|
||||
anon_sym_LPAREN,
|
||||
STATE(5), 1,
|
||||
STATE(4), 1,
|
||||
sym_expression,
|
||||
STATE(6), 1,
|
||||
STATE(9), 1,
|
||||
sym_value,
|
||||
STATE(7), 1,
|
||||
STATE(10), 1,
|
||||
sym_operation,
|
||||
ACTIONS(13), 2,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
STATE(9), 2,
|
||||
STATE(7), 2,
|
||||
sym_boolean,
|
||||
sym_list,
|
||||
ACTIONS(9), 4,
|
||||
@ -835,14 +837,14 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(75), 1,
|
||||
anon_sym_RPAREN,
|
||||
STATE(15), 1,
|
||||
STATE(14), 1,
|
||||
aux_sym_list_repeat1,
|
||||
STATE(21), 1,
|
||||
STATE(22), 1,
|
||||
sym_value,
|
||||
ACTIONS(71), 2,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
STATE(22), 2,
|
||||
STATE(24), 2,
|
||||
sym_boolean,
|
||||
sym_list,
|
||||
ACTIONS(67), 4,
|
||||
@ -851,45 +853,45 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
sym_function,
|
||||
sym_empty,
|
||||
[183] = 8,
|
||||
ACTIONS(69), 1,
|
||||
ACTIONS(80), 1,
|
||||
sym_integer,
|
||||
ACTIONS(73), 1,
|
||||
ACTIONS(86), 1,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(77), 1,
|
||||
ACTIONS(89), 1,
|
||||
anon_sym_RPAREN,
|
||||
STATE(15), 1,
|
||||
STATE(14), 1,
|
||||
aux_sym_list_repeat1,
|
||||
STATE(21), 1,
|
||||
STATE(22), 1,
|
||||
sym_value,
|
||||
ACTIONS(71), 2,
|
||||
ACTIONS(83), 2,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
STATE(22), 2,
|
||||
STATE(24), 2,
|
||||
sym_boolean,
|
||||
sym_list,
|
||||
ACTIONS(67), 4,
|
||||
ACTIONS(77), 4,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
sym_empty,
|
||||
[213] = 8,
|
||||
ACTIONS(82), 1,
|
||||
ACTIONS(69), 1,
|
||||
sym_integer,
|
||||
ACTIONS(88), 1,
|
||||
ACTIONS(73), 1,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(91), 1,
|
||||
anon_sym_RPAREN,
|
||||
STATE(15), 1,
|
||||
STATE(14), 1,
|
||||
aux_sym_list_repeat1,
|
||||
STATE(21), 1,
|
||||
STATE(22), 1,
|
||||
sym_value,
|
||||
ACTIONS(85), 2,
|
||||
ACTIONS(71), 2,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
STATE(22), 2,
|
||||
STATE(24), 2,
|
||||
sym_boolean,
|
||||
sym_list,
|
||||
ACTIONS(79), 4,
|
||||
ACTIONS(67), 4,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
@ -899,14 +901,14 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
sym_integer,
|
||||
ACTIONS(73), 1,
|
||||
anon_sym_LPAREN,
|
||||
STATE(14), 1,
|
||||
STATE(15), 1,
|
||||
aux_sym_list_repeat1,
|
||||
STATE(21), 1,
|
||||
STATE(22), 1,
|
||||
sym_value,
|
||||
ACTIONS(71), 2,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
STATE(22), 2,
|
||||
STATE(24), 2,
|
||||
sym_boolean,
|
||||
sym_list,
|
||||
ACTIONS(67), 4,
|
||||
@ -921,12 +923,12 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_LPAREN,
|
||||
STATE(13), 1,
|
||||
aux_sym_list_repeat1,
|
||||
STATE(21), 1,
|
||||
STATE(22), 1,
|
||||
sym_value,
|
||||
ACTIONS(71), 2,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
STATE(22), 2,
|
||||
STATE(24), 2,
|
||||
sym_boolean,
|
||||
sym_list,
|
||||
ACTIONS(67), 4,
|
||||
@ -977,12 +979,27 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
sym_function,
|
||||
sym_empty,
|
||||
[345] = 3,
|
||||
ACTIONS(109), 1,
|
||||
ACTIONS(107), 1,
|
||||
anon_sym_POUND,
|
||||
ACTIONS(105), 5,
|
||||
ts_builtin_sym_end,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
sym_empty,
|
||||
ACTIONS(109), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_LPAREN,
|
||||
[363] = 3,
|
||||
ACTIONS(115), 1,
|
||||
anon_sym_COMMA,
|
||||
ACTIONS(107), 2,
|
||||
ACTIONS(113), 2,
|
||||
sym_integer,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(105), 7,
|
||||
ACTIONS(111), 7,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
@ -990,11 +1007,11 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_RPAREN,
|
||||
[362] = 2,
|
||||
ACTIONS(61), 2,
|
||||
[380] = 2,
|
||||
ACTIONS(53), 2,
|
||||
sym_integer,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(59), 8,
|
||||
ACTIONS(51), 8,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
@ -1003,7 +1020,7 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_false,
|
||||
anon_sym_COMMA,
|
||||
anon_sym_RPAREN,
|
||||
[377] = 2,
|
||||
[395] = 2,
|
||||
ACTIONS(57), 2,
|
||||
sym_integer,
|
||||
anon_sym_LPAREN,
|
||||
@ -1016,11 +1033,11 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_false,
|
||||
anon_sym_COMMA,
|
||||
anon_sym_RPAREN,
|
||||
[392] = 2,
|
||||
ACTIONS(65), 2,
|
||||
[410] = 2,
|
||||
ACTIONS(61), 2,
|
||||
sym_integer,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(63), 8,
|
||||
ACTIONS(59), 8,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
@ -1029,11 +1046,11 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_false,
|
||||
anon_sym_COMMA,
|
||||
anon_sym_RPAREN,
|
||||
[407] = 2,
|
||||
ACTIONS(111), 2,
|
||||
[425] = 2,
|
||||
ACTIONS(117), 2,
|
||||
sym_integer,
|
||||
anon_sym_LPAREN,
|
||||
ACTIONS(91), 7,
|
||||
ACTIONS(89), 7,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
@ -1041,23 +1058,23 @@ static const uint16_t ts_small_parse_table[] = {
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_RPAREN,
|
||||
[421] = 2,
|
||||
ACTIONS(115), 4,
|
||||
[439] = 2,
|
||||
ACTIONS(121), 4,
|
||||
sym_float,
|
||||
sym_string,
|
||||
sym_function,
|
||||
sym_empty,
|
||||
ACTIONS(113), 5,
|
||||
ACTIONS(119), 5,
|
||||
sym_identifier,
|
||||
sym_integer,
|
||||
anon_sym_true,
|
||||
anon_sym_false,
|
||||
anon_sym_LPAREN,
|
||||
[435] = 1,
|
||||
ACTIONS(117), 1,
|
||||
[453] = 1,
|
||||
ACTIONS(123), 1,
|
||||
aux_sym_comment_token1,
|
||||
[439] = 1,
|
||||
ACTIONS(119), 1,
|
||||
[457] = 1,
|
||||
ACTIONS(125), 1,
|
||||
ts_builtin_sym_end,
|
||||
};
|
||||
|
||||
@ -1078,72 +1095,76 @@ static const uint32_t ts_small_parse_table_map[] = {
|
||||
[SMALL_STATE(19)] = 313,
|
||||
[SMALL_STATE(20)] = 329,
|
||||
[SMALL_STATE(21)] = 345,
|
||||
[SMALL_STATE(22)] = 362,
|
||||
[SMALL_STATE(23)] = 377,
|
||||
[SMALL_STATE(24)] = 392,
|
||||
[SMALL_STATE(25)] = 407,
|
||||
[SMALL_STATE(26)] = 421,
|
||||
[SMALL_STATE(27)] = 435,
|
||||
[SMALL_STATE(28)] = 439,
|
||||
[SMALL_STATE(22)] = 363,
|
||||
[SMALL_STATE(23)] = 380,
|
||||
[SMALL_STATE(24)] = 395,
|
||||
[SMALL_STATE(25)] = 410,
|
||||
[SMALL_STATE(26)] = 425,
|
||||
[SMALL_STATE(27)] = 439,
|
||||
[SMALL_STATE(28)] = 453,
|
||||
[SMALL_STATE(29)] = 457,
|
||||
};
|
||||
|
||||
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_source, 0),
|
||||
[5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
|
||||
[7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10),
|
||||
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
|
||||
[11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9),
|
||||
[5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
|
||||
[7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11),
|
||||
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
|
||||
[11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7),
|
||||
[13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8),
|
||||
[15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16),
|
||||
[17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2),
|
||||
[19] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(27),
|
||||
[22] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(10),
|
||||
[25] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(9),
|
||||
[28] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(9),
|
||||
[19] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(28),
|
||||
[22] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(11),
|
||||
[25] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(7),
|
||||
[28] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(7),
|
||||
[31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(8),
|
||||
[34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(16),
|
||||
[37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 1),
|
||||
[39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_statement, 1),
|
||||
[41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
|
||||
[43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_statement, 1),
|
||||
[45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
|
||||
[47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 3),
|
||||
[49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 3),
|
||||
[51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
|
||||
[53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
|
||||
[55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1),
|
||||
[57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1),
|
||||
[59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1),
|
||||
[61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1),
|
||||
[63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3),
|
||||
[65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3),
|
||||
[67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
|
||||
[69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22),
|
||||
[71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
|
||||
[39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 3),
|
||||
[41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 3),
|
||||
[43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_statement, 1),
|
||||
[45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
|
||||
[47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_statement, 1),
|
||||
[49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
|
||||
[51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3),
|
||||
[53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3),
|
||||
[55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1),
|
||||
[57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1),
|
||||
[59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1),
|
||||
[61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1),
|
||||
[63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
|
||||
[65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
|
||||
[67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
|
||||
[69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24),
|
||||
[71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
|
||||
[73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
|
||||
[75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
|
||||
[77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
|
||||
[79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(22),
|
||||
[82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(22),
|
||||
[85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(23),
|
||||
[88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(17),
|
||||
[91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2),
|
||||
[75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
|
||||
[77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(24),
|
||||
[80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(24),
|
||||
[83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(25),
|
||||
[86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(17),
|
||||
[89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2),
|
||||
[91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
|
||||
[93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1),
|
||||
[95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1),
|
||||
[97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2),
|
||||
[99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2),
|
||||
[97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3),
|
||||
[99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 3),
|
||||
[101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_statement, 2),
|
||||
[103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closed_statement, 2),
|
||||
[105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1),
|
||||
[107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1),
|
||||
[109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
|
||||
[111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2),
|
||||
[113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1),
|
||||
[115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1),
|
||||
[117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
|
||||
[119] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
|
||||
[105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2),
|
||||
[107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
|
||||
[109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2),
|
||||
[111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1),
|
||||
[113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1),
|
||||
[115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
|
||||
[117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2),
|
||||
[119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1),
|
||||
[121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1),
|
||||
[123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
|
||||
[125] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
Loading…
Reference in New Issue
Block a user