changeset 96:608fc88aeca6

update
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Fri, 05 Feb 2021 21:32:51 +0900
parents 92a1eb7a314c
children 45bd5338dc82
files paper/chapter/05-perl.tex paper/drawio/generate_context.drawio paper/drawio/metaPM.pdf paper/drawio/metapm.drawio paper/master_paper.pdf
diffstat 5 files changed, 12 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter/05-perl.tex	Fri Feb 05 21:14:57 2021 +0900
+++ b/paper/chapter/05-perl.tex	Fri Feb 05 21:32:51 2021 +0900
@@ -146,7 +146,7 @@
 各モジュールに共通のAPIを記述しており、 テンプレートに限らず共通して呼び出すことが可能である。
 
 
-\section{メタ計算部分の入れ替え}
+\section{meta.pmによるメタ計算部分の入れ替え}
 GearsOSでは次のCodeGearに移行する前のMetaCodeGearとして、 デフォルトでは\texttt{\_\_code meta}が使われている。
 \texttt{\_\_code meta}はcontextに含まれているCodeGearの関数ポインタを、 enumからディスパッチして次のStub CodeGearに継続するものである。
 
@@ -170,7 +170,7 @@
 meta.pmの中のサブルーチンである\texttt{replaceMeta}に変更対象のCodeGearと変更先のMetaCodeGearへのgotoを記述する。
 ユーザーはmeta.pmのPerlファイルをAPIとしてGearsOSのトランスパイラにアクセスすることが可能となる。
 
-具体的な使用例をコード\ref{src:metapm}に示す。
+具体的な使用例をコード\ref{src:metapm}に、 この使用例でのCodeGearの継続の様子を図\ref{fig:metapm}に示す。
 meta.pmはサブルーチン\texttt{replaceMeta}が返すリストの中に、特定のパターンで配列を設定する。
 各配列の0番目には、goto metaを置換したいCodeGearの名前を示すPerl正規表現リテラルを入れる。
 コード\ref{src:metapm}の例では、\texttt{PhilsImpl}が名前に含まれるCodeGearを指定している。
@@ -178,6 +178,14 @@
 
 \lstinputlisting[label=src:metapm, caption=meta.pm]{src/meta.pm}
 
+\begin{figure}[h]
+  \begin{center}
+   \includegraphics[width=150mm]{drawio/metaPM.pdf}
+  \end{center}
+  \caption{meta.pmを使った継続先のMetaCodeGearの切り替え}
+  \label{fig:metapm}
+ \end{figure}
+
 generate\_stub.plはGears CbCファイルの変換時に、 CbCファイルがあるディレクトリにmeta.pmがあるかを確認する。
 meta.pmがある場合はモジュールロードを行う。
 meta.pmがない場合はmeta Code Gearにgotoするものをデフォルト設定として使う。
--- a/paper/drawio/generate_context.drawio	Fri Feb 05 21:14:57 2021 +0900
+++ b/paper/drawio/generate_context.drawio	Fri Feb 05 21:32:51 2021 +0900
@@ -1,1 +1,1 @@
-<mxfile host="Electron" modified="2021-02-05T06:20:51.588Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="suKyKcJNTSj_TkXIsu-G" version="14.1.8" type="device"><diagram id="R4LYdndaMt07X_-nVjS0" name="ページ1">7Vttj9o4EP41SHcn7Yok5IWPC+y1J13V1a16d/1UmcQEd02cOs4C/fW1Y5uQF1hYGkKWfiIe2xNnHj/jmUnoWePF6h0F8fwDCSDumf1g1bMmPdM0+uaA/wjJWkqcoSMFIUWBGpQLHtF3qGcqaYoCmBQGMkIwQ3FR6JMogj4ryAClZFkcNiO4eNcYhLAiePQBrkr/QwGbS6lnurn8PUThXN/ZcIayZwH0YPUkyRwEZLklsu571pgSwuTVYjWGWBhP20XO+3NH72ZhFEbskAnfvwWDmJCvHx7/+fL06d9JPww+3Wg1CVvrJ4YBN4BqEsrmJCQRwPe5dERJGgVQqO3zVj7mb0JiLjS48CtkbK3QBCkjXDRnC6x64Qqx/8X0W1u1Pm/1TFZKc9ZYbzUeIEULyCDVsojR9ZYi0fy83ZerylpaV8IoedrgaXGJtIJ49J3W1ZYiKfXhHpOq/c0ADSHbM84wN5uAswcS/mB0zSdSiAFDz8WFALWNw824HGl+ocA+Ani1ymeAU3WnnulgJowTg6iwI5xvqdijoxmJ2E2SYXrHBxhevMo7+VUofjkPGVyx27lWx1cnNcr+ynbjtIjFZUSY2FvLOWLwMQaZiZfcpxR3zhT4T2G2/z6mDKMIKnkA6NNHPguxDOPbvr0H5mdI+Rr3A13FRU2wPVtOUQ7NshW/l7l7MLT3mm+7BqffEJZuZzi84etutg6qdM1aZe43ymHJzUNI7LRJYq97wN8O+NF5hKu+ZOytNrEfdhD7ow7pS0bebRN5fbhcPvQXgpbXKlrdibDfIFGHrUJv7gyyRSz9+iA7hBGkgMEvOtqO8Va4LXXvCLf5snnqfECkDZJY5tMztBI7saFoWkfPKpq23Zpo2quLpr2moml5rDeQGsEoXYxJAPPcaEpznN5mtjQwitmS1362pFd0Aiu5BWrwJSmLU3YoEQVvi2hJAMYEE5ohLOAazRDGJRHAKIx40+cYCH87EgghH+A71bFAQYB3bY/i0dII6E6J1K5TA7pTA7rZGOZNlTvgCixiDG+0I/avh9qmdXnUdht03RPAwDW57nKh6xLw9RqjMfek0TWh67qXh+6wIXQDztwqsu8goH9F6Kp89tC+ONRNq2LVC82PG01pdejzYkrbasFZr/JXRntwRjtsPaHVr+ALoHXckW3MqqxsmO07srq8sutmdktmHtSYuX9WM1udOS/2f7HQ266w5gXXNr5YMLvxyYK5O4k/7fB5SCnkneMpX1d/hriKSkD42x95mFg6kH7vPssHJZbX1WvO60ytukCjTPsouBNfePGWj0GSIL9XU097DWeqltqyhF1jCC07mAjqDg8EZRt3Uy0tAmH2S/aVVFazchNXFNnWC4ok1SuKMqw2j30CfEZDVEWRLLGChWBRNE3iYrZ2ZMn18FIqhXxpYJqpEg45FqbLjGmPevZE6OKHhlz+3t13Wjm9hKtRk7+dtbBqmQ0BfWoxvWvI2k6JsTV5g3tWZOuyhl8UPp3CZhFox2ibwkfkLX5K8XpEecQi4sSXIps86hatGU/T3zdpWa/kHO2aZMWss6zRmGmbilgTBkJoXA9pvJJ3NIZ2y96x7k3TWyCNUeOOzkya3S95fgJpzOsljWO1TZrdL3h+TkhxJcDaparcJtt7IUt9BbC8mf9DSWaH+f+8rPsf</diagram></mxfile>
\ No newline at end of file
+<mxfile host="Electron" modified="2021-02-05T12:19:55.935Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="l3aAb1lXnSjVBwHYpNRo" version="14.1.8" type="device"><diagram id="R4LYdndaMt07X_-nVjS0" name="ページ1">7Vttj9o4EP41SHcn7Yok5IWPC+y1J13V1a16d/1UmcQEd02cOs4C/fW1Y5uQF1hYGkKWfiIe2xNnHj/jmUnoWePF6h0F8fwDCSDumf1g1bMmPdM0+uaA/wjJWkqcoSMFIUWBGpQLHtF3qGcqaYoCmBQGMkIwQ3FR6JMogj6TMjUXUEqWxWEzgot3jUEIK4JHH+Cq9D8UsLmUeqaby99DFM7VnQ3DGcqeBdCD1WqSOQjIcktk3fesMSWEyavFagyxMJ62i5z3547ezcIojNghE75/CwYxIV8/PP7z5enTv5N+GHy60WoSttZPDANuANUklM1JSCKA73PpiJI0CqBQ2+etfMzfhMRcaHDhV8jYWqEJUka4aM4WWPXCFWL/i+m3tmp93uqZrJTmrLHeajxAihaQQaplEaPrLUWi+Xm7L1eVtbSuhFHytMHT4hJpBfHoO62rLUVS6sM9JlX7mwEaQrZnnGFuNgFnDyT8weiaT6QQA4aeiwsBahuHm3E50vxCgX0E8GqVzwCn6k4908FMGCcGUWFHON9SsUdHMxKxmyTD9I4PMLx4lXfyq1D8ch4yuGK3c62Or05qlP2V7cZpEYvLiDCxt5ZzxOBjDDITL7lPKe6cKfCfwmz/fUwZRhFU8gDQp498FmIZxrd9ew/Mz5DyNe4HuoqLmmB7tpyiHJplK34vc/dgaO8133YNTr8hLN3OcHjD191sHVTpmrXK3G+Uw5Kbh5DYaZPEXveAvx3wo/MIV33J2FttYj/sIPZHHdKXjLzbJvL6cLl86C8ELa9VtLoTYb9Bog5bhd7cGWSLWPr1QXYII0gBg190tB3jrXBb6t4RbvNl89T5gEgbJLHMp2doJXZiQ9G0jp5VNG27NdG0VxdNe01F0/JYbyA1glG6GJMA5rnRlOY4vc1saWAUsyWv/WxJr+gEVnIL1OBLUhan7FAiCt4W0ZIAjAkmNENYwDWaIYxLIoBRGPGmzzEQ/nYkEEI+wHeqY4GCAO/aHsWjpRHQnRKpXacGdKcGdLMxzJsqd8AVWMQY3mhH7F8PtU3r8qjtNui6J4CBa3Ld5ULXJeDrNUZj7kmja0LXdS8P3WFD6AacuVVk30FA/4rQVfnsoX1xqJtWxaoXmh83mtLq0OfFlLbVgrNe5a+M9uCMdth6QqtfwRdA67gj25hVWdkw23dkdXll183slsw8qDFz/6xmtjpzXuz/YqG3XWHNC65tfLFgduOTBXN3En/a4fOQUsg7x1O+rv4McRWVgPC3P/IwsXQg/d59lg9KLK+r15zXmVp1gUaZ9lFwJ77w4i0fgyRBfq+mnvYazlQttWUJu8YQWnYwEdQdHgjKNu6mWloEwuyX7CuprGblJq4osq0XFEmqVxRlWG0e+wT4jIaoiiJZYgULwaJomsTFbO3IkuvhpVQK+dLANFMlHHIsTJcZ0x717InQxQ8Nufy9u++0cnoJV6MmfztrYdUyGwL61GJ615C1nRJja/IG96zI1mUNvyh8OoXNItCO0TaFj8hb/JTi9YjyiEXEiS9FNnnULVoznqa/b9KyXsk52jXJillnWaMx0zYVsSYMhNC4HtJ4Je9oDO2WvWPdm6a3QBqjxh2dmTS7X/L8BNKY10sax2qbNLtf8PyckOJKgLVLVblNtvdClvoKYHkz/4eSzA7z/3lZ9z8A</diagram></mxfile>
\ No newline at end of file
Binary file paper/drawio/metaPM.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/drawio/metapm.drawio	Fri Feb 05 21:32:51 2021 +0900
@@ -0,0 +1,1 @@
+<mxfile host="Electron" modified="2021-02-05T12:28:56.910Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="4A1OP4DS8dlISksHfAeL" version="14.1.8" type="device"><diagram id="y-FC2Ll2Cd90HiOstA_Q" name="ページ1">7Vpbc6IwFP41PrYjhIs8qq3dh22nO+7Mdp86ESKwC4SGqLi/fhMIN9MqnWKFnfVFziEnl+/Ld04ER2AepncExt49dlAwUsdOOgI3I1VVLGCxL+7Z5x7TEA6X+I5oVDmW/h8knGPh3fgOShoNKcYB9eOm08ZRhGza8EFC8K7ZbI2D5qgxdJHkWNowkL0/fId6uXeimpX/C/JdrxhZKdYXwqKxWEniQQfvai5wOwJzgjHNr8J0jgIOXoFLHrd44245MYIi2iZgu46+RV6MDFOB85eX9ePWBVeKJiZH98WKkcMAECYm1MMujmBwW3lnBG8iB/Fux8yq2nzFOGZOhTl/IUr3gk24oZi5PBoG4i5KffpUu/7Ju7rWhXWTip4zY18YESX7p7pRi+JmFZZZRVxCCf5dcgeYZ40jKqammMzOEeDLfhNZ4UrwhtjoGJxih0LiInqknVryz4SDcIjYjFkcQQGk/rY5Dyh2sFu2q0hmF4Ln93Ce97uFwUaMNGeyvUOQyHshCJjQOOc7z6doGcNs+Tum9SajbVHeIkJRehxnGZcioEgK+yK7CHtXKVMp5ObVVDkZnwtK/b98OpSP2lI+4JLyUSX5PD/bTEA85yMKe64h1dL6piFjKBr6VC2AllrQLqkFIGlhSTergZQTzexbOdEkOB9QSgcCp6H1Dc7iuND/zHK+6sztOQ4wydYPFgvAPmVk7Y5hTmfWotscprfMYdYlc5j+rxyHgXpxwalDEdxpghyYeNmslG41YbTUhHlJTRiDPuMeFvYeCAP8O8LoUAtmSy1MLqkFc8hnXEMzeiaFyZDPuBOlb3AqigzZUDPLuUqu1TLNGJdMM9aRkmvfn7nonvo10Okjpx6IRs7pD5iEkAd+JzBKOOE4GqkGDDmW0SqJMyyMgE1ttiINIoyXDX+Hk4F6lWSoTlkDBlGaB4n77MqlJaQ1Ihm0tMkYDHw3Ytc2gxgxSmacAN+GwVTcCH3HyaWM2IhwlXXFVRZjP6IZXvpspN/wvph6E8F1k3p13A3B7Id288ClFs/F6wxbrzAMzsawXGYK9jgArfmTyOPH3+s4LDpjk8v76xm1XRW8q4OHOkCTmf1cYuU8KSfGyJnyV78c5QAmiW+/Ix9monjrqUnboiTjWcNLfwWvwte61ogRHvmeqKVao0mXph/wkNdKEVVRcbIjcJiL82IqdZRxWi77Ay9Zxqf0a5f0VBIF4+wjq/YeO/5633fRtth6HyvEht7cHUAWs9mNmJlZ/bMh3xTV/0PA7V8=</diagram></mxfile>
\ No newline at end of file
Binary file paper/master_paper.pdf has changed