Commit | Line | Data |
---|---|---|
1628125f KM |
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 | .\" | |
6d1ba9bc | 5 | .\" @(#)pi.1 6.1 (Berkeley) %G% |
1628125f | 6 | .\" |
6d1ba9bc | 7 | .TH PI 1 "" |
1628125f KM |
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 | |
91d0cab8 | 93 | /usr/lib/pi2.*strings text of the error messages |
1628125f KM |
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. |