Skip to content

Commit 62f6011

Browse files
committed
Updated README files
1 parent 4531690 commit 62f6011

File tree

1 file changed

+31
-68
lines changed

1 file changed

+31
-68
lines changed

README

Lines changed: 31 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
The Debian Package a68toc
2-
-------------------------
1+
The Algol-68RS Compiler (a68toc)
2+
--------------------------------
33

4-
This is the Linux port of the A68toC Algol 68 development system. It
5-
was extracted from the ELLA package which is used for VLSI chip
6-
design.
4+
This is the A68toC Algol 68 development system. It was extracted from
5+
the ELLA package which is used for VLSI chip design.
76

8-
The compiler front-end is essentially the Algol 68 RS portable
7+
This repository contains a version of a68toc derived from a Linux
8+
port of a68toc by Sian Mountbatten. See README.Sian for more.
9+
10+
The compiler front-end is essentially the Algol-68RS portable
911
compiler originally written by the Defence Research Agency when it
1012
was known as the RSRE (Royal Signals and Radar Establishment). Only
11-
that part of Algol 68 needed for the ELLA compiler was implemented by
13+
that part of Algol-68 needed for the ELLA compiler was implemented by
1214
the `a68toc' translator with the result that formats are unavailable
1315
and are likely to remain unavailable for the foreseeable future. The
1416
`PAR' construct, for parallel programming, with the associated mode
@@ -20,73 +22,34 @@ clear that the library preludes provided by the ELLA team were
2022
entirely unsatisfactory for the general user, not least because they
2123
were almost completely without documentation (see ctrans.texi).
2224

23-
It was decided to write a Standard Prelude which would conform, as
24-
closely as possible, to the Standard Prelude described in the `Revised
25-
Report on the Algorithmic Language ALGOL 68' (see the bibliography of
26-
the book `Programming Algol 68 Made Easy').
27-
28-
In view of the amount of time it would take to create such a prelude,
29-
it was decided to adapt the Standard Prelude written for the Algol 68
30-
compiler marketed by Oxford and Cambridge Compilers Limited (OCCL).
31-
Only the transput of that prelude would need to be used, more or less
32-
in its entirety. (In fact, some of the numerical routines were also
33-
used.)
34-
35-
The only other possibility would have been to implement the van Vliet
36-
Transput Model (as described in "ALGOL 68 TRANSPUT" by J.C.van Vliet.
37-
"Part II AN IMPLEMENTATION MODEL" gives the source code). It was felt
38-
that this full implementation of Algol 68 transput would require
39-
rather more time than the author felt she could give.
40-
41-
In the event, the "Quick and Dirty" (QAD) implementation of the new
42-
Standard Prelude lasted, not three weeks as the author originally
43-
thought, but 7 months and the documentation thereof a further 7
44-
months. What with other commitments, the project has taken a full
45-
year to complete.
46-
4725
The QAD Standard Prelude given here (in sub-directory qad)
48-
uses the conversion routines from the van Vliet Transput Model as
49-
well as the source code for `put' and `get' suitably adapted.
50-
51-
The availability of the `STRAIGHT' operator in the a68toc Algol 68
52-
compiler meant that some of the modes in the OCCL definition of
53-
`SIMPLIN/SIMPLOUT' could be removed. While it is true that `STRAIGHT'
54-
will straighten any multiple, a quick attempt to remove all multiples
55-
except `STRING' was unsuccessful.
56-
57-
The package was originally uploaded to
58-
<vestein.arb-phys.uni-dortmund.de>
59-
as ctrans_1.0.0.tar.gz, but it was always the intention of the author
60-
to upload as a Debian package.
26+
uses the conversion routines from the van Vliet Transput Model of
27+
transput.
6128

6229
This version of the translator dispenses with the module manager `mm' and,
6330
instead, uses `ca' to create preludes and programs.
6431

65-
A few extra files have been added to the port:-
32+
Starting from Dr Mountbatten's Linux port (labelled as v1.15) this
33+
package has been enhanced with bug-fixes and has machine-specific
34+
dependencies resolved. The result is a sequence of new versions,
35+
starting at v1.20 (a v1.19 version was previously known to exist
36+
but the author has not been able to locate it).
37+
38+
The current branch of a68toc now compiles, runs, and self-compiles
39+
on little-endian CPUs (Intel/AMD) and big-endian CPUs (ARM) in
40+
both 32-bit and 64-bit forms on the Linux operating system
41+
and on Intel 64-bit on macOS.
42+
43+
Support for macOS has been made possible by the integration of the
44+
Boehm-Demers-Weiser Garbage Collector (bdwgc), a version of which
45+
is contained in this repository, and is a compile-time option for
46+
the Linux variants, being set as the default for all 64-bit systems.
6647

67-
(1) The following two files enable Algol 68 source files to be
68-
printed with some lexical highlighting, provided that `a2ps' is used
69-
(see the Debian package of that name):-
70-
algol68.ssh -- a style sheet for `a2ps'
71-
sheets.entry-- an entry for the file /usr/share/a2ps/sheets/sheets.map
72-
for `a2ps'
48+
Further example programs have been added to this repository including
49+
some from Glyn Webster; see the examples folder.
7350

74-
Lastly, I am actively using this port and have already created the following
75-
preludes:-
76-
regular expressions
77-
Unicode regular expressions
78-
string operators, sorting and the binary chop
79-
system facilities:-
80-
execve, fork, exec piped child, system
81-
getpid et al
82-
stat, fstat, lstat
83-
directory scanning
84-
time routines
85-
Xforms library binding
51+
Neil Matthew
52+
neil@tilde.co.uk
53+
May 2021
8654

87-
If any of these interest you, then do send me email.
8855

89-
Dr Sian Mountbatten Thu Sep 13 18:00:00 +0100 2012
90-
Inverness
91-
Scotland
92-
<poenikatu@fastmail.co.uk>

0 commit comments

Comments
 (0)