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