changeset 6:5b368e14bb64

update
author mir3636
date Tue, 14 Feb 2017 18:48:26 +0900
parents a2e61c11df3c
children 10c4d21cc7f4
files final_main/chapter2.tex final_main/chapter3.tex final_main/chapter4.tex final_main/chapter5.tex final_main/chapter6.tex final_main/fig/clangProcess.pdf final_main/fig/factorial.pdf 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.tex final_main/main.toc
diffstat 15 files changed, 126 insertions(+), 82 deletions(-) [+]
line wrap: on
line diff
--- a/final_main/chapter2.tex	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/chapter2.tex	Tue Feb 14 18:48:26 2017 +0900
@@ -1,7 +1,8 @@
 \chapter{Continuation based C (CbC)}
 \section{Continuation based C (CbC)}
 CbC は 処理を Code Gear とした単位を用いて記述するプログラミング言語である。
-Code Gear から次の Code Gear へと goto による継続で遷移をし処理を行う。
+Code Gear は入力と出力を持ち、CbC では引数が入出力となっている。
+Code Gear から次の Code Gear へと goto による継続で遷移で処理を行い、引数として出力を与える。
 図\ref{fig:cs}は Code Gear 間の処理の流れを表している。
 
 \begin{figure}[htpb]
@@ -16,9 +17,12 @@
 Code Gear は CbC における最も基本的な処理単位である。
 リスト \ref{code_simple} は最も基本的な CbC のコードの一例で、図 \ref{fig:code_simple}はそれを図示したものである。
 CbC では Code Gear は \_\_code という型を持つ関数の構文で定義される。
+ただし、これは \_\_code 型の戻り値を返すという意味ではなく、Code Gear であることを示すフラグのようなものである。
+
 Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
 goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
-この goto の行き先を継続と呼ぶ。
+リスト \ref{code_simple} の goto cs1(a+b); などがこれにたる。
+この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。
 Scheme の継続と異なり CbC には呼び出し元の環境がないので、この継続は単なる行き先である。
 したがってこれを軽量継続と呼ぶこともある。
 軽量継続により、並列化、ループ制御、関数コールとスタックの操作を意識した最適化がソースコードレベルで行えるようにする。
@@ -77,6 +81,14 @@
 }
 \end{lstlisting}
 
+\begin{figure}[htpb]
+ \begin{center}
+  \scalebox{0.55}{\includegraphics{fig/factorial.pdf}}
+ \end{center}
+ \caption{階乗を求める CbC プログラムの軽量継続図}
+ \label{fig:factorial}
+\end{figure}
+
 \section{環境付き継続}
 環境付き継続は C との互換性のために必要な機能である。
 CbC と C の記述を交える際、CbC の Code Gear から C の関数の呼び出しは問題なく行える。
--- a/final_main/chapter3.tex	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/chapter3.tex	Tue Feb 14 18:48:26 2017 +0900
@@ -33,43 +33,26 @@
 %\end{figure}
 
 \section{Context}
-Gears OS では Context と呼ばれる接続可能な Code/Data Gear のリスト、TaskQueue へのポインタ、Persistent Data Tree へのポインタ、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear がある。
+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 を直接扱うのはセキュリティ上好ましくない。
-そこで Context から必要なデータを取り出して Code Gear に接続する Meta Code Gear である stub を定義し、これを介して間接的に必要な Data Gear にアクセスする。
-
-
-
 %現在 CbC で Gears OS を記述すると通常の Computation に加えて Meta Computation である stub を記述する必要がある。
 %Meta Computation
 
 
-
 %Context や stub は Meta Computation であるため。
 
-\section{Meta Code Gear}
-Gears OS では Code Gear 間の遷移に Meta レベルの Meta Code Gear を挟む。
-その様子を表したのが図 \ref{fig:metaCS}である。
-Meta Code Gear は メモリの確保やネットワーク管理などの Meta Computation を行う Code Gear である。
-通常の Code Gear ではこれらの Meta Computation は書かず、Meta Code Gear に必要に応じて記述することになる。
-%通常レベルの Code Gear からは Meta Code Gear への継続は見えず、通常レベルの Code Gear に直接継続しているように見えるべきである
+\section{stub Code Gear}
+Code Gear が必要とする Data Gear を取り出す際に Context を通す必要がある。
+しかし、Context を直接扱うのはセキュリティ上好ましくない。
+そこで Context から必要なデータを取り出して Code Gear に接続する stub Code Gear を定義し、これを介して間接的に必要な Data Gear にアクセスする。
+stub Code Gear は Code Gear が Code Gear へと継続する間に挟まれる。
+必要とする Data Gear を Context から取り出すという処理を行うものである。
+stub Code Gear は Code Gear 毎に生成される。
 
