NAME¶
a68g - Algol 68 Genie, an Algol 68 compiler-interpreter
SYNOPSIS¶
a68g [
--apropos | --help |
--info [string]]
[
--assertions |
--no-assertions]
[
--backtrace |
--no-backtrace]
[
--brackets]
[
--check |
--no-run]
[
--compile |
--no-compile]
[
--clock]
[
--debug |
--monitor] [
--echo
string]
[
--execute unit |
-x unit]
[
--exit | --]
[
--extensive]
[
-f | --file
string]
[
--frame
number]
[
--handles
number]
[
--heap
number]
[
--listing]
[
--moids]
[
-O | -O0 |
-O1 | -O2 | -O3]
[
--object |
--no-object]
[
--overhead
number]
[
--optimise |
--no-optimise]
[
--pedantic]
[
--portcheck |
--no-portcheck]
[
--pragmats |
--no-pragmats]
[
--precision
number]
[
--prelude-listing]
[
--pretty-print]
[
--print unit |
-p unit]
[
--quiet]
[
--quote-stropping]
[
--reductions]
[
--rerun]
[
--run]
[
--script
string]
[
--source |
--no-source]
[
--stack
number]
[
--statistics]
[
--strict]
[
--terminal]
[
--time-limit
number]
[
--trace |
--no-trace]
[
--tree |
--no-tree]
[
--unused]
[
--upper-stropping]
[
--verbose]
[
--version]
[
--warnings |
--no-warnings]
[
--xref |
--no-xref]
filename
DESCRIPTION¶
Algol 68 Genie (Algol68G) is an Algol 68 compiler-interpreter. It can be used
for executing Algol 68 programs or scripts. Algol 68 is a rather lean
orthogonal general-purpose language that is a beautiful means for denoting
algorithms. Algol 68 was designed as a general-purpose programming language by
IFIP Working Group 2.1 (Algorithmic Languages and Calculi) that has continuing
responsibility for Algol 60 and Algol 68.
Algol 68 Genie and its documentation can be obtained from
http://jmvdveer.home.xs4all.nl/
OPTIONS¶
Options are passed to a68g either from the file .a68g.rc in the working
directory, the environment variable A68G_OPTIONS, the command-line or from
pragmats.
Option precedence is as follows: pragmat options supersede command-line options,
command-line options supersede options in environment variable A68G_OPTIONS,
A68G_OPTIONS supersedes options in .a68g.rc.
Listing options, tracing options and -pragmat, -nopragmat, take their effect
when they are encountered in a left-to-right pass of the program text, and can
thus be used, for example, to generate a cross reference for a particular part
of the program.
Where numeric arguments are required, suffices k, M or G are allowed for
multiplication with 2 ** 10, 2 ** 20 or 2 ** 30 respectively.
- --apropos |
--help | --info
[string]
- Print info on options if string is omitted, or print info
on string otherwise.
- --assertions
| --no-assertions
- Control elaboration of assertions.
- --backtrace
| --no-backtrace
- Control whether a stack backtrace is done in case a
runtime-error occurs.
- --brackets
- Consider [ .. ] and { .. } as being equivalent to ( .. ).
Traditional Algol 68 syntax allows ( .. ) to replace [ .. ] in bounds and
slices.
- --check |
--no-run
- Check syntax only, the interpreter does not start.
- --clock
- Report execution time excluding time needed for
compilation.
- --compile |
--no-compile
- Switch compilation of units on or off. Compilation omits
many of the runtime checks offered by the interpreter proper. The program
is not executed and a shell script is generated combining source code and
its shared library. This shell script can be used as a
pseudo-executable.
- --debug |
--monitor
- Start in the monitor. Invoke the monitor in case a
runtime-error occurs; the program will pause in the monitor on the line
that contains the error.
- --echo
string
- Echo string to standout.
- --execute
unit | --x
unit
- Execute the Algol 68 unit. In this way one-liners can be
executed from the command line.
- --exit |
--
- Ignore further options.
- --extensive
- Generate an extensive listing.
- -f |
--file string
- Accept string as filename in case it conflicts with shell
syntax.
- --frame
number
- Set the frame stack size to number
bytes.
- --handles
number
- Set the handle space size to number
bytes.
- --heap
number
- Set the heap size to number
bytes.
- --listing
- Generate a concise listing.
- --moids
- Generate an overview of modes in the listing file.
- --object |
--no-object
- Control the listing of C code in the listing file.
- --optimise
| --no-optimise
- Switch compilation of units on or off. Compilation omits
many of the runtime checks offered by the interpreter proper. This option
is equivalent to -O2.
- -O |
-O0 | -O1 | -O2 |
-O3
- Switch compilation of units on and pass the option to the
back-end C compiler to set the optimiser level.
- --overhead
number
- Set overhead for stack checking.
- --pedantic
- Equivalent to --warnings --portcheck
- --portcheck
| --no-portcheck
- Enable or disable portability warning messages.
- --pragmats
| --no-pragmats
- Control elaboration of pragmats.
- --precision
number
- Set the precision for LONG LONG modes to
number significant digits.
- --prelude-listing
- Generate a listing of preludes.
- --pretty-print
- Pretty-print the source file.
- --print
unit | --p
unit
- Print the value yielded by the Algol 68 unit. In this way
one-liners can be executed from the command line.
- --quiet
- Suppress all warning messages.
- --quote-stropping
- Use quote stropping.
- --reductions
- Print reductions made by the parser.
- --rerun
- Use compiled code of a previous run.
- --run
- Override the --no-run option.
- --script
string
- Takes string as source file name and skips further option
processing so these can be handled by the script.
- --source |
--no-source
- Control the listing of source lines in the listing
file.
- --stack
number
- Set the stack size to number
bytes.
- --statistics
- Generate statistics in the listing file.
- --strict
- Ignores extensions to Algol 68 syntax.
- --time-limit
number
- Interrupt the interpreter after
number seconds, generating a time limit exceeded
error.
- --trace |
--no-trace
- Control tracing of the running program.
- --tree |
--no-tree
- Control listing of the syntax tree in the listing
file.
- --unused
- Generate an overview of unused tags in the listing
file.
- --upper-stropping
- Use upper stropping, which is the default stropping
regime.
- --verbose
- Use verbose mode.
- --version
- Print the version of the running image of a68g.
- --warnings
| --no-warnings
- Enable warning messages or suppress suppressible warning
messages.
- --xref |
--no-xref
- Control generation of a cross-reference in the listing
file.
AUTHOR¶
Author of Algol 68 Genie is Marcel van der Veer
<algol68g@xs4all.nl>.