Rename type ts_tree -> TSTree
This commit is contained in:
parent
2795078633
commit
5f59de72a8
16 changed files with 120 additions and 120 deletions
|
|
@ -26,7 +26,7 @@ static ts_state_id ts_lex_states[STATE_COUNT]
|
|||
static const ts_parse_action ts_parse_actions[STATE_COUNT][SYMBOL_COUNT]
|
||||
|
||||
#define LEX_FN() \
|
||||
static ts_tree * ts_lex(ts_lexer *lexer, ts_state_id lex_state)
|
||||
static TSTree * ts_lex(ts_lexer *lexer, ts_state_id lex_state)
|
||||
|
||||
#ifdef TS_DEBUG_LEX
|
||||
#include <stdio.h>
|
||||
|
|
@ -72,11 +72,11 @@ ts_lexer_start_token(lexer);
|
|||
|
||||
SYMBOL_NAMES;
|
||||
|
||||
static const ts_tree * ts_parse(void *data, ts_input input, ts_input_edit *edit) {
|
||||
static const TSTree * ts_parse(void *data, ts_input input, ts_input_edit *edit) {
|
||||
ts_lr_parser *parser = (ts_lr_parser *)data;
|
||||
ts_lr_parser_initialize(parser, input, edit);
|
||||
for (;;) {
|
||||
const ts_tree *tree = ts_lr_parser_parse(parser, ts_symbol_names);
|
||||
const TSTree *tree = ts_lr_parser_parse(parser, ts_symbol_names);
|
||||
if (tree) return tree;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ static inline void ts_lexer_start_token(ts_lexer *lexer) {
|
|||
lexer->token_start_position = ts_lexer_position(lexer);
|
||||
}
|
||||
|
||||
static inline ts_tree * ts_lexer_build_node(ts_lexer *lexer, ts_symbol symbol) {
|
||||
static inline TSTree * ts_lexer_build_node(ts_lexer *lexer, ts_symbol symbol) {
|
||||
size_t current_position = ts_lexer_position(lexer);
|
||||
size_t size = current_position - lexer->token_start_position;
|
||||
size_t offset = lexer->token_start_position - lexer->token_end_position;
|
||||
|
|
@ -67,4 +67,4 @@ static inline ts_tree * ts_lexer_build_node(ts_lexer *lexer, ts_symbol symbol) {
|
|||
return ts_tree_make_leaf(symbol, size, offset);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -42,25 +42,25 @@ typedef struct {
|
|||
typedef struct {
|
||||
ts_lexer lexer;
|
||||
ts_stack stack;
|
||||
ts_tree *lookahead;
|
||||
ts_tree *next_lookahead;
|
||||
TSTree *lookahead;
|
||||
TSTree *next_lookahead;
|
||||
struct {
|
||||
size_t symbol_count;
|
||||
const int *hidden_symbol_flags;
|
||||
const ts_parse_action *parse_table;
|
||||
const ts_state_id *lex_states;
|
||||
ts_tree * (* lex_fn)(ts_lexer *, ts_state_id);
|
||||
TSTree * (* lex_fn)(ts_lexer *, ts_state_id);
|
||||
} config;
|
||||
} ts_lr_parser;
|
||||
|
||||
ts_lr_parser * ts_lr_parser_make(size_t symbol_count,
|
||||
const ts_parse_action *parse_table,
|
||||
const ts_state_id *lex_states,
|
||||
ts_tree * (* lex_fn)(ts_lexer *, ts_state_id),
|
||||
TSTree * (* lex_fn)(ts_lexer *, ts_state_id),
|
||||
const int *hidden_symbol_flags);
|
||||
void ts_lr_parser_free(void *data);
|
||||
void ts_lr_parser_initialize(ts_lr_parser *parser, ts_input input, ts_input_edit *edit);
|
||||
ts_tree * ts_lr_parser_parse(ts_lr_parser *parser, const char **symbol_names);
|
||||
TSTree * ts_lr_parser_parse(ts_lr_parser *parser, const char **symbol_names);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ typedef unsigned short ts_state_id;
|
|||
typedef struct {
|
||||
size_t size;
|
||||
struct {
|
||||
ts_tree *node;
|
||||
TSTree *node;
|
||||
ts_state_id state;
|
||||
int is_extra;
|
||||
} *entries;
|
||||
|
|
@ -20,11 +20,11 @@ typedef struct {
|
|||
|
||||
ts_stack ts_stack_make();
|
||||
void ts_stack_delete(ts_stack *);
|
||||
ts_tree * ts_stack_reduce(ts_stack *stack, ts_symbol symbol, size_t immediate_child_count, const int *hidden_symbol_flags, int gather_extras);
|
||||
TSTree * ts_stack_reduce(ts_stack *stack, ts_symbol symbol, size_t immediate_child_count, const int *hidden_symbol_flags, int gather_extras);
|
||||
void ts_stack_shrink(ts_stack *stack, size_t new_size);
|
||||
void ts_stack_push(ts_stack *stack, ts_state_id state, ts_tree *node);
|
||||
void ts_stack_push(ts_stack *stack, ts_state_id state, TSTree *node);
|
||||
ts_state_id ts_stack_top_state(const ts_stack *stack);
|
||||
ts_tree * ts_stack_top_node(const ts_stack *stack);
|
||||
TSTree * ts_stack_top_node(const ts_stack *stack);
|
||||
size_t ts_stack_right_position(const ts_stack *stack);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -12,21 +12,21 @@ typedef unsigned short ts_symbol;
|
|||
#define ts_builtin_sym_end 1
|
||||
#define ts_start_sym 2
|
||||
|
||||
typedef struct ts_tree ts_tree;
|
||||
ts_tree * ts_tree_make_leaf(ts_symbol symbol, size_t size, size_t offset);
|
||||
ts_tree * ts_tree_make_node(ts_symbol symbol, size_t child_count, size_t immediate_child_count, ts_tree **children);
|
||||
ts_tree * ts_tree_make_error(char lookahead_char, size_t expected_input_count, const ts_symbol *expected_inputs, size_t size, size_t offset);
|
||||
void ts_tree_retain(ts_tree *tree);
|
||||
void ts_tree_release(ts_tree *tree);
|
||||
int ts_tree_equals(const ts_tree *tree1, const ts_tree *tree2);
|
||||
char * ts_tree_string(const ts_tree *tree, const char **names);
|
||||
char * ts_tree_error_string(const ts_tree *tree, const char **names);
|
||||
ts_tree ** ts_tree_children(const ts_tree *tree, size_t *count);
|
||||
ts_tree ** ts_tree_immediate_children(const ts_tree *tree, size_t *count);
|
||||
size_t ts_tree_size(const ts_tree *tree);
|
||||
size_t ts_tree_offset(const ts_tree *tree);
|
||||
size_t ts_tree_total_size(const ts_tree *tree);
|
||||
ts_symbol ts_tree_symbol(const ts_tree *tree);
|
||||
typedef struct TSTree TSTree;
|
||||
TSTree * ts_tree_make_leaf(ts_symbol symbol, size_t size, size_t offset);
|
||||
TSTree * ts_tree_make_node(ts_symbol symbol, size_t child_count, size_t immediate_child_count, TSTree **children);
|
||||
TSTree * ts_tree_make_error(char lookahead_char, size_t expected_input_count, const ts_symbol *expected_inputs, size_t size, size_t offset);
|
||||
void ts_tree_retain(TSTree *tree);
|
||||
void ts_tree_release(TSTree *tree);
|
||||
int ts_tree_equals(const TSTree *tree1, const TSTree *tree2);
|
||||
char * ts_tree_string(const TSTree *tree, const char **names);
|
||||
char * ts_tree_error_string(const TSTree *tree, const char **names);
|
||||
TSTree ** ts_tree_children(const TSTree *tree, size_t *count);
|
||||
TSTree ** ts_tree_immediate_children(const TSTree *tree, size_t *count);
|
||||
size_t ts_tree_size(const TSTree *tree);
|
||||
size_t ts_tree_offset(const TSTree *tree);
|
||||
size_t ts_tree_total_size(const TSTree *tree);
|
||||
ts_symbol ts_tree_symbol(const TSTree *tree);
|
||||
|
||||
typedef struct {
|
||||
void *data;
|
||||
|
|
@ -42,13 +42,13 @@ typedef struct {
|
|||
} ts_input_edit;
|
||||
|
||||
typedef struct {
|
||||
const ts_tree * (* parse_fn)(void *data, ts_input input, ts_input_edit *edit);
|
||||
const TSTree * (* parse_fn)(void *data, ts_input input, ts_input_edit *edit);
|
||||
void (* free_fn)(void *data);
|
||||
const char **symbol_names;
|
||||
void *data;
|
||||
} ts_parser;
|
||||
|
||||
const ts_tree * ts_parser_parse(ts_parser *, ts_input, ts_input_edit *edit);
|
||||
const TSTree * ts_parser_parse(ts_parser *, ts_input, ts_input_edit *edit);
|
||||
void ts_parser_free(ts_parser *);
|
||||
|
||||
typedef struct TSDocument TSDocument;
|
||||
|
|
@ -58,9 +58,9 @@ void ts_document_set_parser(TSDocument *doc, ts_parser parser);
|
|||
void ts_document_set_input(TSDocument *doc, ts_input input);
|
||||
void ts_document_set_input_string(TSDocument *doc, const char *text);
|
||||
void ts_document_edit(TSDocument *doc, ts_input_edit edit);
|
||||
const ts_tree * ts_document_tree(const TSDocument *doc);
|
||||
const TSTree * ts_document_tree(const TSDocument *doc);
|
||||
const char * ts_document_string(const TSDocument *doc);
|
||||
const char * ts_document_symbol_name(const TSDocument *document, const ts_tree *tree);
|
||||
const char * ts_document_symbol_name(const TSDocument *document, const TSTree *tree);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue