Mercurial > hg > Papers > 2020 > anatofuz-sigos
changeset 24:d2a1d3d75484
...
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 04 May 2020 14:31:06 +0900 |
parents | 2be09c284a2e |
children | 87813fb8542c |
files | paper/anatofuz-sigos.md paper/anatofuz-sigos.pdf paper/anatofuz-sigos.tex paper/md2tex.pl |
diffstat | 4 files changed, 12 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/anatofuz-sigos.md Mon May 04 14:25:42 2020 +0900 +++ b/paper/anatofuz-sigos.md Mon May 04 14:31:06 2020 +0900 @@ -51,7 +51,7 @@ CodeGearの呼び出しは`goto`文によって行われる。 -``` src:cbc_example, CbCで階乗を求める処理 +``` lab:src:cbc_example, cap:CbCで階乗を求める処理 __code factorial(struct F arg) { if (arg.n<0) { exit(1); @@ -84,6 +84,7 @@ GearsOSでは、 CodeGearとDataGearを元にプログラミングを行う。 遷移する各CodeGearの実行に必要なデータの整合性の確認などのメタ計算は、 MetaCodeGearと呼ばれる各CodeGearごと実装されたCodeGearで計算を行う。 このMetaCodeGearの中で参照されるDataGearをMetaDataGearと呼ぶ。 +![lab:meta-cg-dg, cap:CodeGearとMetaCodeGear](./fig/meta-cg-dg.pdf) 各CodeGearの入出力や、各CodeGearそのものの関数ポインタなどは、関数型プログラミングの側面から見るとプログラマが直接操作するのを禁じる必要がある。 このためにGearsOSには実行する処理に必要なCodeGear及びDataGearを管理する、 contextというMetaDataGearが存在する。 @@ -114,4 +115,3 @@ したがって特定の関数内の処理のBasicBlockを分析し、 BasicBlockに対応したCodeGearへ変換することで状態遷移系への変換を行った。 -![perf, perl](./fig/meta-cg-dg.pdf)
--- a/paper/anatofuz-sigos.tex Mon May 04 14:25:42 2020 +0900 +++ b/paper/anatofuz-sigos.tex Mon May 04 14:31:06 2020 +0900 @@ -160,6 +160,13 @@ GearsOSでは、 CodeGearとDataGearを元にプログラミングを行う。 遷移する各CodeGearの実行に必要なデータの整合性の確認などのメタ計算は、 MetaCodeGearと呼ばれる各CodeGearごと実装されたCodeGearで計算を行う。 このMetaCodeGearの中で参照されるDataGearをMetaDataGearと呼ぶ。 +\begin{figure}[tb] + \begin{center} + \includegraphics[width=70mm]{./fig/meta-cg-dg.pdf} + \end{center} + \caption{CodeGearとMetaCodeGear} + \label{meta-cg-dg} +\end{figure} 各CodeGearの入出力や、各CodeGearそのものの関数ポインタなどは、関数型プログラミングの側面から見るとプログラマが直接操作するのを禁じる必要がある。 このためにGearsOSには実行する処理に必要なCodeGear及びDataGearを管理する、 contextというMetaDataGearが存在する。 @@ -190,13 +197,6 @@ したがって特定の関数内の処理のBasicBlockを分析し、 BasicBlockに対応したCodeGearへ変換することで状態遷移系への変換を行った。 -\begin{figure}[tb] - \begin{center} - \includegraphics[width=70mm]{./fig/meta-cg-dg.pdf} - \end{center} - \caption{perl} - \label{perf} -\end{figure} \nocite{*} \bibliographystyle{ipsjunsrt}
--- a/paper/md2tex.pl Mon May 04 14:25:42 2020 +0900 +++ b/paper/md2tex.pl Mon May 04 14:31:06 2020 +0900 @@ -26,7 +26,7 @@ if (!$in_codeblock) { $line = '\end{lstlisting}' ."\n"; } - if ($line =~ /``` (.*),\s*(.*)/) { + if ($line =~ /``` lab:(.*),\s*cap:(.*)/) { $line = '\b'."egin{lstlisting}[frame=lrbt,label=$1,caption={$2}]\n"; } } @@ -46,7 +46,7 @@ $line =~ s/`([\s\w_\-\\]+)`/\\texttt{$inlineCodeBlock}/; } - if ($line =~ /!\[(.*),\s*(.*)\]\((.*)\)/) { + if ($line =~ /!\[lab:(.*),\s*cap:(.*)\]\((.*)\)/) { $line = <<"EOF"; \\begin{figure}[tb] \\begin{center} @@ -58,7 +58,7 @@ EOF } - if ($line =~ /^\[(.*),\s*(.*)\]\((.*)\)/) { + if ($line =~ /^\[lab:(.*),\s*cap:(.*)\]\((.*)\)/) { $line = '\l' ."stinputlisting[label=$1, caption={$2}]{$3}\n"; } print $texFH $line;