2019 Fiscal Year Final Research Report
A systematic approach to implementing context-sensitive code completion
Project/Area Number |
16K00106
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Research Field |
Software
|
Research Institution | Shibaura Institute of Technology |
Principal Investigator |
Sasano Isao 芝浦工業大学, 工学部, 准教授 (10362021)
|
Project Period (FY) |
2016-04-01 – 2020-03-31
|
Keywords | 構文補完 / LR構文解析 / derivative / コード補完 / 文脈自由文法 / 文法変換 |
Outline of Final Research Achievements |
In this research project, we proposed an approach to implement code completion for programming on text editors. This approach targets at context-free languages. Those who implement code completion describe a grammar in BNF and transform it to a grammar for prefixes of the programs, i.e., programs up to the cursor, of the language. Based on the transformed grammar they parse programs up to the cursor and obtain (partial) parse trees. By traversing the (partial) parse trees they compute candidates to be completed at the cursor and show them to programmers. We have implemented a prototype system for a subset of Standard ML as an example and made public the system on a web page.
|
Free Research Field |
プログラミング言語
|
Academic Significance and Societal Importance of the Research Achievements |
広く使われているEclipse、Visual Studio等の開発環境において構文補完機能が提供されているが、形式的仕様が定められていないか、あるいは公開されていない。熟練プログラマは正確に把握できない機能の使用を避ける場合がある。また学術的には1980年代にSynthesizer GeneratorやMENTOR等、構造エディタの研究が多く行われた。近年では、構造エディタでの編集の正しさを論じた研究などもある。しかし構造エディタはプログラマが自由にプログラムテキストを編集するのを妨げる。本研究は、自由なプログラム編集を妨げることなく構文補完を行うための基本方式を提案したものである。
|