As part of a bigger (and quite insane) World Domination Plan (TM) I am
in the process of writing a GCC frontend for Algol 68.
The first step was to prove that it is indeed possible to write a GCC
front end in Algol 68. Other inferior languages such as Go can live
without native bootstrapping, but Algol 68 deserves better ;D. The idea
is to use the algol68toc translator to bootstrap the compiler.
So I wrote the glue code needed to provide access to Algol68 programs to
the gcc internals, and then created a first version of the Algol68
compiler... which is currently able to compile a slightly less complex
language: brainfuck :D
You can get a tarball with an snapshot of the thing at
works, and can compile and link normal brainfuck programs. Try it with
the accompanying hello.a68:
$ gac -o hello hello.a68
There is a README file in the tarball explaining how to build a gcc with
the frontend. It is quite easy.
A tiny guide to the sources:
gccaliens.a68 contains the alien definitions providing access to the
a68lang.a68 contains the implementation of the brainfuck compiler. As I
make progress with the implementation this will be slowly turning into
the file containing the frontend callbacks for the real Algol68
As for the Algol68 compiler itself, I am currently studying the tree and
the algorithms used in a68genie (great program BTW, thanks Marcel!).
Algol68 is not exactly easy to compile, but Marcel's techniques are
Jose E. Marchesi jemarch@...
GNU Project http://www.gnu.org