Java-front 0.8

Stratego -- Strategies for Program Transformation

Released November 4th, 2005


Java-front 0.8 requires Stratego/XT 0.16.

Source tar.gz

Source RPM

Redhat Linux RPM

SuSE Linux RPM

Fedora Core RPM

Nix Package

One-click installation using Nix, open with /nix/bin/nix-install-package


Java-front is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.


This is another major update of Java-front, a package that provides the syntax-related support for implementing Java transformation systems.

Syntax Definition

By default, parse-java now uses a syntax definition that has only a single start symbol (CompilationUnit). This is a major improvement of the performance and error reporting of the SGLR used in parse-java. If you specify a custom start symbol, then a syntax definition with more start symbols will be used.

Minor change in the definition of type parameters to make the structure of formal type parameters more close to the structure of ordinary type parameters. Example: the new representation is TypeParam(Id("T"), None). Was: TypeParam(TypeVar(Id("T")), None).

Added ClassDecStm constructor for type declarations at statement level.

Pretty Printer

Generic constructors couldn't be pretty-printed in the previous release of Java-front. This has now been fixed.


Java-front now declares a pkg-config xtc_repos variable. In Java-front dependent packages you can simply refer to JAVA_FRONT_XTC instead of hard-coding the path to the XTC repository.

Java-front now declares the strcflags and strcxtcflags variable. At the command-line you can now compile a java-front program with:

  $ strc -i foo.str $(strcflags java-front) 

and optionally: $(strcxtcflags java-front) if you want to use the XTC repository of Java-front. These strcflags commands will automatically add the appropriate include and XTC repository arguments, so that you don't have to remember all these details.

You need the following bash shell aliases for this:

  alias strcflags="pkg-config --variable=strcflags "
  alias strcxtcflags="pkg-config --variable=strcxtcflags "


  • Martin Bravenboer
  • Rene de Groot
  • Rob Vermaas


More Information

See the website of the Java-front for a general introduction to Java-front and its development.