A Study on Realization of Language Processors by Providing Program Examples
Project/Area Number |
18K11247
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Hosei University |
Principal Investigator |
佐々木 晃 法政大学, 情報科学部, 教授 (90396870)
|
Co-Investigator(Kenkyū-buntansha) |
廣津 登志夫 法政大学, 情報科学部, 教授 (10378268)
伊藤 克亘 法政大学, 情報科学部, 教授 (30356472)
|
Project Period (FY) |
2018-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2020: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
Fiscal Year 2019: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2018: ¥1,690,000 (Direct Cost: ¥1,300,000、Indirect Cost: ¥390,000)
|
Keywords | プログラミング言語 / コンパイラ / プログラミング言語生成系 / 言語推定 / エディタ / プログラミング言語処理系 / ライブプログラミング / ドメイン特化言語 |
Outline of Annual Research Achievements |
本研究の目標は、「行きつ戻りつ」を繰り返す探索的なスタイルによって、効果的にプログラミング言語の開発を行うための手法を提案することである。本応募課題では、開発者がプログラムの例示に基づいて言語の設計を探索的に行いつつ、効率的にその言語処理系の実装を得る手法の開発を目指す。
本課題の目標の一つは、汎用言語ではない新たな言語の開発、特にドメイン特化言語(DSL)の開発に本手法を応用することである。本年度は、エージェントシミュレーション言語の開発を目標とし、振る舞いを詳細に記述する必要のあるシミュレーションについての研究を行った。また、DSLとして西洋音楽の楽譜を記述する言語とその演奏環境について設計した。前者は、本手法を適用する社会シミュレーション分野のドメイン特化言語(DSL)の設計を目的としている。実際にシミュレーションシステムの開発を行うことで、DSLが表現すべきモデルの検討を行った。後者については、構文の仕様に基づいた、探索的な編集が可能なインタフェースについて考案し、プロトタイプ実装を環境に組み込んだ。さらに、新たなDSLとして、教育向けプログラミング環境の開発におけるブロック言語について、その構文を本手法によって効率的に設計可能かどうかを検討した。本来、ビジュアル言語にはテキストとしての構文は不要であるが、構造に従った言語ブロックの組み合わせによって、プログラムを表現するため、本手法が有用であるとの示唆を得た。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本年度は、未知言語の開発における本方式の有効性や手法を検討・実験を行うことを目的とし、ドメイン特化言語(DSL)についての研究を主に行った。概要の項で述べたように、DSLとして、シミュレーション言語の検討を行い、また、プログラミング言語とは少し離れた、楽譜を記述するための言語についての適用可能性を検討した。これらのDSLを設計する際に、本方式によるライブ「言語」プログラミングエディタを用いることを目標としていたが、エディタが実装段階には進んでいなかったため、検討段階までに留まった。一方で、教育向け環境のためのブロック言語を対象とする研究は、当初の計画にはなかった研究であったが、新たな発想につながる結果を得た。
|
Strategy for Future Research Activity |
ライブ「言語」プログラミングツールの実現にむけて、これまでの研究成果に基づいて、探索的に言語仕様を設計するツールの開発を進める。特に、プログラム例から構文の候補を導出し選択的に仕様を決定させる手法の実装を進める。プログラミング言語の動的意味を考慮した効率化については、探索的にインタプリタを作成していく手法を通じて、言語の意味の設計を支援するシステムの実装を行う。また、未知言語としてドメイン特化言語の設計が可能であることを実験を通して検証を行う。
|
Report
(5 results)
Research Products
(25 results)