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