General Links
SDS Homepage
General Documentation
Main index
Copyright notices
What is SDS
Installing SDS
Using SDS
Language frontends
Plans/further releases
Developer Documentation
Architecture description
Developer How-To
XML-system for classes
CSF Specification
CSF DTD Documentation
Develop code in Lisp
Email page maintainer
Hosted at

SF project page


Java Front-End Status

Maintained by Karl Trygve Kalleberg

Current status

The front-end is deemed to be nearly feature complete. There are only minor fixes to be done until active development work will stop and only routine maintenance will be done. Suggestions for improvements are still very welcome.

The following features have been tested and is believed to be working

  • Parsing of class-, interface, throws-, package-, import-, method-, constructor- and variable-constructs.
  • Generation of proper IDs for all parsed constructs, except calls and variables.
  • Recursive traversal of the filesystem looking for .java files.
  • Dumping of syntactically and semantically correct .xml files

Issues still battled with

  • The location and ID for variables is based only in the variables IDENT.
  • Proper call-tree generation, so we handle overloading. This requires us to parse the expressions for the arguments of a call, and match those against available methods. This in turn will require full semantic processing, and the ability to fetch type information from .class/.jar files. A reasonable hack in the interim will be simple argument counting.
  • The lexer eats all the comments. We'd like those passed through the parser and tree-builder so they end up in the AST. Alternatively, a second pass over the file with a cut-down parser could work, but I'm not sure I'd consider this 'proper'.
  • I should still fix my emacs' settings for Java. The code looks like it's having a nasty hangover..