home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / src / pxp / call.c < prev    next >
C/C++ Source or Header  |  1980-02-17  |  807b  |  49 lines

  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.  */
  16. call(p, argv)
  17.     register int *argv;
  18. {
  19.     register *al;
  20.  
  21.     ppid(p);
  22.     if (argv != NIL) {
  23.         ppbra("(("+1);    /* xaproposstrange */
  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. }
  49.