Mercurial > hg > Papers > 2021 > anatofuz-master
changeset 156:951d8499d773
add sidecover
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 16 Feb 2021 15:57:13 +0900 |
parents | 6f940582768f |
children | 0178949dcc7d |
files | paper/chapter/03-gears.tex paper/chapter/04-interface.tex paper/master_paper.pdf |
diffstat | 3 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/03-gears.tex Tue Feb 16 15:21:11 2021 +0900 +++ b/paper/chapter/03-gears.tex Tue Feb 16 15:57:13 2021 +0900 @@ -307,14 +307,14 @@ ソースコード\ref{src:StackStack2}の行を実行し、 contextの引数格納用の場所にInterfaceのアドレスを書き込む。 \lstinputlisting[label=src:StackStack2, caption=contextの引数格納用の場所に代入]{src/stackStack2.sh} ソースコード\ref{src:StackStack3}では、 引数格納用の場所の値を確認する。 -これはunion Data型であるので、StackTest型を指定して確認する。(4行目) +これはunion Data型であるので、StackTest型を指定して確認する(4行目)。 -出力結果のstackTestの値は\texttt{0x7fff2f806b50}である。(4行目、8行目) +出力結果のstackTestの値は\texttt{0x7fff2f806b50}である(4行目、8行目)。 この値はInterfaceのアドレスと一致している。 \lstinputlisting[label=src:StackStack3, caption=contextの引数格納用の場所の値を確認]{src/stackStack3.sh} -ソースコード\ref{src:StackStack4}で続けてstackTestフィールドが指すunion DataのポインタをStackTest型として指定し値を確認する。(1行目) +ソースコード\ref{src:StackStack4}で続けてstackTestフィールドが指すunion DataのポインタをStackTest型として指定し値を確認する(1行目)。 2行目で表示されているstackTestフィールドの値は、StackInterfaceが持つ実装へのアドレスと一致している。 CbC上では5行目のように、ドットでフィールドを指定すると値が取れる。 \lstinputlisting[label=src:StackStack4, caption=contextのdata配列からInterfaceを取り出す]{src/stackStack4.sh}
--- a/paper/chapter/04-interface.tex Tue Feb 16 15:21:11 2021 +0900 +++ b/paper/chapter/04-interface.tex Tue Feb 16 15:57:13 2021 +0900 @@ -283,7 +283,7 @@ CodeGearの宣言は、 Contextを引数に含めるようにすでに書き換えるルーチンで処理されていた。 この部分でCodeGearの名前を変更したい。 実際に書き出している処理の部分をソースコード\ref{src:replaceCodeGearName2}に示す。 -この際に書き込むCodeGearの名前は、定義のCodeGear名を正規表現でキャプチャし、変数\texttt{\$currentCodeGearName}に代入している。(5行目) +この際に書き込むCodeGearの名前は、定義のCodeGear名を正規表現でキャプチャし、変数\texttt{\$currentCodeGearName}に代入している(5行目)。 読み込み時に作製した、名前の変更があることを保存する連想配列\texttt{\$replaceCodeGearNames}に、今書き込もうとしているCodeGearの名前を問い合わせる。 連想配列側にCodeGearの名前に対応する値があった場合は書き換え対象なので、 \texttt{\$currentCodeGearName}を、ソースコード\ref{src:replaceCodeGearName1}で作製したCodeGearの名前に変換する。 \lstinputlisting[label=src:replaceCodeGearName2, caption=CodeGearの名前の変更]{src/replaceCodeGearName2.pl} @@ -492,7 +492,7 @@ ソースコード\ref{src:notDefInterfaceAPI}は、Interfaceが要求しているAPIを実装したかを確認する部分である。 変換しようとしているCbCファイルが何かのInterfaceを実装しようとしている場合、 Interfaecの定義ファイルのパース結果から、満たすべきCodeGearの一覧を取得する(ソースコード1、2行目)。 -実装していた場合は6行目でマークをつけ、 マークがなかったCodeGearが検知された時点でエラーを発生させる。(12行目) +実装していた場合は6行目でマークをつけ、 マークがなかったCodeGearが検知された時点でエラーを発生させる(12行目)。 \lstinputlisting[label=src:notDefInterfaceAPI, caption=InterfaceのAPI呼び出し時の引数エラー]{src/NotDefine.pl} ソースコード\ref{src:errNotDef}の例では、Phils Interfaceの実装時にeating CodeGearの実装を忘れた際のエラーである。