1.\" Copyright (c) 1980, 1990 The Regents of the University of California. 2.\" All rights reserved. 3.\" 4.\" %sccs.include.redist.man% 5.\" 6.\" @(#)pxp.1 6.2 (Berkeley) 06/11/90 7.\" 8.Dd 9.Dt PXP 1 10.UC 11.Sh NAME 12.Nm pxp 13.Nd Pascal execution profiler 14.Sh SYNOPSIS 15.Nm pxp 16.Op Fl acdefjnstuw_ 17.Op Fl 23456789 18.Op Fl z Op Ar name ... 19.Ar name.p 20.Sh DESCRIPTION 21.Nm Pxp 22can be used to obtain execution profiles of Pascal programs or 23as a pretty-printer. 24To produce an execution profile all that is necessary is to translate 25the program specifying the 26.Fl z 27option to 28.Xr pi 1 29or 30.Xr pix 1 , 31to execute the program, 32and to then issue the command 33.Pp 34.Dl pxp -x name.p 35.Pp 36A reformatted listing is output if none of the 37.Fl c , 38.Fl t , 39or 40.Fl z 41options are specified; 42thus 43.Pp 44.Dl pxp old.p > new.p 45.Pp 46places a pretty-printed version of the program in `old.p' in the file `new.p'. 47.Pp 48The use of the following options of 49.Nm pxp 50is discussed in sections 2.6, 5.4, 5.5 and 5.10 of the 51.Em Berkeley Pascal User's Manual . 52.Tp Fl a 53Print the bodies of all procedures and functions in the profile; 54even those which were never executed. 55.Tp Fl c 56Extract profile data from the file 57.Pa core . 58.Tp Fl d 59Include declaration parts in a profile. 60.Tp Fl e 61Eliminate 62.Ic include 63directives when reformatting a file; 64the 65.Ic include 66is replaced by the reformatted contents of the specified 67file. 68.Tp Fl f 69Fully parenthesize expressions. 70.Tp Fl j 71Left justify all procedures and functions. 72.Tp Fl n 73Eject a new page 74as each file is included; 75in profiles, print a blank line at the top of the page. 76.Tp Fl s 77Strip comments from the input text. 78.Tp Fl t 79Print a table summarizing 80.Ic procedure 81and 82.Ic function 83call counts. 84.Tp Fl u 85Card image mode; only the first 72 characters of input lines 86are used. 87.Tp Fl w 88Suppress warning diagnostics. 89.Tp Fl z 90Generate an execution profile. 91If no 92.Cx Ar name 93.Cx \&\'s 94.Cx 95are given the profile is of the entire program. 96If a list of names is given, then only any specified 97.Cx Ic procedure 98.Cx \&s 99.Cx 100or 101.Cx Ic function 102.Cx \&s 103.Cx 104and the contents of any specified 105.Ic include 106files will appear in the profile. 107.Tp Fl \&_ 108Underline keywords. 109.Tp Fl d 110With 111.Ar d 112a digit, 2 \(<= 113.Ar d 114\(<= 9, 115causes 116.Nm pxp 117to use 118.Ar d 119spaces as the basic indenting unit. 120The default is 4. 121.Sh FILES 122.Dw /usr/lib/how_pxp 123.Di L 124.Dp Pa name.p 125input file 126.Dp Pa name.i 127include file(s) 128.Dp Pa pmon.out 129profile data 130.Dp Pa core 131profile data source with 132.Fl c 133.Dp Pa /usr/lib/how_pxp 134information on basic usage 135.Dp 136.Sh SEE ALSO 137.Em Berkeley Pascal User's Manual 138.br 139.Xr pi 1 , 140.Xr px 1 141.Sh DIAGNOSTICS 142For a basic explanation do 143.Pp 144.Df I 145.Nm pxp 146.De 147.Pp 148Error diagnostics include 149`No profile data in file' 150with the 151.Fl c 152option if the 153.Fl z 154option was not enabled to 155.Nm pi ; 156`Not a Pascal system core file' 157if the core is not from a 158.Nm px 159execution; 160`Program and count data do not correspond' 161if the program was changed after compilation, before profiling; 162or if the wrong program is specified. 163.Sh AUTHOR 164William Joy 165.Sh HISTORY 166.Nm Pxp 167appeared in 3 BSD. 168.Sh BUGS 169Does not place multiple statements per line. 170