研究課題/領域番号 |
16K00106
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
研究分野 |
ソフトウェア
|
研究機関 | 芝浦工業大学 |
研究代表者 |
篠埜 功 芝浦工業大学, 工学部, 准教授 (10362021)
|
研究期間 (年度) |
2016-04-01 – 2020-03-31
|
研究課題ステータス |
完了 (2019年度)
|
配分額 *注記 |
2,080千円 (直接経費: 1,600千円、間接経費: 480千円)
2018年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2017年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2016年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
|
キーワード | 構文補完 / LR構文解析 / derivative / コード補完 / 文脈自由文法 / 文法変換 / 文脈 / 穴 / 識別子補完 / 開発環境 / キーワード補完 / 構文解析 / 誤り回復 / コードクローン / プログラミング言語 / 型システム |
研究成果の概要 |
本研究課題では、テキストエディタを用いたプログラミングにおけるコード補完を実装する方式を提案し、試験的実装を行った。この方式は、文法がBNFで記述される言語を対象としている。コード補完の実装者は言語の文法をBNFで記述し、それを、プログラムの接頭辞(カーソル位置までのプログラム)に対する文法へ変換する。変換後の文法によりカーソル位置までのプログラムを構文解析し、(部分的な)構文木を得る。この構文木を辿ることによりカーソル位置以降の構文の候補を計算し、プログラマに提示する。Standard MLのサブセットを例とした試験的実装をweb page上で公開した。
|
研究成果の学術的意義や社会的意義 |
広く使われているEclipse、Visual Studio等の開発環境において構文補完機能が提供されているが、形式的仕様が定められていないか、あるいは公開されていない。熟練プログラマは正確に把握できない機能の使用を避ける場合がある。また学術的には1980年代にSynthesizer GeneratorやMENTOR等、構造エディタの研究が多く行われた。近年では、構造エディタでの編集の正しさを論じた研究などもある。しかし構造エディタはプログラマが自由にプログラムテキストを編集するのを妨げる。本研究は、自由なプログラム編集を妨げることなく構文補完を行うための基本方式を提案したものである。
|