Mercurial > hg > Papers > 2021 > anatofuz-master
diff paper/chapter/04-interface.tex @ 78:4ebaa7322c4d
...
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 04 Feb 2021 21:30:59 +0900 |
parents | 951cb9681030 |
children | 3022da6f729f |
line wrap: on
line diff
--- a/paper/chapter/04-interface.tex Thu Feb 04 20:31:27 2021 +0900 +++ b/paper/chapter/04-interface.tex Thu Feb 04 21:30:59 2021 +0900 @@ -108,6 +108,22 @@ \section{Interfaceのパーサーの構築} +従来のGearsOSのトランスコンパイラでは、 generate\_stub.plがInterfaceファイルを開き、情報を解析していた。 +この情報解析はgetDataGear関数で行われていた。 +しかしこの関数は、CbCファイルのCodeGear、DataGearの解析で使用するルーチンと同じものである。 +従って、 Interface特有のパースが出来ていなかった。 + +例えば開いたヘッダファイルがInterfaceのファイルでも、そうでないCのヘッダファイルでも同様の解析をしてしまう。 +Interfaceの定義ファイルの構文はすでに統一されたものを使用している。 +この構文で実装されていないInterfaceファイルを読み込んだ場合は、 エラーとして処理したい。 +また、Interfaceが満たすべきCodeGearの種類やInputDataGearの数の管理も行いたい。 +さらにInterfaceではなく、Implementの定義ファイルも同様にパースし、情報を解析したい。 + +これらを実現するには、最初からInterfaceに特化したパーサーが必要となる。 +本研究ではGears::Interfaceモジュールとして実装した。 + +\subsection{Gears::Interfaceの構成} + \section{Interfaceの実装のCbCファイルへの構文の導入}