-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
62f6011
commit 0f21917
Showing
1 changed file
with
92 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> |