view paper/src/pop2meta.cbc @ 91:4232c9dc1431

update
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Fri, 05 Feb 2021 19:09:08 +0900
parents a5e840dede1b
children
line wrap: on
line source

__code pop2SingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack, enum Code next,union Data **O_data,union Data **O_data1) {
  Data* data  __attribute__((unused))  = *O_data;
  Data* data1  __attribute__((unused))  = *O_data1;
    if (stack->top) {
        data = stack->top->data;
        stack->top = stack->top->next;
    } else {
        data = NULL;
    }
    if (stack->top) {
        data1 = stack->top->data;
        stack->top = stack->top->next;
    } else {
        data1 = NULL;
    }
  *O_data = data;
  *O_data1 =  data1;
    goto meta(context, next);
}


__code pop2SingleLinkedStack_stub(struct Context* context) {
  SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack);
  enum Code next = Gearef(context, Stack)->next;
  Data** O_data = &Gearef(context, Stack)->data;
  Data** O_data1 = &Gearef(context, Stack)->data1;
  goto pop2SingleLinkedStack(context, stack, next, O_data, O_data1);
}