.\" Copyright (c) 1980, 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" %sccs.include.redist.man% .\" .\" @(#)pxp.1 6.3 (Berkeley) 06/26/90 .\" .Dd .Dt PXP 1 .Sh NAME .Nm pxp .Nd Pascal execution profiler .Sh SYNOPSIS .Nm pxp .Op Fl acdefjnstuw_ .Op Fl 23456789 .Op Fl z Op Ar name ... .Ar name.p .Sh DESCRIPTION .Nm 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 .Fl z option to .Xr pi 1 or .Xr pix 1 , to execute the program, and to then issue the command .Pp .Dl pxp -x name.p .Pp A reformatted listing is output if none of the .Fl c , .Fl t , or .Fl z options are specified; thus .Pp .Dl pxp old.p > new.p .Pp places a pretty-printed version of the program in `old.p' in the file `new.p'. .Pp The use of the following options of .Nm pxp is discussed in sections 2.6, 5.4, 5.5 and 5.10 of the .Em Berkeley Pascal User's Manual . .Tp Fl a Print the bodies of all procedures and functions in the profile; even those which were never executed. .Tp Fl c Extract profile data from the file .Pa core . .Tp Fl d Include declaration parts in a profile. .Tp Fl e Eliminate .Ic include directives when reformatting a file; the .Ic include is replaced by the reformatted contents of the specified file. .Tp Fl f Fully parenthesize expressions. .Tp Fl j Left justify all procedures and functions. .Tp Fl n Eject a new page as each file is included; in profiles, print a blank line at the top of the page. .Tp Fl s Strip comments from the input text. .Tp Fl t Print a table summarizing .Ic procedure and .Ic function call counts. .Tp Fl u Card image mode; only the first 72 characters of input lines are used. .Tp Fl w Suppress warning diagnostics. .Tp Fl z Generate an execution profile. If no .Cx Ar name .Cx \&\'s .Cx are given the profile is of the entire program. If a list of names is given, then only any specified .Cx Ic procedure .Cx \&s .Cx or .Cx Ic function .Cx \&s .Cx and the contents of any specified .Ic include files will appear in the profile. .Tp Fl \&_ Underline keywords. .Tp Fl d With .Ar d a digit, 2 \(<= .Ar d \(<= 9, causes .Nm pxp to use .Ar d spaces as the basic indenting unit. The default is 4. .Sh FILES .Dw /usr/lib/how_pxp .Di L .Dp Pa name.p input file .Dp Pa name.i include file(s) .Dp Pa pmon.out profile data .Dp Pa core profile data source with .Fl c .Dp Pa /usr/lib/how_pxp information on basic usage .Dp .Sh SEE ALSO .Em Berkeley Pascal User's Manual .br .Xr pi 1 , .Xr px 1 .Sh DIAGNOSTICS For a basic explanation do .Pp .Df I .Nm pxp .De .Pp Error diagnostics include `No profile data in file' with the .Fl c option if the .Fl z option was not enabled to .Nm pi ; `Not a Pascal system core file' if the core is not from a .Nm 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. .Sh AUTHOR William Joy .Sh HISTORY .Nm Pxp appeared in 3 BSD. .Sh BUGS Does not place multiple statements per line.