xref: /original-bsd/usr.bin/pascal/pxp/pxp.1 (revision ba762ddc)
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.5 (Berkeley) 04/16/91
7.\"
8.Vx
9.Dd
10.Dt PXP 1
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