Provided by: algol68g_2.8.4-1_amd64 bug


     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


     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.

             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.

             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

     --exit | --
             Ignore further options.

             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.

             Generate a concise listing.

             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.

             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.

             Generate a listing of preludes.

             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.

             Suppress all warning messages.

             Use quote stropping.

             Print reductions made by the parser.

             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.

             Generate statistics in the listing file.

             Ignores extensions to Algol 68 syntax.

     --time-limit number
             Interrupt the interpreter after number seconds, generating a time limit exceeded

     --trace | --no-trace
             Control tracing of the running program.

     --tree | --no-tree
             Control listing of the syntax tree in the listing file.

             Generate an overview of unused tags in the listing file.

             Use upper stropping, which is the default stropping regime.

             Use verbose mode.

             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 <>.