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.  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 https://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 March 30, 2020.