xref: /original-bsd/usr.bin/pascal/pi/pi.1 (revision 95a66346)
1.\" Copyright (c) 1980, 1990 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" %sccs.include.redist.man%
5.\"
6.\"     @(#)pi.1	6.3 (Berkeley) 03/14/91
7.\"
8.Vx
9.Vx
10.Dd
11.Dt PI 1
12.UC
13.Sh NAME
14.Nm pi
15.Nd Pascal interpreter code translator
16.Sh SYNOPSIS
17.Nm pi
18.Op Fl blnpstuwz
19.Op Fl i Ar name ...
20.Ar name.p
21.Sh DESCRIPTION
22.Nm Pi
23translates the program in the file
24.Ar name.p
25leaving interpreter code in the file
26.Pa obj
27in the current directory.
28The interpreter code can be executed using
29.Nm px .
30.Nm Pix
31performs the functions of
32.Nm pi
33and
34.Nm px
35for `load and go' Pascal.
36.Pp
37The following flags are interpreted by
38.Nm pi ;
39the associated options can also be controlled in comments within the program
40as described in the
41.Em "Berkeley Pascal User's Manual."
42.Tw Fl
43.Tp Fl b
44Block buffer the file
45.Ar output .
46.Tp Fl i
47Enable the listing for
48any specified procedures and functions and while processing any specified
49.Ic include
50files.
51.Tp Fl l
52Make a program listing during translation.
53.Tp Fl n
54Begin each listed
55.Ic include
56file on a new page with a banner line.
57.Tp Fl p
58Suppress the post-mortem control flow backtrace
59if an error occurs;
60suppress statement limit counting.
61.Tp Fl s
62Accept standard Pascal only;
63non-standard constructs cause warning diagnostics.
64.Tp Fl t
65Suppress runtime tests of subrange variables and treat
66.Ic assert
67statements as comments.
68.Tp Fl u
69Card image mode;
70only the first 72 characters of input lines are used.
71.Tp Fl w
72Suppress warning diagnostics.
73.Tp Fl z
74Allow execution profiling with
75.Nm pxp
76by generating statement counters, and arranging for the
77creation of the profile data file
78.Pa pmon.out
79when the resulting object is executed.
80.Tp
81.Sh FILES
82.Dw /usr/lib/pi1.*strings
83.Di L
84.Dp Pa file.p
85input file
86.Dp Pa file.i
87include file(s)
88.Dp Pa /usr/lib/pi2.*strings
89text of the error messages
90.Dp Pa /usr/lib/how_pi*
91basic usage explanation
92.Dp Pa obj
93interpreter code output
94.Dp
95.Sh SEE ALSO
96.Em Berkeley Pascal User'.Xr s Manual
97.br
98.Xr pix 1 ,
99.Xr px 1 ,
100.Xr pxp 1 ,
101.Xr pxref 1
102.Sh DIAGNOSTICS
103For a basic explanation do
104.Pp
105.Df I
106.Nm pi
107.De
108.Pp
109In the diagnostic output of the translator,
110lines containing syntax errors are listed with a flag indicating the
111point of error.
112Diagnostic messages indicate the action which the recovery mechanism
113took in order to be able to continue parsing.
114Some diagnostics indicate only that the input is `malformed.'
115This occurs if the recovery can find no simple correction to make the input
116syntactically valid.
117.Pp
118Semantic error diagnostics indicate a line in the source text near the
119point of error.
120Some errors evoke more than one diagnostic to help pinpoint the error;
121the follow-up messages begin with an ellipsis `...'.
122.Pp
123.ne 8
124The first character of each error message indicates its class:
125.Pp
126.Dw Fl
127.Di L
128.Dp Li E
129Fatal error; no code will be generated.
130.Dp e
131Non-fatal error.
132.Dp w
133Warning \- a potential problem.
134.Dp s
135Non-standard Pascal construct warning.
136.Dp
137.Pp
138If a severe error occurs which inhibits further processing,
139the translator will give a diagnostic and then `QUIT'.
140.Sh AUTHORS
141Charles B. Haley, William N. Joy, and Ken Thompson
142.br
143Ported to VAX-11 by Peter Kessler
144.Sh BUGS
145The keyword
146.Ic packed
147is recognized but has no effect.
148.Pp
149For clarity,
150semantic errors should be flagged at an appropriate place in the source text,
151and multiple instances of the `same' semantic error should be summarized
152at the end of a
153.Ic procedure
154or
155.Ic function
156rather than evoking many diagnostics.
157.Pp
158When
159.Ic include
160files are present,
161diagnostics relating to the last procedure in one file may appear after the
162beginning of the listing of the next.
163.\" .Sh ENVIRONMENT
164.Sh HISTORY
165.Nm Pi
166appeared in 3 BSD.
167