BSD 3 development
[unix-history] / usr / src / cmd / pxp / call.c
CommitLineData
49e8dbd7
BJ
1/* Copyright (c) 1979 Regents of the University of California */
2#
3/*
4 * pxp - Pascal execution profiler
5 *
6 * Bill Joy UCB
7 * Version 1.2 January 1979
8 */
9
10#include "0.h"
11#include "tree.h"
12
13/*
14 * Procedure or function call
15 */
16call(p, argv)
17 register int *argv;
18{
19 register *al;
20
21 ppid(p);
22 if (argv != NIL) {
23 ppbra("(("+1); /* \exapropos\estrange\r */
24 for (;;) {
25 al = argv[1];
26 if (al[0] == T_WEXP) {
27 rvalue(al[1], NIL);
28 if (al[2] != NIL) {
29 ppsep(": ");
30 rvalue(al[2], NIL);
31 }
32 if (al[3] == OCT || al[3] == HEX) {
33 ppspac();
34 ppkw(al[3] == OCT ? "oct" : "hex");
35 } else if (al[3] != NIL) {
36 ppsep(": ");
37 rvalue(al[3], NIL);
38 }
39 } else
40 rvalue(argv[1], NIL);
41 argv = argv[2];
42 if (argv == NIL)
43 break;
44 ppsep(", ");
45 }
46 ppket(")");
47 }
48}