Re: [abc-users] abc [HEAD] - Java1.5 fetaures

From: Pavel Avgustinov <pavel.avgustinov_at_magd.ox.ac.uk>
Date: Fri, 7 Mar 2008 12:38:36 +0000

On Friday 07 March 2008 11:48:17 Thomas Pawlitzki wrote:
> Hey Pavel,
>
> > It is true that abc does not support Java 5 at present. However, there
> > are some efforts underway to fix this. In particular, we have a new
> > JastAdd-based front-end for abc [see upcoming AOSD paper], and the
> > JastAddJ extensible Java compiler has a module for Java 5 support (this
> > is the Java1.5Frontend you mention), so the hope is that once we get
> > everything into a finished enough state it would be quite easy to add.
>
> Does this mean that you switch completely from Polyglot+Soot to JastAddJ?

The JastAdd frontend is a drop-in replacement for the Polyglot frontend; the
backend remains implemented with Soot. In our experience, it's worth it for
the much easier extensibility and development of JastAdd extensions -- we do
not plan to drop the Polyglot frontend completely, but it is doubtful we will
develop it to support Java5.

> > In what sort of timeframe would you need Java 5 support?
>
> This is hard to say.
> I want to evaluate which AspectJ compiler is best suitably for a
> language extension.
>
> At the moment the a first version of the extension is implemented on
> abc 1.2.1. Now this extension should be tested on several examples
> wheras some examples are using Java5.

As I mentioned, you could always compile the Java5 source with another
compiler and weave into the bytecode, which abc can do.

> When the frontend (and backend) of abc is replaced, does this mean
> that extensions using Polyglot and Soot will not run anymore?

Any extensions that depend on frontend stuff will have to be re-written for
the new frontend. Backend extensions will probably need a new wrapper
AbcExtension based on the JastAdd frontend to make use of the new features,
but the actual backend code is unchanged.

- P
Received on Fri Mar 07 2008 - 12:38:52 GMT

This archive was generated by hypermail 2.2.0 : Sun Mar 09 2008 - 21:20:11 GMT