• 検索結果がありません。

オブジェクト指向言語に対するメタプログラミング言語の設計と実装

N/A
N/A
Protected

Academic year: 2021

シェア "オブジェクト指向言語に対するメタプログラミング言語の設計と実装"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)Vol. 48. No. SIG 12(PRO 34). Aug. 2007. 情報処理学会論文誌:プログラミング. 発表概要. オブジェクト指向言語に対するメタプログラミング言語の設計と実装 佐 々 木. 卓†. 亀. 山. 幸. 義†. ソフトウェアの大規模化・複雑化に対応するため,オブジェクト指向言語とそれをさらに補強する さまざまな技術が研究されている.本研究は,それらの技術の 1 つであるメタプログラミングを,実 用的なオブジェクト指向言語である C++を対象として行うメタプログラミング言語 PatternC++を 提案する.メタプログラミングはある種のデータからソースコードを生成する技術であり,大規模ソ フトウェアの効率的な作成に有効である.C++言語に対するメタプログラミングとしては,テンプ レートを用いた技法(TMP)が一般に利用されている.しかし,テンプレートはメタプログラミン グを意図した機能ではないため,記述が非常に煩雑となり,利用が難しいなどの問題点がある.さら に,オブジェクト指向プログラミングにおいては,パターンに基づくプログラムの設計,すなわち, 個別のプログラム言語やデータ記述によらない形でのクラス設計が注目されている.パターンを利用 して設計の本質を抽象することにより,設計の比較検討が容易になり,設計の再利用性が向上する等 の利点がある.つまり,パターンを利用することによって複雑なプログラムを容易に扱うことができ るようになる.本研究では,テンプレートの問題点を改善し,パターンに基づく開発を考慮に入れた メタプログラム言語を設計し実装を行った.. The Design and an Implementaion of Pattern C++ Suguru Sasaki† and Yukiyoshi Kameyama† Various technologies that enhance the object oriented programming languages have been investigated by many researchers as we are facing increasingly large-scale and complex software. This paper addresses this issue, and in particular, proposes Pattern C++, a new metaprogramming language for the C++ language. Pattern C++ has two major advantages as a language; it improves over the existing method of metaprogramming for C++, and it makes it possible to design software in terms of patterns, that is, pattern-based design of programs. Metaprogramming is a method to automatically generate source codes from a certan set of data, and is thus effective to develop large-scale software. The existing, popular way to do metaprogramming for C++ is Template Metaprogramming (TMP). A big problem with TMP is that it is very difficult to use in practice. The reason we think is that templates are not intended to be a facility for metaprogramming, hence one needs a better language for metaprogramming in C++. Pattern-based program design is to design classes independently from any conrete representation of programs and data, and is by now one of the mainstream technologies in object oriented languages. Since the pattern-based design abstracts the essence of design, it becomes easy to compare one design with others, improve it, and reuse it. Therefore, pattern-based design enables one to deal easily with large, complex programs. In this paper, we introduce the design and an implementation of Pattern C++.. (平成 19 年 3 月 22 日発表). † 筑波大学大学院システム情報工学研究科 Graduate School of Systems and Information Engineering, University of Tsukuba. 68.

(2)

参照

関連したドキュメント

いずれも深い考察に裏付けられた論考であり、裨益するところ大であるが、一方、広東語

るところなりとはいへども不思議なることなるべし︒

2021] .さらに対応するプログラミング言語も作

The proof uses a set up of Seiberg Witten theory that replaces generic metrics by the construction of a localised Euler class of an infinite dimensional bundle with a Fredholm

しかし,物質報酬群と言語報酬群に分けてみると,言語報酬群については,言語報酬を与

Amount of Remuneration, etc. The Company does not pay to Directors who concurrently serve as Executive Officer the remuneration paid to Directors. Therefore, “Number of Persons”

Guasti, Maria Teresa, and Luigi Rizzi (1996) "Null aux and the acquisition of residual V2," In Proceedings of the 20th annual Boston University Conference on Language

 “ボランティア”と言えば、ラテン語を語源とし、自