Xcpp

CEDA is implemented in C++, and provides a front end compiler (the Xcpp console application) for the Xc++ language which is an extension to C++.

The Xcpp Build System provides a convenient and flexible means to create and edit C++ projects and solutions that target the following platforms:

The Xcpp build system allows developers to create textual representations of projects and workspaces, in files with extensions xcpj and xcws respectively. These textual representations are written in a custom designed language that is simple, elegant, flexible and very concise. It promotes sharing of build settings with the result that a given project typically only needs to specify the files in that project (because all the compiler switches, linker switches and configurations are inherited using an @import directive).

All the source files are assumed to exist in a virtual tree structure which is "virtual" or "logical" in the sense that physically there may be multiple root folders which together provide all the source code.

The concept of the virtual tree helps provide a satisfactory approach for dealing with multiple versions of a given library that are needed in by other libraries and projects in various combinations, without needing to duplicate the source files.

The build artefacts folder is a folder which holds all generated outputs of the build process.

Xcpp Papers

The following papers have been written: