|
| 1 | + The Debian Package a68toc |
| 2 | + ------------------------- |
| 3 | + |
| 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. |
| 7 | + |
| 8 | +The compiler front-end is essentially the Algol 68 RS portable |
| 9 | +compiler originally written by the Defence Research Agency when it |
| 10 | +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 |
| 12 | +the `a68toc' translator with the result that formats are unavailable |
| 13 | +and are likely to remain unavailable for the foreseeable future. The |
| 14 | +`PAR' construct, for parallel programming, with the associated mode |
| 15 | +`SEMA' and the operators `LEVEL', `UP' and `DOWN' never were part of |
| 16 | +the Algol 68 RS compiler. |
| 17 | + |
| 18 | +After extracting the A68toC system from the ELLA package, it became |
| 19 | +clear that the library preludes provided by the ELLA team were |
| 20 | +entirely unsatisfactory for the general user, not least because they |
| 21 | +were almost completely without documentation (see ctrans.texi). |
| 22 | + |
| 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 | + |
| 47 | +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. |
| 61 | + |
| 62 | +This version of the translator dispenses with the module manager `mm' and, |
| 63 | +instead, uses `ca' to create preludes and programs. |
| 64 | + |
| 65 | +A few extra files have been added to the port:- |
| 66 | + |
| 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' |
| 73 | + |
| 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 |
| 86 | + |
| 87 | +If any of these interest you, then do send me email. |
| 88 | + |
| 89 | +Dr Sian Mountbatten Thu Sep 13 18:00:00 +0100 2012 |
| 90 | +Inverness |
| 91 | +Scotland |
| 92 | +<poenikatu@fastmail.co.uk> |
0 commit comments