.th PXP VI 11/16/77 .sh NAME pxp \- Pascal execution profiler .sh SYNOPSIS .bd pxp [ \fB\-acdefjnstuw_\fR ] [ .bd \-23456789 ] [ .bd \-z [ name ... ] ] name.p .sh DESCRIPTION .it Pxp can be used to obtain execution profiles of Pascal programs or as a pretty-printer. To produce an execution profile all that is necessary is to translate the program specifying the .bd z option to .it pi or .it pix, to execute the program, and to then issue the command .dt .s3 \fBpxp \-z\fR name.p .s3 A reformatted listing is output if none of the \fBc\fR, \fBt\fR, or \fBz\fR options are specified; thus .s3 \fBpxp\fR old.p > new.p .s3 places a pretty-printed version of the program in `old.p' in the file `new.p'. .s3 The use of the following options of .it pxp is discussed in sections 2.6, 5.4, 5.5 and 5.10 of the \fIUNIX Pascal User's Manual\fR. .s3 .lp +6 5 \fB\-a\fR Print the bodies of all procedures and functions in the profile; even those which were never executed. .s3 .lp +6 5 \fB\-c\fR Extract profile data from the file \fIcore\fR. .s3 .lp +6 5 \fB\-d\fR Include declaration parts in a profile. .s3 .lp +6 5 \fB\-e\fR Eliminate .bd include directives when reformatting a file; the .bd include is replaced by the reformatted contents of the specified file. .s3 .lp +6 5 \fB\-f\fR Fully parenthesize expressions. .s3 .lp +6 5 \fB\-j\fR Left justify all procedures and functions. .s3 .lp +6 5 \fB\-n\fR Eject a new page as each file is included; in profiles, print a blank line at the top of the page. .s3 .lp +6 5 \fB\-s\fR Strip comments from the input text. .s3 .lp +6 5 \fB\-t\fR Print a table summarizing \fBprocedure\fR and \fBfunction\fR call counts. .s3 .lp +6 5 \fB\-u\fR Card image mode; only the first 72 characters of input lines are used. .s3 .lp +6 5 \fB\-w\fR Suppress warning diagnostics. .s3 .lp +6 5 \fB\-z\fR Generate an execution profile. If no \fIname\fR\|s, are given the profile is of the entire program. If a list of names is given, then only any specified \fBprocedure\fRs or \fBfunction\fRs and the contents of any specified .bd include files will appear in the profile. .s3 .lp +6 5 \fB\-\_\fR Underline keywords. .s3 .lp +6 5 \fB\-\fId\fR With \fId\fR a digit, 2 \(<= \fId\fR \(<= 9, causes .it pxp to use \fId\fP spaces as the basic indenting unit. The default is 4. .i0 .sh FILES .dt name.p input file .br name.i include file(s) .br pmon.out profile data .br core profile data source with \fB\-c\fR .br /usr/lib/how_pxp information on basic usage .br .ne 8 .sh "SEE ALSO" UNIX Pascal User's Manual .br pi (VI), px (VI) .ne 5 .sh DIAGNOSTICS For a basic explanation do .s3 .dt .bd pxp .s3 Error diagnostics include ``No profile data in file'' with the .bd c option if the .bd z option was not enabled to .it pi; ``Not a Pascal system core file'' if the core is not from a .it px execution; ``Program and count data do not correspond'' if the program was changed after compilation, before profiling; or if the wrong program is specified. .i0 .sh AUTHOR William N. Joy .sh BUGS Does not place multiple statements per line.