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

A systematic approach to implementing context-sensitive code completion

Research Project

Project/Area Number 16K00106
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Research Field Software
Research InstitutionShibaura Institute of Technology

Principal Investigator

Sasano Isao  芝浦工業大学, 工学部, 准教授 (10362021)

Project Period (FY) 2016-04-01 – 2020-03-31
Project Status Completed (Fiscal Year 2019)
Budget Amount *help
¥2,080,000 (Direct Cost: ¥1,600,000、Indirect Cost: ¥480,000)
Fiscal Year 2018: ¥650,000 (Direct Cost: ¥500,000、Indirect Cost: ¥150,000)
Fiscal Year 2017: ¥650,000 (Direct Cost: ¥500,000、Indirect Cost: ¥150,000)
Fiscal Year 2016: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
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.

Academic Significance and Societal Importance of the Research Achievements

広く使われているEclipse、Visual Studio等の開発環境において構文補完機能が提供されているが、形式的仕様が定められていないか、あるいは公開されていない。熟練プログラマは正確に把握できない機能の使用を避ける場合がある。また学術的には1980年代にSynthesizer GeneratorやMENTOR等、構造エディタの研究が多く行われた。近年では、構造エディタでの編集の正しさを論じた研究などもある。しかし構造エディタはプログラマが自由にプログラムテキストを編集するのを妨げる。本研究は、自由なプログラム編集を妨げることなく構文補完を行うための基本方式を提案したものである。

Report

(5 results)
  • 2019 Annual Research Report   Final Research Report ( PDF )
  • 2018 Research-status Report
  • 2017 Research-status Report
  • 2016 Research-status Report
  • Research Products

    (5 results)

All 2020 2018 2017 2016 Other

All Presentation (4 results) (of which Int'l Joint Research: 3 results) Remarks (1 results)

  • [Presentation] An approach to generate text-based IDEs for syntax completion based on syntax specification2020

    • Author(s)
      Isao Sasano
    • Organizer
      ACM SIGPLAN 2020 Workshop on Partial Evaluation and Program Manipulation (PEPM 2020)
    • Related Report
      2019 Annual Research Report
    • Int'l Joint Research
  • [Presentation] An approach to generating text-based IDEs with syntax completion2018

    • Author(s)
      Isao Sasano
    • Organizer
      ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2018), short presentation, poster, demo
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Presentation] Detecting code clones with gaps by function applications2017

    • Author(s)
      Tsubasa Matsushita, Isao Sasano
    • Organizer
      ACM SIGPLAN 2017 Workshop on Partial Evaluation and Program Manipulation (PEPM 2017)
    • Place of Presentation
      The Jussieu campus of Universite Pierre et Marie Curie
    • Year and Date
      2017-01-16
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Presentation] LR構文解析のエラー回復機能を用いたキーワード補完機能の系統的導出2016

    • Author(s)
      白楊, 篠埜 功
    • Organizer
      情報処理学会 第109回プログラミング研究発表会
    • Place of Presentation
      浜松市福祉交流センター
    • Year and Date
      2016-06-09
    • Related Report
      2016 Research-status Report
  • [Remarks] An emacs mode for syntax completion

    • URL

      http://www.cs.ise.shibaura-it.ac.jp/pepm2020/

    • Related Report
      2019 Annual Research Report

URL: 

Published: 2016-04-21   Modified: 2021-02-19  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi