diff final_main/chapter5.tex @ 7:10c4d21cc7f4

update
author mir3636
date Tue, 14 Feb 2017 22:02:53 +0900
parents 5b368e14bb64
children b35c8fcff7d5
line wrap: on
line diff
--- a/final_main/chapter5.tex	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/chapter5.tex	Tue Feb 14 22:02:53 2017 +0900
@@ -70,24 +70,7 @@
 }
 \end{lstlisting}
 
-\begin{lstlisting}[frame=lrbt,label=stack_c,caption={\footnotesize SingleLinkedStack.c}]
-#include "../context.h"
-
-Stack* createSingleLinkedStack(struct Context* context) {
-    struct Stack* stack = &ALLOCATE(context, Stack)->Stack;
-    struct SingleLinkedStack* singleLinkedStack = &ALLOCATE(context, SingleLinkedStack)->SingleLinkedStack;
-    stack->stack = (union Data*)singleLinkedStack;
-    singleLinkedStack->top = NULL;
-    stack->push = C_pushSingleLinkedStack;
-    stack->pop  = C_popSingleLinkedStack;
-    stack->pop2  = C_pop2SingleLinkedStack;
-    stack->get  = C_getSingleLinkedStack;
-    stack->get2  = C_get2SingleLinkedStack;
-    stack->isEmpty = C_isEmptySingleLinkedStack;
-    stack->clear = C_clearSingleLinkedStack;
-    return stack;
-}
-
+\begin{lstlisting}[frame=lrbt,label=stack_c,caption={\footnotesize 生成される stub}]
 __code clearSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack,enum Code next) {
     stack->top = NULL;
     goto meta(context, next);
@@ -98,73 +81,6 @@
     enum Code next = Gearef(context, Stack)->next;
     goto clearSingleLinkedStack(context, stack, next);
 } 
-
-__code pushSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack,union Data* data, enum Code next) {
-    Element* element = &ALLOCATE(context, Element)->Element;
-    element->next = stack->top;
-    element->data = data;
-    stack->top = element;
-    goto meta(context, next);
-}
-
-__code pushSingleLinkedStack_stub(struct Context* context) {
-    SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack);
-    Data* data = Gearef(context, Stack)->data;
-    enum Code next = Gearef(context, Stack)->next;
-    goto pushSingleLinkedStack(context, stack, data, next);
-} 
-
-__code popSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack, enum Code next,union Data **O_data) {
-    Data* data;
-    if (stack->top) {
-        data = stack->top->data;
-        stack->top = stack->top->next;
-    } else {
-        data = NULL;
-    }
-    *O_data = data;
-    goto meta(context, next);
-}
-
-__code popSingleLinkedStack_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;
-    goto popSingleLinkedStack(context, stack, next, O_data);
-} 
-
-__code getSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack, enum Code next,union Data **O_data) {
-    Data* data;
-    if (stack->top)
-        data = stack->top->data;
-    else
-        data = NULL;
-    *O_data = data;
-    goto meta(context, next);
-}
-
-__code getSingleLinkedStack_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;
-    goto getSingleLinkedStack(context, stack, next, O_data);
-} 
-
-__code isEmptySingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack, enum Code next, enum Code whenEmpty) {
-    if (stack->top)
-        goto meta(context, next);
-    else
-        goto meta(context, whenEmpty);
-}
-
-
-__code isEmptySingleLinkedStack_stub(struct Context* context) {
-    SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack);
-    enum Code next = Gearef(context, Stack)->next;
-    enum Code whenEmpty = Gearef(context, Stack)->whenEmpty;
-    goto isEmptySingleLinkedStack(context, stack, next, whenEmpty);
-} 
-
 \end{lstlisting}
 
 \section{Context の生成}