Mercurial > hg > Papers > 2020 > anatofuz-sigos
diff paper/anatofuz-sigos.md @ 14:dff5f09c28c7
use listings
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 01 May 2020 13:07:45 +0900 |
parents | cce07a6da420 |
children | 875bf4bc5059 |
line wrap: on
line diff
--- a/paper/anatofuz-sigos.md Thu Apr 30 20:24:26 2020 +0900 +++ b/paper/anatofuz-sigos.md Fri May 01 13:07:45 2020 +0900 @@ -46,3 +46,18 @@ この継続はSchemeなどの環境を持つ継続とは異なり、 スタックを持たず環境を保存しない継続である為に軽量である事から軽量継続と呼べる。 またCbCではこの軽量継続を用いた再帰呼び出しを利用することで、 for文などのループ文を廃し関数型プログラミングに近いスタイルでプログラミングすることが可能である。 現在CbCはGCC及びLLVM/clang上にそれぞれ実装されている。 + + +CbCの例題をCode \ref{src:cbc_example}に示す。 + + + +``` src:cbc_example, c +__code code_gear1(struct str* st) { + if (st->number) { + goto hoge(...); + } + goto code_gear2(foo); +} + +```