view final_main/chapter5.tex @ 2:72e058e7e594

update
author mir3636
date Sun, 12 Feb 2017 19:02:01 +0900
parents 30a433a94a9a
children 6d00f6c9bb8a
line wrap: on
line source

\chapter{Context、stub の自動生成}

Gears OS では 3 章で述べたように通常の Computation の他に Meta Computation を記述する必要がある。
しかし Meta Computation はユーザーが関知すべきではないので perl スクリプトによる自動生成を行った。

\section{Context の生成}
Context は Meta Data Gear に相当し、Code Gear や Data Gear を管理している。
Data Gear を取得するために perl スクリプトは context.h を読み宣言された Data Gear を取得する。

Code Gear は指定された cbc ファイルから stub を見て取得を行う。

Context で Code Gear の名前とポインタの対応は生成する enum Code によって表現される。
実際に Code Gear に接続する際は enum Code を指定することで接続を行う。


%enum で Code Gear と Data Gear
%Data Gear の typedef
%stub の extern
%Data Gear の init (ALLOCA)
%target 毎の init context