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