2017 Fiscal Year Research-status Report
文脈を考慮したコード補完の実装の系統的導出に関する研究
Project/Area Number |
16K00106
|
Research Institution | Shibaura Institute of Technology |
Principal Investigator |
篠埜 功 芝浦工業大学, 工学部, 准教授 (10362021)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | コード補完 / 構文補完 / LR構文解析 / 識別子補完 / 文脈 / 穴 |
Outline of Annual Research Achievements |
平成29年度は、コード補完の基本的な場合として、LR構文解析に基づいて構文および識別子の補完を行う方式を考案、実装した。この成果はACM SIGPLAN 2018 Workshop on Partial Evaluation and Program Manipulation(PEPM 2018)において発表した。この研究においては、カーソル位置より前の部分は完全にプログラムが記述されているという前提を置いた。この前提のもとで、カーソル部分より後ろの部分に来うる構文の候補を提示するという問題設定とした。その際、補完候補は、構文のうち不明な部分を穴とする文脈の形とした。穴は、識別子用とterm用の2種類がある。構文補完の研究は1980年代頃にstructured editorにおいて多く行われ、エディタの機能の仕様を形式的に定めることができるなどの利点があるが、プログラムテキストの編集を文字単位で行うには不便であり、現時点でプログラミングにstructured editorを使う場合はほとんどない。そこでこの研究ではEmacs等のテキストベースのエディタ上で構文補完を行うことを目指している。これにより、形式的に仕様が定められた機能を提供し、かつ文字単位の編集を自由に行うことのできるプログラミング支援環境を実現することを目指している。文脈の穴はテキストで表示する必要があり、3つのドット...などで提示し、後でプログラマにより書き換えられる。実装はLR構文解析器であるYaccを用いて行っており、プログラムの途中までの構文およびactionをYaccの仕様ファイルにおいて手書きで記述しているが、将来的には一部を系統的に生成することを目指している。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
平成29年度は、構文補完の基本方式を考案する予定であり、これを行った。
|
Strategy for Future Research Activity |
平成29年度に提案した補完方式は定式化が洗練されていないと思われ、今後、カーソル位置までのプログラムが完全である前提を置いた上で構文補完方式を整理し、補完プログラムの一部を系統的に生成することを目指す。また、現時点の方式においてはLR構文解析の内部には入っていないが、今後、LR構文解析のsentential formを使うことなどにより、より適切な補完候補を提示できる方式を考案したい。
|
Causes of Carryover |
平成29年度の使用額が予定額を少し超過し、平成30年度に支出することになったため。使用計画にはほとんど影響はない。
|
Research Products
(1 results)