diff final_main/chapter1.tex @ 0:ce014a8b669e draft default tip

wrote final thesis
author kaito
date Mon, 21 Apr 2014 21:42:23 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/chapter1.tex	Mon Apr 21 21:42:23 2014 +0900
@@ -0,0 +1,17 @@
+\chapter{背景と目的}
+\label{chap:introduction}
+\pagenumbering{arabic}
+
+% 序論の目安としては1枚半ぐらい.
+% 英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも.
+ 
+%\section{背景と目的}
+当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて書くという手法を提案している. この手法を用いてプログラミングを行う言語として Continuation based C (以下CbC) というプログラミング言語を開発しており, これは C の下位の言語にあたる. CbC においてコードセグメント間の処理の移動は goto 文を用いた軽量継続によって行われ, これは Tail Call Elimination というコンパイラの持つ最適化の強制によって実現される. CbC では継続前の code segment に戻ることはなく, 状態遷移ベースのプログラミングを行うのに適しており, これは OpenCL, CUDA, そして Cerium といった並列開発環境を用いたプログラムの記述に向いている. \\
+ これまでに開発された CbC のコンパイラは太田昌孝氏の Micro-C をベースにしたものと GNU の GCC をベースにしたものの二種があり, GCC 上に実装した CbC コンパイラはその最適化の恩恵により, Micro-C ベースのものと比較して実行速度が 2.5 倍程速い \cite{gcc46}. \\
+ GCC 上に CbC コンパイラを実装した理由の一つに, 当時の UNIX 環境における コンパイラの標準が GCC であったからというものがあった. しかし, Free BSD の最新版である 10.0, Mac OS X の最新版である Mavericks では GCC の代わりに LLVM/clang が用いられるようになり\cite{FreeBSD}, 環境が変わりつつあることがわかる. 
+このような背景から, LLVM/clang を用いて CbC をコンパイルできるのが良いという考えが生じた. 本研究では LLVM/clang 上に CbC コンパイラを実装することを目的とする. 
+
+
+%\section{論文の構成}
+
+%\section{Introduction}