Mercurial > hg > Papers > 2019 > anatofuz-thesis
changeset 27:da266bef2120
update chapter3
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 12 Feb 2019 14:03:06 +0900 |
parents | aae7fca2d7c9 |
children | f6a579a77708 |
files | paper/chapter3.tex paper/main.pdf |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter3.tex Mon Feb 11 19:22:13 2019 +0900 +++ b/paper/chapter3.tex Tue Feb 12 14:03:06 2019 +0900 @@ -1,6 +1,7 @@ \chapter{Continuation Based C} \section{CbCの概要} Continuation Based C (CbC) は当研究室で開発を行っているプログラミング言語である。 +現在はCコンパイラであるgcc及びllvmをバックエンドとしたclang、 MicroCコンパイラ上の3種類の実装がある。 C言語を用いてプログラミングを行い場合、本来プログラマが行いたい処理の他に、 mallocなどの関数を利用したメモリのアロケートなどのメモリ管理が必要となる。 他にもエラーハンドリングなどの雑多な処理が必要となる。 @@ -13,3 +14,15 @@ CbCでは関数よりmeta computationを細かく記述する為に、 CodeGearと呼ばれる単位を導入する。 CodeGearでは、 データの入出力としてDetaGearという単位を導入する。 CbCでは、 これらCodeGear と DetaGearを基本単位として実装していくプログラミングスタイルを取る。 + +\section{CodeGear} + +CbCではC言語の関数の代わりに CodeGear を導入する。 +CodeGearはC言語の関数宣言の型名の代わりに \_\_codeと書く事で宣言出来る。 +\_\_codeはCbCコンパイラでの扱いはvoidと同じ型として扱うが、 CbCプログラミングではCodeGearである事を示す、 識別子として利用する。 +CodeGear間の移動はgoto文で行い、 gotoの後に対応するCodeGear名を記述することで遷移する。 + +CodeGear間の入出力の受け渡しは引数を利用して行う。 + + +