# HG changeset patch # User Kaito Tokumori # Date 1383734541 -32400 # Node ID 585966e079c67b733e0a9378135a8eb57583bc4c # Parent 4d9505a5e2efca4e64f8762fee1dc911a5a2ca7c minor fix diff -r 4d9505a5e2ef -r 585966e079c6 2013_mid.tex --- a/2013_mid.tex Wed Nov 06 18:59:36 2013 +0900 +++ b/2013_mid.tex Wed Nov 06 19:42:21 2013 +0900 @@ -29,7 +29,7 @@ \section{研究目的} 当研究室では, プログラムをコードセグメント, データセグメントという単位を用いて書くという手法を提案している. その手法を用いてプログラミングを行う言語として Continuation based C (以下CbC) を開発しており, これは C の下位の言語になる. CbC においてコードセグメント間の移動は goto 文を用いた軽量継続によって行われ, Tail Call Elimination という最適化の強制によってこれが実現される. -本研究では, CbC のコンパイラ開発を LLVM/clang をベースに行う. +本研究では, LLVM/clang 上での CbC コンパイラの開発を行う. \section{Continuation based C (CbC)} CbC のプログラムでは C の関数の代わりにコードセグメントを用いて処理を記述し, コードセグメント間の移動に goto (軽量継続) を用いる. @@ -91,7 +91,7 @@ \section{現状及び今後の課題} %現在までに行った実装は, LLVM BitCode に手を加えていない. 今後は未実装である環境付き継続の実装を行う. -環境付き継続の実装案には複数あり, 例えばGCC 版の CbC コンパイラでは内部関数を用いることで環境付き継続を実現している. この他には setjmp , longjmp を用いた実装案, Exception を用いた実装案, LLVM BitCodeを用いた実装案がある. +環境付き継続の実装案には複数あり, 例えばGCC 版の CbC コンパイラでは内部関数を用いることで環境付き継続を実現している. この他には setjmp , longjmp を用いた実装案, Exception を用いた実装案がある. また, データセグメント部分のシンタックスの考案, コンパイラへの実装も行う予定である. \begin{thebibliography}{9}