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