# HG changeset patch # User mir3636 # Date 1549923651 -32400 # Node ID cf325c78edc14113936d6e03da608644ad16239b # Parent 4c6bb312f729be1e6e2d6f022acdd2d2569a49bb update diff -r 4c6bb312f729 -r cf325c78edc1 paper/evaluation.tex --- 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 毎に挿入されるため、 +これが自動生成されることによってソースコードの記述量が大幅に減少した。 - diff -r 4c6bb312f729 -r cf325c78edc1 paper/master_paper.pdf Binary file paper/master_paper.pdf has changed