Mercurial > hg > Papers > 2021 > anatofuz-master
changeset 36:2db854686b4a
update
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 31 Jan 2021 18:58:57 +0900 |
parents | 2c8513196d56 |
children | b8cb6fcd9342 |
files | paper/chapter/02-perl.tex paper/chapter/gears.tex paper/master_paper.pdf |
diffstat | 3 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/02-perl.tex Sun Jan 31 18:05:20 2021 +0900 +++ b/paper/chapter/02-perl.tex Sun Jan 31 18:58:57 2021 +0900 @@ -95,7 +95,7 @@ \section{Interfaceを満たすコード生成の他言語の対応状況} -Interfaceを機能として所持している言語の場合、これらはコンパイルレベルか実行時レベルで検知される。 +Interfaceを機能として所持している言語の場合、Interfaceを完全に見たいしているかどうかはコンパイルレベルか実行時レベルで検知される。 例えばJavaの場合はInterfaceを満たしていない場合はコンパイルエラーになる。
--- a/paper/chapter/gears.tex Sun Jan 31 18:05:20 2021 +0900 +++ b/paper/chapter/gears.tex Sun Jan 31 18:58:57 2021 +0900 @@ -69,3 +69,15 @@ \label{fig:pmake} \end{figure} + + \section{Interfaceの取り扱い方法の検討} + + GearsOSのInterfaceはモジュール化の仕組みと\texttt{goto}文での引数の一時保管場所としての機能を持っている。 +InterfaceのImplementのヘッダーファイルを実装したことで、 GearsOS上でInterfaceを実装する際に新たな方法での実装を検討した。 +ImplementのCodeGearは今まではInterfaceで定義したCodeGearと1対1対応していた。 +ImplementのCodeGearからgotoする先は、 入力として与えられたCodeGearか、 Implement内で独自に定義したCodeGearにgotoするケースとなっていた。 +後者の独自に定義したCodeGearにgotoするケースも、 実装のCbCファイルの中に記述されているCodeGearに遷移していた。 + +GearsOSを用いてxv6 OSを再実装した際に、 実装側のCodeGearを細かく別けて記述した。 +細分化によって1つのCbCファイルあたりのCodeGearの記述量が増えてしまうという問題が発生した。 +見通しをよくする為に、 Interfaceで定義したCodeGearと直接対応するCodeGearの実装と、 それらからgotoするCodeGearで実装ファイルを分離することを試みた。 \ No newline at end of file