Algol 68 Genie - Browser

Below is a list with the source files of the current Algol 68 Genie version. This browsable source code contains links to unique definitions of functions and macros.

You can download the current version and its documentation here.

The number of source lines in this version is 77655.

File Synopsis Lines
1 a68g-apropos.c Command line help. 166
2 a68g-bits.c Miscellaneous routines. 330
3 a68g.c Algol 68 Genie main driver. 762
4 a68g-conversion.c Conversion tables for IEEE platforms. 94
5 a68g-diagnostics.c Error and warning routines. 821
6 a68g-io.c Low-level input-output routines. 264
7 a68g-keywords.c Algol 68 keyword tables. 221
8 a68g-listing.c Old-school listing file. 725
9 a68g-mem.c Low-level memory management. 269
10 a68g-non-terminal.c Non-terminal tables. 425
11 a68g-options.c Algol 68 Genie options. 1092
12 a68g-path.c Low-level file path routines. 164
13 a68g-postulates.c Postulates needed for proving equivalence of modes. 95
14 a68g-prelude-bits.c Multiple precision BITS. 101
15 a68g-prelude.c Standard prelude definitions. 2518
16 a68g-prelude-gsl.c Standard prelude definitions from GSL. 639
17 a68g-prelude-mathlib.c Standard prelude definitions from GNU R math library. 134
18 a68g-pretty.c Lay-out formatter for Algol 68. 1395
19 a68g-scope.c Static scope checker. 900
20 a68g-taxes.c Symbol table management. 2467
21 double.c LONG INT, LONG REAL and LONG BITS routines. 2317
22 double-gamic.c LONG REAL generalised incomplete gamma function. 440
23 double-math.c LONG REAL, LONG COMPLEX routines. 281
24 genie.c Interpreter driver. 3097
25 genie-coerce.c Interpreter mode coercion routines. 502
26 genie-misc.c Miscellaneous interpreter routines. 78
27 genie-regex.c Low-level regular expression routines. 310
28 genie-rows.c Interpreter routines for ROW values. 139
29 genie-stowed.c Interpreter routines for STOWED values. 1177
30 genie-unix.c Low-level UNIX routines. 883
31 moids.c Mode checker and coercion driver. 3977
32 moids-equivalence.c Prove equivalence of modes. 158
33 moids-size.c Memory footprint (size) of a mode. 282
34 moids-to-string.c Pretty-print a MOID. 303
35 mp-bits.c LONG LONG BITS routines, legacy MP implementation. 696
36 mp.c LONG LONG INT, LONG LONG REAL and LONG LONG COMPLEX routines. 1352
37 mp-gamic.c LONG LONG REAL generalised incomplete gamma function. 849
38 mp-gamma.c LONG LONG REAL error, gamma and beta functions. 502
39 mp-math.c LONG LONG REAL math routines. 1946
40 mp-misc.c Miscellaneous multi-precision routines. 1387
41 mp-mpfr.c LONG LONG REAL routines using GNU MPFR. 536
42 mp-pi.c LONG LONG REAL value of pi. 119
43 parser-bottom-up.c Bottom-up parser. 2049
44 parser-brackets.c Recursive-descent parenthesis checker. 258
45 parser.c Mailloux-type Algol 68 parser driver. 997
46 parser-extract.c Extract tags from phrases. 552
47 parser-refinement.c Refinement preprocessor. 215
48 parser-scanner.c Context-dependent Algol 68 tokeniser. 1553
49 parser-top-down.c Top-down parser for control structure. 686
50 parser-victal.c Syntax check for formal, actual and virtual declarers. 313
51 plugin-basic.c Plugin compiler routines. 400
52 plugin.c Plugin compiler driver. 987
53 plugin-folder.c Plugin compiler constant folder. 460
54 plugin-gen.c Plugin compiler generator routines. 1827
55 plugin-inline.c Plugin compiler inlining routines. 1194
56 plugin-script.c Plugin script builder routines. 171
57 plugin-tables.c Plugin compiler tables. 538
58 rts-bool.c BOOL routines. 61
59 rts-char.c CHAR, STRING and BYTES routines. 583
60 rts-curses.c Curses interface. 228
61 rts-enquiries.c Environment enquiries. 74
62 rts-formatted.c Formatted transput. 2618
63 rts-heap.c Generator and garbage collector routines. 768
64 rts-monitor.c GDB-style monitor for the interpreter. 2329
65 rts-parallel.c Parallel clause implementation. 540
66 rts-plotutils.c Gnuplot's libplot interface. 1640
67 rts-postgresql.c PostgreSQL libpq interface. 858
68 rts-socket.c Low-level socket routines. 530
69 rts-sounds.c SOUND routines. 655
70 rts-transput.c Unformatted transput. 4531
71 single.c INT, REAL, COMPLEX and BITS routines. 1630
72 single-fft.c REAL, COMPLEX fast fourier transform. 352
73 single-gamic.c REAL generalised incomplete gamma function. 442
74 single-gsl.c REAL routines using GSL. 868
75 single-laplace.c REAL laplace routines. 117
76 single-math.c REAL math stuff supplementing libc. 739
77 single-physics.c Physical constants from GSL. 247
78 single-r-math.c GNU R math library interface. 560
79 single-rnd.c REAL pseudo-random number generator. 221
80 single-torrix.c REAL vector and matrix support. 260
81 single-torrix-gsl.c REAL vector and matrix support using GSL. 1788
82 single-torrix-pinv.c REAL Moore-Penrose pseudo-inverse of a matrix using Golub-Reinsch SVD. 115
83 a68g-common.h 345
84 a68g-compiler.h 203
85 a68g-config.win32.h Default WIN32 configuration file. 129
86 a68g-defines.h 664
87 a68g-diagnostics.h 244
88 a68g-double.h 378
89 a68g-enums.h 261
90 a68g-environ.h 57
91 a68g-frames.h 214
92 a68g-generic.h Platform dependent definitions. 55
93 a68g-genie.h 443
94 a68g.h Master include file. 176
95 a68g-includes.h 303
96 a68g-level-3.h Platform dependent definitions. 74
97 a68g-lib.h 117
98 a68g-listing.h 34
99 a68g-masks.h 67
100 a68g-math.h 437
101 a68g-mp.h 561
102 a68g-nil.h Various forms of NIL. 86
103 a68g-numbers.h 66
104 a68g-optimiser.h 111
105 a68g-options.h 35
106 a68g-parser.h 170
107 a68g-physics.h 236
108 a68g-platform.h Platform dependent definitions. 62
109 a68g-postulates.h 31
110 a68g-prelude-gsl.h 523
111 a68g-prelude.h 728
112 a68g-prelude-mathlib.h 134
113 a68g-stack.h 50
114 a68g-stddef.h 97
115 a68g-torrix.h REAL vector and matrix support. 43
116 a68g-transput.h 85
117 a68g-types.h 569

Posts in "Algol 68"

Marcel van der Veer Algol 68
Announcing Algol 68 Genie 3.0
December 2021

I have released the current source as version 3.0. I have also updated the documentation, Learning Algol 68 Genie …


Marcel van der Veer Algol 68
A brief history of Algol 68 Genie
November 2016

Being the author of Algol 68 Genie, people frequently ask me why a physical chemist wrote an Algol 68 compiler …


Marcel van der Veer Algol 68
Announcing Algol 68 Genie 2.0
September 2010

I have posted Algol 68 Genie Version 2.0.0 and its documentation …


Marcel van der Veer Algol 68
Revised Report on the Algorithmic Language Algol 68
June 2009

This is a translation of the Algol 68 Revised Report into HTML, for distribution with Algol 68 Genie, an Open Source Algol 68 interpreter …


Marcel van der Veer Algol 68
Announcing Algol 68 Genie 1.0
September 2002

Algol 68 was conceived as a successor to Algol 60 …