|
SCK
(S-expression based Compiler Kit) は昨年度の未踏プロジェクト: 「実装言語独立でモジュラリティーの良いコンパイラキット」において開発した、マルチソース・マルチターゲットのコンパイラ作成支援環境である。
コンパイラキット(作成支援環境、インフラ)は、単一のコンパイラと異なり、ユーザはそれを構成する各モジュールを選択的に利用するものであるから、それらのモジュラリィー、インタフェースの簡潔さと柔軟性が極めて重要であるにもかかわらず、既存のコンパイラ作成支援環境はその実装言語に依存した複雑なインタフェースのみを提供し続けてきた。
SCK
では、データ構造というものを実装言語とは全く無関係な、独立した簡潔なプログラミング言語として定義し、さらに徹底的なモジュール分割を行うことで、実装言語から独立したコンパイラ部品を提供することに成功している。実際の実装言語は Emacs Lisp であるが、Emacs Lisp の知識がなくても SCK を利用することが出来る。これが実装言語独立の意味である。さらに、Emacs
Lisp は記号処理向きの柔軟なプログラミング言語であり、SCK を Emacs 上で利用するユーザには、強力で快適なプログラミング環境が提供される。
一方で、短い開発期間で作成された SCK はコード最適化、ドキュメンテーション、サポートしているソース言語とターゲット(現在は C言語、 X86 と
SPARC のみ)の点でまだ不十分である。しかし、この間の学会発表(PRO, PTT)での感触は非常に良く、このプロジェクトは継続してより完成度を上げ、それにより広く使ってもらうための重要な時期にある。
|