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