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

2021 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 – 2023-03-31
Keywords構文補完 / LR構文解析 / 構文解析器生成系 / 文法 / 生成規則 / プログラミングツール
Outline of Annual Research Achievements

2021年度は、全南大学校のKwanghoon Choi教授とともに、国際会議ACM Partial Evaluation and Program Manipulation(PEPM2021)で発表を行ったLR構文解析に基づく構文補完方式について、現実に用いられている言語へ適用することを目指し、改良を行った。まず、PEPM2021で発表した方式をHaskell、C、Small Basic等の言語に適用した。それぞれの言語について、数百行程度の入力途中のプログラムを作成し、計算される補完候補を確認した。その結果、プログラマが通常期待する候補が計算されない場合があり、補完候補計算方式の改良を行った。PEPM2021で発表した方式は、カーソル位置までのソースコードの最後の入力途中の構文を補うことを意図し、カーソル位置まで構文解析を行った時点のスタック上の終端あるいは非終端の記号列の何らかの接尾辞と連結することによって、言語の文法のどれかの生成規則の右辺と一致するような、終端あるいは非終端の記号列を補完候補にするというものであった。この方式だと、例えばブロック文の開始部分などが補完候補に含まれなくなるという問題がある。そこで、上記の条件を緩和する案をいくつか考案し、実装した。プログラマが通常期待するような補完候補が計算されるようになりつつあるが、現状の実装では、補完候補の計算に長い時間がかかる場合があり、1秒など一定時間内で計算された候補のみをプログラマに提示するということを検討している。また、改良した補完候補計算方式について、雑誌論文の投稿の準備を行った。

Current Status of Research Progress
Current Status of Research Progress

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

Reason

構文解析器の内部状態を用いたコード補完方式の考案および実装が本研究課題で取り組む内容であるが、2021年度はいくつかの現実の言語へ適用し、問題点を把握した。

Strategy for Future Research Activity

PEPM2021で発表した構文補完方式を拡張し、現実の言語で用いる際の問題点に対する対応をまとめ、雑誌論文に投稿予定である。

Causes of Carryover

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

URL: 

Published: 2022-12-28  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi