研究課題/領域番号 |
22500025
|
研究機関 | お茶の水女子大学 |
研究代表者 |
浅井 健一 お茶の水女子大学, 大学院・人間文化創成科学研究科, 准教授 (10262156)
|
キーワード | 自己反映言語 / 部分評価 / プログラム変換 |
研究概要 |
本年度は、自己反映言語の効率的な実装に必要と考えられる3つの基盤技術のうち「直接実行されるコードと解釈実行されるコードの共存法の確立」に関して残っていたレベル遷移に関する問題を解決した。昨年度に作成していた自己反映言語は、ほとんどの場合でうまく動作するが「一度、メタレベルのインタプリタを変更した上でベースレベルに戻り、そこでもう一度、メタレベルに抜けようとすると抜けられない」という問題点を含んでいた。このような問題点が残っていては、コンパイルを行う意味がなくなってしまう。本年度は、この問題を詳細に検討し、その原因が「末尾位置で自己反映機能を使った場合、レベルを上がってからすぐに戻るという不必要なレベル遷移が継続に残ってしまうため」であることを特定した。したがってこの問題を解決するには、その不必要なレベル遷移を表すフレームを継続から取り除けば良い。しかし、継続を通常の関数の形で表現するとその中身を調べることができないため、そのまま実装することはできない。代わりに実装を一度だけ継続渡し形式に変換し、非関数化した上で中身を調べることで問題を解決した。これにより基本となる自己反映言語が確定し効率的な実装を行う土台が出来上がった形である。さらにここでの結果は始めて直接形式による自己反映言語の実装に成功したと言うこともできる。これまでの継続渡し形式の自己反映言語はユーザがメタレベルのインタプリタを継続渡し形式で書くという前提のもとに成り立っており、そこを破るとシステムが破綻していたが、今回、作成したインタプリタではユーザはどのようなコードでも書くことができるようになっている。なお、この結果は国際会議で発表した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本研究は「2種類のコードの共存法の確立」「プログラム変換技術の開発」のふたつからなり、これらと並行して,「部分継続の理論の発展」も行うという形である。このうち最初の点が2年弱で終了した形であり、おおむね順調に進展していると考えられる。
|
今後の研究の推進方策 |
基本となる自己反映言語が確定し効率的な実装を行う土台が出来上がったので、今後はその効率的な実装を目指してコンパイルを行う。コンパイルはメタレベルのインタプリタをベースベレルのプログラムで特化する形で行う。まずは変更されていないメタレベルのインタプリタを使用し、どのようなコンパイルができるかを確認するところから始める。その際、前年度の研究で明らかになったように、実装部分は(当初の予想には反して)継続渡し形式となった。これがコンパイルにどのような影響を与えるかについても詳しく検討する。
|