# HG changeset patch # User kent # Date 1206421368 -32400 # Node ID 2c619ec34ae4a84f347cd4f6b93a4c1531be6085 # Parent 220f894156569cbd566221d504c8706ba8d3be1f add a paper for C-- in bib. diff -r 220f89415656 -r 2c619ec34ae4 Makefile --- a/Makefile Tue Mar 25 11:48:42 2008 +0900 +++ b/Makefile Tue Mar 25 14:02:48 2008 +0900 @@ -1,4 +1,5 @@ DVIPDF = dvipdfmx +DVIPDF_OPT = -f ptex-hiragino.map -f otf-hiragino.map LATEX = platex PS2PDF = ps2pdf14 DVIPS = dvips @@ -18,7 +19,7 @@ all: $(PDFs) .dvi.pdf: - $(DVIPDF) $^ + $(DVIPDF) $(DVIPDF_OPT) $^ .tex.dvi: $(LATEX) $^ diff -r 220f89415656 -r 2c619ec34ae4 main.pdf Binary file main.pdf has changed diff -r 220f89415656 -r 2c619ec34ae4 main.tex --- a/main.tex Tue Mar 25 11:48:42 2008 +0900 +++ b/main.tex Tue Mar 25 14:02:48 2008 +0900 @@ -608,9 +608,8 @@ また、これまでのMicro-Cベースのコンパイラではできなかった 最適化をGCC上で実行できるようになった。 -しかし、未だに実装されてないCbCの構文がまだ残っている。 -また、一部アーキテクチャではコンパイル不能に陥る現象も発生している。 -これらの問題とその他改良点を今後の課題として以下に簡単に説明する。 +しかしまだいくつかの問題が残っているので、 +今後の課題と併せて、以下に簡単に説明する。 \begin{description} \item[environment] CbCにはもう一つ、environment付きの継続という構文が存在する。 @@ -621,28 +620,30 @@ これはRTLレベルで対応されてないことが原因と思われる。 \item[オプションの強制] -O2オプションや、code segmentへのfasecall属性の付加 などを強制させる必要がある。 + \item[SPU対応とGCCのversion] 実装できたversionは4.2.3である。 + しかし現在SPUに対応したGCCは4.1までしかでていないうえに、 + GCCのversion間の差異によって移植が難しくなっている。 \end{description} -ここで、二つ目のPowerPCへの対応がひとつ問題となっている。 +ここで、二つ目のPowerPCへの対応が大きな問題となっている。 本来、このコンパイラはアーキテクチャに依存しない形で -実装したのが、実装後、PPCはTailcall eliminationにたいして一部対応してない +実装したのが、実装後、PowerPCはTailcall eliminationにたいして一部対応してない ことがわかった。 これはMachineDescriptionとよばれるRTLからアセンブラへの対応を表す -ファイルを記述することで対応させることができる。 -今回はこれには対応していない。 +ファイルを記述することで対応させることができるはずだが、今回その実装には至らなかった。 -これらに加えて、GCCにはすでにC++やObjective-Cのコンパイルが可能である。 -これを活かし、CbC++, もしくはObjective-CbCといった既存の言語と -CbCを組み合わせた言語に付いても考えてみる価値があるだろう。 +またこれらに加えて、GCCはすでにC++や +Objective-C のコンパイルが可能である。これを活かし、 +CbC++, もしくはObjective-CbC といった +既存の言語とCbC を組み合わせた言語に付いても考えてみる価値があるだろう。 - +\small \begin{thebibliography}{9} \bibitem{kono1} 河野真治. ``継続を基本とした言語CbCのgcc上の実装''. 日本ソフトウェア科学会第19回大会論文集, Sep, 2002. \bibitem{kono2} 河野真治. ``継続を持つCの下位言語によるシステム記述''. 日本ソフトウェア科学会第17回大会論文集, Sep, 2000. - \bibitem{takumi} 金城拓実. ``軽量継続を用いたゲームプログラムの分割と再構成の考察''. - 琉球大学情報工学科 学位論文, Feb, 2006. + \bibitem{c--} Simon Peyton Jones, Thomas Nordin, and Dino Oliva, ``C--: a portable assembly language''. Implementing Functional Languages, 1997. \bibitem{gcc1} GNU Project - Free Software Foundation, GCC internal manual. ``http://gcc.gnu.org/onlinedocs/gccint/''. \end{thebibliography}