Concept and implementation of C+++, an extension of C++ to support user-defined operator symbols and control structures
FacultiesFakultät für Informatik
LicenseStandard (Fassung vom 03.05.2003)
The first part of this report presents the concepts of C+++, an extension of C++ allowing the programmer to define new operator symbols with user-defined priorities by specifying a partial precedence relationship. Furthermore, so-called fixary operator combinations consisting of a sequence of associated operator symbols to connect a fixed number of operands as well as flexary operators connecting any number of operands are supported. Finally, operators with lazily evaluated operands are supported which are particularly useful to implement new kinds of control structures, especially as they accept whole blocks of statements as operands, too. In the second part of the report, the implementation of C+++ by means of a 'lazy' precompler for C++ is described in detail.