# Iron Spring PL/I 1.0.0 Sample Programs

This is a brief description of the sample files distributed with Iron Spring PL/I Version 1.0.0. The samples are distributed free of any licenses or restrictions. Unless otherwise indicated all sample programs will compile and run on Linux and OS/2.

filedump.pli | Program to dump a ENV(VARLS) file in hex and characters.
vfile.dat | Sample input for filedump
hanoi.pli | "Towers of Hanoi" batch version.
hexdump.pli | Callable procedure to print a hex/character dump of a selected area of memory.
libver.pli | Program to display the current version of the PL/I library.
numwrd.pli | Command-line program to print a number in words.
print_listing.pli | Sample program to print a PL/I compiler listing on a PCL printer.
readu.pli | Example of reading a file declared with ENVIRONMENT(U).
samples.html | This file.
sorttest.pli | Procedure to test PLISRTD
sort.dat | Test data for sorttest
task.pli | Example of PL/I multitasking. The OS/2 version runs in a VIO window, the Linux version must run in a Linux console, not an xterm.
keysamp.pli | Sample program to create and read a KEYED file
Linux only samples
spawn.pli | Procedure to FORK and EXEC a child process.
spawntest.pli | Test program for spawn.
loadsamp.pli | Sample program to load an ISAM file. Sample creates two files DIREC.I and DIREC.D in the samples directory.
loadsamp.dat | Sample data for loadsamp.
updtsamp.pli | Sample program to update an ISAM file.
updtsamp.dat | Sample data for updtsamp.
Makefile.isam | Makefile to compile and run ISAM sample programs].
Makefile.Linux | Makefile to build all Linux PL/I sample programs.
OS/2 only samples
filefind.pli | OS/2 program to locate the directory entry for a file.
pmhanoi.pli | "Towers of Hanoi" as an OS/2 presentation manager program.
sample.def | OS/2 module definition file used for all sample programs except pmhanoi.
pm.def | OS/2 module definition file used for the pmhanoi sample program.
bse.inc | some PL/I declarations for OS/2 system calls. Additions always welcomed.
Makefiles and miscellaneous
LC_make, LCC_make, SA_make | Sample makefiles for Linux giving examples of compiling and linking a PL/I program. LC_make links the compiled program with libc, but uses PL/I's malloc and free. LCC_make links with libc and uses libc's malloc and free. SA_make links a PL/I program without libc.
Makefile.OS2DLL | Makefile to build all OS/2 PL/I sample programs using the PL/I runtime DLL.
Makefile.OS2Static | Makefile to build all OS/2 PL/I sample programs using the statically-linked PL/I runtime.

Iron Spring PL/I version 1.0.0, 1 Feb 2023.