Repository navigation
Releases: rochus-keller/Algol60
Release list
MVP release of AIR and the Algol60 compiler
The compiler now works sufficiently well for an MVP release.
I added the working subset of the test code I collected over the years so interested folks have something to experiment with, among it a few versions of the famous Man or boy test by Knuth; but note that the default stack of the integrated LuaJIT VM only supports k=12; if you want the original k=15, then LuaJIT has to be recompiled with at least LUAI_MAXSTACK=1048576.
It is essentially a proof of concept of the Algol Intermediate Representation (AIR) which is essentially a version of MIL which I developed for my Micron compiler, but limited to the features of the Algol/Wirth language lineage and on a lowering level compatible with LuaJIT bytecode. The latter is again integrated using my LjTools, which I implemented for my earlier Oberon and Luon compilers. And it is an important achievement on my way to a complete and working Simula compiler with coroutines and simulation features.
There are precompiled versions for Linux x86_64 and Windows x86. If you want to build and explore the code yourself, there is a BUSY and a qmake version of the build, with instructions in the Readme.
You can test the compiler e.g. with ./algc testcases/marst/examples/manorboy.alg and should see the following output:
0
-2
0
1
0
1
-1
-10
-30
-67
-138
-291