Mercurial > hg > Papers > 2019 > mitsuki-master
changeset 54:cf325c78edc1
update
author | mir3636 |
---|---|
date | Tue, 12 Feb 2019 07:20:51 +0900 |
parents | 4c6bb312f729 |
children | 1e1804a9269a |
files | paper/evaluation.tex paper/master_paper.pdf |
diffstat | 2 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/evaluation.tex Tue Feb 12 02:01:38 2019 +0900 +++ b/paper/evaluation.tex Tue Feb 12 07:20:51 2019 +0900 @@ -56,7 +56,23 @@ \end{lstlisting} -\section{Meta Gear の自動生成} +\section{Code Gear の変換と Meta Gear の自動生成} + +CbC はノーマルレベルとメタレベルという異なる階層を持つ言語である。 +メタレベルのコードの変換と生成は本来コンパイラで行うべきものだが、 +Code Gear の変換や Meta Gear の生成の考察や評価のため、 +現在は Perl スクリプトにより、コンパイル時に生成、変換を行なっている。 + +Code Gear の引数は、ノーマルレベルと、メタレベルによって意味が異なる。 +ノーマルレベルでは引数はそのまま次の Code Gear へと渡す引数の集合だが、 +メタレベルでは Context から参照して取り出す Data Gear を表す。 +この意味のズレを調整するのが stub Code Gear である。 + +stub Code Gear は、Code Gear 間の継続の間に挟まれる。 +この stub Code Gear へ継続するための ノーマルレベルの Code Gear の変換作業を行うことは、 +ノーマルレベルとメタレベルでのズレを調整するために必要な作業である。 + +また、stub Code Gear は Code Gear 毎に挿入されるため、 +これが自動生成されることによってソースコードの記述量が大幅に減少した。 -