a68g - Algol 68 Genie, an Algol 68 compiler-interpreter
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
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
  
   https://jmvdveer.home.xs4all.nl/
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.
- --echostring
- Echo string to standout.
- --executeunit |- --xunit
- 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|- --filestring
- Accept string as filename in case it conflicts with shell syntax.
- --framenumber
- Set the frame stack size to number bytes.
- --handlesnumber
- Set the handle space size to number bytes.
- --heapnumber
- 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.
- --overheadnumber
- 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.
- --precisionnumber
- 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.
- --printunit |- --punit
- 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.
- --scriptstring
- 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.
- --stacknumber
- Set the stack size to number bytes.
- --statistics
- Generate statistics in the listing file.
- --strict
- Ignores extensions to Algol 68 syntax.
- --time-limitnumber
- 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 of Algol 68 Genie is Marcel van der Veer
    <algol68g@xs4all.nl>.