Related articles |
---|
The Amsterdam Compiler Kit --- it lives! dg@cowlark.com (David Given) (2005-01-30) |
Re: The Amsterdam Compiler Kit --- it lives! msxhans@yahoo.com (HansO) (2005-04-16) |
From: | David Given <dg@cowlark.com> |
Newsgroups: | comp.compilers |
Date: | 30 Jan 2005 13:56:33 -0500 |
Organization: | Compilers Central |
Keywords: | ACK |
Posted-Date: | 30 Jan 2005 13:56:33 EST |
Some of you may vaguely remember I asked about this a few weeks ago. Well, I
downloaded it and have spent some time tinkering with it to try and make it
work on Linux. I can report success.
The good news is that nearly everything works, apart from one annoying issue
where it's trying to compile the syscall libraries with Linux's ANSI C headers
instead of its own K&R ones and failing, which means that it won't generate
actual runnable binaries. (The build system is so bizarre that I haven't
worked out how to fix this yet.) However, since I have none of the platforms
that it'll generate executables for, this doesn't affect me. It works just
fine compiling to .s files.
The bad news is that nearly everything works, including the Basic compiler...
Annoyingly, while it does have code generators and optimisers for a huge
number of platforms, only some of them have optimisation description files.
This means that if you compile for i386 you can say -O6 and it'll pick some
optimisation settings, but if you compile for z80 you have to invoke specific
optimisers manually.
In the long run, I think I'll contact Andy Tanenbaum with a view to whacking
the whole lot up on SourceForge. In the short term, I want to put together a
file a single, simple source file and the output code from each backend so
that people can have a look at the result without having to build the thing
--- can anyone reccomend any useful source, or should I just write my own?
The ACK has front-ends for: K&R C, ANSI C, Pascal, Occam, Modula-2, Fortran,
and Basic. I suppose eventually I'll need test cases for all of these.
It has back-ends for (deep breath): 6500, 6800, 6805, 6809, arm, em, i386,
i86, i80, m68020, m68k2, m68k4, pdp, sparc, vax4, z80 and z8000. em is its own
interpretable byte-code. There are in addition a whole bunch of back-ends for
specific machines.
It also has its own lint, linker, assembler, archival tools, and generally the
entire toolchain.
If anybody wants a patch and build instructions, please contact me.
(The ACK is available from:
http://www.cs.vu.nl/vakgroepen/cs/ack.html
).
--
David Given
dg@cowlark.com
Return to the
comp.compilers page.
Search the
comp.compilers archives again.