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