研究課題/領域番号 |
16K16040
|
研究機関 | 国立情報学研究所 |
研究代表者 |
対馬 かなえ 国立情報学研究所, アーキテクチャ科学研究系, 特任助教 (80754663)
|
研究期間 (年度) |
2016-04-01 – 2019-03-31
|
キーワード | 型エラー / デバック / プログラミング言語 / プログラミング補助 / 構文解析 |
研究実績の概要 |
本年度は、リアルタイム型エラーデバッグに必要と考えられる基盤技術のうち、「リアルタイム構文解析」と「型エラースライシング」に関する研究を行った。 「リアルタイム構文解析」では漸進的構文解析のように、一部だけ変更されたプログラムに対して構文解析を行う手法を提案した。漸進的構文解析との違いとしては、既存のコンパイラの構文解析器を使用して行う点である。そのため、特殊な構文解析器を作成する必要がなく、既存の言語を対象に一部だけ変更されたプログラムに対する構文解析の実装は容易になった。具体的には、コンパイラの構文解析器を使用して、構文同士の結合度による組み替え・他の構文の略奪の規則を導出し、それらが行われるプログラムを自動的に生成する。括弧等の抽象構文木の時点で失われる情報は人が補う必要があるが、それ以外のプログラムは扱うことができた。 「型エラースライシング」では、これまでに提案した手法の実装および拡張を行った。実装では、関数型言語 OCaml を対象として、実装を完了した。拡張では、これまでプログラムの式のみをスライシングの対象としていたが、パターンのスライシングを行う手法を確立した。この手法の特徴は、これまでに提案した型エラースライシング手法と同様に、プログラムの構文を見ることなく、既存のコンパイラの構文解析器を使って型情報を求め、その型情報を参照して判断することである。それにより、構文情報をたどる必要がなく、実装が容易になった。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本年度進展のあったリアルタイム構文解析に関してはおおよそ基礎が確立でき、実装と検証の段階である。また型エラースライシングに関しては実装がほぼ完了し、ユーザテストの段階である。
|
今後の研究の推進方策 |
今後はリアルタイム構文解析と型エラーデバッグを組み合わせ、リアルタイム型エラーデバッグを実現する。型エラースライシングの手法についても早めに定式化し、発表して進展させたい。
|