WEKO3
アイテム
Calcコンパイラの作成
https://ipsj.ixsq.nii.ac.jp/records/16707
https://ipsj.ixsq.nii.ac.jp/records/16707b375289e-1c83-4406-9ee3-7fd90b675ea8
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2003 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2003-12-15 | |||||||
タイトル | ||||||||
タイトル | Calcコンパイラの作成 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | Design and Implementation of Calc Compiler | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | 発表概要 | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
お茶の水女子大学 | ||||||||
著者所属 | ||||||||
お茶の水女子大学 | ||||||||
著者所属 | ||||||||
お茶の水女子大学 | ||||||||
著者所属 | ||||||||
お茶の水女子大学 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Ochanomizu University | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Ochanomizu University | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Ochanomizu University | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Ochanomizu University | ||||||||
著者名 |
浜田, 陽子
× 浜田, 陽子
|
|||||||
著者名(英) |
Yoko, Hamada
× Yoko, Hamada
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 簡単な関数型言語Calcを設計し,そのコンパイラを作成したのでその模様を報告する.Calcは1階の関数型言語で数値計算を行うことを念頭に,代入可能な配列を扱うことができる.CalcのプログラムはCalcコンパイラによって字句解析,構文解析を経て,k-正規形と呼ばれる中間言語に変換される.最適化には変数名のつけかえ,不要変数除去,定数伝搬などの通常のものに加え,このコンパイラ特有の最適化として部分評価に匹敵する強力な関数展開を備えている.さらに,コード生成部においては,末尾呼び出し最適化や配列アクセスの埋め込みを行っている.コンパイラの構造は従来の最適化に比べて比較的簡明であるが,実際にこの上でキャビティーフローを計算する数値シミュレーションプログラムを動かしたところ,Cに近い性能で実行することができた. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | We report on the design and implementation of a compiler for a simple first-order functional language Calc. Calc is equipped with assignable arrays with computing numerical analysis in mind. After going through lexical analysis and syntax analysis, programs are first transformed into an intermediate language called k-normal forms. The Calc compiler then performs ordinary optimizations such as alpha-transformation, elimination of useless variables, and constant propagation. Furthermore, it performs strong inlining (or partial evaluation) as an optimization particular to Calc. In code-generation phase, it performs the tail-call optimization as well as embedding of array access primitives. Although the structure of this compiler is rather simple compared to ordinary compilers, it produces fairly efficient code. In fact, we can execute a numerical simulation program calculating cavity flow with efficiency comparable to the same program written in C. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 44, 号 SIG16(PRO20), p. 70-70, 発行日 2003-12-15 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |