Rutgers ALGOL 68
Rutgers University Algol 68 Interpretor - runs under WIndows, Linux and DOS
Not all the exotic features are implemented. In particular there are no semaphores, formats and parallel-clauses.
Long and short modes are not implemented and will cause errors to be reported if used.
The stadard prelude has a number of ommissions, particularly transput which is restricted to standard input and output only.
Transput event routines are also not supported.
- Licence => http://www.renyi.hu/~csirmaz/algol-68/linux/readme - noncommercial
- Tar ball => http://www.renyi.hu/~csirmaz/algol-68
- Laci Csirmaz, DIMACS at Rutgers, 1990; CEU, Hungary, 2000
Lexical style
Rutgers ALGOL 68 is case-sensitive and uses quote-stropping. The standard bold-words are in lower case, e.g.: <lang algol68>'begin'
print( ( "Hello, World!", newline ) )
'end'</lang>
Building and running under Windows
To build under Windows, download the Linux version and unpack to a suitable directory (e.g. \algol\RutgersAlgol68 is assumed here).
Place the following batch file into the the directory and execute it. The batch file asumes TCC is being used as the C compiler, change as appropriate. The DEFINES and ALINC variables may also need to be changed.
<lang=dos>rem build.bat: build the Linux version of RutgersAlgol68 under Windows
rem set CC and DEFINES as appropriate for your C compiler rem if your compiler does not come with include/sys/times.h, set ALINC=-I..\.. to include the dummy times.h rem if your compiler does have a include/sys/times/.h, set ALINC= rem the following are for tcc ( tested with version 0.9.26 (i386 Win32) )
set CC=\tcc\tcc set DEFINES= set ALINC=-I..\..
if not exist bin mkdir bin del bin\*.exe del bin\_prelude_
cd src
%CC% %DEFINES% prelude.c -o ..\bin\prelude.exe ..\bin\prelude.exe ..\bin\_prelude_ > ..\prelude.out
%CC% %DEFINES% textual_error.c -o ..\bin\textual_error.exe %CC% %defines% dump.c -o ..\bin\dump.exe
cd al %CC% %ALINC% %DEFINES% algol.c clauses.c coercion.c declaration.c declarer.c error.c init.c primary.c repr.c routine_call.c standard.c transput.c unit.c -o ..\..\bin\al.exe cd ..
cd la %CC% %DEFINES% lalgol.c data.c hash.c io.c symbol.c -o ..\..\bin\la.exe cd ..
cd ..</lang>