2007 年度第II期未踏ソフトウェア創造事業 実装言語独立モジュラリティーの良い コンパイラキット SCK 開発者: 阿部正佳、山崎淳、山根雅司 • モジュラリティーの高い部品を提供 – 実装言語 (Emacs Lisp) を知らなくても利用出来る部品群を提供 – モジュール間インタフェースは S-式であり、他言語との連携も容易 • 独立性が高く、応用分野の広いツール群を提供 – – – – – • 完全自動エラーリカバリ機構を持つパーサジェネレータ yayacc 最適化モジュール リターゲッタブルコード生成系 可視化ツール 中間言語実行系 Emacs Lisp で実装されていることの利点 – Lisp であることの良さ • ラピッドプロトタイピング→コンパイラ研究者向け – Emacs Lisp であることの良さ • 柔軟で簡潔なユーザインタフェース→教育的価値 • コンパイラの部品が編集コマンドとして実現されている→開発効率の向上 SCK 構成図 青字:ソース言語依存 赤字:ターゲットマシン依存 yayacc Parsers Grammars Type checking Parser C-Source C-PlainAST Parser MinCaml AST(CPS) Core-AST LIR LIR Regalloc LIR TMD-Compiler X86.tmd, SPARC, ... LIR Optimize LIR LIR Instsel Restruct Type inference, etc. LIR generation Desugar AST AST LIR LIR Asmout ASM LIR VM Effect
© Copyright 2024 ExpyDoc