2016 Fiscal Year Annual Research Report
Project/Area Number |
15H02682
|
Research Institution | The University of Tokyo |
Principal Investigator |
千葉 滋 東京大学, 大学院情報理工学系研究科, 教授 (80282713)
|
Project Period (FY) |
2015-04-01 – 2019-03-31
|
Keywords | ソフトウェア開発の効率化・安定化 / ソフトウェア学 / プログラミング言語 |
Outline of Annual Research Achievements |
汎用的なホスト言語上にライブラリとして DSL を実装する技術である、埋込み DSL (embedded DSL) の実装技術について研究開発をおこなった。その中でもとくに、ホスト言語の構文の自由度を増し、より自然な表現が可能な埋込み DSL を実現する技術について研究開発をおこなった。当初、構文の自由度を増すには、「文」や「宣言」に対応することであると考えて研究を進めたが、研究の結果、本質的に重要なのは DSL 中の構文の中で「名前」の束縛を可能にすることであるとの知見を得た。従来の DSL では名前の束縛は原則としてできず、必要な場合はホスト言語の「名前」として束縛し、それを DSL の中からも使う、という方式がとられてきた。このため、DSL の構文の自然さの制限となってしまっていた。本研究では、新たな名前が導入され値が束縛されている、という状態を型情報の一部として取り扱うことで、DSL の中で独自の名前束縛を実現することを可能にした。ホスト言語の型システムを拡張し、型情報として DSL 内の名前束縛を扱えるようにしたので、コンパイル時に不正な名前参照を検出することもできる。型推論の一般的な理論的枠組みでは、名前と型の対応関係を型環境Γで表現するが、このΓをも属性に含むような新たな型、turnstile type を考案した。 以上の研究に加え、 fluent API と呼ばれるメソッド呼び出しやフィールドアクセスの連鎖で、埋込み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 (Domain Specific Langauge) のための基礎技術を研究した。DSL 構文の表現力を増す研究を平成 29 年度にかけて実施する計画であったが、当初計画していた研究目標を概ね平成 28 年度から 29 年度の前半にかけて達成することができた。
|
Strategy for Future Research Activity |
平成 28 年度の研究で得られた型システムを駆使して埋込み DSL の表現力を改善するアイデアを深める。具体的には DSL 開発者による DSL の実装を支援する技術として、型システムを活用して文法規則から静的な構文チェック可能な fluent API を自動生成する機構の研究をおこなう。
|
Research Products
(3 results)