Rename type ts_stack -> TSStack

This commit is contained in:
Max Brunsfeld 2014-06-28 19:04:14 -07:00
parent 9d4fcf75de
commit 26f612a20d
5 changed files with 22 additions and 22 deletions

View file

@ -41,7 +41,7 @@ typedef struct {
typedef struct {
TSLexer lexer;
ts_stack stack;
TSStack stack;
TSTree *lookahead;
TSTree *next_lookahead;
struct {

View file

@ -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
}

View file

@ -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();

View file

@ -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;

View file

@ -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,