2016 Fiscal Year Research-status Report
Project/Area Number |
16K16040
|
Research Institution | National Institute of Informatics |
Principal Investigator |
対馬 かなえ 国立情報学研究所, アーキテクチャ科学研究系, 特任助教 (80754663)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | 型エラー / デバック / プログラミング言語 / プログラミング補助 / 構文解析 |
Outline of Annual Research Achievements |
本年度は、リアルタイム型エラーデバッグに必要と考えられる基盤技術のうち、「リアルタイム構文解析」と「型エラースライシング」に関する研究を行った。 「リアルタイム構文解析」では漸進的構文解析のように、一部だけ変更されたプログラムに対して構文解析を行う手法を提案した。漸進的構文解析との違いとしては、既存のコンパイラの構文解析器を使用して行う点である。そのため、特殊な構文解析器を作成する必要がなく、既存の言語を対象に一部だけ変更されたプログラムに対する構文解析の実装は容易になった。具体的には、コンパイラの構文解析器を使用して、構文同士の結合度による組み替え・他の構文の略奪の規則を導出し、それらが行われるプログラムを自動的に生成する。括弧等の抽象構文木の時点で失われる情報は人が補う必要があるが、それ以外のプログラムは扱うことができた。 「型エラースライシング」では、これまでに提案した手法の実装および拡張を行った。実装では、関数型言語 OCaml を対象として、実装を完了した。拡張では、これまでプログラムの式のみをスライシングの対象としていたが、パターンのスライシングを行う手法を確立した。この手法の特徴は、これまでに提案した型エラースライシング手法と同様に、プログラムの構文を見ることなく、既存のコンパイラの構文解析器を使って型情報を求め、その型情報を参照して判断することである。それにより、構文情報をたどる必要がなく、実装が容易になった。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本年度進展のあったリアルタイム構文解析に関してはおおよそ基礎が確立でき、実装と検証の段階である。また型エラースライシングに関しては実装がほぼ完了し、ユーザテストの段階である。
|
Strategy for Future Research Activity |
今後はリアルタイム構文解析と型エラーデバッグを組み合わせ、リアルタイム型エラーデバッグを実現する。型エラースライシングの手法についても早めに定式化し、発表して進展させたい。
|