view final_main/chapter2.tex @ 5:a592714b3c35

tweak
author menikon
date Thu, 06 Feb 2020 13:51:33 +0900
parents d5ee39726253
children 102c40310142
line wrap: on
line source

\chapter{Continuation based C}
%\label{chap:concept}
%\cite{cbc} 
Continuation based C (以下CbC) は基本的な処理単位を CodeGear として定義し, CodeGea 間で遷移するようにプログラムを記述する C 言語と互換性のある当研究室で開発されたプログラミング言語である.
\section{DataGearとCodeGear}


CodeGear は返り値を持たない為, 関数内で処理が終了すると呼び出し 元の関数に戻ることがなく別の CodeGear へ遷移する. 以下のソースコード2.1に CodeGear 遷移時のコード例を示す.
\lstinputlisting[label=cbcexample,  caption=CodeGearの継続の例]{src/cbc_example.cbc}
また CbC における CodeGear 間の継続にはスタックが使 用できず, 呼び出し元の環境などを持たない為軽量継続と呼ぶ.現在 CbC は C コンパイラであるGCC及びLLVMをバックエンドとした clang 上で実装されている.
\section{}