• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 前のページに戻る

構文解析を用いたテキストベースコード補完

研究課題

研究課題/領域番号 20K11752
研究種目

基盤研究(C)

配分区分基金
応募区分一般
審査区分 小区分60050:ソフトウェア関連
研究機関芝浦工業大学

研究代表者

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

研究期間 (年度) 2020-04-01 – 2024-03-31
研究課題ステータス 完了 (2023年度)
配分額 *注記
3,250千円 (直接経費: 2,500千円、間接経費: 750千円)
2022年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2021年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2020年度: 1,430千円 (直接経費: 1,100千円、間接経費: 330千円)
キーワードコード補完 / 構文補完 / LR構文解析 / 文形式 / 簡約 / 統合開発環境 / 構文解析器生成系 / 文法 / 生成規則 / プログラミングツール / LR解析 / 構文解析 / 構造エディタ / 属性文法
研究開始時の研究の概要

本研究では、テキストベース(プログラマが自由にコードを編集するのを妨げない)でかつ形式的に仕様が定められたコード補完機能、特に構文補完機能を構文解析器と連携しながら実現する方式の考案および実装を行う。理論面では、構文解析器の内部状態を用いたコード補完方式を開発する。実装面では、理論面の研究に基づき、コード補完機能を構文解析器と連携しながら系統的に行う技法を考案し、Emacs等のエディタの編集操作に応じて動作するコード補完機能を提供する。

研究成果の概要

本研究課題では、テキストエディタを用いたプログラミング時のコード補完を行う新たな方式を提案し、実装した。この方式はLR構文解析器の内部状態を用いるものであり、プログラムの先頭からカーソル位置までのコードを構文解析し、その時点の構文解析器のスタック上の記号および状態の列をもとにカーソル位置以降に入りうる構文の候補を計算してプログラマに提示するものである。実装はEmacsに対して行い、補完候補計算はHaskell、インターフェースはEmacs Lispで実装し、Haskell、C等の言語で実際に使えることを確認した。また、実装したコード補完システムのソースコードをweb page上で公開した。

研究成果の学術的意義や社会的意義

Visual Studio等の開発環境において構文補完機能が使われ始めているが、通常、仕様が明示されていない。本研究課題は、構文解析を用いて、カーソル位置までに構文エラーがない場合に、カーソル位置以降の構文の候補を提示する方式を考案したものである。学術的には1980年代にSynthesizer GeneratorやMENTOR等、構造エディタの研究が行われ、近年では、構造エディタでの編集の正しさを論じた研究もある。しかし構造エディタはプログラマが自由にプログラムテキストを編集するのを妨げる。本研究は、自由なプログラム編集を妨げることなく構文補完を行うための方式を提案したものである。

報告書

(5件)
  • 2023 実績報告書   研究成果報告書 ( PDF )
  • 2022 実施状況報告書
  • 2021 実施状況報告書
  • 2020 実施状況報告書
  • 研究成果

    (7件)

すべて 2024 2023 2021 その他

すべて 国際共同研究 (3件) 雑誌論文 (1件) (うち国際共著 1件、 査読あり 1件) 学会発表 (2件) (うち国際学会 2件) 備考 (1件)

  • [国際共同研究] 全南大学校(韓国)

    • 関連する報告書
      2023 実績報告書
  • [国際共同研究] 全南大学校(韓国)

    • 関連する報告書
      2022 実施状況報告書
  • [国際共同研究] Chonnam National University(韓国)

    • 関連する報告書
      2020 実施状況報告書
  • [雑誌論文] A text-based syntax completion method using LR parsing and its evaluation2023

    • 著者名/発表者名
      Isao Sasano, Kwanghoon Choi
    • 雑誌名

      Science of Computer Programming

      巻: 228 ページ: 102957-102957

    • DOI

      10.1016/j.scico.2023.102957

    • 関連する報告書
      2023 実績報告書
    • 査読あり / 国際共著
  • [学会発表] Ranked syntax completion with LR parsing2024

    • 著者名/発表者名
      Kwanghoon Choi, Sooyeon Hwang, Hyeonah Moon, Isao Sasano
    • 学会等名
      The 39th ACM SIGAPP Symposium on Applied Computing (SAC 2024)
    • 関連する報告書
      2023 実績報告書
    • 国際学会
  • [学会発表] A text-based syntax completion method using LR parsing2021

    • 著者名/発表者名
      Isao Sasano and Kwanghoon Choi
    • 学会等名
      ACM SIGPLAN 2021 Workshop on Partial Evaluation and Program Manipulation (PEPM 2021)
    • 関連する報告書
      2020 実施状況報告書
    • 国際学会
  • [備考] YAPB: Yet Another Parser Builder

    • URL

      https://github.com/kwanghoon/yapb

    • 関連する報告書
      2022 実施状況報告書 2020 実施状況報告書

URL: 

公開日: 2020-04-28   更新日: 2025-01-30  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi