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