diff --git a/include/tree_sitter/parser.h b/include/tree_sitter/parser.h index b957c214..c9ff30df 100644 --- a/include/tree_sitter/parser.h +++ b/include/tree_sitter/parser.h @@ -23,7 +23,7 @@ static const int hidden_symbol_flags[SYMBOL_COUNT] static TSStateId ts_lex_states[STATE_COUNT] #define PARSE_TABLE \ -static const ts_parse_action ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] +static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] #define LEX_FN() \ static TSTree * ts_lex(TSLexer *lexer, TSStateId lex_state) @@ -89,7 +89,7 @@ TSParser constructor_name() { \ .symbol_names = ts_symbol_names, \ .data = ts_lr_parser_make( \ SYMBOL_COUNT, \ - (const ts_parse_action *)ts_parse_actions, \ + (const TSParseAction *)ts_parse_actions, \ ts_lex_states, \ ts_lex, \ hidden_symbol_flags \ diff --git a/include/tree_sitter/parser/lr_parser.h b/include/tree_sitter/parser/lr_parser.h index bd0190c1..4e650c2c 100644 --- a/include/tree_sitter/parser/lr_parser.h +++ b/include/tree_sitter/parser/lr_parser.h @@ -14,10 +14,10 @@ typedef enum { ts_parse_action_type_shift_extra, ts_parse_action_type_reduce, ts_parse_action_type_accept, -} ts_parse_action_type; +} TSParseActionType; typedef struct { - ts_parse_action_type type; + TSParseActionType type; union { TSStateId to_state; struct { @@ -25,7 +25,7 @@ typedef struct { unsigned short child_count; }; } data; -} ts_parse_action; +} TSParseAction; #define SHIFT(to_state_value) \ { .type = ts_parse_action_type_shift, .data = { .to_state = to_state_value } } @@ -47,14 +47,14 @@ typedef struct { struct { size_t symbol_count; const int *hidden_symbol_flags; - const ts_parse_action *parse_table; + const TSParseAction *parse_table; const TSStateId *lex_states; TSTree * (* lex_fn)(TSLexer *, TSStateId); } config; } ts_lr_parser; ts_lr_parser * ts_lr_parser_make(size_t symbol_count, - const ts_parse_action *parse_table, + const TSParseAction *parse_table, const TSStateId *lex_states, TSTree * (* lex_fn)(TSLexer *, TSStateId), const int *hidden_symbol_flags); diff --git a/spec/runtime/helpers/dummy_parser.c b/spec/runtime/helpers/dummy_parser.c index 732df726..569ccef1 100644 --- a/spec/runtime/helpers/dummy_parser.c +++ b/spec/runtime/helpers/dummy_parser.c @@ -1,6 +1,6 @@ #include "runtime/helpers/dummy_parser.h" -const ts_parse_action parse_table[3][5] = { +const TSParseAction parse_table[3][5] = { [0] = { [dummy_sym2] = SHIFT(12), [dummy_sym3] = SHIFT(12), @@ -32,7 +32,7 @@ const int hidden_symbols[5] = { struct test_parser dummy_parser = { .state_count = 3, .symbol_count = 5, - .parse_table = (const ts_parse_action **)parse_table, + .parse_table = (const TSParseAction **)parse_table, .lex_states = lex_states, .hidden_symbols = hidden_symbols, }; diff --git a/spec/runtime/helpers/dummy_parser.h b/spec/runtime/helpers/dummy_parser.h index fda421fa..087df753 100644 --- a/spec/runtime/helpers/dummy_parser.h +++ b/spec/runtime/helpers/dummy_parser.h @@ -16,7 +16,7 @@ enum { struct test_parser { size_t state_count; size_t symbol_count; - const ts_parse_action **parse_table; + const TSParseAction **parse_table; const TSStateId *lex_states; const int *hidden_symbols; }; diff --git a/spec/runtime/lr_parser_spec.cc b/spec/runtime/lr_parser_spec.cc index 316f4888..83f82904 100644 --- a/spec/runtime/lr_parser_spec.cc +++ b/spec/runtime/lr_parser_spec.cc @@ -22,7 +22,7 @@ describe("LR Parsers", [&]() { before_each([&]() { reader = new SpyReader("some structured text", 5); parser = ts_lr_parser_make(dummy_parser.symbol_count, - (const ts_parse_action *)dummy_parser.parse_table, + (const TSParseAction *)dummy_parser.parse_table, dummy_parser.lex_states, fake_lex, dummy_parser.hidden_symbols); diff --git a/src/runtime/lr_parser.c b/src/runtime/lr_parser.c index f4d9bce0..2414d49e 100644 --- a/src/runtime/lr_parser.c +++ b/src/runtime/lr_parser.c @@ -5,7 +5,7 @@ * Private */ -static const ts_parse_action * actions_for_state(ts_lr_parser *parser, TSStateId state) { +static const TSParseAction * actions_for_state(ts_lr_parser *parser, TSStateId state) { return parser->config.parse_table + (state * parser->config.symbol_count); } @@ -60,7 +60,7 @@ static size_t breakdown_stack(ts_lr_parser *parser, TSInputEdit *edit) { TSSymbol * expected_symbols(ts_lr_parser *parser, size_t *count) { *count = 0; - const ts_parse_action *actions = actions_for_state(parser, ts_stack_top_state(&parser->stack)); + const TSParseAction *actions = actions_for_state(parser, ts_stack_top_state(&parser->stack)); for (size_t i = 0; i < parser->config.symbol_count; i++) if (actions[i].type != ts_parse_action_type_error) ++(*count); @@ -104,7 +104,7 @@ int handle_error(ts_lr_parser *parser) { for (size_t j = 0; j < parser->stack.size; j++) { size_t i = parser->stack.size - 1 - j; TSStateId stack_state = parser->stack.entries[i].state; - ts_parse_action action_on_error = actions_for_state(parser, stack_state)[ts_builtin_sym_error]; + TSParseAction action_on_error = actions_for_state(parser, stack_state)[ts_builtin_sym_error]; if (action_on_error.type == ts_parse_action_type_shift) { TSStateId state_after_error = action_on_error.data.to_state; if (actions_for_state(parser, state_after_error)[ts_tree_symbol(parser->lookahead)].type != ts_parse_action_type_error) { @@ -147,7 +147,7 @@ TSTree * get_tree_root(ts_lr_parser *parser) { return new_node; } -ts_parse_action get_next_action(ts_lr_parser *parser) { +TSParseAction get_next_action(ts_lr_parser *parser) { TSStateId state = ts_stack_top_state(&parser->stack); if (!parser->lookahead) parser->lookahead = parser->config.lex_fn(&parser->lexer, parser->config.lex_states[state]); @@ -159,7 +159,7 @@ ts_parse_action get_next_action(ts_lr_parser *parser) { */ ts_lr_parser * ts_lr_parser_make(size_t symbol_count, - const ts_parse_action *parse_table, + const TSParseAction *parse_table, const TSStateId *lex_states, TSTree * (* lex_fn)(TSLexer *, TSStateId), const int *hidden_symbol_flags) { @@ -209,7 +209,7 @@ void ts_lr_parser_initialize(ts_lr_parser *parser, TSInput input, TSInputEdit *e #endif TSTree * ts_lr_parser_parse(ts_lr_parser *parser, const char **symbol_names) { - ts_parse_action action = get_next_action(parser); + TSParseAction action = get_next_action(parser); DEBUG_PARSE("LOOKAHEAD %s", symbol_names[ts_tree_symbol(parser->lookahead)]); switch (action.type) { case ts_parse_action_type_shift: