changeset 21:48d1dc04c1c4

...
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sat, 30 Jan 2021 13:40:36 +0900
parents 284ddeee0f9a
children ada9b562891d
files paper/chapter/02-interface.tex paper/master_paper.pdf
diffstat 2 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter/02-interface.tex	Sat Jan 30 13:29:28 2021 +0900
+++ b/paper/chapter/02-interface.tex	Sat Jan 30 13:40:36 2021 +0900
@@ -40,10 +40,12 @@
 GearsOSのビルドシステムのAPIとして\texttt{meta.pm}を作製した。
 これはPerlのモジュールファイルとして実装した。
 Perlで実装されたGearsOSのトランスコンパイラであるgenerate\_stub.plから呼び出される。
-
+meta.pmの中のサブルーチンである\texttt{replaceMeta}に変更対象のCodeGearと変更先のMetaCodeGearへのgotoを記述する。
 
-meta.pmは特定のパターンの配列とサブルーチンを定義し、MetaCodeGearへの遷移を制御可能なAPIである。
-正規表現リテラルで、最後のgoto文を変更したいCodeGearの名前を指定する。
-コード\ref{src:metapm}に示す例では、\texttt{PhilsImpl}が名前に含まれるCodeGearのgotoの先を\texttt{mcMeta}に差し替えている。
+具体的な使用例をコード\ref{src:metapm}に示す。
+meta.pmはサブルーチン\texttt{replaceMeta}が返すリストの中に、特定のパターンで配列を設定する。
+各配列の0番目には、goto metaを置換したいCodeGearの名前を示すPerl正規表現リテラルを入れる。
+コード\ref{src:metapm}の例では、\texttt{PhilsImpl}が名前に含まれるCodeGearを指定している。
+すべてのCodeGearのgotoの先を切り替える場合は\texttt{qr/.*\//}などの正規表現を指定する。
 
 \lstinputlisting[label=src:metapm, caption=meta.pm]{src/meta.pm}
Binary file paper/master_paper.pdf has changed