Rename type ts_parse_action -> TSParseAction
This commit is contained in:
parent
26f612a20d
commit
27f6eb725d
6 changed files with 17 additions and 17 deletions
|
|
@ -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 \
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue