2018 Fiscal Year Annual Research Report
Advanced Programming Environment Based on Program Semantics
Project/Area Number |
15K00090
|
Research Institution | Ochanomizu University |
Principal Investigator |
浅井 健一 お茶の水女子大学, 基幹研究院, 准教授 (10262156)
|
Project Period (FY) |
2015-04-01 – 2019-03-31
|
Keywords | 開発環境 / 関数型言語 / 型システム / 型デバッガ / ステッパ |
Outline of Annual Research Achievements |
本年度は (1) 静的な意味論に基づくプログラミング環境として、型主導でプログラムを構築する手段としてブロックを使ったインタフェースを用いたシステムの構築を行なった。また (2) 動的な意味論に基づくプログラミング環境として、インクリメンタルにステップ実行する機能を実装した。それぞれ、詳しく述べる。 (1) 静的な意味論に基づくプログラミング環境については、ブロックを使ったインタフェースを実装した。これは Google の提供する Blockly を関数型言語 OCaml 用に改変したものである。ブロックのコネクタに型情報が表現されているため、型の合わないブロックは接続できないようになっている。これにより、プログラム作成中に型エラーが起こることがなくなったばかりでなく、構文エラーを起こすこともなくなった。このシステムは初心者がプログラミングを行う際に、型エラー、構文エラーに悩まされることなくプログラムを構築できると予想され、次年度の授業で使用しその効果をはかる予定である。 (2) 動的な意味論に基づくプログラミング環境については、昨年度まで作成してきたステッパでほぼ当初の目的は果たしたと考えられるが、実際に授業で使用した際、実行時間がとても長いプログラムのステップ実行をしようとすると、ステップを見られるようになるまで長時間、待たされるという問題が見つかった。これは、実装したステッパが、あらかじめ全ステップを作成してから表示していたためである。(これは、無限ループするプログラムのステップ実行はできないことも意味している。)そこで、ステッパの実装を変更し、必要なステップをユーザに求められるたびにインクリメンタルに計算して表示するようにした。これで、プログラムの実行時間に関わらず即座にステップが表示されるようになるとともに、無限ループするプログラムのステップ実行も可能となった。
|
Research Products
(5 results)