CbCコンパイラのLLVM3.5上での実装


Kaito Tokumori
January 14, 2014

研究目的

 当研究室ではプログラムをコードセグメント、データセグメントという単位を用いて書くという手法を提案している。その手法を用いてプログラミングを行う言語として"CbC"の開発を行っており、これはCの下位の言語である。CbCにおいてコードセグメント間の移動はgoto文を用いた軽量継続によって行われ、これはTail Call Eliminationという最適化の強制によって実現される。

本研究過去に開発されたmicro-c,GCC版のコンパイラに続くLLVM/Clang上でのCbCコンパイラの開発を行う。

今回したこと

環境を保持する変数群の自動生成

setjmp部分の構文の生成

元の関数に戻るコードセグメントの生成

ユニークなシンボル名をつけるには(1)

ユニークなシンボル名をつけるには(2)

環境付き継続TODO