changeset 7:10c4d21cc7f4

update
author mir3636
date Tue, 14 Feb 2017 22:02:53 +0900
parents 5b368e14bb64
children b35c8fcff7d5
files final_main/chapter3.tex final_main/chapter5.tex final_main/main.aux final_main/main.dvi final_main/main.lof final_main/main.log final_main/main.lol final_main/main.pdf final_main/main.toc
diffstat 9 files changed, 115 insertions(+), 212 deletions(-) [+]
line wrap: on
line diff
--- a/final_main/chapter3.tex	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/chapter3.tex	Tue Feb 14 22:02:53 2017 +0900
@@ -12,39 +12,71 @@
 
 CbC は Code Gear を処理の単位として用いたプログラミング言語であるため、Gears OS の Code Gear を記述するのに適している。
 
-%\section{Gears OS の構成}
-
-%\begin{itemize}
-%   \item Context
-%   \item TaskQueue
-%   \item TaskManager
-%   \item Persistent Data Tree
-%   \item Worker
-%\end{itemize}
+図\ref{fig:gearsos} に Gears OS の構成図を示す。
 
-%図\ref{fig:gearsos} に Gears OS の構成図を示す。
-
-%\begin{figure}[htpb]
-%    \begin{center}
-%        \scalebox{0.2}{\includegraphics{fig/gearsos.pdf}}
-%    \end{center}
-%    \caption{Gears OS の構成図}
-%    \label{fig:gearsos}
-%\end{figure}
+\begin{figure}[htpb]
+    \begin{center}
+        \scalebox{0.2}{\includegraphics{fig/gearsos.pdf}}
+    \end{center}
+    \caption{Gears OS の構成図}
+    \label{fig:gearsos}
+\end{figure}
 
 \section{Context}
 Gears OS では Context と呼ばれる接続可能な Code/Data Gear のリスト、TaskQueue へのポインタ、Persistent Data Tree へのポインタ、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear である。
 Gears OS は必要な Code/Data Gear に参照したい場合、この Context を通す必要がある。
-%メインとなる Context と Worker 用の Context があり、TaskQueue と Persistent Data Tree は共有される。
-%Temporal Data Gear のためのメモリ空間は Context 毎に異なり、互いに干渉することはできない。
-%Persistent Data Tree への書き込みのみで相互作用を発生させ目的の処理を達成する。
- 
+メインとなる Context と Worker 用の Context があり、TaskQueue と Persistent Data Tree は共有される。
+Temporal Data Gear のためのメモリ空間は Context 毎に異なり、互いに干渉することはできない。
+Persistent Data Tree への書き込みのみで相互作用を発生させ目的の処理を達成する。
+
 %現在 CbC で Gears OS を記述すると通常の Computation に加えて Meta Computation である stub を記述する必要がある。
 %Meta Computation
 
 
 %Context や stub は Meta Computation であるため。
 
+
+\section{interface の記述}
+
+interface を記述することで Context から Code Gear が呼び出せるようになった。
+create は関数呼び出しで呼び出され、interface と impliment の初期化と Code Gear のポインタの設定を行う。
+return で interface を返し、その先で interface で指定した Code Gear へ継続できるようになった。
+
+\begin{lstlisting}[frame=lrbt,label=interface,caption={interface}]
+typedef struct Stack<Impl>{    
+    union Data* stack;
+    union Data* data;
+    union Data* data1;
+    __code whenEmpty(...);
+    __code clear(Impl* stack,__code next(...));
+    __code push(Impl* stack,union Data* data, __code next(...));
+    __code pop(Impl* stack, __code next(union Data*, ...));
+    __code pop2(Impl* stack, union Data** data, union Data** data1, __code next(union Data**, union Data**, ...));
+    __code isEmpty(Impl* stack, __code next(...), __code whenEmpty(...));
+    __code get(Impl* stack, union Data** data, __code next(...));
+    __code get2(Impl* stack,..., __code next(...));
+    __code next(...);
+} Stack;
+\end{lstlisting}
+
+\begin{lstlisting}[frame=lrbt,label=create,caption={createSingleLinkedStack}]
+Stack* createSingleLinkedStack(struct Context* context) {
+    struct Stack* stack = new Stack();
+    struct SingleLinkedStack* singleLinkedStack = new 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;
+}
+\end{lstlisting}
+
+
 \section{stub Code Gear}
 Code Gear が必要とする Data Gear を取り出す際に Context を通す必要がある。
 しかし、Context を直接扱うのはセキュリティ上好ましくない。
@@ -53,7 +85,6 @@
 必要とする Data Gear を Context から取り出すという処理を行うものである。
 stub Code Gear は Code Gear 毎に生成される。
 
-
 %この機能により、CbC は Code Gear のみでなく Data Gear を単位として用いることが可能になった。
 %Meta Code Gear、Meta Data Gear により meta computation を通常の Code Gear 内に記述せずにすむ、Code Gear 間に実行される Meta Code Gear で継続先を変更する、エラーハンドリングを行うといった使い方ができるようになるだろう。
 
@@ -78,51 +109,3 @@
 %Task の処理に必要なデータは Persistent Data Tree から取得する。
 %処理後、必要なデータを Persistent Data Tree に書き出して再び Task の取得・実行を行う。
 %
-\section{interface の記述}
-
-interface を記述することで Context から Code Gear が呼び出せるようになった。
-create は関数呼び出しで呼び出され、interface と impliment の初期化と Code Gear のポインタの設定を行う。
-return で interface を返し、その先で interface で指定した Code Gear へ継続できるようになった。
-
-%interface の実装で関数呼び出しせずに使えるようになった
-%impliment の型は interface
-%create(impl)?
-%create で interface と impliment の初期化を行ってる
-
-%api
-%impliment
-
-\begin{lstlisting}[frame=lrbt,label=interface,caption={interface}]
-typedef struct Stack<Impl>{
-        union Data* stack;
-        union Data* data;
-        union Data* data1;
-        __code whenEmpty(...);
-        __code clear(Impl* stack,__code next(...));
-        __code push(Impl* stack,union Data* data, __code next(...));
-        __code pop(Impl* stack, __code next(union Data*, ...));
-        __code pop2(Impl* stack, union Data** data, union Data** data1, __code next(union Data**, union Data**, ...));
-        __code isEmpty(Impl* stack, __code next(...), __code whenEmpty(...));
-        __code get(Impl* stack, union Data** data, __code next(...));
-        __code get2(Impl* stack,..., __code next(...));
-        __code next(...);
-} Stack;
-\end{lstlisting}
-
-\begin{lstlisting}[frame=lrbt,label=create,caption={createSingleLinkedStack}]
-Stack* createSingleLinkedStack(struct Context* context) {
-    struct Stack* stack = new Stack();
-    struct SingleLinkedStack* singleLinkedStack = new 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;
-}
-\end{lstlisting}
-
--- 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 の生成}
--- a/final_main/main.aux	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/main.aux	Tue Feb 14 22:02:53 2017 +0900
@@ -27,42 +27,44 @@
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
 \@writefile{toc}{\contentsline {section}{\numberline {3.1}Gears OS}{6}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.2}Context}{6}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.3}stub Code Gear}{6}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.4}interface の記述}{7}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Gears OS の構成図}}{6}}
+\newlabel{fig:gearsos}{{3.1}{6}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.2}Context}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.3}interface の記述}{7}}
 \newlabel{interface}{{3.1}{7}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}interface}{7}}
 \newlabel{create}{{3.2}{7}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.2}createSingleLinkedStack}{7}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}LLVM/clang による CbC の実装}{8}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.4}stub Code Gear}{8}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}LLVM/clang による CbC の実装}{9}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {4.1}LLVM clang}{8}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.2}clang の基本構造}{8}}
-\newlabel{sec:clang}{{4.2}{8}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces clang の 処理過程}}{9}}
-\newlabel{fig:clangProcess}{{4.1}{9}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.3}LLVM の基本構造}{9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces LLVM の 処理過程}}{10}}
-\newlabel{fig:llvmProcess}{{4.2}{10}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.4}LLVM/clang のデバッグ}{10}}
-\newlabel{ir_a}{{4.1}{10}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正前}{10}}
-\newlabel{ir_b}{{4.2}{11}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.2}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正後}{11}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}Context、stub Code Segment の自動生成}{12}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}LLVM clang}{9}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}clang の基本構造}{9}}
+\newlabel{sec:clang}{{4.2}{9}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces clang の 処理過程}}{10}}
+\newlabel{fig:clangProcess}{{4.1}{10}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}LLVM の基本構造}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces LLVM の 処理過程}}{11}}
+\newlabel{fig:llvmProcess}{{4.2}{11}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.4}LLVM/clang のデバッグ}{11}}
+\newlabel{ir_a}{{4.1}{11}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正前}{11}}
+\newlabel{ir_b}{{4.2}{12}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.2}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正後}{12}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}Context、stub Code Segment の自動生成}{13}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}stub Code Segment の生成}{12}}
-\newlabel{stack_cbc}{{5.1}{12}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.1}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip SingleLinkedStack.cbc}{12}}
-\newlabel{stack_c}{{5.2}{13}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.2}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip SingleLinkedStack.c}{13}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}Context の生成}{15}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}stub Code Segment の生成}{13}}
+\newlabel{stack_cbc}{{5.1}{13}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.1}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip SingleLinkedStack.cbc}{13}}
+\newlabel{stack_c}{{5.2}{14}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.2}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 生成される stub}{14}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Context の生成}{14}}
 \newlabel{context}{{5.3}{15}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.3}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip context の定義}{15}}
-\newlabel{init_context}{{5.4}{17}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.4}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 生成された context}{17}}
+\newlabel{init_context}{{5.4}{16}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.4}\relax \fontsize  {10}{12}\selectfont  \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 生成された context}{16}}
 \@writefile{toc}{\contentsline {chapter}{\numberline {第6章}今後の課題}{18}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
Binary file final_main/main.dvi has changed
--- a/final_main/main.lof	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/main.lof	Tue Feb 14 22:02:53 2017 +0900
@@ -5,8 +5,9 @@
 \contentsline {figure}{\numberline {2.3}{\ignorespaces 階乗を求める CbC プログラムの軽量継続図}}{4}
 \contentsline {figure}{\numberline {2.4}{\ignorespaces 環境付き継続}}{5}
 \addvspace {10\p@ }
+\contentsline {figure}{\numberline {3.1}{\ignorespaces Gears OS の構成図}}{6}
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {4.1}{\ignorespaces clang の 処理過程}}{9}
-\contentsline {figure}{\numberline {4.2}{\ignorespaces LLVM の 処理過程}}{10}
+\contentsline {figure}{\numberline {4.1}{\ignorespaces clang の 処理過程}}{10}
+\contentsline {figure}{\numberline {4.2}{\ignorespaces LLVM の 処理過程}}{11}
 \addvspace {10\p@ }
 \addvspace {10\p@ }
--- a/final_main/main.log	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/main.log	Tue Feb 14 22:02:53 2017 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.2.4)  14 FEB 2017 18:46
+This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.2.4)  14 FEB 2017 21:33
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -196,26 +196,27 @@
 File: fig/gotowithenv.pdf Graphic file (type pdf)
 <fig/gotowithenv.pdf> [4]) (./chapter3.tex [5]
 第 3 章
-[6
+File: fig/gearsos.pdf Graphic file (type pdf)
+<fig/gearsos.pdf> [6
 
-]) (./chapter4.tex [7]
+] [7]) (./chapter4.tex [8]
 第 4 章
-[8
+[9
 
 ]
 File: fig/clangProcess.pdf Graphic file (type pdf)
- <fig/clangProcess.pdf> [9]
+ <fig/clangProcess.pdf> [10]
 File: fig/llvmProcess.pdf Graphic file (type pdf)
  <fig/llvmProcess.pdf>
 Overfull \hbox (19.03606pt too wide) in paragraph at lines 78--79
  [] 
  []
 
-[10]) (./chapter5.tex [11]
+[11]) (./chapter5.tex [12]
 第 5 章
-[12
+[13
 
-] [13] [14] [15] [16]) (./chapter6.tex [17]
+] [14] [15] [16]) (./chapter6.tex [17]
 第 6 章
 ) (./bibliography.tex [18
 
@@ -233,12 +234,12 @@
 
  ) 
 Here is how much of TeX's memory you used:
- 2553 strings out of 493683
- 35101 string characters out of 6149654
+ 2555 strings out of 493683
+ 35151 string characters out of 6149654
  377243 words of memory out of 5000000
- 6096 multiletter control sequences out of 15000+600000
+ 6097 multiletter control sequences out of 15000+600000
  14691 words of font info for 58 fonts, out of 8000000 for 9000
  929 hyphenation exceptions out of 8191
  26i,5n,49p,564b,1677s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on main.dvi (24 pages, 100464 bytes).
+Output written on main.dvi (24 pages, 88872 bytes).
--- a/final_main/main.lol	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/main.lol	Tue Feb 14 22:02:53 2017 +0900
@@ -3,9 +3,9 @@
 \contentsline {lstlisting}{\numberline {2.3}環境付き継続}{4}
 \contentsline {lstlisting}{\numberline {3.1}interface}{7}
 \contentsline {lstlisting}{\numberline {3.2}createSingleLinkedStack}{7}
-\contentsline {lstlisting}{\numberline {4.1}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正前}{10}
-\contentsline {lstlisting}{\numberline {4.2}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正後}{11}
-\contentsline {lstlisting}{\numberline {5.1}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip SingleLinkedStack.cbc}{12}
-\contentsline {lstlisting}{\numberline {5.2}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip SingleLinkedStack.c}{13}
+\contentsline {lstlisting}{\numberline {4.1}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正前}{11}
+\contentsline {lstlisting}{\numberline {4.2}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip LLVM IR コード 修正後}{12}
+\contentsline {lstlisting}{\numberline {5.1}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip SingleLinkedStack.cbc}{13}
+\contentsline {lstlisting}{\numberline {5.2}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 生成される stub}{14}
 \contentsline {lstlisting}{\numberline {5.3}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip context の定義}{15}
-\contentsline {lstlisting}{\numberline {5.4}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 生成された context}{17}
+\contentsline {lstlisting}{\numberline {5.4}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 生成された context}{16}
Binary file final_main/main.pdf has changed
--- a/final_main/main.toc	Tue Feb 14 18:48:26 2017 +0900
+++ b/final_main/main.toc	Tue Feb 14 22:02:53 2017 +0900
@@ -5,15 +5,15 @@
 \contentsline {section}{\numberline {2.3}環境付き継続}{4}
 \contentsline {chapter}{\numberline {第3章}Gears OS}{6}
 \contentsline {section}{\numberline {3.1}Gears OS}{6}
-\contentsline {section}{\numberline {3.2}Context}{6}
-\contentsline {section}{\numberline {3.3}stub Code Gear}{6}
-\contentsline {section}{\numberline {3.4}interface の記述}{7}
-\contentsline {chapter}{\numberline {第4章}LLVM/clang による CbC の実装}{8}
-\contentsline {section}{\numberline {4.1}LLVM clang}{8}
-\contentsline {section}{\numberline {4.2}clang の基本構造}{8}
-\contentsline {section}{\numberline {4.3}LLVM の基本構造}{9}
-\contentsline {section}{\numberline {4.4}LLVM/clang のデバッグ}{10}
-\contentsline {chapter}{\numberline {第5章}Context、stub Code Segment の自動生成}{12}
-\contentsline {section}{\numberline {5.1}stub Code Segment の生成}{12}
-\contentsline {section}{\numberline {5.2}Context の生成}{15}
+\contentsline {section}{\numberline {3.2}Context}{7}
+\contentsline {section}{\numberline {3.3}interface の記述}{7}
+\contentsline {section}{\numberline {3.4}stub Code Gear}{8}
+\contentsline {chapter}{\numberline {第4章}LLVM/clang による CbC の実装}{9}
+\contentsline {section}{\numberline {4.1}LLVM clang}{9}
+\contentsline {section}{\numberline {4.2}clang の基本構造}{9}
+\contentsline {section}{\numberline {4.3}LLVM の基本構造}{10}
+\contentsline {section}{\numberline {4.4}LLVM/clang のデバッグ}{11}
+\contentsline {chapter}{\numberline {第5章}Context、stub Code Segment の自動生成}{13}
+\contentsline {section}{\numberline {5.1}stub Code Segment の生成}{13}
+\contentsline {section}{\numberline {5.2}Context の生成}{14}
 \contentsline {chapter}{\numberline {第6章}今後の課題}{18}