研究課題/領域番号 |
26330079
|
研究機関 | 東京工業大学 |
研究代表者 |
脇田 建 東京工業大学, 情報理工学院, 准教授 (10242265)
|
研究分担者 |
渡部 卓雄 東京工業大学, 情報理工学院, 教授 (20222408)
佐々木 晃 法政大学, 情報科学部, 教授 (90396870)
|
研究期間 (年度) |
2014-04-01 – 2018-03-31
|
キーワード | 健全マクロ / メタプログラミング / 解析構文文法 / 構文解析 |
研究実績の概要 |
本課題のテーマ「汎言語的健全構文マクロ機構を用いた言語処理系構築手法」に沿って、健全なマクロ展開システムの実装技術の研究、及びマクロ機構、メタプログラミングを用いた応用研究を進めた。 前者については、字句レベル構文解析文法、および抽象字句ストリームを対象とした構文解析文法を用いる手法について研究を実施した。(1)前者はマクロ定義のパターンとテンプレートの対比を字句レベル構文解析文法(Parsing Expression Grammar)を用いたコンパイラ生成器で実装し、構文マクロ展開後の抽象構文木を逆変換してマクロ記述を含まないホスト言語のコードを生成するアプローチ(伊藤、脇田)である。この手法は、マクロシステム実装に要求される構文の文法記述の負担を大幅に削減できることにある。(2)後者は抽象字句ストリーム上での構文解析文法処理システムのOMetaに近年Flattが提案したスコープ集合を応用したマクロ展開方式を応用したアプローチ(星野、高桑、渡部)である。この研究は、プログラムだけでなくデータ構造に対するマクロ変換も可能となった。 応用面では、以下のいくつかの研究を実施した:(3)GPGPUを用いた汎用並列計算や実時間組込みプログラミングについて応用領域特化型プログラミング技術を応用したPythonの拡張言語を開発(鎌田、佐々木)、(4)プログラミングが困難な実時間組込みシステムについて関数型リアクティブプログラミングを実施できるメタプログラミング機構を設計し可読性とデバッグの容易性を高めた。(中野、佐々木&柴内、渡部)、(5)メタプログラミングを用いた OpenGL 計算シェーダ向け組込みコードの自動生成の研究(高野、脇田)、(6)メタプログラミングを用いたソフトウェアドキュメントの自動生成に向けての一般的な手法(高野、脇田)を試みた。
|