Archive for January, 2004

Java Compiler News

Recently I’ve been working on name lookup. Yesterday I fixed some
name lookup and access bugs (filling in placeholder stubs to make it
actually work). I also started work on expression names and
classification of ambiguous names; until now only type and package
names were implemented.

I also spent some time adding missing parts of the visitor
interface. This is what lets us walk the completed model, to generate
bytecode or lower to gcc’s tree representation. More than half of
bytecode generation has been written, also I’ve done some work on
block handling and relocation processing.

Once expression name handling is done, I’ll be ready to start
resolving method bodies. The major area that remains completely
unimplemented is definite assignment.

New Compiler Front End

I’ve been working on a new front end for gcj. This front end
features strong typing in the representation of the internal model, a
hand-written recursive descent parser, and is intended to be easy to
extend to add support for generics and the other new Java features
(enhanced for loop and static imports are already implemented). It
is written in C++.

Currently it can successfully parse most of libgcj and Eclipse,
and resolve all the extends and implements
clauses. So, it already fixes one gcj bug. I’d estimate, though,
that it is only about 40% done at the moment.