comparison Paper/anatofuz.tex @ 51:baba702fb22b

fix typo
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Fri, 09 Nov 2018 19:41:32 +0900
parents 619edd118aab
children 27cb6c89b7d2
comparison
equal deleted inserted replaced
50:619edd118aab 51:baba702fb22b
91 CbCではCの関数の代わりにCodeGearを導入する. 91 CbCではCの関数の代わりにCodeGearを導入する.
92 CodeGearはCの関数宣言の型名の代わりに\_\_codeと書くことで 宣言できる. 92 CodeGearはCの関数宣言の型名の代わりに\_\_codeと書くことで 宣言できる.
93 \_\_codeはCbCコンパイラの扱いはvoidと同じ型であるが, CbCプログラミングではCodeGearである事を示す識別子としての意味で利用する. 93 \_\_codeはCbCコンパイラの扱いはvoidと同じ型であるが, CbCプログラミングではCodeGearである事を示す識別子としての意味で利用する.
94 CodeGear間の移動はgoto文によって記述する. 94 CodeGear間の移動はgoto文によって記述する.
95 \lstinputlisting[label=cbcexample, caption=cbc\_example.cbc]{./src/cbc_example.cbc} 95 \lstinputlisting[label=cbcexample, caption=cbc\_example.cbc]{./src/cbc_example.cbc}
96 Code\ref{cbcexample}に示すCbCのコードではmain関数からcs1, cs2に遷移し,最終的にdataの値が2となる. 96 Code\ref{cbcexample}に示すCbCのコードではmain関数からcg1, cg2に遷移し,最終的にdataの値が2となる.
97 CodeGear間の入出力の受け渡しは引数を利用する.この引数は小さなDataGearであると言える. 97 CodeGear間の入出力の受け渡しは引数を利用する.この引数は小さなDataGearであると言える.
98 98
99 \subsection{軽量継続} 99 \subsection{軽量継続}
100 %TBD 100 %TBD
101 CbCでは次のCodeGearに移行する際, Cのgoto文を利用する. 101 CbCでは次のCodeGearに移行する際, Cのgoto文を利用する.
124 またCからCbCへの遷移時に, 再びCの関数に戻るように実装したい場合がある. 124 またCからCbCへの遷移時に, 再びCの関数に戻るように実装したい場合がある.
125 その際は環境付きgotoと呼ばれる手法を取る.これは\_CbC\_return及び\_CbC\_environmentという変数を渡す. 125 その際は環境付きgotoと呼ばれる手法を取る.これは\_CbC\_return及び\_CbC\_environmentという変数を渡す.
126 この変数は\_CbC\_returnが元の環境に戻る際に利用するCodeGearを指し, \_CbC\_environmentは復帰時に戻す元の環境である. 126 この変数は\_CbC\_returnが元の環境に戻る際に利用するCodeGearを指し, \_CbC\_environmentは復帰時に戻す元の環境である.
127 復帰する場合, 呼び出した位置には帰らず,呼び出した関数の終了する位置に帰る. 127 復帰する場合, 呼び出した位置には帰らず,呼び出した関数の終了する位置に帰る.
128 \lstinputlisting[label=cbcreturn, caption=環境付き継続の例]{./src/return.cbc} 128 \lstinputlisting[label=cbcreturn, caption=環境付き継続の例]{./src/return.cbc}
129 Code\ref{cbcreturn}に示す例ではc\_funcから環境付き継続でがcsに継続している. 129 Code\ref{cbcreturn}に示す例ではc\_funcから環境付き継続でcgに継続している.
130 通常c\_funcの返り値は-1であるが, csから環境付き継続でmainに帰る為にcsから渡される1がtestの値となる. 130 通常c\_funcの返り値は-1であるが, cgから環境付き継続でmainに帰る為にcgから渡される1がtestの値となる.
131 131
132 132
133 \subsection{言語処理系におけるCbCの応用} 133 \subsection{言語処理系におけるCbCの応用}
134 CbCを言語処理系, 特にスクリプト言語に応用すると幾つかの箇所に置いて利点があると推測される. 134 CbCを言語処理系, 特にスクリプト言語に応用すると幾つかの箇所に置いて利点があると推測される.
135 CbCにおけるCodeGearはコンパイラの基本ブロックに相当する. 135 CbCにおけるCodeGearはコンパイラの基本ブロックに相当する.
581 %MoarVMはC言語で実装されており, Perl5で記述されたConfigure.plを 581 %MoarVMはC言語で実装されており, Perl5で記述されたConfigure.plを
582 582
583 583
584 % BibTeX を使用する場合 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 584 % BibTeX を使用する場合 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585 \nocite{*} 585 \nocite{*}
586 \bibliographystyle{ipsjsort} 586 \bibliographystyle{ipsjsort}
587 \bibliography{reference} 587 \bibliography{reference}
588 588
589 \end{document} 589 \end{document}