研究課題/領域番号 |
18K11247
|
研究機関 | 法政大学 |
研究代表者 |
佐々木 晃 法政大学, 情報科学部, 教授 (90396870)
|
研究分担者 |
廣津 登志夫 法政大学, 情報科学部, 教授 (10378268)
伊藤 克亘 法政大学, 情報科学部, 教授 (30356472)
|
研究期間 (年度) |
2018-04-01 – 2022-03-31
|
キーワード | プログラミング言語 / コンパイラ / プログラミング言語生成系 / 言語推定 / エディタ |
研究実績の概要 |
本研究の目標は、効果的にプログラミング言語の開発を行うための手法を提案することである。例となるプログラムを想定し「行きつ戻りつ」を繰り返す探索的なスタイルによって、必要とする言語仕様および実装を得ることが特徴である。この手法では、ライブ「言語」プログラミングエディタによるインタラクティブな言語設計を可能とすることを目指すとともに、プログラム例を利用した言語推定アルゴリズムを統合し、言語設計の効率化を狙う。 本年度の主な成果は以下である。(1) 昨年度、プログラミング言語の正しい構文仕様から、「不正確なプログラム」の構文仕様を自動生成するアルゴリズムの検討と理論的研究を行った。本年度、応用的な研究として、実際に構文仕様から不正確なプログラムを解析可能とする仕様を自動生成する手法の研究を進め、さらに他の表現への変換を容易にするための生成系およびツールに関する研究を行った。この研究結果によって、構文仕様が与えられた任意のプログラミング言語について、編集の途中や不正確なプログラムのまま解析を行うことが容易となった。今後、本手法によるアルゴリズムを、言語仕様の推定に応用することを目指す。(2)本課題では、提案する手法がドメイン特化言語の開発に応用可能であることを検証する。これに関連して、エージェントシミュレーション向け言語システムの設計と実装を昨年度に引き続き継続し、社会シミュレーション言語に関する研究を行った。また、教育向けビジュアル言語への応用の検討を行った。今後、例示による言語開発アプローチの適用を行う。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
I. 本課題では、言語の設計を探索的に行うための対話的設計ツールの研究を行う。これは、ライブ「言語」プログラミングエディタと、言語推定のためのアルゴリズムからなる。研究実績の概要で述べた(1)の研究では、プログラムを編集しながら実行を即座に確かめられるライブプログラミングの実装を可能とするツールについて研究を進めた。また、提案手法を実際にソフトウェアシステムとして実現した。これにより、ライブ言語エディタを実現するための理論的、実践的基盤の準備が整った。さらに、本手法は、正確な言語仕様から、記述途中の状態など不完全なプログラムを解析できる言語仕様を推定するものである。これを応用し、典型例としての言語仕様から、別の仕様を自動生成する手法に応用できると考えている。なお、上記の研究を中心に進めたため、予定していた統計的機械翻訳を応用した言語推定の研究は、予定通りには進まなかった。 II. 未知言語を提案するアルゴリズムを用いて推定することを応用課題として目標としている。計画では、未知言語の種類として社会シミュレーションを行うための言語を想定しているが、研究実績の概要(2)項で述べた研究を行った。さらに、教育向けプログラミングの分野でのドメイン特化言語に関しても、実際の言語の設計実装を行い検討を行った。 以上を総合して(3)やや遅れていると判断した。
|
今後の研究の推進方策 |
ライブ「言語」プログラミングツールの実現にむけて、探索的に言語仕様を設計するツールを完成する。特に、前年度までに検討を行った、プログラム例から構文の候補を導出し選択的に仕様を決定させる手法を導入する。また、統計的機械翻訳による研究をすすめ、機械学習のアプローチを援用した手法を統合する。意味の推定については、探索的にインタプリタを作成していく手法を通じて、言語の意味の設計を支援する。応用として、未知言語としてドメイン特化言語の設計が可能であることを実験を通して検証する。
|
次年度使用額が生じた理由 |
COVIT-19の影響により、旅費の支出が予定よりも大幅に減ったため、次年度使用額が生じた。 ソフトウェア整備、開発等で、研究補助を依頼し、研究の効率化を図る予定である。
|