changeset 5:a2e61c11df3c

update
author mir3636
date Mon, 13 Feb 2017 20:29:46 +0900
parents 6d00f6c9bb8a
children 5b368e14bb64
files final_main/chapter3.tex final_main/chapter5.tex final_main/main.aux final_main/main.dvi final_main/main.log final_main/main.lol final_main/main.pdf final_main/main.toc
diffstat 8 files changed, 196 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/final_main/chapter3.tex	Mon Feb 13 16:28:35 2017 +0900
+++ b/final_main/chapter3.tex	Mon Feb 13 20:29:46 2017 +0900
@@ -68,17 +68,12 @@
 
 \section{stub Code Gear}
 Gears OS では Code Gear は Meta Code Gear に継続し、その後 Code Gear に継続すると述べたが、正確には Meta Code Gear から Code Gear に継続する際に stub Code Gear を挟む。
-stub Code Gear では、Code Gear が必要とする Data Gear を context から取り出すという処理を行うものである。
+stub Code Gear は、Code Gear が必要とする 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 で継続先を変更する、エラーハンドリングを行うといった使い方ができるようになるだろう。
 
-\section{CbC による Gears OS の構文サポート}
-Gears OS を現在の CbC の機能のみを用いて記述すると Context や Meta Code Gear、Meta Data Gear の記述を行わなくてはならず、これには多くの労力を要する。
-そのため、この記述を助けるために Context や Meta Code Gear、Meta Data Gear を生成するスクリプトを作成した。
-
-
 %\section{TaskQueue}
 %ActiveTaskQueue と WaitTaskQueue の 2 つの TaskQueue を持つ。
 %先頭と末尾の Element へのポインタを持つ Queue を表す Data Gear である。
--- a/final_main/chapter5.tex	Mon Feb 13 16:28:35 2017 +0900
+++ b/final_main/chapter5.tex	Mon Feb 13 20:29:46 2017 +0900
@@ -1,10 +1,170 @@
-\chapter{Context、stub の自動生成}
+\chapter{Context、stub Code Segment の自動生成}
+
+Gears OS では 3 章で述べたように通常の Computation の他に Context や stub などの Meta Computation を記述する必要がある。
+Gears OS を現在の CbC の機能のみを用いて記述すると Context や stub Code Gear の記述を行わなくてはならず、これには多くの労力を要する。
+そのため、この記述を助けるために Context や stub Code Gear を生成するスクリプトを作成した。
+
+\section{stub Code Segment の生成}
+stub Code Gear は Code Gear 間の継続に挟まれる Code Gear が必要な Data Gear を Context から取り出す処理を行うものである。
+stub Code Gear は Code Gear 毎に記述する必要があり、そのCode Gear の引数を見て取り出す Data Gear を選択する。
+stub Code Gear を 自動生成することによって Code Gear の記述量を約半分にすることができる。
+
+stub を生成するために perl スクリプトは指定された cbc ファイルの \_\_code型である Code Gear を取得し、引数から必要な Data Gear を選択する。
+この時既に stub Code Gear が生成されている Code Gear は無視される。
+
+生成された stub Code Gear と一緒に cbc ファイル(リスト\ref{stack_cbc})から c ファイル(\ref{stack_c})を出力する。
+
+\begin{lstlisting}[frame=lrbt,label=stack_cbc,caption={\footnotesize SingleLinkedStack.cbc}]
+#include "../context.h"
+
+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->get  = C_getSingleLinkedStack;
+    stack->isEmpty = C_isEmptySingleLinkedStack;
+    stack->clear = C_clearSingleLinkedStack;
+    return stack;
+}
+
+__code clearSingleLinkedStack(struct SingleLinkedStack* stack,__code next(...)) {
+    stack->top = NULL;
+    goto next(...);
+}
+
+__code pushSingleLinkedStack(struct SingleLinkedStack* stack,union Data* data, __code next(...)) {
+    Element* element = new Element();
+    element->next = stack->top;
+    element->data = data;
+    stack->top = element;
+    goto next(...);
+}
+
+__code popSingleLinkedStack(struct SingleLinkedStack* stack, __code next(union Data* data, ...)) {
+    if (stack->top) {
+        data = stack->top->data;
+        stack->top = stack->top->next;
+    } else {
+        data = NULL;
+    }
+    goto next(data, ...);
+}
+
+__code getSingleLinkedStack(struct SingleLinkedStack* stack, __code next(union Data* data, ...)) {
+    if (stack->top)
+        data = stack->top->data;
+    else
+        data = NULL;
+    goto next(data, ...);
+}
+
+__code isEmptySingleLinkedStack(struct SingleLinkedStack* stack, __code next(...), __code whenEmpty(...)) {
+    if (stack->top)
+        goto next(...);
+    else
+        goto whenEmpty(...);
+}
+\end{lstlisting}
+
+\begin{lstlisting}[frame=lrbt,label=stack_c,caption={\footnotesize SingleLinkedStack.c}]
+#include "../context.h"
 
-Gears OS では 3 章で述べたように通常の Computation の他に Meta Computation を記述する必要がある。
+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;
+}
+
+__code clearSingleLinkedStack(struct Context *context,struct SingleLinkedStack* stack,enum Code next) {
+    stack->top = NULL;
+    goto meta(context, next);
+}
+
+__code clearSingleLinkedStack_stub(struct Context* context) {
+    SingleLinkedStack* stack = (SingleLinkedStack*)GearImpl(context, Stack, stack);
+    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);
+} 
 
