研究課題/領域番号 |
18K11247
|
研究機関 | 法政大学 |
研究代表者 |
佐々木 晃 法政大学, 情報科学部, 教授 (90396870)
|
研究分担者 |
廣津 登志夫 法政大学, 情報科学部, 教授 (10378268)
伊藤 克亘 法政大学, 情報科学部, 教授 (30356472)
|
研究期間 (年度) |
2018-04-01 – 2021-03-31
|
キーワード | プログラミング言語 / コンパイラ / プログラミング言語生成系 / 言語推定 / エディタ |
研究実績の概要 |
本研究の目標は、「行きつ戻りつ」を繰り返す探索的なスタイルによって、効果的に言語開発を行うための手法を提案することである。本応募課題では、探索的な言語開発を実現する1つの解として、プログラムの例示に基づいて言語の設計を探索的に行いながら、効率的にその言語処理系の実装を得る手法の確立を目標としている。本研究の主要なアイディアは、言語設計者が複数のプログラム例を提示することで、そのプログラムを解釈、実行可能な言語処理系を効率的に導くものである。本年度の主な成果は以下である。(1) 厳密に構文仕様に従わない不正確なプログラムから、適切な文を推定して正しい構文のプログラムに変換するアルゴリズムについて研究を行った。このアルゴリズムにより、探索的に言語の設計を行うライブ「構文」プログラミングの効果をあげることが期待できる。(2) 複数のプログラム例から、そのプログラムがもつ構文を半自動的に推定する言語設計のための支援ツールの研究を行うとともに、プロトタイプシステムを作成した。この研究では、構文設計と同時に抽象構文木の生成システムを導出することに成功した。また、構文および意味推定の基礎的な研究として、西洋音楽の譜面データと音色データをもとに、それらのデータ列から得られるクラスターをもとに楽曲の特徴および構造をとらえる解析手法の研究を行った。(3)本手法を、ドメイン特化言語へ応用する準備として、エージェントシミュレーション向け言語システムの実装を行った。また、コンピュータ基盤技術分野での記述言語への応用として、計算機仮想化基盤にかかわる研究を行った。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
言語の設計を探索的に行うための対話的設計ツールの研究が、本課題の中心のひとつである。このツールは、ライブ「言語」プログラミングエディタと、言語推定のためのアルゴリズムからなる。研究実績の概要で述べた(1)の研究において、プログラムを編集しながら実行を即座に確かめられるライブプログラミングを可能とする手法の詳細を明らかにした。(2)の研究では、例題となるプログラムから構文の推定を行う基礎的な手順について考察を行った。その過程で、必要な中間言語の設計に関する基礎研究を行った。また、構文推定を支援する対話的なエディタのプロトタイプシステムを実装した。なお、当初、統計的機械翻訳を応用した言語推定の基本研究を進める予定であったが、今年度は、この手法を直接用いない別の解析手法について研究を進めた。応用研究として、未知言語を、アルゴリズムを用いて推定することを目標としているが、その準備的研究については、(3)の項目に書いた通り2つの専門分野での研究を進めた。以上から、研究の進捗状況は、おおむね順調に進展している、と判断した。
|
今後の研究の推進方策 |
プログラミング言語は、構文と意味から構成されるととらえられるが、本年度は、そのうち主に構文の設計に関わる部分の研究を進めた。次年度以降は、これまでの研究成果で得られた構文設計に関わるアルゴリズムやプロトタイプシステム作成で得られた知見を、ライブ「言語」プログラミングツールの研究に応用していく。また、言語の意味の設計に関わる研究を開始する。この研究では、例題を用いて探索的にインタプリタを作成していく手法を通して、言語の意味を設計していくアプローチをとる。これとは別に、複数のプログラム例題から意味を推定していくアプローチを、本年度の研究をもとに進める。本年度は、未知言語に関する応用では、対象をドメイン特化言語として、ドメインの調査のみに留まったが、そのような言語の構文を提案する手法によって設計支援する研究を開始する。
|
次年度使用額が生じた理由 |
一部、年度末の執行に間に合わない経費(謝金、旅費)が生じたため、また、国際会議での発表予定を一部国内に切り替えたため、次年度使用額が生じている。また、ソフトウェア開発補助を予定より少額に抑えた。次年度以降の同項目の経費として用いる予定である。
|