ALGOL 68 Genie: Difference between revisions
Content added Content deleted
mNo edit summary |
m (linkified) |
||
Line 3: | Line 3: | ||
After successful parsing of an entire source program, the syntax tree, that serves as an intermediate program representation, is interpreted. The interpreter performs many runtime checks. |
After successful parsing of an entire source program, the syntax tree, that serves as an intermediate program representation, is interpreted. The interpreter performs many runtime checks. |
||
The author of Algol 68 Genie is Marcel van der Veer. Algol68G is released under the GNU GPL and runs on [[Linux]], [[UNIX]], [[BSD]] [[Mac OS X|Mac OS]] and Windows XP, and is available [http://www.xs4all.nl/~jmvdveer/algol.html here]. |
The author of Algol 68 Genie is Marcel van der Veer. Algol68G is released under the GNU GPL and runs on [[Linux]], [[UNIX]], [[BSD]] [[Mac OS X|Mac OS]] and [[Windows]] XP, and is available [http://www.xs4all.nl/~jmvdveer/algol.html here]. |
||
==Features of Algol68G== |
==Features of Algol68G== |
||
* The interpreter performs checks on many events, for example: assigning to <code>NIL</code> or dereferencing of <code>NIL</code>, using uninitialised values, invalid operands to standard prelude operators and procedures, bounds check when manipulating arrays, overflow of arithmetic modes, "dangling references", that are names that refer to deallocated storage. |
* The [[interpreter]] performs checks on many events, for example: assigning to <code>NIL</code> or dereferencing of <code>NIL</code>, using uninitialised values, invalid operands to standard prelude operators and procedures, bounds check when manipulating arrays, overflow of arithmetic modes, "dangling references", that are names that refer to deallocated storage. |
||
* Precision of numeric modes: implementation of <code>LONG INT, LONG REAL</code> and <code>LONG COMPLEX</code> with roughly doubled precision with respect to <code>INT, REAL, COMPLEX</code> and implementation of multiprecision arithmetic through <code>LONG LONG INT, LONG LONG REAL</code> and <code>LONG LONG COMPLEX</code> which are modes with user defined precision which is set by an option. |
* Precision of numeric modes: implementation of <code>LONG INT, LONG REAL</code> and <code>LONG COMPLEX</code> with roughly doubled precision with respect to <code>INT, REAL, COMPLEX</code> and implementation of multiprecision arithmetic through <code>LONG LONG INT, LONG LONG REAL</code> and <code>LONG LONG COMPLEX</code> which are modes with user defined precision which is set by an option. |
||
* On systems that support them, UNIX extensions that allow e.g. for executing child processes that communicate through pipes, matching regular expressions or fetching web page contents. |
* On systems that support them, UNIX extensions that allow e.g. for executing child processes that communicate through pipes, matching regular expressions or fetching web page contents. |