-\section{stub の生成}
+__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 の生成}
 Context は Meta Data Gear に相当し、Code Gear や Data Gear を管理している。
@@ -89,10 +249,8 @@
         enum Code clear;
         enum Code push;
         enum Code pop;
-        enum Code pop2;
         enum Code isEmpty;
         enum Code get;
-        enum Code get2;
         enum Code next;
     } Stack;
     // Stack implementations
@@ -133,10 +291,8 @@
 
     context->code[C_clearSingleLinkedStack]    = clearSingleLinkedStack_stub;
     context->code[C_exit_code]    = exit_code_stub;
-    context->code[C_get2SingleLinkedStack]    = get2SingleLinkedStack_stub;
     context->code[C_getSingleLinkedStack]    = getSingleLinkedStack_stub;
     context->code[C_isEmptySingleLinkedStack]    = isEmptySingleLinkedStack_stub;
-    context->code[C_pop2SingleLinkedStack]    = pop2SingleLinkedStack_stub;
     context->code[C_popSingleLinkedStack]    = popSingleLinkedStack_stub;
     context->code[C_pushSingleLinkedStack]    = pushSingleLinkedStack_stub;
     context->code[C_stack_test1]    = stack_test1_stub;
--- a/final_main/main.aux	Mon Feb 13 16:28:35 2017 +0900
+++ b/final_main/main.aux	Mon Feb 13 20:29:46 2017 +0900
@@ -30,8 +30,7 @@
 \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces meta computation}}{7}}
 \newlabel{fig:metaCS}{{3.1}{7}}
 \@writefile{toc}{\contentsline {section}{\numberline {3.4}stub Code Gear}{7}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.5}CbC による Gears OS の構文サポート}{7}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.6}interface の記述}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.5}interface の記述}{7}}
 \newlabel{interface}{{3.1}{7}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}stack の interface}{7}}
 \@writefile{toc}{\contentsline {chapter}{\numberline {第4章}LLVM/clang による CbC の実装}{8}}
@@ -48,15 +47,19 @@
 \@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 の自動生成}{12}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}Context、stub Code Segment の自動生成}{12}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}stub の生成}{12}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}Context の生成}{12}}
-\newlabel{context}{{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 context の定義}{12}}
-\newlabel{init_context}{{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 生成された context}{14}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}今後の課題}{16}}
+\@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}}
+\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}}
+\@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.log	Mon Feb 13 16:28:35 2017 +0900
+++ b/final_main/main.log	Mon Feb 13 20:29:46 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)  13 FEB 2017 16:27
+This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.2.4)  13 FEB 2017 20:28
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -213,17 +213,17 @@
 第 5 章
 [12
 
-] [13] [14]) (./chapter6.tex [15]
+] [13] [14] [15] [16]) (./chapter6.tex [17]
 第 6 章
-) (./bibliography.tex [16
+) (./bibliography.tex [18
 
 ]
 
 LaTeX Warning: Empty `thebibliography' environment on input line 11.
 
-) (./thanks.tex [17
+) (./thanks.tex [19
 
-]) [18
+]) [20
 
 ] (./main.aux)
 
@@ -231,12 +231,12 @@
 
  ) 
 Here is how much of TeX's memory you used:
- 2533 strings out of 493683
- 34753 string characters out of 6149654
- 298243 words of memory out of 5000000
- 6077 multiletter control sequences out of 15000+600000
+ 2545 strings out of 493683
+ 34959 string characters out of 6149654
+ 339243 words of memory out of 5000000
+ 6089 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,1689s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on main.dvi (22 pages, 72576 bytes).
+Output written on main.dvi (24 pages, 95804 bytes).
--- a/final_main/main.lol	Mon Feb 13 16:28:35 2017 +0900
+++ b/final_main/main.lol	Mon Feb 13 20:29:46 2017 +0900
@@ -4,5 +4,7 @@
 \contentsline {lstlisting}{\numberline {3.1}stack の interface}{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 context の定義}{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 生成された context}{14}
+\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 {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}
Binary file final_main/main.pdf has changed
--- a/final_main/main.toc	Mon Feb 13 16:28:35 2017 +0900
+++ b/final_main/main.toc	Mon Feb 13 20:29:46 2017 +0900
@@ -8,14 +8,13 @@
 \contentsline {section}{\numberline {3.2}Context}{6}
 \contentsline {section}{\numberline {3.3}Meta Code Gear}{6}
 \contentsline {section}{\numberline {3.4}stub Code Gear}{7}
-\contentsline {section}{\numberline {3.5}CbC による Gears OS の構文サポート}{7}
-\contentsline {section}{\numberline {3.6}interface の記述}{7}
+\contentsline {section}{\numberline {3.5}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 の自動生成}{12}
-\contentsline {section}{\numberline {5.1}stub の生成}{12}
-\contentsline {section}{\numberline {5.2}Context の生成}{12}
-\contentsline {chapter}{\numberline {第6章}今後の課題}{16}
+\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 {chapter}{\numberline {第6章}今後の課題}{18}