20 lines
982 B
Text
20 lines
982 B
Text
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.
|