
All software that is used in the course may be downloaded to your personal computer.
The tools JavaCC, JUnit, and Jastadd are included in the examples enclosed with the assignments and accessed via Ant.
Apache Ant will be used as the build tool in the course. The build.xml files in the lab-examples are fairly well documented and should only need minimal modification. If you need additional information regarding Ant we recommend the Ant manual and in particular the section on Using Ant which gives a fairly short introduction to the tool, and Ant Tasks to find which attributes may be used in different tasks.
Ant is included in Eclipse. A stand alone version can be accessed as /usr/local/cs/bin/ant on the EFD linux systems.
JUnit will be used to write unit tests and perform regression testing. The test cases in assignment examples can be used as a template on how to write simple automated tests. A short introduction to JUnit is available from the PVG course.
If you are familiar with the Eclipse IDE you might want to use it for the assignments and the project (rather than working from the command line with Emacs). A plugin for Jastadd is under construction, but not yet available.
JavaCC (Java Compiler Compiler) is used for generating parsers and scanners in this course. JavaCC was developed by Sun Microsystems and is now released under a BSD license.
JastAdd2 is a tool for building compilers on top of parser generators. It supports a typed AST API, and it supports modular computations on ASTs using intertype declarations. A key feature in JastAdd2 is its support for declarative attribute grammar features. However, in the compiler construction course, only the imperative features of JastAdd are used. The tool is developed at the Dept. of Computer Science at Lund University.
The following parts of the documentation are of particular use in the course:
Page Manager: Lennart Andersson
Webmaster: webmaster@lth.se
Last updated: 2012-01-27