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

2022 Fiscal Year Research-status Report

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

Research Project

Project/Area Number 20K11752
Research InstitutionShibaura Institute of Technology

Principal Investigator

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

Project Period (FY) 2020-04-01 – 2024-03-31
Keywords構文補完 / LR構文解析 / 構文解析器生成系 / 文法 / 生成規則 / プログラミングツール
Outline of Annual Research Achievements

2022年度は、全南大学校のKwanghoon Choi教授とともに、国際会議ACM Partial Evaluation and Program Manipulation(PEPM 2021)で発表を行ったLR構文解析に基づく構文補完方式について、Haskell、C、Small Basic、PolyRPC等の言語に実際に適用したところ、問題点がいくつかあり、それらに対応するため、simple candidate, nested candidate, extended simple candidate等、補完候補の仕様をいくつか定め、それらを計算するアルゴリズムを考案し、Haskell言語で実装した。実装した補完候補計算システムは、以前から用いているEmacs Lispのプログラムを用いることにより、Emacs上でプログラム編集中にTabキーを押すことにより呼び出され、計算結果である補完候補がEmacsに送られ、popup windowとして表示され、プログラマが候補を選択するとカーソル位置に挿入される。
さらに、さまざまなプログラム例に対し補完候補計算にかかる時間や計算される補完候補を確認し、整理した。複雑な仕様における補完候補を求める場合においても、約0.2秒以下で半分の補完候補が計算され、9割程度の補完候補が約1秒以内で計算されることを確認した。これらの内容を論文としてまとめ、国際論文誌へ投稿し、現在査読中である。また、査読コメントをもとに、既存研究との比較、参考文献の追加等、さまざまな点で論文の改良を行った。実装したシステムのソースコードはgithub(https://github.com/kwanghoon/{yapb,arith,smllike,sbparser,polyrpc,c11parser,haskellparser})上で公開している。

Current Status of Research Progress
Current Status of Research Progress

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

Reason

予定どおり、国際会議PEPM2021の論文の内容を発展させ、国際論文誌へ投稿した。

Strategy for Future Research Activity

国際論文誌に投稿中の論文について、査読コメントに対応し、修正を行う予定である。

Causes of Carryover

今年度は国際会議での発表などを行っておらず、次年度使用額が生じた。これと次年度分の助成金を合わせ、国際会議や研究打ち合わせの旅費、参加費等に用いる。

Remarks

A programmable parser builder system

  • Research Products

    (2 results)

All Other

All Int'l Joint Research (1 results) Remarks (1 results)

  • [Int'l Joint Research] 全南大学校(韓国)

    • Country Name
      KOREA (REP. OF KOREA)
    • Counterpart Institution
      全南大学校
  • [Remarks] YAPB: Yet Another Parser Builder

    • URL

      https://github.com/kwanghoon/yapb

URL: 

Published: 2023-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi