WEKO3
-
RootNode
アイテム
CastOff:Ruby用コンパイラのライブラリとしての実装
https://ipsj.ixsq.nii.ac.jp/records/83510
https://ipsj.ixsq.nii.ac.jp/records/835104f8481fb-e4b5-41bd-a707-7b69919b40fb
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2012 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2012-08-20 | |||||||
タイトル | ||||||||
タイトル | CastOff:Ruby用コンパイラのライブラリとしての実装 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | CastOff: A Compiler for Ruby Implemented as a Library | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | [通常論文] スクリプト言語,言語処理系,コンパイラ,Ruby | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科/現在,株式会社ドワンゴ | ||||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科/現在,Heroku, Inc. | ||||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo / Presently with DWANGO Co., Ltd. | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo / Presently with Heroku, Inc. | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||
著者名 |
芝, 哲史
笹田, 耕一
平木, 敬
× 芝, 哲史 笹田, 耕一 平木, 敬
|
|||||||
著者名(英) |
Satoshi, Shiba
Koichi, Sasada
Kei, Hiraki
× Satoshi, Shiba Koichi, Sasada Kei, Hiraki
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 近年,様々なスクリプト言語処理系に対してコンパイラが開発されている.これらのコンパイラは処理系に組み込む形で実装されることが多く,新しくコンパイラを開発するために,処理系そのものの再実装や,処理系の大幅な改変が行われている.このため,スクリプト言語処理系に対する新たなコンパイラの開発には多大な労力をともなう.そこで我々は,スクリプト言語RubyのCによって実装された処理系(CRuby)の機能を活用することで,処理系に対して新たに手を加えることなく動作するコンパイラCastOffを開発した.CastOffは,実行時コンパイル,コンパイル済みコードの再利用,プロファイル実行,アノテーションのサポート,脱最適化,再コンパイルなどの機能を持つ.これらの機能を,CastOffはCRubyのCによる拡張ライブラリ(C拡張)としてCRubyにいっさいの変更を加えずに実現している.本稿ではCastOffの設計と実装を述べ,CastOffの機能をRubyのC拡張でどう実現したかを詳細に解説する.そして,CastOffのようにライブラリとしてコンパイラを実装するために,どのような機能が必要かを議論する. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | There are many compilers for scripting languages aiming at faster execution. In most cases, these compilers have been developed by modifying runtime system or by re-implementing runtime system. Therefore a large amount of development cost is needed to develop compilers for scripting languages. On this background, we developed CastOff, a compiler for the Ruby scripting language. By using features in Ruby, we developed CastOff without modifying the Ruby runtime system. CastOff has a lot of functions such as runtime compilation, reuse of compiled codes, profiling execution, annotation support, deoptimization and re-compilation. CastOff is a Ruby compiler with the above features provided as a Ruby's C extension library. In this paper, we show the detailed design and implementation of CastOff, how we implemented functions of CastOff by Ruby's C extension library. Moreover, we discuss functions required in the runtime system for developing a compiler as a library like CastOff. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 5, 号 3, p. 1-22, 発行日 2012-08-20 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |