Rutgers ALGOL 68: Difference between revisions

From Rosetta Code
Content added Content deleted
m (Fix lang tag)
Line 1: Line 1:
{{implementation|ALGOL 68}}{{stub}}
{{implementation|ALGOL 68}}{{stub}}
=== Rutgers University Algol 68 Interpretor - runs under WIndows, Linux and DOS ===
=== Rutgers University Algol 68 Interpreter - runs under WIndows, Linux and DOS ===


Not all the exotic features are implemented. In particular there are no semaphores, formats and parallel-clauses.
Not all the exotic features are implemented. In particular there are no semaphores, formats and parallel-clauses.

Revision as of 19:16, 13 February 2022

Rutgers ALGOL 68 is an implementation of ALGOL 68. Other implementations of ALGOL 68.
This page is a stub. It needs more information! You can help Rosetta Code by filling it in!

Rutgers University Algol 68 Interpreter - 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.

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>