Mercurial > hg > Papers > 2022 > ikki-master
changeset 16:ed9bace4039e
add slide
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 05 Feb 2022 06:07:28 +0900 |
parents | 689b16feab3f |
children | f4a719e93ded |
files | Paper/images/newGearsFile.graffle.graffle Paper/images/newGearsFile.pdf slide/images/meta-cg-dg.pdf slide/thesis.html slide/thesis.md slide/thesis.pdf.html |
diffstat | 6 files changed, 137 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/slide/thesis.html Sat Feb 05 04:55:21 2022 +0900 +++ b/slide/thesis.html Sat Feb 05 06:07:28 2022 +0900 @@ -197,12 +197,67 @@ <ul> <li>CodeGearとDataGearにはメタレベルのものが存在する <ul> - <li>それぞれstubCodeGearとstubDataGearと呼ぶ</li> + <li>MetaCodeGear + <ul> + <li>CodeGearの処理前と処理後に参照される</li> + <li>Input/OutputDataGearを引き渡す</li> + <li>CodeGear処理前に呼ばれるものを特にstubCodeGearと呼ぶ</li> + </ul> + </li> + <li>MetaDataGear + <ul> + <li>MetaCodeGearにて参照されるDataGear</li> + </ul> + </li> </ul> </li> <li>ユーザーが記述する上では普段は意識しない</li> </ul> +<div style="text-align: center;"> + <img src="images/meta-cg-dg.pdf" alt="ノーマルレベルとメタレベルの視点からのGearの関係" width="800" /> +</div> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosのinterface">GearsOSのInterface</h2> +<ul> + <li>定義ファイル(.h)に記述を行う</li> + <li>APIとなるCodeGearとその参照するDataGearを宣言する</li> + <li>コンパイル時にContext(後述)に取り込まれる + <ul> + <li>CodeGear/DataGearの一時的な置き場でもある</li> + <li>DataGearは全て共用型(Union Data型)で管理される + <pre><code>typedef struct Queue<>{ +union Data* queue; +union Data* data; + +__code whenEmpty(...); +__code clear(Impl* queue, __code next(...)); +__code put(Impl* queue, union Data* data, __code next(...)); +__code take(Impl* queue, __code next(union Data* data, ...)); +__code isEmpty(Impl* queue, __code next(...), __code whenEmpty(...)); +__code next(...); +} Queue; +</code></pre> + </li> + </ul> + </li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosのimplementation">GearsOSのImplementation</h2> +<p>-</p> + </div>
--- a/slide/thesis.md Sat Feb 05 04:55:21 2022 +0900 +++ b/slide/thesis.md Sat Feb 05 06:07:28 2022 +0900 @@ -72,6 +72,31 @@ <img src="images/meta-cg-dg.pdf" alt="ノーマルレベルとメタレベルの視点からのGearの関係" width="800"> </div> +## GearsOSのInterface +- 定義ファイル(.h)に記述を行う +- APIとなるCodeGearとその参照するDataGearを宣言する +- コンパイル時にContext(後述)に取り込まれる + - CodeGear/DataGearの一時的な置き場でもある + - DataGearは全て共用型(Union Data型)で管理される +``` +typedef struct Queue<>{ + union Data* queue; + union Data* data; + + __code whenEmpty(...); + __code clear(Impl* queue, __code next(...)); + __code put(Impl* queue, union Data* data, __code next(...)); + __code take(Impl* queue, __code next(union Data* data, ...)); + __code isEmpty(Impl* queue, __code next(...), __code whenEmpty(...)); + __code next(...); +} Queue; +``` + + + +## GearsOSのImplementation +- Impl + ## テスト用テキストエディタ ```
--- a/slide/thesis.pdf.html Sat Feb 05 04:55:21 2022 +0900 +++ b/slide/thesis.pdf.html Sat Feb 05 06:07:28 2022 +0900 @@ -181,12 +181,67 @@ <ul> <li>CodeGearとDataGearにはメタレベルのものが存在する <ul> - <li>それぞれstubCodeGearとstubDataGearと呼ぶ</li> + <li>MetaCodeGear + <ul> + <li>CodeGearの処理前と処理後に参照される</li> + <li>Input/OutputDataGearを引き渡す</li> + <li>CodeGear処理前に呼ばれるものを特にstubCodeGearと呼ぶ</li> + </ul> + </li> + <li>MetaDataGear + <ul> + <li>MetaCodeGearにて参照されるDataGear</li> + </ul> + </li> </ul> </li> <li>ユーザーが記述する上では普段は意識しない</li> </ul> +<div style="text-align: center;"> + <img src="images/meta-cg-dg.pdf" alt="ノーマルレベルとメタレベルの視点からのGearの関係" width="800" /> +</div> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosのinterface">GearsOSのInterface</h2> +<ul> + <li>定義ファイル(.h)に記述を行う</li> + <li>APIとなるCodeGearとその参照するDataGearを宣言する</li> + <li>コンパイル時にContext(後述)に取り込まれる + <ul> + <li>CodeGear/DataGearの一時的な置き場でもある</li> + <li>DataGearは全て共用型(Union Data型)で管理される + <pre><code>typedef struct Queue<>{ +union Data* queue; +union Data* data; + +__code whenEmpty(...); +__code clear(Impl* queue, __code next(...)); +__code put(Impl* queue, union Data* data, __code next(...)); +__code take(Impl* queue, __code next(union Data* data, ...)); +__code isEmpty(Impl* queue, __code next(...), __code whenEmpty(...)); +__code next(...); +} Queue; +</code></pre> + </li> + </ul> + </li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosのimplementation">GearsOSのImplementation</h2> +<p>-</p> + </div>