RogAlgol is a Algol 60 compiler for MS-DOS from 1984. Algol 60 source code is compiled to a binary of virtual machine instructions which are subsequently executed by an interpreter. The compiler fits into an executable of mere 17 kB size (plus an extra 15 kB for the interpreter). The first version from the early 1970s ran on a PDP8. Documentation for this early version is available at https://archive.org/details/hack42_ROG_ALGOL_Compiler.
RogAlgol supports two stropping conventions: Either all capital letters with the keywords enclosed in single quotes, or all-uppercase keywords and user-defined identifiers (variabes, procedures, labels) in lowercase.
(Note in advance: the archives algol60.zip and rogalgol.linux.tar.gz inflate to single files, i.e. are so-called tar bombs)
The archive algol60.zip can be downloaded from this page: https://www.angelfire.com/biz/rhaminisys/algol60.html (alternatively from this site).
Extract algol60.zip into a sub-directory (or sub-sub etc. directory) of your $HOME directory (name the directory 'algol60', ' rogalgol' or similarly appropriate).
To run this Algol 60 system in a Linux environment one has to install 'dosememu'. If this software is not provided by the package manager of your Linux distribution you might fetch it from here (64 bit) or here (32 bit). The actual Linux support software can be found here (dosemu wrapper scripts, source samples with Makefile). The files from this tarball are to be extracted directly into the Algol directory from above.
The folder with the RogAlgol MS-DOS executables and the Linux wrapper scripts has to be in the PATH environment variable. After this setup you might try:
Algol 60 source files have an suffix after your liking e.g. '.alg' or '.a60' (though I prefer the latter to easier distinguish it from Algol 68 input files with an '.a68' suffix). By convention the object code has a '.obj' suffix. If several '.obj' have to be linked together the linker output is designated by a '.asc' suffix.
For programs consisting only of one compilation unit (i.e. source file) the compilation result might be directly used as an executable (i.e. interpreter input). In the above illustration the compiler output 'test.obj' can be run by issuing
a60run.sh test.obj
The dosemu console output in that case is rather noisy, to improve this situation an expect script 'a60run.exp' is provided. To run it the Linux program expect must be installed. The sequence of compiling and running a single source file program is accordingly
a60.sh test.a60
a60run.exp test.obj
The syntax used to link multiple object files into an executable is 'a60link.sh main.asc=main.obj[N],file1.obj,file2.obj (...)', the according sequence of linking and running looks like
a60link.sh main.asc=main.obj[N],file1.obj,file2.obj
a60run.exp main.asc