.\" 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