CEDA is implemented in C++, and provides a front end (called Xcpp) for the
Xc++ language which is an extension to C++.
The following papers have been written:
Xcpp Build System
describes the support for writing projects and workspaces in simple text files that can then be
used to produce VC++ solution and project files.
Xcpp Macro Preprocessor
describes the support for macros which is similar to the normal C++ preprocessor, but much more
powerful. For example, it allows for static type checking of
macro arguments, nested
macros, recursive macros and loops. It also provides access to
the Python interpreter during the execution of the front end.
are based on a proposal for C++ interfaces by Christopher Diggins. The interface
directive allows for polymorphic interfaces to be defined, in a
way that is more flexible and less type intrusive than the normal
support for dynamic polymorphism in C++ using Abstract Base Classes.
provide a very convenient syntax for defining and using template mixins
which are like fragments of a class intended to be composed
with other classes or mixins.