ETH-Research Compiler

Main content

This page provides information about ERCO, a Java bytecode to native compiler developed at the Laboratory for Software Technology at ETH Zürich for research.

Description

The ETH Research COmpiler (ERCO) is a research Java byte-code to native compiler that is used in several projects in our group as for teaching in advanced compiler classes. We translate the Java bytecode to an internal representation in static single assignment form on which we perform several analyses and some optimizations. The backend generates native object file for the Intel IA-32 platform which are then linked to the Java runtime system provided by the GCJ project.

Install & configure

Requirements

To be able to use ERCO and the programs compiled with ERCO you will need:

  • A machine with an Intel IA-32 (x86) processor
  • Linux
  • A Java compiler and virtual machine (as Sun's JDK). Support for JDK 1.4.0 is not yet completed, if you want more information take a look to our bug tracking system.
  • The GNU Compiler for the Java Programming Language. At the moment ERCO need version 2.96 (3.x is not supported). You can download it here.
  • A C compiler (as GCC)

Installation procedure

ERCO has not yet reached a stage suitable for a public release. This page is meant to be useful for our students involved in the project. If you want more informatio please contact or

  • Download the ERCO package
  • Extract the ERCO source tree
  • Run the configure script to set up ERCO for your configuration (configuration options).

This small howto describes how to build a fresh liberco.

CVS

How to get ERCO using CVS:

  • set the CVSROOT environment variable to :pserver::/usr/local/cvsrep/erco
  • check out the source tree: cvs co erco

In addition you can also check out the erco_test and erco_doc trees with some test programs and various documentation respectively.

Documentation

Usage

The compiler is invoked with ercc. Options can be specified either on the command line or in the ercc.props file (in the etc directory).

Contact

For comments and questions about ERCO please contact:

You can add or check bug reports using bugzilla

Mailing list

We have a mailing list for ERCO developers: ERCO mailing list <> eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%65%72%63%6f%64%65%76%40%6c%73%74%2e%65%74%68%7a%2e%63%68%22%3e%65%72%63%6f%64%65%76%40%6c%73%74%2e%65%74%68%7a%2e%63%68%3c%2f%61%3e%27%29'))>

Various

 

 

 
 
Page URL: http://www.lst.inf.ethz.ch/research/erco.html
Tue Jul 25 04:03:29 CEST 2017
© 2017 Eidgenössische Technische Hochschule Zürich