pxp - Pascal execution profiler


pxp [-acdefjnstuw_] [-23456789] [-z [ name ... ] ] name.p


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 z option to pi or pix, to execute the program, and to then issue the command

pxp -z name.p

A reformatted listing is output if none of the c , t , or z options are specified; thus

pxp old.p > new.p

places a pretty-printed version of the program in `old.p' in the file `new.p'.

The use of the following options of pxp is discussed in sections 2.6, 5.4, 5.5 and 5.10 of the Berkeley Pascal User's Manual.

-a Print the bodies of all procedures and functions in the profile; even those which were never executed.

-c Extract profile data from the file core .

-d Include declaration parts in a profile.

-e Eliminate include directives when reformatting a file; the include is replaced by the reformatted contents of the specified file.

-f Fully parenthesize expressions.

-j Left justify all procedures and functions.

-n Eject a new page as each file is included; in profiles, print a blank line at the top of the page.

-s Strip comments from the input text.

-t Print a table summarizing procedure and function call counts.

-u Card image mode; only the first 72 characters of input lines are used.

-w Suppress warning diagnostics.

-z Generate an execution profile. If no names, are given the profile is of the entire program. If a list of names is given, then only any specified procedure s or function s and the contents of any specified include files will appear in the profile.

-_ Underline keywords.

- d With d a digit, 2 <= d <= 9, causes pxp to use d spaces as the basic indenting unit. The default is 4.


name.p input file
name.i include file(s)
pmon.out profile data
core profile data source with -c
/usr/lib/how_pxp information on basic usage


Berkeley Pascal User's Manual
pi(UCB), px(UCB)


For a basic explanation do


Error diagnostics include `No profile data in file' with the c option if the z option was not enabled to pi; `Not a Pascal system core file' if the core is not from a 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.


William N. Joy


Does not place multiple statements per line.