procedures, KJC - Kopi's flagship product, outclasses its major rivals to become
the first fully featured Java compiler to implement the support of Programming by
Contract and Generic Types."
Development of this latest release has been managed by Martin Lackner.
The major features implemented in this release include:
- Implements Java Specification Request JSR 14: "Add Generic Types To The Java Programming Language".
- Classes can be extended with class type variables.
- Allows covariant return types (fully compatible with the JVM).
Support of Programming by Contract
KJC now supports programming by contract without changing
the JVM, and improves on SUN's simple assertion facility
(JSR 41) to
provide you with the following advantages:
Easy definition of pre- and post conditions of methods and
constructors, and invariants of classes and invariants.
Acceptance of pre/postcondition, class/interface
invariant conditions in every statement (So the common case of
-System.out.println()- statements (for debugging) is supported).
- Inclusion of private members of the class within assertions.
- No longer necessary for the source code of a class to inherit their contracts.
- Assertions no longer placed in comments. Comments will not influence the behavior of the program.
- Fully byte-code compatible with the JVM.
Numerous bug fixes
This version of KJC closely adheres to the Java Language Specification
The majority of known issues have been resolved in accordance with the
valuable tests proposed by the Jacks test suite.
Java 2 Runtime environment
Code can now be executed on JVM 1.2 or
higher and requires a JVM class library of 1.2 or higher.
And all issues relating to inner classes have been resolved.
- Integration of Raw Types and Generic Methods.
- Support for Operator Overloading.
Kopi is official GNU
software. It is available under the terms and conditions of the
GNU General Public License as published by the Free Software Foundation.
The latest version of the Kopi Suite is available for download at