-\begin{figure}[htpb]
- \begin{center}
-  \scalebox{0.55}{\includegraphics{fig/metaCS.pdf}}
- \end{center}
- \caption{meta computation}
- \label{fig:metaCS}
-\end{figure}
-
-\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 毎に生成される。
 
 %この機能により、CbC は Code Gear のみでなく Data Gear を単位として用いることが可能になった。
 %Meta Code Gear、Meta Data Gear により meta computation を通常の Code Gear 内に記述せずにすむ、Code Gear 間に実行される Meta Code Gear で継続先を変更する、エラーハンドリングを行うといった使い方ができるようになるだろう。
@@ -97,9 +80,36 @@
 %
 \section{interface の記述}
 
-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={stack の interface}]
+\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();
@@ -116,6 +126,3 @@
 }
 \end{lstlisting}
 
-%api
-%impliment
-
--- a/final_main/chapter4.tex	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/chapter4.tex	Tue Feb 14 18:48:26 2017 +0900
@@ -16,7 +16,7 @@
 
 \begin{description}
   \item[libast]\mbox{}\\
-    Abstract Syntax Tree (AST) や C の型等をクラスとして利用できるようにしたライブラリ、AST の説明は後述する。% AST は ``-Xclang -ast-dump'' オプションを付加することで表示できる.
+    Abstract Syntax Tree (AST) や C の型等をクラスとして利用できるようにしたライブラリ。%、AST の説明は後述する。% AST は ``-Xclang -ast-dump'' オプションを付加することで表示できる.
   \item[liblex]\mbox{}\\
     字句解析ライブラリ、マクロの展開等の前処理系も担当する。
   \item[libparse]\mbox{}\\
@@ -29,6 +29,23 @@
     ドライバ、各ライブラリを用いて求められた処理を行う。
 \end{description}
 
+これを踏まえて clang が C のコードを LLVM IR に変換する処理について説明する。
+clang が C のコードを LLVM IR に変換する処理の過程を簡潔に図示したものである。
+以下の図 \ref{fig:clangProcess} は clang が C のコードを LLVM IR に変換する処理の過程を簡潔に図示したものである。
+clang は C のソースコードを受け取るとまずその解析を libparser による parser を用いて行い、libsema を用いて 解析結果から AST を構築する。
+そしてその AST を libcodegen を用いて LLVM IR に変換する。
+
+%AST はソースコードの解析結果を保持したツリーである。
+%AST は “-Xclang -ast-dump” というオプションを付加することで表示することもできる。
+
+\begin{figure}[htpb]
+ \begin{center}
+  \scalebox{0.35}{\includegraphics{fig/clangProcess.pdf}}
+ \end{center}
+ \caption{clang の 処理過程}
+ \label{fig:clangProcess}
+\end{figure}
+
 \section{LLVM の基本構造}
 LLVM は LLVM IR をターゲットのアセンブリ言語に直接的に変換を行うわけではない。
 LLVM では、最適化や中間表現の変換を何段階か行う。
--- a/final_main/chapter5.tex	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/chapter5.tex	Tue Feb 14 18:48:26 2017 +0900
@@ -12,7 +12,8 @@
 stub を生成するために perl スクリプトは指定された cbc ファイルの \_\_code型である Code Gear を取得し、引数から必要な Data Gear を選択する。
 この時既に stub Code Gear が生成されている Code Gear は無視される。
 
-生成された stub Code Gear と一緒に cbc ファイル(リスト\ref{stack_cbc})から c ファイル(\ref{stack_c})を出力する。
+cbc ファイル(リスト\ref{stack_cbc}) に生成した stub Code Gear を c ファイル(\ref{stack_c})を出力する。
+
 
 \begin{lstlisting}[frame=lrbt,label=stack_cbc,caption={\footnotesize SingleLinkedStack.cbc}]
 #include "../context.h"
--- a/final_main/chapter6.tex	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/chapter6.tex	Tue Feb 14 18:48:26 2017 +0900
@@ -1,1 +1,2 @@
 \chapter{今後の課題}
+本研究では
Binary file final_main/fig/clangProcess.pdf has changed
Binary file final_main/fig/factorial.pdf has changed
--- a/final_main/main.aux	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/main.aux	Tue Feb 14 18:48:26 2017 +0900
@@ -10,38 +10,41 @@
 \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces goto による code gear 間の継続}}{2}}
 \newlabel{fig:cs}{{2.1}{2}}
 \@writefile{toc}{\contentsline {section}{\numberline {2.2}Code Gear}{2}}
-\newlabel{code_simple}{{2.1}{2}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {2.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 code segment の軽量継続}{2}}
+\newlabel{code_simple}{{2.1}{3}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {2.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 code segment の軽量継続}{3}}
 \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces code segment の軽量継続}}{3}}
 \newlabel{fig:code_simple}{{2.2}{3}}
 \newlabel{factorial}{{2.2}{3}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {2.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 階乗を求める CbC プログラムの例}{3}}
-\@writefile{toc}{\contentsline {section}{\numberline {2.3}環境付き継続}{3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces 階乗を求める CbC プログラムの軽量継続図}}{4}}
+\newlabel{fig:factorial}{{2.3}{4}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.3}環境付き継続}{4}}
 \newlabel{gotoWithTheEnv}{{2.3}{4}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {2.3}環境付き継続}{4}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces 環境付き継続}}{4}}
-\newlabel{fig:gotoWithTheEnv}{{2.3}{4}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces 環境付き継続}}{5}}
+\newlabel{fig:gotoWithTheEnv}{{2.4}{5}}
 \@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Gears OS}{6}}
 \@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}Meta Code Gear}{6}}
-\@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}interface の記述}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.3}stub Code Gear}{6}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.4}interface の記述}{7}}
 \newlabel{interface}{{3.1}{7}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}stack の interface}{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{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.1}{\ignorespaces LLVM の 処理過程}}{10}}
-\newlabel{fig:llvmProcess}{{4.1}{10}}
+\@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}}
Binary file final_main/main.dvi has changed
--- a/final_main/main.lof	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/main.lof	Tue Feb 14 18:48:26 2017 +0900
@@ -2,10 +2,11 @@
 \addvspace {10\p@ }
 \contentsline {figure}{\numberline {2.1}{\ignorespaces goto による code gear 間の継続}}{2}
 \contentsline {figure}{\numberline {2.2}{\ignorespaces code segment の軽量継続}}{3}
-\contentsline {figure}{\numberline {2.3}{\ignorespaces 環境付き継続}}{4}
-\addvspace {10\p@ }
-\contentsline {figure}{\numberline {3.1}{\ignorespaces meta computation}}{7}
-\addvspace {10\p@ }
-\contentsline {figure}{\numberline {4.1}{\ignorespaces LLVM の 処理過程}}{10}
+\contentsline {figure}{\numberline {2.3}{\ignorespaces 階乗を求める CbC プログラムの軽量継続図}}{4}
+\contentsline {figure}{\numberline {2.4}{\ignorespaces 環境付き継続}}{5}
 \addvspace {10\p@ }
 \addvspace {10\p@ }
+\contentsline {figure}{\numberline {4.1}{\ignorespaces clang の 処理過程}}{9}
+\contentsline {figure}{\numberline {4.2}{\ignorespaces LLVM の 処理過程}}{10}
+\addvspace {10\p@ }
+\addvspace {10\p@ }
--- a/final_main/main.log	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/main.log	Tue Feb 14 18:48:26 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 20:28
+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
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -172,44 +172,46 @@
 LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <17.28> not available
 (Font)              Font shape `JY1/gt/m/n' tried instead on input line 2.
 File: fig/codesegment.pdf Graphic file (type pdf)
-<fig/codesegment.pdf>
-LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <10> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 27.
-LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <10> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 27.
-LaTeX Font Info:    Font shape `OT1/cmtt/bx/n' in size <10> not available
-(Font)              Font shape `OT1/cmtt/m/n' tried instead on input line 27.
- [2
+<fig/codesegment.pdf> [2
 
 ]
+LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <10> not available
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 31.
+LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <10> not available
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 31.
+LaTeX Font Info:    Font shape `OT1/cmtt/bx/n' in size <10> not available
+(Font)              Font shape `OT1/cmtt/m/n' tried instead on input line 31.
 File: fig/codesegment2.pdf Graphic file (type pdf)
- <fig/codesegment2.pdf> [3]
+ <fig/codesegment2.pdf>
+File: fig/factorial.pdf Graphic file (type pdf)
+ <fig/factorial.pdf> [3]
 
 LaTeX Font Warning: Font shape `JT1/mc/m/it' undefined
-(Font)              using `JT1/mc/m/n' instead on input line 97.
+(Font)              using `JT1/mc/m/n' instead on input line 109.
 
 
 LaTeX Font Warning: Font shape `JY1/mc/m/it' undefined
-(Font)              using `JY1/mc/m/n' instead on input line 97.
+(Font)              using `JY1/mc/m/n' instead on input line 109.
 
 File: fig/gotowithenv.pdf Graphic file (type pdf)
-<fig/gotowithenv.pdf>) (./chapter3.tex [4] [5]
+<fig/gotowithenv.pdf> [4]) (./chapter3.tex [5]
 第 3 章
-File: fig/metaCS.pdf Graphic file (type pdf)
-<fig/metaCS.pdf> [6
+[6
 
 ]) (./chapter4.tex [7]
 第 4 章
 [8
 
 ]
+File: fig/clangProcess.pdf Graphic file (type pdf)
+ <fig/clangProcess.pdf> [9]
 File: fig/llvmProcess.pdf Graphic file (type pdf)
  <fig/llvmProcess.pdf>
-Overfull \hbox (19.03606pt too wide) in paragraph at lines 61--62
+Overfull \hbox (19.03606pt too wide) in paragraph at lines 78--79
  [] 
  []
 
-[9] [10]) (./chapter5.tex [11]
+[10]) (./chapter5.tex [11]
 第 5 章
 [12
 
@@ -231,12 +233,12 @@
 
  ) 
 Here is how much of TeX's memory you used:
- 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
+ 2553 strings out of 493683
+ 35101 string characters out of 6149654
+ 377243 words of memory out of 5000000
+ 6096 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
+ 26i,5n,49p,564b,1677s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on main.dvi (24 pages, 95804 bytes).
+Output written on main.dvi (24 pages, 100464 bytes).
--- a/final_main/main.lol	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/main.lol	Tue Feb 14 18:48:26 2017 +0900
@@ -1,7 +1,8 @@
-\contentsline {lstlisting}{\numberline {2.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 code segment の軽量継続}{2}
+\contentsline {lstlisting}{\numberline {2.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 code segment の軽量継続}{3}
 \contentsline {lstlisting}{\numberline {2.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 階乗を求める CbC プログラムの例}{3}
 \contentsline {lstlisting}{\numberline {2.3}環境付き継続}{4}
-\contentsline {lstlisting}{\numberline {3.1}stack の interface}{7}
+\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}
Binary file final_main/main.pdf has changed
--- a/final_main/main.tex	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/main.tex	Tue Feb 14 18:48:26 2017 +0900
@@ -30,7 +30,7 @@
 \icon{
   \includegraphics[width=80mm,bb=0 0 595 642]{fig/ryukyu.pdf} %%元は 642じゃなくて842
 }
-\year{平成28年度 卒業論文}
+\year{平成29年度 卒業論文}
 \belongto{琉球大学工学部情報工学科}
 \author{135756F 宮城 光希 \\ 指導教員 {河野 真治} }
 %%
--- a/final_main/main.toc	Mon Feb 13 20:29:46 2017 +0900
+++ b/final_main/main.toc	Tue Feb 14 18:48:26 2017 +0900
@@ -2,13 +2,12 @@
 \contentsline {chapter}{\numberline {第2章}Continuation based C (CbC)}{2}
 \contentsline {section}{\numberline {2.1}Continuation based C (CbC)}{2}
 \contentsline {section}{\numberline {2.2}Code Gear}{2}
-\contentsline {section}{\numberline {2.3}環境付き継続}{3}
+\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}Meta Code Gear}{6}
-\contentsline {section}{\numberline {3.4}stub Code Gear}{7}
-\contentsline {section}{\numberline {3.5}interface の記述}{7}
+\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}