A68G(1)

πŸ’– A68G(1) β€” the Programmer's Manual, but make it cute πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about Algol 68 Genie β€” the compiler-interpreter that literally ate and left no crumbs. this is the page for the A68G manual, and I'm gonna walk you through every single flag like we're picking outfits for a group hang. no skips. no ✨vibes-based✨ omissions. periodt.


🌸 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

like, that's the whole menu. take a screenshot, we're going through it together πŸ’…


🫢 DESCRIPTION 🫢

so Algol 68 Genie (yes, her nickname is Algol68G, iconic) is an Algol 68 compiler-interpreter. meaning? you can use her to run Algol 68 programs or scripts. lowkey versatile. highkey slay. πŸ’–

now, Algol 68 itself? she's a rather lean orthogonal general-purpose language that is a beautiful means for denoting algorithms. and I'm not being dramatic, that's literally the energy. Algol 68 was designed as a general-purpose programming language by IFIP Working Group 2.1 (Algorithmic Languages and Calculi), the same group that has continuing responsibility for Algol 60 and Algol 68. so like, pedigree. legacy. main character lineage. πŸ‘‘

Algol 68 Genie and its documentation can be obtained from:

https://jmvdveer.home.algol68genie.nl/

go get her. she's waiting. πŸ¦‹


πŸ’… OPTIONS πŸ’…

okay so here's the thing bestie, options do NOT just come from the command line. they can be passed to a68g from any of these places:

  • the file .a68g.rc in the working directory
  • the environment variable A68G_OPTIONS
  • the command-line
  • or from pragmats

and now the precedence, which is giving succession drama, so pay attention: pragmat options supersede command-line options, command-line options supersede options in environment variable A68G_OPTIONS, and A68G_OPTIONS supersedes options in .a68g.rc. so the vibes flow downhill, and the pragmat is the queen bee at the top. πŸ‘‘

also important, not me forgetting this: listing options, tracing options and -pragmat, -nopragmat take their effect when they are encountered in a left-to-right pass of the program text. which means you can use them, for example, to generate a cross reference for a particular part of the program. situational. surgical. we love a precision queen. πŸŽ€

and when numeric arguments are required? suffixes k, M or G are allowed, meaning multiplication with 2 ** 10, 2 ** 20 or 2 ** 30 respectively. cute little shorthand, no cap.


🌈 the actual flags, all 48 of them, none skipped 🌈

  • --apropos | --help | --info [string] β€” prints info on options if string is omitted, or prints info on string otherwise. it's giving "just ask her, she'll tell you". πŸ™ˆ
  • --assertions | --no-assertions β€” controls elaboration of assertions.
  • --backtrace | --no-backtrace β€” controls whether a stack backtrace is done in case a runtime-error occurs. so when things go wrong, do we get the receipts or not. πŸ‘€
  • --brackets β€” considers [ .. ] and { .. } as being equivalent to ( .. ). for context: traditional Algol 68 syntax allows ( .. ) to replace [ .. ] in bounds and slices. so now everybody's interchangeable. inclusive icon. ✨
  • --check | --no-run β€” check syntax only, the interpreter does not start. just a vibe check, no commitment. πŸ’…
  • --clock β€” reports execution time excluding time needed for compilation. honest timing, no padding. ⏰
  • --compile | --no-compile β€” switches 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. so like, she makes you a lil fake-binary. so cute. πŸŽ€
  • --debug | --monitor β€” start in the monitor. invokes the monitor in case a runtime-error occurs; the program will pause in the monitor on the line that contains the error. girlie will literally stop and point at the problem. so helpful. 😭
  • --echo string β€” echoes string to standout.
  • --execute unit | --x unit β€” executes the Algol 68 unit. in this way one-liners can be executed from the command line. tiny little programs, big little energy. ✨
  • --exit | -- β€” ignore further options. that's it, we're done here, doors closed. πŸ’€
  • --extensive β€” generates an extensive listing.
  • -f | --file string β€” accepts string as filename in case it conflicts with shell syntax. so your chaotic filename still gets to exist. 🫢
  • --frame number β€” sets the frame stack size to number bytes.
  • --handles number β€” sets the handle space size to number bytes.
  • --heap number β€” sets the heap size to number bytes.
  • --listing β€” generates a concise listing.
  • --moids β€” generates an overview of modes in the listing file. yes it's called moids. yes that's the vibe. πŸ¦‹
  • --object | --no-object β€” controls the listing of C code in the listing file.
  • --optimise | --no-optimise β€” switches compilation of units on or off. compilation omits many of the runtime checks offered by the interpreter proper. this option is equivalent to -O2. so it's the same girl, different outfit. πŸ‘‘
  • -O | -O0 | -O1 | -O2 | -O3 β€” switches compilation of units on and passes the option to the back-end C compiler to set the optimiser level. pick your power level. πŸ”₯
  • --overhead number β€” sets overhead for stack checking.
  • --pedantic β€” equivalent to --warnings --portcheck. so it's two flags in a trench coat. πŸ’…
  • --portcheck | --no-portcheck β€” enable or disable portability warning messages.
  • --pragmats | --no-pragmats β€” controls elaboration of pragmats.
  • --precision number β€” sets the precision for LONG LONG modes to number significant digits.
  • --prelude-listing β€” generates a listing of preludes.
  • --pretty-print β€” pretty-prints the source file. glow-up the code. ✨
  • --print unit | --p unit β€” prints the value yielded by the Algol 68 unit. in this way one-liners can be executed from the command line.
  • --quiet β€” suppresses all warning messages. shhh. not a peep. 🀫
  • --quote-stropping β€” uses quote stropping.
  • --reductions β€” prints reductions made by the parser.
  • --rerun β€” uses compiled code of a previous run. recycling queen. 🌈
  • --run β€” overrides 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. she said "you take the wheel". πŸŽ€
  • --source | --no-source β€” controls the listing of source lines in the listing file.
  • --stack number β€” sets the stack size to number bytes.
  • --statistics β€” generates statistics in the listing file.
  • --strict β€” ignores extensions to Algol 68 syntax. rules are rules bestie. πŸ‘‘
  • --time-limit number β€” interrupts the interpreter after number seconds, generating a time limit exceeded error. okay so there IS a clock on this, dramatic much πŸ’€
  • --trace | --no-trace β€” controls tracing of the running program.
  • --tree | --no-tree β€” controls listing of the syntax tree in the listing file. 🌳
  • --unused β€” generates an overview of unused tags in the listing file. calling out the dead weight, politely. πŸ™ˆ
  • --upper-stropping β€” uses upper stropping, which is the default stropping regime. so if you don't pick anything, this is what you get. the default queen. πŸ’…
  • --verbose β€” uses verbose mode.
  • --version β€” prints the version of the running image of a68g.
  • --warnings | --no-warnings β€” enables warning messages or suppresses suppressible warning messages.
  • --xref | --no-xref β€” controls generation of a cross-reference in the listing file.

πŸŽ€ AUTHOR πŸŽ€

author of Algol 68 Genie is Marcel van der Veer <algol68g@algol68genie.nl>. we stan. 🫢


🌟 SEE ALSO 🌟

so the original page doesn't have a SEE ALSO section, bestie β€” this is the whole of it. but like, the website up top is right there. go look. iykyk. πŸ’–


and that's the whole page, no notes. this was the Linux edition of the A68G(1) page, dated October 10, 2026, from the Programmer's Manual, and she's filed under A68G(1) in section 1. so like, if you ever need her again, you know exactly where to find her. run, don't walk. bye bestie, slay your algol πŸ’…βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from