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