|
|
1.1 ! root 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: .\" ! 5: .\" @(#)pi.1 6.1 (Berkeley) 4/29/85 ! 6: .\" ! 7: .TH PI 1 "April 29, 1985" ! 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 ! 93: /usr/lib/pi2.*strings text of the error messages ! 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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.