Rename type ts_lr_parser -> TSStateMachine
This commit is contained in:
parent
27f6eb725d
commit
0ec3faba3e
5 changed files with 96 additions and 95 deletions
|
|
@ -11,7 +11,7 @@ extern "C" {
|
|||
#include "tree_sitter/runtime.h"
|
||||
#include "tree_sitter/parser/lexer.h"
|
||||
#include "tree_sitter/parser/stack.h"
|
||||
#include "tree_sitter/parser/lr_parser.h"
|
||||
#include "tree_sitter/parser/state_machine.h"
|
||||
|
||||
#define SYMBOL_NAMES \
|
||||
static const char *ts_symbol_names[]
|
||||
|
|
@ -73,10 +73,10 @@ ts_lexer_start_token(lexer);
|
|||
SYMBOL_NAMES;
|
||||
|
||||
static const TSTree * ts_parse(void *data, TSInput input, TSInputEdit *edit) {
|
||||
ts_lr_parser *parser = (ts_lr_parser *)data;
|
||||
ts_lr_parser_initialize(parser, input, edit);
|
||||
TSStateMachine *parser = (TSStateMachine *)data;
|
||||
ts_state_machine_initialize(parser, input, edit);
|
||||
for (;;) {
|
||||
const TSTree *tree = ts_lr_parser_parse(parser, ts_symbol_names);
|
||||
const TSTree *tree = ts_state_machine_parse(parser, ts_symbol_names);
|
||||
if (tree) return tree;
|
||||
}
|
||||
}
|
||||
|
|
@ -85,9 +85,9 @@ static const TSTree * ts_parse(void *data, TSInput input, TSInputEdit *edit) {
|
|||
TSParser constructor_name() { \
|
||||
return (TSParser) { \
|
||||
.parse_fn = ts_parse, \
|
||||
.free_fn = ts_lr_parser_free, \
|
||||
.free_fn = ts_state_machine_free, \
|
||||
.symbol_names = ts_symbol_names, \
|
||||
.data = ts_lr_parser_make( \
|
||||
.data = ts_state_machine_make( \
|
||||
SYMBOL_COUNT, \
|
||||
(const TSParseAction *)ts_parse_actions, \
|
||||
ts_lex_states, \
|
||||
|
|
|
|||
|
|
@ -51,16 +51,17 @@ typedef struct {
|
|||
const TSStateId *lex_states;
|
||||
TSTree * (* lex_fn)(TSLexer *, TSStateId);
|
||||
} config;
|
||||
} ts_lr_parser;
|
||||
} TSStateMachine;
|
||||
|
||||
ts_lr_parser * ts_lr_parser_make(size_t symbol_count,
|
||||
const TSParseAction *parse_table,
|
||||
const TSStateId *lex_states,
|
||||
TSTree * (* lex_fn)(TSLexer *, TSStateId),
|
||||
const int *hidden_symbol_flags);
|
||||
void ts_lr_parser_free(void *data);
|
||||
void ts_lr_parser_initialize(ts_lr_parser *parser, TSInput input, TSInputEdit *edit);
|
||||
TSTree * ts_lr_parser_parse(ts_lr_parser *parser, const char **symbol_names);
|
||||
TSStateMachine * ts_state_machine_make(
|
||||
size_t symbol_count,
|
||||
const TSParseAction *parse_table,
|
||||
const TSStateId *lex_states,
|
||||
TSTree * (* lex_fn)(TSLexer *, TSStateId),
|
||||
const int *hidden_symbol_flags);
|
||||
void ts_state_machine_free(void *data);
|
||||
void ts_state_machine_initialize(TSStateMachine *, TSInput, TSInputEdit *);
|
||||
TSTree * ts_state_machine_parse(TSStateMachine *, const char **symbol_names);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue