changeset 5:4f9b33ddd8ba

fix
author mir3636
date Wed, 20 Dec 2017 17:24:23 +0900
parents 46f76bf0f614
children dc0aa4a22e32
files Paper/main.tex Paper/pic/gears_structure.graffle
diffstat 2 files changed, 18 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/main.tex	Fri Nov 24 21:46:22 2017 +0900
+++ b/Paper/main.tex	Wed Dec 20 17:24:23 2017 +0900
@@ -28,6 +28,8 @@
     lineskip=-0.5ex,
   }
   \renewcommand{\lstlistingname}{Code}
+  \usepackage{caption}
+  \captionsetup[lstlisting]{font={small,tt}}
 
 \begin{document}
 
@@ -59,7 +61,7 @@
 \end{abstract}
 
 \begin{jkeyword}
-
+OS, プログラミング言語, コンパイラ, CbC, Gears OS
 \end{jkeyword}
 
 \maketitle
@@ -186,7 +188,7 @@
 Gears OS は必要な Code Gear、Data Gear に参照したい場合、この Context を通す必要がある。
 Code\ref{context} は Context の定義で Code\ref{initcontext} は Context の生成である。
 
-\lstinputlisting[label=context, caption=Context]{./src/context1.c}
+\lstinputlisting[caption=Context, label=context]{./src/context1.c}
 \lstinputlisting[label=initcontext, caption=initContext]{./src/initcontext.c}
 
 Data Gear は union と struct によって表現される。
@@ -206,9 +208,14 @@
 %...の説明
 %codegearの説明もっとする?
 
-\lstinputlisting[label=excbc, caption=exstack]{./src/ex_stack.cbc}
+\lstinputlisting[label=excbc, caption=CbC で記述された stack のコード]{./src/ex_stack.cbc}
 
-\section{interface と impliment}
+\section{CbC による Gears OS 記述の問題}
+Gears OS を CbC で実装する上でメタ計算の記述が煩雑であることがわかった。
+これらのメタ計算を自動生成、interface、implement の機能を導入することにより、ユーザーレベルにおける CbC 可読性を上げ、
+Gears OS を記述する上においてより良い構文をユーザーに提供することにした。
+
+\section{interface と implement}
 interface は呼び出しの引数になる Data Gear の集合であり、そこで呼び出される Code Gear のエントリである。
 呼び出される Code Gear の引数となる Data Gear はここで全て定義される。
 
@@ -218,11 +225,11 @@
 
 \lstinputlisting[label=interface, caption=Interface]{./src/Stack.cbc}
 
-Code\ref{impliment}は stack の impliment の例である。 
-createImpl は関数呼び出しで呼び出され、interface と impliment の初期化と Code Gear のポインタの設定を行う。
+Code\ref{implement}は stack の implement の例である。 
+createImpl は関数呼び出しで呼び出され、interface と implement の初期化と Code Gear のポインタの設定を行う。
 %return で interface を返し、その先で Code Gear や Data Gear へ継続できるようになる。
 
-\lstinputlisting[label=impliment, caption=Impliment]{./src/stackimpl.cbc}
+\lstinputlisting[label=implement, caption=Implement]{./src/stackimpl.cbc}
 
 \section{Gearef、GearImpl}
 
@@ -234,8 +241,8 @@
 GearImpl は Context と interface 名、interface の変数名を指定して参照する。
 Gearef と GearImpl を用いたコードが Code\ref{gearef2}である。
 
-\lstinputlisting[label=gearef1, caption=disableGearef]{./src/ex_code1}
-\lstinputlisting[label=gearef2, caption=enableGearef]{./src/ex_code2}
+\lstinputlisting[label=gearef1, caption=定義前のコード]{./src/ex_code1}
+\lstinputlisting[label=gearef2, caption=Gearef、GearImplを用いたコード]{./src/ex_code2}
 
 \section{stub Code Gear}
 Code Gear が必要とする Data Gear を取り出す際に Context を通す必要があるが、
@@ -261,7 +268,7 @@
 
 cbc ファイルから、生成した stub Code Gear を加えて stub を加えたコードに変換を行う。(Code\ref{stack_c})
 
-\lstinputlisting[label=stack_c, caption= stub]{./src/ex_stub}
+\lstinputlisting[label=stack_c, caption=stub Code Gear]{./src/ex_stub}
 
 \section{Context の生成}
 generate\_context は Context.h、Interface.cbc、generate\_stub で生成されたImpl.cbc を見て Context を生成する Perl スクリプトである。
@@ -291,7 +298,7 @@
 Context には Data Gear の Data Type の情報が格納されている。
 この情報から確保される Data Gear のサイズなどを決定する。
 
-\lstinputlisting[label=init_context, caption=initContext]{./src/gencontext.c}
+\lstinputlisting[label=init_context, caption=生成されたinitContext]{./src/gencontext.c}
 
 \section{今後の課題}
 本研究では LLVM/Clang のデバッグ、interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う Perl スクリプトの生成を行なった。
Binary file Paper/pic/gears_structure.graffle has changed