本研究は,Hygienic構文マクロシステムのための系統的な実装方式とその応用を研究の目的とする.マクロシステムは、C言語、C++言語を始めとしてさまざまなプログラミング言語で使用されているが、さまざまな問題の原因となることも指摘されている。この点を改善するHygienic構文マクロシステムはLISPについて研究されてきたが、一般のプログラミング言語への応用は限定的であるため、本研究ではHygienic構文マクロシステムの設計と実装についての系統的な手法を見つけることを目的としている。幸いにも,ほぼ当初計画に沿って,研究は進行しており,平成24年度に開発したJavaScriptのためのHygienic構文マクロシステムのプロトタイプをもとに,この技術をオブジェクト指向関数型言語Scalaにも応用し,そのプロトタイプを完成することができた.Hygienic構文マクロシステムを実装する上での困難は,計画書にも記述した通り,以下の二点がある.(1) 拡張可能な構文解析器の実装,(2) 汎用マクロ展開器の実装.これらの困難は,解析表現文法を抽象層を取り込み,構文解析文法を中心とした構文解析技術を応用することで表現力が豊かマクロシステムをコンパクトに実装できることを示した.これらの知見が,JavaScript という特定の言語に留まらず,Scalaというよりリッチなプログラミング言語についても展開できることを示すことにより,本提案手法の適用範囲の広さを示すことができた.
|