OSC 2008 Hokkaido
昨日は OSC 2008 Hokkaido で GCC フロントエンドを作成するセミナを聞いてきた。講師は北大の若槻さん。
gcc3.x ではサポート言語ごとに最適化を行い、共通化されているのはネイティブコードの生成処理以降であったが、gcc4.x からは言語ごとに構文木を生成し、最適化を含めたそれ以降の処理はすべて共通されたとのこと。これの変更を生かして独自の gcc フロントエンドをつくろうという話だった。例に挙げられたソースは短かったが C で LISP 的な表現を行っているなど複雑そうだった。同じ 4.x であってもバージョン間でフロントエンドの互換性は無いなどこの分野は大変そうである。
GCC sample frontend
https://sourceforge.jp/projects/blanguage
gcc 以外のコンパイラフレームワークとしては COINS と LLVM が挙げられていた。
あまり知られていないような気がするのだが COINS はマルチプロセッサ構成の MicroBlaze 向けのコードを吐ける結構すごいコンパイラである(と、宣伝しておく)。
COINSコンパイラ・インフラストラクチャ
http://www.coins-project.org/
LLVM は iphone の gcc でも使用されているのだが、これは iphone で LLVM の VM が動いてるってことなのか ?
The LLVM Compiler Infrastructure
http://llvm.org/
OSC の展示展示スペースでは Ruby 札幌の島田さんと日本 Ruby の会会長の高橋さんとお話させていただいた。オライリーの"初めての Ruby" を買ってみたのだが俺にはリファレンス的過ぎるたので高橋さんの "たのしい Ruby" を購入しようと思う。
OLPC のブースも出ていて実機を手に取ることができた。 1.5kg とのことだが、形状が小さいく取っ手もついているのであまり重く感じない。802.11s というメッシュネットワークは面白いと思った。
あとは Squeak の先進的なデモをみたり、freescale の 802.15.4 の石をみたり NXP の 74 シリーズを見たり NetBSD のクロスビルドが楽であるというような話を聞いたりした。展示スペースにはあまり期待していなかったのだが結構面白かった。閉会式も津田大介氏の話を聞いたりライトニングトークで突然知り合いが登場したりと楽しめた。全体を通しても楽しく過ごすことができたのでまた来年を楽しみにしたいと思う。