# HG changeset patch # User mir3636 # Date 1516250290 -32400 # Node ID 57c060703f4afcaa60ca1bbc9b2ea3d6881d37cd # Parent 4ee64ffd9926d162163b6050c78daf95ee956740 fix diff -r 4ee64ffd9926 -r 57c060703f4a Slide/prosym.md --- a/Slide/prosym.md Thu Jan 18 10:23:38 2018 +0900 +++ b/Slide/prosym.md Thu Jan 18 13:38:10 2018 +0900 @@ -36,9 +36,9 @@ # Continuation based C (CbC) - Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。 -- Code Gear は 関数呼び出し時の環境を使わずに次の Code Gear へと goto 分によって遷移する。 +- Code Gear は 関数呼び出し時の環境を使わずに次の Code Gear へと goto 文によって遷移する。 - この goto 文による遷移を軽量継続と呼ぶ。 -- CbC は軽量継続を持つ C と互換性のある言語である。 +- CbC は軽量継続を持ち、C と互換性のある言語である。 # CbC のコード例 - CbC では Code Gear は \_\_code という型を持つ関数の構文で定義される。 @@ -54,9 +54,19 @@ goto cs2(c); } ``` + # Gears OS -- Gears OS は Code Gear、 Data Gear の単位を用いて開発されており、CbC で記述されている。 +- Gears OS は Code Gear とデータの単位である Data Gear を用いて開発されており、CbC で記述されている。 - 並列実行するための Task を、実行する Code Gear 、実行に必要な Input Data Gear 、Output Data Gear の組で表現する。 +- Input/Output Data Gear の依存関係が解決された Code Gear を並列実行する。 + +# Data Gear +- Data Gear は データの単位であり、int や文字列などの Primitive Type を持っている。 +- Code Gear は任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。 +- 接続された Data Gear 以外には参照を行わない。 + +# Gears でのメタ計算 + - またGears OS ではメタ計算を Meta Code Gear、Meta Data Gear で表現する。 - Meta Code Gear はノーマルの Code Gear の直後に遷移され、メタ計算を実行する。 - Meta Code Gear で OS の機能であるメモリ管理やスレッド管理を行う。