We believe this is the complete POP-2 text for PLTP as of 14 September, 1973. The file was produced by running the scanned images through an OCR processor, grabbing the resulting text from each listing, concatenating the two texts, and correcting the obvious OCR errors. If some line in this file looks odd, consult the scanned images. Please report to the authors any correction that should be made to our transcription.
In the event that you have a modern POP-2 compiler and wish to run this code,
be advised that you will have to solve the various file i/o issues that were
peculiar to 1973 Edinburgh POP-2/4100 implementation. A relatively minor
concern to be addressed is the use of character codes in FUNCTION
ISNUMSKO
and in the file [PPR]
. While ASCII or Unicode
mappings are common today, our transcription preserves the original POP-2
character-to-integer codes. So for example, when FUNCTION
ISNUMSKO
checks that the first character in a name is strictly after
the letter 'H
' and strictly before the letter 'O
',
it uses the codes 40 and 47 for those characters, not say ASCII 72 and 79.
See the
POP-2/4100 Users Manual for
system-related POP-2 features, including Appendix 2, page 66, for the
then-standard POP-2 character set mapping.
We have tried to be faithful to the POP-2 text in each file, with a few exceptions.
The lineprinter banner at the top of each file is transcribed as a POP-2 comment, e.g.,
COMMENT
*****************************************************************
[ADDEFS] TRACK 9 [ 21.16 14 SEPT 1973]
CREATED 20.03 14 9 1973
;
There is a misspelling, in a comment, preserved here but marked with '[sic]'.
There is a typo in a comment, preserved here but marked with '[sic]', stating an incorrect version of the correctly implemented COND-distribution rule.
The Edinburgh lineprinter wrapped long lines after 80 characters. Those wrapped lines have been unwrapped.
The identifier AVOIDSTAR
in the VARS
declaration in the first non-COMMENT
line of file [/ PROVE]
was actually written as AVOIDSTARS
in the original
source listing. The two names are treated identically because the Edinburgh
POP-2 compiler truncated names to 8 characters.
The identifier GENSKOLIST
called as a function in the definition of FUNCTION
ARTIFINTEL
in file [/ PROVE]
was actually written GENSKOLISTT
in the
original listing. Again, the two names are treated identically by the
Edinburgh POP-2 compiler.