Skip to content
andreas-eberle edited this page Oct 22, 2014 · 3 revisions

What is This Project About?

This project is developed during a practical course about compiler development ("Compilerpraktikum") at the Karlsruhe Institute of Technology (KIT). It's goal is to develop a fully working compiler for the given MiniJava language definition in version 3.3 from the 20. October 2014.

Getting ready to develop

To ensure minimal merging problems and ease readability of the code the following agreements should be kept in mind.

Eclipse Workspace Setup

In order to start development check out the repository into a clean folder. This folder will then also be used as your Eclipse workspace for this project (if you want to use an existing workspace, keep in mind to only apply the auto formatter settings to this project instead of the whole workspace).

In order to create the Eclipse workspace, just enter the folder's location when asked for the workspace. Eclipse will create it automatically. After Eclipse started, no projects will be displayed, yet. In order to import the existing project, right-click in the "Package Explorer" View and select "Import...". Choose "General" -> "Existing Projects into Workspace" -> "Next". Select the "root directory" as the workspace's location. Now you should see the "Compiler" project. After selecting it and clicking "Finish", you've successfully created the workspace.

Eclipse Auto Formatter

The team uses a common Eclipse auto formatter configuration. To configure Eclipse correctly, open the workspace containing the project and select "Window" -> "Preferences" in the top bar. In the search field of the dialog, type "save actions" and select the Java save actions as shown in the picture below.

configuring save actions

Adjust your settings to match the ones of the figure before clicking on "Formatter" and then "Import".

importing formatter

The formatter configuration can be found in the checked out repository in "doc/eclipse-setup/formatterConfiguration.xml".

Further Plugins

  • FindBugs
  • Checkstyle
Clone this wiki locally