Mercurial > hg > Papers > 2021 > anatofuz-master
changeset 90:a93c2401753b
s/for/as/
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 05 Feb 2021 17:45:51 +0900 |
parents | f495a5af763c |
children | 4232c9dc1431 |
files | paper/chapter/03-gears.tex paper/chapter/04-interface.tex paper/chapter/05-perl.tex paper/chapter/history.tex paper/final.pdf paper/master_paper.pdf paper/src/SingleLinkedStack.cbc paper/src/implHeader.h paper/src/pop2test.cbc |
diffstat | 9 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/03-gears.tex Fri Feb 05 15:21:31 2021 +0900 +++ b/paper/chapter/03-gears.tex Fri Feb 05 17:45:51 2021 +0900 @@ -290,6 +290,9 @@ 例えばQueueの実装では先頭要素を指し示す情報が必要であるが、 これをInterface側のDataGearにしてしまうと、 呼び出し時に毎回更新されてしまう。 常に持っておきたい値は、 Impl側のDataGearの要素として定義する必要がある。 +\section{par goto} +TODO + \section{GearsOSのビルドシステム} GearsOSではビルドツールにCMakeを利用している。 ビルドフローを図\ref{fig:gearsbuild1}に示す。
--- a/paper/chapter/04-interface.tex Fri Feb 05 15:21:31 2021 +0900 +++ b/paper/chapter/04-interface.tex Fri Feb 05 17:45:51 2021 +0900 @@ -209,7 +209,7 @@ この例ではStack Interfaceの実装としてSingleLinkedStackを定義する宣言である。 Implementの宣言の構文では、 まず\texttt{\#impl}の後ろに実装したいIntefaceの名前を入れる。 -続く\texttt{for}キーワードの後ろに、 Implementの型名を記述する。 +続く\texttt{as}キーワードの後ろに、 Implementの型名を記述する。 宣言はgenerate\_stub.plが読み取り、 変換した後のCbCファイルからは該当する行が削除される。 \lstinputlisting[label=src:implHeader, caption=Intefaceの実装をする際の宣言]{src/implHeader.h} @@ -415,4 +415,4 @@ これによってInterface呼び出しの問題が、 Perlスクリプトによって変換する前に検知可能になった。 \section{par goto のInterface経由の呼び出しの対応} -従来のpar gotoではInterface経由の呼び出しは想定しておらず、 \ No newline at end of file +従来のpar gotoではInterface経由の呼び出しは想定しておらず、
--- a/paper/chapter/05-perl.tex Fri Feb 05 15:21:31 2021 +0900 +++ b/paper/chapter/05-perl.tex Fri Feb 05 17:45:51 2021 +0900 @@ -118,9 +118,13 @@ また、DataGearは各CodeGearの引数の形で受け渡されている。 ここからDataGearを取得するには、すべてのCodeGearの引数をチェックし、構造体の名前を取得すればいい。 すべてのCbCファイルを調査後、 取得した構造体の名前に対応するヘッダファイルがあるかどうかを調査する。 +この調査はGears::Contextモジュールで行う。 + ヘッダファイルがあった場合、 Gears::InterfaceのAPIを利用して、 InterfaceもしくはImplのファイルとして利用可能であるかを確認する。 Interface、Implファイルでなかった場合は、ただの構造体であるのでcontext.hに含む情報からは除外する。 + + \begin{figure}[h] \begin{center} \includegraphics[width=100mm]{drawio/generate_context.pdf}
--- a/paper/chapter/history.tex Fri Feb 05 15:21:31 2021 +0900 +++ b/paper/chapter/history.tex Fri Feb 05 17:45:51 2021 +0900 @@ -1,5 +1,6 @@ \chapter*{研究関連業績} \begin{itemize} +\item レガシーPerlビルド, 清水 隆博 YAPC::Tokyo, Jan, 2019 \item CbCを用いたPerl6処理系 清水 隆博, 河野真治 第60回プログラミング・シンポジウム, Jan, 2019 \item How to build traditional Perl interpreters. Takahiro SHIMIZU PerlCon2019 , Aug, 2019 \item Perl6 Rakudo の内部構造について 清水 隆博 オープンソースカンファレンス 2019 Okinawa, Apr, 2020
--- a/paper/src/SingleLinkedStack.cbc Fri Feb 05 15:21:31 2021 +0900 +++ b/paper/src/SingleLinkedStack.cbc Fri Feb 05 17:45:51 2021 +0900 @@ -1,7 +1,7 @@ #include "../context.h" #include <stdio.h> -#impl "Stack.h" for "SingleLinkedStack.h" +#impl "Stack.h" as "SingleLinkedStack.h" #data "Node.h"