summaryrefslogtreecommitdiff
path: root/lang/joos/DESCR
diff options
context:
space:
mode:
authorjschauma <jschauma>2002-05-08 15:42:00 +0000
committerjschauma <jschauma>2002-05-08 15:42:00 +0000
commit1ad05f0cd907a0beed9af828e59d2a0062e08b38 (patch)
treed59576f03f8c1105d72170327cdc1c5b6e9ed86d /lang/joos/DESCR
parentcd5732033fb4301ab2cfd03957113a94d74a17b9 (diff)
downloadpkgsrc-1ad05f0cd907a0beed9af828e59d2a0062e08b38.tar.gz
Initial import of "Joos":
Joos is an acronym for Java's Object-Oriented Subset. JOOS is a proper subset of Java which is used to teach students about compilers.
Diffstat (limited to 'lang/joos/DESCR')
-rw-r--r--lang/joos/DESCR20
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.