Rename type ts_stack -> TSStack
This commit is contained in:
parent
9d4fcf75de
commit
26f612a20d
5 changed files with 22 additions and 22 deletions
|
|
@ -41,7 +41,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
TSLexer lexer;
|
||||
ts_stack stack;
|
||||
TSStack stack;
|
||||
TSTree *lookahead;
|
||||
TSTree *next_lookahead;
|
||||
struct {
|
||||
|
|
|
|||
|
|
@ -16,16 +16,16 @@ typedef struct {
|
|||
TSStateId state;
|
||||
int is_extra;
|
||||
} *entries;
|
||||
} ts_stack;
|
||||
} TSStack;
|
||||
|
||||
ts_stack ts_stack_make();
|
||||
void ts_stack_delete(ts_stack *);
|
||||
TSTree * ts_stack_reduce(ts_stack *stack, TSSymbol 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, TSStateId state, TSTree *node);
|
||||
TSStateId ts_stack_top_state(const ts_stack *stack);
|
||||
TSTree * ts_stack_top_node(const ts_stack *stack);
|
||||
size_t ts_stack_right_position(const ts_stack *stack);
|
||||
TSStack ts_stack_make();
|
||||
void ts_stack_delete(TSStack *);
|
||||
TSTree * ts_stack_reduce(TSStack *stack, TSSymbol symbol, size_t immediate_child_count, const int *hidden_symbol_flags, int gather_extras);
|
||||
void ts_stack_shrink(TSStack *stack, size_t new_size);
|
||||
void ts_stack_push(TSStack *stack, TSStateId state, TSTree *node);
|
||||
TSStateId ts_stack_top_state(const TSStack *stack);
|
||||
TSTree * ts_stack_top_node(const TSStack *stack);
|
||||
size_t ts_stack_right_position(const TSStack *stack);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ enum { sym1, sym2, hidden_sym };
|
|||
int hidden_symbols[] = { 0, 0, 1 };
|
||||
|
||||
describe("stacks", [&]() {
|
||||
ts_stack stack;
|
||||
TSStack stack;
|
||||
|
||||
before_each([&]() {
|
||||
stack = ts_stack_make();
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ void reduce(ts_lr_parser *parser, TSSymbol symbol, size_t child_count) {
|
|||
static size_t breakdown_stack(ts_lr_parser *parser, TSInputEdit *edit) {
|
||||
if (!edit) return 0;
|
||||
|
||||
ts_stack *stack = &parser->stack;
|
||||
TSStack *stack = &parser->stack;
|
||||
size_t position = 0;
|
||||
|
||||
for (;;) {
|
||||
|
|
@ -118,7 +118,7 @@ int handle_error(ts_lr_parser *parser) {
|
|||
}
|
||||
|
||||
TSTree * get_tree_root(ts_lr_parser *parser) {
|
||||
ts_stack *stack = &parser->stack;
|
||||
TSStack *stack = &parser->stack;
|
||||
TSTree *top_node = ts_stack_top_node(stack);
|
||||
if (stack->size <= 1)
|
||||
return top_node;
|
||||
|
|
|
|||
|
|
@ -6,43 +6,43 @@
|
|||
static size_t INITIAL_STACK_SIZE = 100;
|
||||
static TSStateId INITIAL_STATE = 0;
|
||||
|
||||
ts_stack ts_stack_make() {
|
||||
ts_stack result = {
|
||||
TSStack ts_stack_make() {
|
||||
TSStack result = {
|
||||
.entries = calloc(INITIAL_STACK_SIZE, sizeof(*result.entries)),
|
||||
.size = 0,
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
void ts_stack_delete(ts_stack *stack) {
|
||||
void ts_stack_delete(TSStack *stack) {
|
||||
ts_stack_shrink(stack, 0);
|
||||
free(stack->entries);
|
||||
}
|
||||
|
||||
TSStateId ts_stack_top_state(const ts_stack *stack) {
|
||||
TSStateId ts_stack_top_state(const TSStack *stack) {
|
||||
if (stack->size == 0) return INITIAL_STATE;
|
||||
return stack->entries[stack->size - 1].state;
|
||||
}
|
||||
|
||||
TSTree * ts_stack_top_node(const ts_stack *stack) {
|
||||
TSTree * ts_stack_top_node(const TSStack *stack) {
|
||||
if (stack->size == 0) return NULL;
|
||||
return stack->entries[stack->size - 1].node;
|
||||
}
|
||||
|
||||
void ts_stack_push(ts_stack *stack, TSStateId state, TSTree *node) {
|
||||
void ts_stack_push(TSStack *stack, TSStateId state, TSTree *node) {
|
||||
stack->entries[stack->size].state = state;
|
||||
stack->entries[stack->size].node = node;
|
||||
stack->size++;
|
||||
ts_tree_retain(node);
|
||||
}
|
||||
|
||||
void ts_stack_shrink(ts_stack *stack, size_t new_size) {
|
||||
void ts_stack_shrink(TSStack *stack, size_t new_size) {
|
||||
for (size_t i = new_size; i < stack->size; i++)
|
||||
ts_tree_release(stack->entries[i].node);
|
||||
stack->size = new_size;
|
||||
}
|
||||
|
||||
size_t ts_stack_right_position(const ts_stack *stack) {
|
||||
size_t ts_stack_right_position(const TSStack *stack) {
|
||||
size_t result = 0;
|
||||
for (size_t i = 0; i < stack->size; i++) {
|
||||
TSTree *node = stack->entries[i].node;
|
||||
|
|
@ -51,7 +51,7 @@ size_t ts_stack_right_position(const ts_stack *stack) {
|
|||
return result;
|
||||
}
|
||||
|
||||
TSTree * ts_stack_reduce(ts_stack *stack,
|
||||
TSTree * ts_stack_reduce(TSStack *stack,
|
||||
TSSymbol symbol,
|
||||
size_t immediate_child_count,
|
||||
const int *hidden_symbol_flags,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue