# HG changeset patch # User anatofuz # Date 1612001407 -32400 # Node ID d9c29dddf64f5d70d62475ecb61faccc7b2b8886 # Parent 9c443292fbfb7b0479dd71f5f7f601da345e86af ... diff -r 9c443292fbfb -r d9c29dddf64f paper/chapter/02-interface.tex --- a/paper/chapter/02-interface.tex Sat Jan 30 18:59:04 2021 +0900 +++ b/paper/chapter/02-interface.tex Sat Jan 30 19:10:07 2021 +0900 @@ -52,3 +52,9 @@ すべてのCodeGearのgotoの先を切り替える場合は\texttt{qr/.*\//}などの正規表現を指定する。 \lstinputlisting[label=src:metapm, caption=meta.pm]{src/meta.pm} + +generate\_stub.plはGears CbCファイルの変換時に、 CbCファイルがあるディレクトリにmeta.pmがあるかを確認する。 +meta.pmがある場合はモジュールロードを行う。 +meta.pmがない場合はmeta Code Gearにgotoするものをデフォルト設定として使う。 +各Gode Gearが\texttt{goto文}を呼び出したタイミングでreplaceMetaを呼び出し、 ルールにしたがってgoto文を書き換える。 +変換するCodeGearがルールになかった場合は、 デフォルト設定が呼び出される。 \ No newline at end of file diff -r 9c443292fbfb -r d9c29dddf64f paper/chapter/introduction.tex --- a/paper/chapter/introduction.tex Sat Jan 30 18:59:04 2021 +0900 +++ b/paper/chapter/introduction.tex Sat Jan 30 19:10:07 2021 +0900 @@ -55,7 +55,7 @@ それ以外にデータをメモリに保存するためにメモリのアロケーションをする処理や、メモリから値を持ってくる処理が入る。 メモリのほかにCPUの資源管理なども必要となる。 さらにオブジェクト型の整合性の為にキャストなどの型変換が必要となる場合もある。 -これらユーザーが本来やりたい計算以外に、しなければならない計算が存在する。 +ユーザーが本来やりたい計算以外に、資源管理などのこれら計算を行う上でやらなければならない計算が存在する。 前者の計算をノーマルレベルの計算と呼び、後者をメタレベルの計算と呼ぶ。 プログラムの整合性の検証はメタレベルの計算と考えられる。 ユーザーが実装したノーマルレベルの計算に対応するメタレベルの計算を、自由にメタレベルの計算で証明したい。 diff -r 9c443292fbfb -r d9c29dddf64f paper/master_paper.pdf Binary file paper/master_paper.pdf has changed