changeset 8:60c8ce5eb0e0 default tip

modify miss spell
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 29 Nov 2011 16:37:03 +0900
parents 24b02780ca8f
children
files nobu-midthesis.tex
diffstat 1 files changed, 15 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/nobu-midthesis.tex	Sat Nov 19 16:22:19 2011 +0900
+++ b/nobu-midthesis.tex	Tue Nov 29 16:37:03 2011 +0900
@@ -23,6 +23,7 @@
 \title{Continuation based C コンパイラのGCC-4.6における実装}
 \author{学籍番号:085711E 氏名:大城信康 {}{} 指導教員 : 河野真治}
 %\date{H23 11/18 fri}
+%\date{平成23 年11 月18 日}
 \maketitle
 \thispagestyle{fancy}
 
@@ -47,8 +48,8 @@
 構文は C と同じであるが, ループ制御や関数コールが取り除かれる.
 
 \subsection{コードセグメント}
-コードセグメントの記述は C の関数の構文と同じで, 型に“\_\_code” を使うことで宣言できる.
-コードセグメントへの移動は“goto” の後にコードセグメント名と引数を並べて記述することで行える.
+コードセグメントの記述は C の関数の構文と同じで, 型に``\_\_code'' を使うことで宣言できる.
+コードセグメントへの移動は``goto'' の後にコードセグメント名と引数を並べて記述することで行える.
 図\ref{fig:cs}はコードセグメント間の処理の流れを表している.
 
 \begin{figure}[htpb]
@@ -61,9 +62,9 @@
 
 %また,コードセグメント間の移動は軽量継続によって行われる.
 %プログラムの末尾に次のコードセグメントを記述し処理を続けていく.
-%コードセグメントの記述の仕方は C の関数の記述と同じだが, 型に“\_\_code”を使って宣言を行うところだけが違う.
+%コードセグメントの記述の仕方は C の関数の記述と同じだが, 型に``\_\_code''を使って宣言を行うところだけが違う.
 %コードセグメントへの処理の移りは call ではなく jmp で行われ,その為 C の関数の様に呼び出し元への復帰がない.
-%構文では“\_\_code”で関数を宣言することでコードセグメントとして扱うようにしている.
+%構文では``\_\_code''で関数を宣言することでコードセグメントとして扱うようにしている.
 
 \subsection{軽量継続(light-weight continuation)}
 コードセグメントは C の関数と違って返り値を持たず, 処理が終われば次のコードセグメントへと処理を移る.
@@ -77,7 +78,7 @@
 
 \section{GCC-4.6 への実装}
 % \subsection{軽量継続の実装}
-GCCでの計量継続を Tail Call Ellimination (末尾除去)を強制することで実装する.
+GCCでの軽量継続を Tail Call Ellimination (末尾除去)を強制することで実装する.
 これにより, コードセグメント間の移動を, call ではなく jmp 命令で実現する.
 コードセグメント自体には戻値はない.
 
@@ -164,14 +165,15 @@
 \end{verbatim}
 
 GCC内部では, \verb+__return+ は, 関数内で定義された \verb+_cbc_internal_return+関数へのポインタを返す.
-戻値は, \verb+cbc_internal_return+ 関数内で定義された変数\verb+retval+を通して返される(Listing\ref{code:_ret_val}).
-
+戻値は, \verb+cbc_internal_return+ 関数内で定義された変数\verb+retval+を通して返される(Listing\ref{code:retval}) .
 \begin{figure}[h]
   \begin{minipage}[b]{.45\textwidth}
-    \begin{lstlisting}[caption=環境付き継続を行うコード,label=code:_ret_val]
+    \begin{lstlisting}[caption=環境付き継続を行うコード,label=code:retval]
+({
 __label__ _cbc_exit0;
 static int retval; // should be thread local                                                                                                                                                   
-void _cbc_internal_return(int retval_, void *_envp){
+void _cbc_internal_return(int retval_, 
+                          void *_envp){
   retval = retval_;
   goto _cbc_exit0;
 }
@@ -180,6 +182,7 @@
   return retval;
  }
 _cbc_internal_return;
+})
     \end{lstlisting}
   \end{minipage}
   \hfill
@@ -219,13 +222,13 @@
 \begin{thebibliography}{3}
 
 \bibitem{1}{河野真治}:
-“継続を基本とした言語 CbC の gcc 上の実装”. 日本ソフトウェア科学会第 19 回大会論文集, Sep, 2002
+``継続を基本とした言語 CbC の gcc 上の実装''. 日本ソフトウェア科学会第 19 回大会論文集, Sep, 2002
 
 \bibitem{2}{与儀健人,河野真治}:
-“Continuation based CコンパイラのGCC-4.2による実装”. 琉球大学 情報工学科 学位論文, 2008
+``Continuation based CコンパイラのGCC-4.2による実装''. 琉球大学 情報工学科 学位論文, 2008
 
 \bibitem{3}{GNU Compiler Collection (GCC) Internals}:
-“http://gcc.gnu.org/onlinedocs/gccint/”
+``http://gcc.gnu.org/onlinedocs/gccint/''
 
 
 \end{thebibliography}