A compiler for the Micro Java language. French documentation only.
|
|||||
|
A compiler for the Micro Java language. French documentation only. OHL is a Java extension that adds sub-type switching to Java as in switch (figure) {
case instanceof Circle {
return "Radius: " + figure.getRadius();
}
case instanceof Square {
return "Side length: " + figure.getSideLen();
}
}
Guarana is a reflective architecture that aims at simplicity, flexibility, security and reuse of meta-level code. It features a run-time meta-object protocol that provides for easy composition of meta-objects and allows for dynamic reconfiguration. Meta-objects can be combined through composers, that provide the glue code for them to work together, delegating control to them and resolving conflicts when they arise. Since composers are meta-objects, they can be further composed. Dejay is a dialect of Java that simplifies the development of distributed software applications. Software architecture describes the structure of a system, enabling more effective design, program understanding, and formal analysis. ArchJava is an extension to Java that seamlessly unifies software architecture with implementation, ensuring that the implementation conforms to architectural constraints. Gilgul is an extension of Java that strictly separates the notions of reference and comparison that are traditionally subsumed in the concept of object identity. This allows for the introduction of new operations that open up new degrees of flexibility during runtime by providing means for unanticipated software evolution. For example, Gilgul supports dynamic replacement of objects without the need to explicitly deal with existing references. Javassist (Java programming assistant) is a load-time reflective system for Java. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar systems, Javassist provides source-level abstraction; programmers can modify a class file without detailed knowledge of the Java bytecode. Jiazzi adds support for large-scale component programming in Java. Components in Jiazzi contain, import, and export Java classes and Java’s in-language support for inheritance can be used across component boundaries. The current implementation integrates into Java using a linker, which manipulates components, and a stub generator, which allows Jiazzi to be used with normal Java source compilers. JJava code for a component is written using the normal Java language and a separate linking language is used to manipulate components. The JMatch language extends Java with support for abstract iterable pattern matching: a mechanism for pattern matching that is compatible with the data abstraction features of Java and also makes iteration abstractions convenient to use and to implement. JMatch provides abstract pattern matching; patterns are not tied to algebraic data constructors as in ML. A single JMatch method may be used in several modes that may share a common implementation as a boolean formula. JMatch provides modal abstraction that simplifies the specification and implementation of abstract data types. JMatch also makes the specification, implementation, and use of iteration abstractions convenient, by automatically finding multiple solutions to a formula or pattern. JEX (Java Extension) is a programming language based upon Java with built-in extensibility. JEX is a redefinition of Java using an XML syntax. This allows programmers to extend their favorite language. It also simplifies compilers, IDEs and code generators. With JEX, a project is an XML document describing the various libraries, classes, methods, etc. JEX provides a set of XSLT transformations to generate the Java class files following the JVM specification. |
|||||
|
|
|||||