diff final_main/chapter3.tex @ 9:11ad5b3e7b85

update
author mir3636
date Wed, 15 Feb 2017 14:53:26 +0900
parents b35c8fcff7d5
children 86f6bb9be40a
line wrap: on
line diff
--- a/final_main/chapter3.tex	Wed Feb 15 11:06:39 2017 +0900
+++ b/final_main/chapter3.tex	Wed Feb 15 14:53:26 2017 +0900
@@ -82,12 +82,12 @@
 そこで Code Gear がデータを参照するための Gearef というマクロを定義した。
 Gearef に Context と型を渡すことでデータの参照が行える。
 また impliment を参照する際も、ポインタでの記述が複雑になってしまうため 同様に GearImpl を定義した。
+GearImpl は Context と interface 名、interface の変数名を指定して参照する。
 Gearef と GearImpl を用いたコードがリスト\ref{Gearef}である。
 
 \begin{lstlisting}[frame=lrbt,label=ref,caption={Gearef、GearImplのないコード}]
 __code pushSingleLinkedStack_stub(struct Context* context) {
     SingleLinkedStack* stack = (SingleLinkedStack*)context->data[D_Stack]->Stack.stack->Stack.stack;
-    Data* data = Gearef(context, Stack)->data;
     Data* data = context->data[D_Stack]->Stack.data;
     enum Code next = context->data[D_Stack]->Stack.next;
     goto pushSingleLinkedStack(context, stack, data, next);
@@ -103,7 +103,6 @@
 }
 \end{lstlisting}
 
-
 \section{stub Code Gear}
 Code Gear が必要とする Data Gear を取り出す際に Context を通す必要がある。
 しかし、Context を直接扱うのはセキュリティ上好ましくない。