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間の入出力の受け渡しは引数を利用して行う。
+
+
+
Binary file paper/main.pdf has changed