# HG changeset patch # User anatofuz # Date 1613120622 -32400 # Node ID 9ba02bf8a09f44d9c0c891381e9922c885ed7056 # Parent 88c27d39d385eee64bec8265c5a4116636c98064 ... diff -r 88c27d39d385 -r 9ba02bf8a09f paper/chapter/03-gears.tex --- a/paper/chapter/03-gears.tex Fri Feb 12 10:02:54 2021 +0900 +++ b/paper/chapter/03-gears.tex Fri Feb 12 18:03:42 2021 +0900 @@ -107,7 +107,7 @@ マクロ\texttt{Gearef}は、 contextのInterface用のDataGearの置き場所にアクセスするマクロであり、 Stack Interfaceの置き場所から、引数情報を取得している。 マクロ\texttt{Gearef}の定義をソースコード\ref{src:gearef}に示す。 マクロ\texttt{Gearef}では引数で与えられたDataGearの名前を、enumを利用した番号に変換し、contextから値を取り出している。 -DataGearは\texttt{enum Data}型で各DataGearの型ごとに番号が割り振られている。(ソースコード\ref{src:enumData}) +DataGearは\texttt{enum Data}型で各DataGearの型ごとに番号が割り振られている(ソースコード\ref{src:enumData})。 \lstinputlisting[label=src:gearef, caption=Gearefマクロ]{src/gearef.h} \lstinputlisting[label=src:enumData, caption=enumDataの定義]{src/enumData.h} diff -r 88c27d39d385 -r 9ba02bf8a09f paper/chapter/05-perl.tex --- a/paper/chapter/05-perl.tex Fri Feb 12 10:02:54 2021 +0900 +++ b/paper/chapter/05-perl.tex Fri Feb 12 18:03:42 2021 +0900 @@ -167,7 +167,8 @@ generate\_context.plでは、DataGearの定義ファイルをGears::InterfaceのパースAPIでパースし、情報を取得していた。 \lstinputlisting[label=src:mcWorker, caption=mcWorker Implの定義]{src/MCWorker.h} -パースした結果の情報含まれるincludeする必要があるヘッダファイルの一覧を取得し、context.hを生成するタイミングで、 struct Contextの定義の前にincludeするコードを挿入する。(ソースコード\ref{src:includeContext}) +パースした結果の情報に含まれる、includeする必要があるヘッダファイルの一覧を取得する。 +この情報をもとに、context.hを生成するタイミングで、 struct Contextの定義の前にincludeするコードを挿入する(ソースコード\ref{src:includeContext})。 includeの結果では、 3、5、7行目にそれぞれincludeするマクロが生成されている。 各行の上の行には、 includeの記述があったDataGearのファイルパスが記載される。 \lstinputlisting[label=src:includeContext, caption=context.h内でのinclude]{src/includeContext.h} @@ -512,7 +513,7 @@ また、怪しい正規表現パターンの行にPerlデバッガでbreak pointを張ってデバッグすることも可能である。 この機能をgenerate\_stub.plの起動時オプションの形で実装した。 -\texttt{--debug}オプションをつけると、デバッグ表示が行われる。(ソースコード\ref{src:debugGenStubSh}、 \ref{src:debugGenStub}) +\texttt{--debug}オプションをつけると、デバッグ表示が行われる(ソースコード\ref{src:debugGenStubSh}、 \ref{src:debugGenStub})。 \lstinputlisting[label=src:debugGenStubSh, caption=generate\_stub.plのデバッグモードでの起動]{src/debugGenerateStubLog.sh} \lstinputlisting[label=src:debugGenStub, caption=マッチしたPerlスクリプトの行番号と、CbCコードの対応表示]{src/debugGenerateStubLog.txt} @@ -544,4 +545,4 @@ 変換した結果では、 コマンドライン引数でGearsOSのWorkerの数などを指定できる関数initや、 TaskManagerの初期化を行うinitDataGears、GearsOSを終了するCodeGearであるshutdownなどが生成される。 gmainのスコープの中に記述したものは、createTaskの中に移動される。 createTaskでは、GearsOSの起動に必要なTaskManagerなどの引数が受け渡されるようになっている。 -これによってGearsOSの例題を実装する際に、考慮しなければいけない煩雑な設定を緩和することが可能となった。 \ No newline at end of file +これによってGearsOSの例題を実装する際に、考慮しなければいけない煩雑な設定を緩和することが可能となった。 diff -r 88c27d39d385 -r 9ba02bf8a09f paper/master_paper.pdf Binary file paper/master_paper.pdf has changed