Mercurial > hg > Papers > 2018 > parusu-master
comparison paper/gearsOS.tex @ 11:10cb71d30fc0
Add emblem
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 22 Jan 2018 12:05:33 +0900 |
parents | a0f9def49535 |
children | 77c129874cfa |
comparison
equal
deleted
inserted
replaced
10:a0f9def49535 | 11:10cb71d30fc0 |
---|---|
140 | 140 |
141 Interface での Code Gear 呼び出しは ``goto interface-\textgreater method'' という構文で行う。 | 141 Interface での Code Gear 呼び出しは ``goto interface-\textgreater method'' という構文で行う。 |
142 ここの interface は createSingleLinkedQueue(\coderef{singleLinkedQueue} 3-14 行目) 等で初期化を行った Interface へのポインタ、method は実装した Code Gear の番号になる。 | 142 ここの interface は createSingleLinkedQueue(\coderef{singleLinkedQueue} 3-14 行目) 等で初期化を行った Interface へのポインタ、method は実装した Code Gear の番号になる。 |
143 | 143 |
144 \coderef{singleLinkedQueueTest} に Queue Interface を使用した Code Gearの呼び出し例を示す。 | 144 \coderef{singleLinkedQueueTest} に Queue Interface を使用した Code Gearの呼び出し例を示す。 |
145 この呼び出しでは SingleLinkedQueue の put 実装に接続される。 | 145 この呼び出しでは SingleLinkedQueue の put 実装に継続される。 |
146 | 146 |
147 \lstinputlisting[caption=Queue Interface での Code Gear の呼び出し, label=code:singleLinkedQueueTest]{./src/singleLinkedQueueTest.cbc} | 147 \lstinputlisting[caption=Queue Interface での Code Gear の呼び出し, label=code:singleLinkedQueueTest]{./src/singleLinkedQueueTest.cbc} |
148 | 148 |
149 \coderef{singleLinkedQueueTest} は実際にはスクリプトによって \coderef{singleLinkedQueueTest_script} に変換されコンパイルされる。 | 149 \coderef{singleLinkedQueueTest} は実際にはスクリプトによって \coderef{singleLinkedQueueTest_script} に変換されコンパイルされる。 |
150 \coderef{singleLinkedQueueTest_script} 内の Gearef マクロは Context から Interface の引数格納用の Data Gear を取り出す。 | 150 \coderef{singleLinkedQueueTest_script} 内の Gearef マクロは Context から Interface の引数格納用の Data Gear を取り出す。 |
151 この引数格納用の Data Gear は Context の初期化の際に生成される。 | 151 この引数格納用の Data Gear は Context の初期化の際に生成される。 |
152 引数格納用の Data Gear を取り出した後は変換前の呼び出しの引数を Interface で定義した Code Gear の引数情報に合わせて格納し、指定した Code Gear に接続する。 | 152 引数格納用の Data Gear を取り出した後は変換前の呼び出しの引数を Interface で定義した Code Gear の引数情報に合わせて格納し、指定した Code Gear に継続する。 |
153 | 153 |
154 \lstinputlisting[caption=スクリプトによる変換後, label=code:singleLinkedQueueTest_script]{./src/singleLinkedQueueTest_script.cbc} | 154 \lstinputlisting[caption=スクリプトによる変換後, label=code:singleLinkedQueueTest_script]{./src/singleLinkedQueueTest_script.cbc} |
155 | 155 |
156 \section {stub Code Gear} | 156 \section {stub Code Gear} |
157 stub Code Gear は Code Gear の接続の間に挟まれる Meta Code Gear である。 | 157 stub Code Gear は Code Gear の接続の間に挟まれる Meta Code Gear である。 |
164 | 164 |
165 \lstinputlisting[caption=stub Code Gear, label=code:stubCodeGear]{./src/stubCodeGear.cbc} | 165 \lstinputlisting[caption=stub Code Gear, label=code:stubCodeGear]{./src/stubCodeGear.cbc} |
166 | 166 |
167 stub Code Gear はユーザーが自前で記述することも可能である。 | 167 stub Code Gear はユーザーが自前で記述することも可能である。 |
168 つまり、ユーザーがメタ計算を記述することができる。 | 168 つまり、ユーザーがメタ計算を記述することができる。 |
169 stub Code Gear を用いたメタ計算の例として、本来 stub Code Gear は対応した Code Gear に接続するが、自前で stub Code Gear を記述することで、接続先を柔軟に変更できる。 | 169 stub Code Gear を用いたメタ計算の例として、本来 stub Code Gear は対応した Code Gear に継続するが、自前で stub Code Gear を記述することで、継続先を柔軟に変更できる。 |