OpenC++ Home Page

Welcome...

OpenC++ is a version of C++ with a Metaobject Protocol.
In other words, it is a tool of source-code translation for C++.
Programmers can
easily implement various kinds of translation so that they can define
new syntax, new annotation, and new object behavior. OpenC++ is
useful if they need, for example,

Developing extensions to C++, to provide support for things like parallelism,
distribution, concurrency, and persistence.

The license for OpenC++ follows the spirit of open source.
Although the license is not one of the well-known standard license like GPL
since it was developed long time ago
and some part of the code is owned by Xerox, you can include this software
in your commercial product without opening the source code to the public.
For more details, see the copyright notices.

Old versions...

This version includes OpenC++ mentioned
in the OOPSLA'95 paper. This distribution package includes source code
of the compiler, a manual, and sample programs. To run it, GNU g++ 2.x
running on SunOS 4.x, Solaris 2.x, or Linux is required. Other platforms
have not been tested. This package is free to use.
For details, see the
copyright notice.

Related Projects...

Javassist is yet another reflective system for Java.
It is a class library for editing bytecodes at runtime
in Java. Unlike other similar systems, Javassist is
based on reflection and hence it provides higher-level
abstraction.