diff options
Diffstat (limited to 'src/main/java/io/devnulllabs/openjava/mop/package.html')
-rw-r--r-- | src/main/java/io/devnulllabs/openjava/mop/package.html | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/io/devnulllabs/openjava/mop/package.html b/src/main/java/io/devnulllabs/openjava/mop/package.html new file mode 100644 index 0000000..f34cd8a --- /dev/null +++ b/src/main/java/io/devnulllabs/openjava/mop/package.html @@ -0,0 +1,63 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head></head> +<body bgcolor="white"> + + +Provides classes that are fundamental to the design of the OpenJava +Meta-Object Protocols (MOP). + +<p>OpenJava is an extensible language based on Java. The extended +features of OpenJava are specified by a meta-level program given at +compile time. For distinction, programs written in OpenJava are called +base-level programs. If no meta-level program is given, OpenJava is +identical to regular Java. + +<p>The meta-level program extends OpenJava through the interface +called the OpenJava MOP (Metaobject Protocol). The OpenJava compiler +consists of three stages: preprocessor, source-to-source translator +from OpenJava to Java, and the back-end Java compiler. The OpenJava +MOP is an interface to control the translator at the second stage. It +allows to specify how an extended feature of OpenJava is translated +into regular Java code. + +<p>An extended feature of OpenJava is supplied as an add-on software +for the compiler. The add-on software consists of not only the +meta-level program but runtime support code. The runtime support code +provides classes used by the base-level program translated into +Java. The base-level program in OpenJava is first translated into Java +by the meta-level program and is dynamically linked with the runtime +support code. + +<p>The meta-level program is written in Java, accurately in OpenJava +because OpenJava is a self-reflective language. It defines new +metaobjects to control source-to-source translation. The metaobjects +are the meta-level representation of the base-level program and they +perform the translation. Details of the metaobjects are specified by +the OpenJava MOP. In the following, we go through a few examples so +that we illustrate how the OpenJava MOP is used to implement language +extensions. +<p> + + + +<h2>Package Specification</h2> + +<ul> + <li><a href="">--</a> +</ul> + +<h2>Related Documentation</h2> + +For overviews, tutorials, examples, guides, and tool documentation, please see: +<ul> + <li><a href="http://www.csg.is.titech.ac.jp/~mich/openjava/">http://www.csg.is.titech.ac.jp/~mich/openjava/</a> +</ul> + +<!-- Put @see and @since tags down here. --> + +@see java.lang.Class +@see java.lang.reflect + +</body> +</html> |