diff options
Diffstat (limited to 'lang/joos/DESCR')
-rw-r--r-- | lang/joos/DESCR | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/joos/DESCR b/lang/joos/DESCR new file mode 100644 index 00000000000..3696b416f05 --- /dev/null +++ b/lang/joos/DESCR @@ -0,0 +1,20 @@ +Joos is an acronym for Java's Object-Oriented Subset. JOOS is a +proper subset of Java, defined as follows: + * its context-free syntax is restricted to the following grammar; + * subclassing must not change the signature of a method; + * declarations of locals must all be in the beginning of the statement + sequence in a block; + * protected fields cannot be accessed from without the class or its + subclasses; and + * every path through a non-void method must return a value. + +In addition, JOOS defines a concept of extern classes, which provide +a convenient interface to the Java libraries without requiring the +compiler to parse Java class files. + +It defines a class name and some method signatures, along with a file +name that is guaranteed to provide the implementation. The JOOS compiler +will implicitly trust this specification. If it is incorrect, +then the compiled JOOS class file may fail at class loading time. + +JOOS is used for teaching students about compilers. |