changeset 6:2964605b812f

mv semgent gear
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Fri, 09 Nov 2018 22:20:47 +0900
parents 97ca0612ce5b
children 5c8e88841a30
files mid_thesis.pdf mid_thesis.tex
diffstat 2 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
Binary file mid_thesis.pdf has changed
--- a/mid_thesis.tex	Fri Nov 09 22:14:45 2018 +0900
+++ b/mid_thesis.tex	Fri Nov 09 22:20:47 2018 +0900
@@ -67,7 +67,7 @@
 \section{CbC}
 Perl6処理系の改良にはgccとLLVM/Clang上に実装したContinuation based C(CbC)を用いる.
 CbCはCodeGearを基本的な処理単位とし,CodeGearの遷移でプログラムを記述するCの下位言語である.
-CodeSegmentの宣言は\_\_codeという型を持つ関数として宣言する.
+CodeGearの宣言は\_\_codeという型を持つ関数として宣言する.
 ただしこの関数は\_\_codeという型を返すわけではなく,CodeGearである事を示す指示子のような役割である.
 CodeGearはCの関数とは異なり返り値を持たず,呼び差し元の関数に戻る代わりに別のCodeGearへ遷移する.
 CbCにおけるCodeGear間の継続はスタックに値を積まず,環境も遷移時に持たない為軽量継続と呼ぶ.
@@ -151,8 +151,8 @@
 
 
 オリジナルのMoarVMとは異なり,同一関数上で実行する訳では無い為,MVM\_interp\_runで定義している局所変数のレジスタreg\_baseなどにアクセスすることは通常では出来ない.
-その為CodeSegmentの遷移において,これら必要なインタプリタの情報を纏めた構造体INTERを宣言し,このポインタであるINTERPを引数として入力する.
-各CodeSegmentではこのINTERPを経由することでレジスタ情報などにアクセスする.
+その為CodeGearの遷移において,これら必要なインタプリタの情報を纏めた構造体INTERを宣言し,このポインタであるINTERPを引数として入力する.
+各CodeGearではこのINTERPを経由することでレジスタ情報などにアクセスする.
 
 この方法の利点としてCodeGearは単なる関数として扱える為,元のソースコードの様に同一ファイル内に全ての処理を書く必要がない.
 またラベルにはbreak pointを設定する事が出来なかったが,CodeGearはデバッガからは関数として見る事ができるため通常のCの関数の様にbreak pointを設定する事が可能である.