.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PLIC" 1 "2022-01-17" "0.9.10d" "SlackBuilds.org"
.SH NAME
plic \- Iron Spring PL/I Compiler for x86 Linux
.\" RST source for plic(1) man page. Convert with:
.
.\" rst2man.py plic.rst > plic.1
.
.\" rst2man.py comes from the SBo development/docutils package.
.
.\" This is mostly copypasta from prog_guide.html, with a bit
.
.\" of commentary explaining things that aren't entirely clear.
.
.SH SYNOPSIS
.sp
plic [\fIoptions\fP] [\fI\-o\fP output\-file]
.SH DESCRIPTION
.sp
\fBplic\fP is a compiler for the PL/I language.
.sp
This man page doesn\(aqt attempt to fully document \fBplic\fP\&. It\(aqs just
intended as a reference for the command\-line options and arguments.
For full documentation, see: /usr/doc/pli\-0.9.10d/prog_guide.html
.sp
\&...and the other HTML and PDF documents found in the same directory.
.sp
One major difference between \fBplic\fP and other compilers for other
languages you may have used: \fBplic\fP doesn\(aqt link executables
nor call \fBld\fP(1) to link them as e.g. \fBgcc\fP(1) does. \fBplic\fP
produces object files (named with \fI\&.o\fP extension), which must then be
linked with a separate \fBld\fP command. The full documentation explains
this, and there is also a sample Makefile for building a simple
PL/I application, found in: /usr/doc/pli\-0.9.10d/samples/SA_make
.sp
The \fBpli\fP SlackBuilds.org package also includes a \fBplicl\fP wrapper
script, which does compiling and linking in one step, at least for
simple PL/I programs. It has its own man page.
.SH OPTIONS
.INDENT 0.0
.TP
.B \-V
Print version and copyright info to stderr (not stdout!) and exit.
.TP
.B \-S
Generate assembler (symbolic) output. Default output filename is
the input filename with the extension changed to \fI\&.asm\fP (use \fB\-o\fP to
change it).
.TP
.B \-C
Generate compiled (object code) output. Default object filename is
the input filename with the extension changed to \fI\&.o\fP (use \fB\-o\fP to
change it). A listing file (extension \fI\&.lst\fP) is also created. This
option should always be used when compiling; without it, \fBplic\fP
still generates an object file, but confusingly, its extension will
be \fI\&.exe\fP, and no \fI\&.lst\fP file will be created.
.TP
.B \-N
Generate statement number tables to provide information for run\-time
error messages.
.UNINDENT
.INDENT 0.0
.TP
.B \fB\-o\fP \fIfile\fP
Set the output filename. The space between the option and argument
is optional.
.TP
.B \fB\-i\fP \fIdirectory\fP
Use \fIdirectory\fP as the absolute or relative path to a directory to
be searched for %INCLUDE files. This option may be used more than once on the
command line, and directories will be searched in the order listed.
The space between the option and argument is optional. Note that
you must use \fB\-i .\fP if you want to search for include files in the
current directory.
.TP
.B \fB\-l[saxgmov]\fP
Listing options. One or more of [saxgmov] may be entered, in any
order, e.g. \fB\-lsx\fP\&.
.INDENT 7.0
.TP
.BI \-l\fB s
list source
.TP
.BI \-l\fB a
list attributes
.TP
.BI \-l\fB x
list cross\-reference
.TP
.BI \-l\fB g
list aggregates
.TP
.BI \-l\fB m
list generated code in a format similar to a disassembly.
.TP
.BI \-l\fB o
list procedure map (statement offset table)
.TP
.BI \-l\fB v
list additional warning messages
.UNINDENT
.TP
.B \fB\-m(start[,end])\fP
This option defines the first and last positions of each
input line that contain input for the compiler. If this
option is omitted the source is assumed to be the entire line.
This option is included for compatibility with mainframe compilers
which would use, for example, \-m(2,72).
.TP
.B \fB\-cn()\fP, \fB\-co()\fP
These options define up to four characters each to be used as
substitutions for the NOT(¬) [\-cn()] and/or OR(|) [\-co()]
operator IN ADDITION TO the defaults. Parentheses are metacharacters
in most Linux shells, so quote these options with either single\- or
double\-quotes.
.TP
.B \fB\-e[wsd]\fP
Error options. Can be combined, e.g. \-ewd. Normally, the compiler\(aqs
exit status is 4 if only warnings were issued, and 8 for any errors
in the code [but, exit status is 0 for errors like "Input file not found"].
These options are useful when the compiler is run from a script or Makefile.
.INDENT 7.0
.TP
.BI \-e\fB w
Tells the compiler to exit with 0 status if only warning messages
were issued.
.TP
.BI \-e\fB s
Tells the compiler to exit with 0 status if any errors \fIor\fP
warnings were issued.
.TP
.BI \-e\fB d
Display messages on stderr, as well as stdout. Normally, stdout
is the .lst file, so this option allows you to see any compile
errors/warnings immediately, without scrolling through the
listing.
.UNINDENT
.TP
.B \fB\-d