Concept and implementation of C+++, an extension of C++ to support user-defined operator symbols and control structures
Christian Paul Heinlein · OPen Access Repositorium der Universität Ulm (OPARU) (Ulm University) · 2004
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.