Mercurial > hg > Gears > GearsAgda
diff src/parallel_execution/stack.c @ 131:a4507906938c
Fix compile error but not work
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 25 Oct 2016 00:49:28 +0900 |
parents | 2bb5e4f0fd35 |
children | 7c309e1aea73 |
line wrap: on
line diff
--- a/src/parallel_execution/stack.c Mon Oct 10 20:19:26 2016 +0900 +++ b/src/parallel_execution/stack.c Tue Oct 25 00:49:28 2016 +0900 @@ -1,31 +1,44 @@ #include "stack.h" +#include "context.h" +#include "origin_cs.h" +extern union Data* allocator(struct Context* context); -__code createSingleLinkedStack(enum Code next) { +__code createSingleLinkedStack(struct Context* context, enum Code next) { + /* struct SingleLinkedStack* stack = allocate(context, SignleLinkedStack); stack->top = NULL; stack->i.push = PushSingleLinkedStack; stack->i.pop = PopsingleLinkedStack; stack->i.isEmpty = _; + */ goto meta(context, next); } -__code pushSingleLinkedStack(struct Context* context, struct SingleLinekedStack* stack, struct Element* element, union Data* data, enum Code next) { +__code pushSingleLinkedStack(struct Context* context, struct SingleLinkedStack* stack, struct Element* element, union Data* data, enum Code next) { element->next = stack->top; element->data = data; stack->top = element; goto meta(context, next); } -__code popSingleLinkedStack(struct Context* context, struct SingleLinekedStack* stack, enum Code next) { +__code pushSingleLinkedStack_stub(struct Context* context) { + struct Allocate* allocate = &context->data[Allocate]->allocate; + allocate->size = sizeof(struct Element); + struct Element* element = &(allocator(context)->element); + goto pushSingleLinkedStack(context, + &context->data[Stack]->stack.stack, + element, + context->data[Stack]->stack.data, + context->data[Stack]->stack.next); +} + +__code popSingleLinkedStack(struct Context* context, struct SingleLinkedStack* stack, enum Code next) { stack->top = stack->top->next; goto meta(context, next); } -__code pushSingleLinkedStack_stub(struct Context* context) { - stuct Element* element = allocate(struct Element); - goto pushSingleLinkedStack(context, - &context->data[Stack]->stack, - element, - context->data[Stack]->data, - context->data[Stack]->next); +__code popSingleLinkedStack_stub(struct Context* context) { + goto popSingleLinkedStack(context, + &context->data[Stack]->stack.stack, + context->data[Stack]->stack.next); }