summaryrefslogtreecommitdiff
path: root/development/pli/plic.1
blob: 6e2bd2a6d931d3a4b599c8e5d63b02f638aaa4d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
.\" 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] <input\-files> [\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(<list>)\fP, \fB\-co(<list>)\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<option>\fP
<options> is a character string, with or without enclosing quotes.
.INDENT 7.0
.TP
.BI \-d\fB LIB
Tells the compiler it is compiling a standard run\-time library procedure.
.TP
.BI \-d\fB ELF
Causes the compiler to generate ELF object files (already the default, on Linux).
.TP
.BI \-d\fB OMF
Causes the compiler to generate OMF object files (this is the default on OS/2).
.UNINDENT
.UNINDENT
.\" FILES
.
.\" =====
.
.\" ENVIRONMENT
.
.\" ===========
.
.\" EXIT STATUS
.
.\" ===========
.
.\" BUGS
.
.\" ====
.
.\" EXAMPLES
.
.\" ========
.
.SH COPYRIGHT
.sp
See the file /usr/doc/pli\-0.9.10d/readme_linux.html for license information.
.SH AUTHORS
.sp
plic is copyright Iron Spring Software.
.sp
This man page written for the SlackBuilds.org project
by B. Watson, and is licensed under the WTFPL.
.SH SEE ALSO
.sp
\fBplicl\fP(1), \fBld\fP(1)
.sp
\fI\%http://www.iron\-spring.com/\fP
.\" Generated by docutils manpage writer.
.