1*2856Speter static char *sccsid = "@(#)lab.c 1.1 (Berkeley) 03/02/81"; 2*2856Speter /* Copyright (c) 1979 Regents of the University of California */ 3*2856Speter # 4*2856Speter /* 5*2856Speter * pxp - Pascal execution profiler 6*2856Speter * 7*2856Speter * Bill Joy UCB 8*2856Speter * Version 1.2 January 1979 9*2856Speter */ 10*2856Speter 11*2856Speter #include "0.h" 12*2856Speter 13*2856Speter /* 14*2856Speter * Label declaration part 15*2856Speter */ 16*2856Speter label(r, l) 17*2856Speter int *r, l; 18*2856Speter { 19*2856Speter register *ll; 20*2856Speter 21*2856Speter if (nodecl) 22*2856Speter printoff(); 23*2856Speter puthedr(); 24*2856Speter setline(l); 25*2856Speter ppnl(); 26*2856Speter indent(); 27*2856Speter ppkw("label"); 28*2856Speter ppgoin(DECL); 29*2856Speter ppnl(); 30*2856Speter indent(); 31*2856Speter ppbra(NIL); 32*2856Speter ll = r; 33*2856Speter if (ll != NIL) 34*2856Speter for (;;) { 35*2856Speter pplab(ll[1]); 36*2856Speter ll = ll[2]; 37*2856Speter if (ll == NIL) 38*2856Speter break; 39*2856Speter ppsep(", "); 40*2856Speter } 41*2856Speter else 42*2856Speter ppid("{label list}"); 43*2856Speter ppket(";"); 44*2856Speter putcml(); 45*2856Speter ppgoout(DECL); 46*2856Speter } 47*2856Speter 48*2856Speter /* 49*2856Speter * Goto statement 50*2856Speter */ 51*2856Speter gotoop(s) 52*2856Speter char *s; 53*2856Speter { 54*2856Speter 55*2856Speter gocnt++; 56*2856Speter ppkw("goto"); 57*2856Speter ppspac(); 58*2856Speter pplab(s); 59*2856Speter } 60*2856Speter 61*2856Speter /* 62*2856Speter * A label on a statement 63*2856Speter */ 64*2856Speter labeled(s) 65*2856Speter char *s; 66*2856Speter { 67*2856Speter 68*2856Speter linopr(); 69*2856Speter indentlab(); 70*2856Speter pplab(s); 71*2856Speter ppsep(":"); 72*2856Speter } 73