changeset 10:86c42a4c8a0d

...
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Tue, 26 Jan 2021 22:31:34 +0900
parents 6e33e74d378f
children e703b90a5a16
files paper/chapter/02-perl.tex paper/master_paper.pdf
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter/02-perl.tex	Tue Jan 26 21:00:50 2021 +0900
+++ b/paper/chapter/02-perl.tex	Tue Jan 26 22:31:34 2021 +0900
@@ -102,7 +102,7 @@
 入力として与えられているCodeGearは、Interfaceに定義されているCodeGearの引数として表現されている。
 コードに示す例では、\texttt{whenEmpty}は入力して与えられているCodeGearである。
 雛形を生成する場合は、入力として与えられたCodeGearを除外して出力を行う。
-
+順序はInterfaceをまず出力した後に、 Impl側を出力する。
 
 雛形生成では他にコンストラクタの生成も行う。
 GearsOSのInterfaceのコンストラクタは、 メモリの確保及び各変数の初期化を行う。
@@ -113,4 +113,7 @@
 
 コンストラクタはデフォルトでは変数は0、またはNULLで初期化される。
 このスクリプトで生成されたコンストラクタは\texttt{generate\_stub.pl}内でも自動的に生成することが可能である。
-そのため、 オーバーライドする必要がない場合は削除しても問題なく動作するようになっている。
+しかし明示的にコンストラクタが書かれていた場合は、 Perlスクリプト内での自動生成は実行しないようになっている。
+これはオブジェクト指向言語のオーバーライドに相当する機能と言える。
+いくつかのInterfaceでは入力にContext以外のものを要求しており、こういった引数のAPIを変更する際もオーバーライドする必要がある。
+あくまで雛形生成スクリプトはプログラマ支援であるため、 いくつかの手動での実装は許容している。
Binary file paper/master_paper.pdf has changed