1bc19982fSbostic /*- 2*355d31f8Sbostic * Copyright (c) 1980, 1993 3*355d31f8Sbostic * The Regents of the University of California. All rights reserved. 4bc19982fSbostic * 5bc19982fSbostic * %sccs.include.redist.c% 6e111adfaSdist */ 7e111adfaSdist 8e111adfaSdist #ifndef lint 9*355d31f8Sbostic static char sccsid[] = "@(#)lab.c 8.1 (Berkeley) 06/06/93"; 10bc19982fSbostic #endif /* not lint */ 11e111adfaSdist 12814f212bSpeter /* 13814f212bSpeter * pxp - Pascal execution profiler 14814f212bSpeter * 15814f212bSpeter * Bill Joy UCB 16814f212bSpeter * Version 1.2 January 1979 17814f212bSpeter */ 18814f212bSpeter 19814f212bSpeter #include "0.h" 20814f212bSpeter 21814f212bSpeter /* 22814f212bSpeter * Label declaration part 23814f212bSpeter */ label(r,l)24814f212bSpeterlabel(r, l) 25814f212bSpeter int *r, l; 26814f212bSpeter { 27814f212bSpeter register *ll; 28814f212bSpeter 29814f212bSpeter if (nodecl) 30814f212bSpeter printoff(); 31814f212bSpeter puthedr(); 32814f212bSpeter setline(l); 33814f212bSpeter ppnl(); 34814f212bSpeter indent(); 35814f212bSpeter ppkw("label"); 36814f212bSpeter ppgoin(DECL); 37814f212bSpeter ppnl(); 38814f212bSpeter indent(); 39814f212bSpeter ppbra(NIL); 40814f212bSpeter ll = r; 41814f212bSpeter if (ll != NIL) 42814f212bSpeter for (;;) { 43814f212bSpeter pplab(ll[1]); 44814f212bSpeter ll = ll[2]; 45814f212bSpeter if (ll == NIL) 46814f212bSpeter break; 47814f212bSpeter ppsep(", "); 48814f212bSpeter } 49814f212bSpeter else 50814f212bSpeter ppid("{label list}"); 51814f212bSpeter ppket(";"); 52814f212bSpeter putcml(); 53814f212bSpeter ppgoout(DECL); 54814f212bSpeter } 55814f212bSpeter 56814f212bSpeter /* 57814f212bSpeter * Goto statement 58814f212bSpeter */ gotoop(s)59814f212bSpetergotoop(s) 60814f212bSpeter char *s; 61814f212bSpeter { 62814f212bSpeter 63814f212bSpeter gocnt++; 64814f212bSpeter ppkw("goto"); 65814f212bSpeter ppspac(); 66814f212bSpeter pplab(s); 67814f212bSpeter } 68814f212bSpeter 69814f212bSpeter /* 70814f212bSpeter * A label on a statement 71814f212bSpeter */ labeled(s)72814f212bSpeterlabeled(s) 73814f212bSpeter char *s; 74814f212bSpeter { 75814f212bSpeter 76814f212bSpeter linopr(); 77814f212bSpeter indentlab(); 78814f212bSpeter pplab(s); 79814f212bSpeter ppsep(":"); 80814f212bSpeter } 81