Skip to content

Commit

Permalink
Renamed Dr Mountbatten's README
Browse files Browse the repository at this point in the history
  • Loading branch information
coolbikerdad committed May 4, 2021
1 parent 62f6011 commit 0f21917
Showing 1 changed file with 92 additions and 0 deletions.
92 changes: 92 additions & 0 deletions README.Sian
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
The Debian Package a68toc
-------------------------

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

The compiler front-end is essentially the Algol 68 RS portable
compiler originally written by the Defence Research Agency when it
was known as the RSRE (Royal Signals and Radar Establishment). Only
that part of Algol 68 needed for the ELLA compiler was implemented by
the `a68toc' translator with the result that formats are unavailable
and are likely to remain unavailable for the foreseeable future. The
`PAR' construct, for parallel programming, with the associated mode
`SEMA' and the operators `LEVEL', `UP' and `DOWN' never were part of
the Algol 68 RS compiler.

After extracting the A68toC system from the ELLA package, it became
clear that the library preludes provided by the ELLA team were
entirely unsatisfactory for the general user, not least because they
were almost completely without documentation (see ctrans.texi).

It was decided to write a Standard Prelude which would conform, as
closely as possible, to the Standard Prelude described in the `Revised
Report on the Algorithmic Language ALGOL 68' (see the bibliography of
the book `Programming Algol 68 Made Easy').

In view of the amount of time it would take to create such a prelude,
it was decided to adapt the Standard Prelude written for the Algol 68
compiler marketed by Oxford and Cambridge Compilers Limited (OCCL).
Only the transput of that prelude would need to be used, more or less
in its entirety. (In fact, some of the numerical routines were also
used.)

The only other possibility would have been to implement the van Vliet
Transput Model (as described in "ALGOL 68 TRANSPUT" by J.C.van Vliet.
"Part II AN IMPLEMENTATION MODEL" gives the source code). It was felt
that this full implementation of Algol 68 transput would require
rather more time than the author felt she could give.

In the event, the "Quick and Dirty" (QAD) implementation of the new
Standard Prelude lasted, not three weeks as the author originally
thought, but 7 months and the documentation thereof a further 7
months. What with other commitments, the project has taken a full
year to complete.

The QAD Standard Prelude given here (in sub-directory qad)
uses the conversion routines from the van Vliet Transput Model as
well as the source code for `put' and `get' suitably adapted.

The availability of the `STRAIGHT' operator in the a68toc Algol 68
compiler meant that some of the modes in the OCCL definition of
`SIMPLIN/SIMPLOUT' could be removed. While it is true that `STRAIGHT'
will straighten any multiple, a quick attempt to remove all multiples
except `STRING' was unsuccessful.

The package was originally uploaded to
<vestein.arb-phys.uni-dortmund.de>
as ctrans_1.0.0.tar.gz, but it was always the intention of the author
to upload as a Debian package.

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

A few extra files have been added to the port:-

(1) The following two files enable Algol 68 source files to be
printed with some lexical highlighting, provided that `a2ps' is used
(see the Debian package of that name):-
algol68.ssh -- a style sheet for `a2ps'
sheets.entry-- an entry for the file /usr/share/a2ps/sheets/sheets.map
for `a2ps'

Lastly, I am actively using this port and have already created the following
preludes:-
regular expressions
Unicode regular expressions
string operators, sorting and the binary chop
system facilities:-
execve, fork, exec piped child, system
getpid et al
stat, fstat, lstat
directory scanning
time routines
Xforms library binding

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

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

0 comments on commit 0f21917

Please sign in to comment.