# 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 のコード例

-
-

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 -
        -
      • Task のリストを扱う
      • -
      -
    • -
    • TaskManager -
        -
      • Task の依存関係の解決、作成や停止を行います。
      • -
      -
    • -
    • Worker -
        -
      • Task の実行を行う
      • -
      -
    • -
    -
  • -
- - -
-
- -

Gears OS の構成図

+

Gears OS の構成図

 gears_structure 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 @@  MetaGear
-# 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 @@ }; ``` -