PL360 Compiler

 

PL360

The original source for this material was obtained from the pl360.tar.gz archive in the public directory at:

ftp://lindy.stanford.edu.

I am not sure that this server is still "online", but I am leaving this as documentation of the source for this material.

When I originally obtained this archive, I converted each of the text files from EBCDIC to ASCII and added CR/LF pairs so that the files may be opened and viewed more easily using the tools most people will have at hand.  The source archive from Stanford also contained a couple of compiled object modules (suitable for input into the Link Editor or Loader) which I have left in their EBCDIC form.  Thus converted, the archive is available for download from this site as:

pl360.tar.gz [MD5: 3766622D5FC2CBF1D8A5956EFF36670D]

which contains the following files:

  1. manual.prn - formatted print file containing PL360 manual

  2. bcdval.pl3 - PL360 routines to convert numbers to/from real, complex, and double precision numbers as human readable strings in a format more familiar to FORTRAN and PL/1 programmers

  3. bisearch.pl3 - PL360 routine implementing a binary search on a table with keys

  4. pl360src.pl3 - PL360 source for the January, 1990 version of the Stanford PL360 compiler

  5. runlib.pl3 - PL360 routine providing the functions of bcdval.pl3, bisearch.pl3, and shelsort.pl3 combined into a single module

  6. shelsort.pl3 - PL360 routine implementing a simple shell sort algorithm

  7. synproc.pl3 - PL360 routine implementing a simple precedence syntax processor

  8. cmsinter.bal - Assembler language routines to interface the PL360 compiler to CMS

  9. dosinter.bal - Assembler language routines to interface the PL360 compiler to DOS

  10. dospl360.bal - Assembler language I/O routines for simple read/punch/write input/output from compiled PL360 programs to DOS

  11. dosplio.bal - Assembler language I/O routines for tape/disk input/output from compiled PL360 programs to DOS

  12. mtsinter.bal - Assembler language routines to interface the PL360 compiler to MTS

  13. mvsinter.bal - Assembler language routines to interface the PL360 compiler to MVS

  14. mvspl360.bal - Assembler language I/O routines for tape/disk input/output from compiled PL360 programs to MVS

  15. mvsplio.bal - Assembler language I/O routines for tape/disk input/output from compiled PL360 programs to MVS

  16. orvinter.bal - Assembler language routines to interface the PL360 compiler to Orvyl

  17. orvrunti.bal - Assembler language routines to interface compiled PL360 programs to Orvyl

  18. pl3link.jcl - JCL to link-edit compiled PL360 programs

  19. proclib.upd - IEBUPDTE input to add procedure library members for PL360

  20. grammar.bnf - a formal BNF type grammar for the PL360 language which may be processed by synproc.pl3

  21. pl360n1.txt and pl360n2.txt - notes on Stanford modifications to PL360

 

Phil Roberts subsequently put together another distribution of PL360, which he built from the original EBCDIC sources (see messages: http://groups.yahoo.com/group/hercules-390/message/19278 and http://groups.yahoo.com/group/hercules-390/message/19349 for his comments and links to manuals he found online).  His archive is available for download from this site as:

PL360 for MVS.zip [MD5: b7256c3cd315036ca7e94141e297788b]

Quick start instructions for Phil's distribution:

Download the archive to your computer.
Uncompress the archive.
Edit reload jobstream - iebcopyr.jcl - to make changes required for your Hercules/MVS configuration.
Submit reload jobstream to install compiler source and load module.
Edit installation verification jobstream - pl360job.jcl - to make changes required for your Hercules/MVS configuration.
Submit installation verification jobstream to compile/run magic squares program.

The archive also contains a jobstream that compiles/executes the 99bottles program from http://www.99-bottles-of-beer.net/ (99bottles.jcl).


I hope that you have found my instructions useful.  If you have questions that I can answer to help expand upon the information I have included here, please don't hesitate to send them to me:


Return to Site Home Page 


This page was last updated on January 17, 2015.