• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Research-status Report

暗に型付けられた言語に対する型主導コード補完に関する研究

Research Project

Project/Area Number 25730047
Research InstitutionShibaura Institute of Technology

Principal Investigator

篠埜 功  芝浦工業大学, 工学部, 准教授 (10362021)

Project Period (FY) 2013-04-01 – 2016-03-31
Keywordsコード補完 / 変数名補完 / 識別子補完 / 開発環境 / 暗に型付けられた言語 / 関数型言語 / LR構文解析 / エラー回復
Outline of Annual Research Achievements

2014年度は、関数型言語の核となる、ラムダ計算にlet式等が加わった言語に対し、文脈を考慮した識別子補完を行う方式を提案、実装し、BICT 2014 Special Track on Modularization for Practical Software Engineeringという国際会議において発表した。識別子補完はコード補完の最も基本的な場合の一つである。本提案手法において、補完候補計算時に構文解析を行うが、そのプログラムはyaccを使って自動生成したものを用いているところが一つの特徴である。yaccはエラー回復機能を持っており、errorという特別な字句を構文定義中に記述することにより、ソースコード中に構文エラーがあった場合のエラーからの回復方法を制御することができる。一般にプログラミングにおいては一部が書きかけのまま他の部分を記述したりすることにより、エラーを含んだ状態で補完候補の計算を行う必要がある。現在広く使われている開発環境においてもエラーを含んだ状態で補完候補が表示されるが、内部でどのような計算が行われているかプログラマーに明確に分からない。熟練プログラマにとっては開発環境の機能の挙動が予想できることが望ましく、本研究の提案手法により、LR構文解析およびyaccのエラー回復を知っているプログラマにとって補完機能に関する挙動が明確に分かり、かつエラーの制御をある程度行うことが可能である。上記提案手法はEmacsモードとして実装し、web page上で公開した。補完候補の計算はyaccで自動生成されたC言語プログラムを用いて行い、Emacs lispプログラムとの間で通信を行っている。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

2014年度は補完計算において計算の再利用方式を検討する予定であったが、構文エラーを含む場合へ対応する補完手法の提案および実装を行った。この手法において、構文エラーへの対応がユーザにとって明確であるだけでなく、対象言語の構文解析プログラムがyaccで生成するされることを前提としている。このことにより、仕様が明確な補完機能の実装を対象言語のコンパイラの構文解析のコードを再利用して行うことが可能になった。コンパイラのコードの再利用は2015年度に検討を予定していたことであり、その一部が達成されている。

Strategy for Future Research Activity

識別子補完を含む、より一般的なコード補完方式を確立する。また、型エラーを含む場合への対応や計算の再利用方式について検討する。

Causes of Carryover

3月頃に開催される国内会議での成果発表、研究調査のための旅費および学会参加費を残していたが、予算の効率的仕様のために次年度予算に繰り越すこととした。

Expenditure Plan for Carryover Budget

物品費や、国内会議、国際会議の旅費、参加費等に使用する。

  • Research Products

    (1 results)

All 2014

All Presentation (1 results)

  • [Presentation] Toward Modular Implementation of Practical Identifier Completion on Incomplete Program Text2014

    • Author(s)
      Isao Sasano
    • Organizer
      BICT 2014 Special Track on Modularization for Practical Software Engineering
    • Place of Presentation
      The University of Massachusetts Club
    • Year and Date
      2014-12-02

URL: 

Published: 2016-06-01  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi