# HG changeset patch
# User mir3636
# Date 1516463172 -32400
# Node ID 7e2ceefcef54752465604490c1e025186e4a8811
# Parent 33222880db7922afb17006a4846c792199b10d44
update
diff -r 33222880db79 -r 7e2ceefcef54 Slide/prosym.html
--- a/Slide/prosym.html Sun Jan 21 00:05:37 2018 +0900
+++ b/Slide/prosym.html Sun Jan 21 00:46:12 2018 +0900
@@ -86,7 +86,7 @@
@@ -146,13 +146,14 @@
CbC のコード例
-
+
- CbC では Code Gear は __code という型を持つ関数の構文で定義される。
- Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
- goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
- この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。
-
__code cg0(int a, int b){
+
+__code cg0(int a, int b){
goto cg1(a+b);
}
@@ -206,45 +207,43 @@
-
Gears でのメタ計算
+
Gears でのメタ計算の記述
+
+
+ - 各 Code Gear の引数は Data Gear である。
+ - code1, node2 は ノーマルな Code Gear であり、meta は Meta Code Gear である。
+
+
+
__code code1 (struct Array* array) {
+ ...
+ goto code2(array);
+}
+
+__code meta(struct Context* context, enum Code next) {
+ goto (context->code[next])(context);
+}
+
+__code code2(struct Array* array) {
+ ...
+}
+
+
+
# Gears OS の構成
+- Gears OS は以下の要素で構成される。
+ - Context
+ - 使用されるCode/Data Gear のリストを持っておりTaskでもある。
+ - TaskQueue
+ - Task のリストを扱う
+ - TaskManager
+ - Task の依存関係の解決、作成や停止を行います。
+ - Worker
+ - Task の実行を行う
-
Gears OS の構成
-
- - Gears OS は以下の要素で構成される。
-
- - Context
-
- - 使用されるCode/Data Gear のリストを持っておりTaskでもある。
-
-
- - TaskQueue
-
-
- - TaskManager
-
- - Task の依存関係の解決、作成や停止を行います。
-
-
- - Worker
-
-
-
-
-
-
-
-
-
-
-
Gears OS の構成図
+
Gears OS の構成図
diff -r 33222880db79 -r 7e2ceefcef54 Slide/prosym.md
--- a/Slide/prosym.md Sun Jan 21 00:05:37 2018 +0900
+++ b/Slide/prosym.md Sun Jan 21 00:46:12 2018 +0900
@@ -45,6 +45,7 @@
- Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
- goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
- この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。
+
```Code_Gear
__code cg0(int a, int b){
goto cg1(a+b);
@@ -78,8 +79,26 @@
-# Gears でのメタ計算
+# Gears でのメタ計算の記述
+
+- 各 Code Gear の引数は Data Gear である。
+- code1, node2 は ノーマルな Code Gear であり、meta は Meta Code Gear である。
+```code
+__code code1 (struct Array* array) {
+ ...
+ goto code2(array);
+}
+
+__code meta(struct Context* context, enum Code next) {
+ goto (context->code[next])(context);
+}
+
+__code code2(struct Array* array) {
+ ...
+}
+
+```
# Gears OS の構成
- Gears OS は以下の要素で構成される。
- Context
@@ -137,7 +156,6 @@
};
```
-