next up previous contents index
Next: 4. The Jau-Package Up: Lookout For A Free Previous: 2. The Unix Standard   Contents   Index

Subsections

3. The Java Development Environment

3.1 Java Development Kit

Sun Microsystems offers their Java Development Kit (JDK) for several platforms. The JDK contains powerful command line tools: Many commercial software producers started to develop their own GUI3.1 based development environment. As you can see, many tools are given with the JDK, but some tools are missing.

3.2 Java Foundation Classes (JFC)

The JFC, actualy known as Swing, supports Java with new very usefull components: These JFC will be a part for the upcoming JDK 1.2.X, for now you can use it as a package-class-jar-file under the package hirarchy com.java.swing.*.

3.3 Using The Unix Standard Environment

On Unix platforms and on man other platforms, e.g. Windows (see section 2.1, page [*]), the Unix tools are avaiable. Thus we can use .

3.4 JavaDepend

JavaDepend[5] is the makedepend (or the C compiler invokation with the option -M or -MM) aequivalent. JavaDepend creates prerequisites for the makefile, so all sources newer than it's goals will be compiled.

3.5 javadoc

With javadoc source documentations can be created. The source can be added with simple javadoc-tags in the commentary-part. javadoc creates a HTML documentations including a class-tree and package index.


3.6 Parser Generation using JavaCC

Usually we need Lex & Yacc [1] to generate a parser. Lex & Yacc can generate Pascal, C or C++ source-code. This source-code can be compiled to a platform specific executable. Platform specific means, that the source-code is compiled into native-code, which uses special machine-instructions and the special operation-system environment. If we have ANSI code, especially C or C++, we are able to compile the same code with less or no modifications on each target. But the executable binary-code is not portable.

Nowadays we can use Java as the programming language and the JVM as the platform to use platform-independend compilers. Sun Microsystems offers a Java based aquivalent to Lex & Yacc, the Java-Compiler-Compiler (JavaCC) [3]

Instead of Lex & Yacc, where Yacc is a LALR Parser generator, JavaCC is a LL(k) Parser generator. So JavaCC uses the extended Backus Naur Form (EBNF) for the syntax description. Also JavaCC descriptions defines the tokens in the same file, instead of Lex & Yacc, where Lex supports Yacc with tokenisation.



Footnotes

... GUI3.1
GUI = Graphical User Interface

next up previous contents index
Next: 4. The Jau-Package Up: Lookout For A Free Previous: 2. The Unix Standard   Contents   Index
sven goethel
2000-11-21