148112Sbostic /*- 2*62189Sbostic * Copyright (c) 1980, 1993 3*62189Sbostic * The Regents of the University of California. All rights reserved. 448112Sbostic * 548112Sbostic * %sccs.include.redist.c% 622230Sdist */ 722230Sdist 822230Sdist #ifndef lint 9*62189Sbostic static char sccsid[] = "@(#)lab.c 8.1 (Berkeley) 06/06/93"; 1048112Sbostic #endif /* not lint */ 1122230Sdist 1222230Sdist /* 132856Speter * pxp - Pascal execution profiler 142856Speter * 152856Speter * Bill Joy UCB 162856Speter * Version 1.2 January 1979 172856Speter */ 182856Speter 192856Speter #include "0.h" 202856Speter 212856Speter /* 222856Speter * Label declaration part 232856Speter */ label(r,l)242856Speterlabel(r, l) 252856Speter int *r, l; 262856Speter { 272856Speter register *ll; 282856Speter 292856Speter if (nodecl) 302856Speter printoff(); 312856Speter puthedr(); 322856Speter setline(l); 332856Speter ppnl(); 342856Speter indent(); 352856Speter ppkw("label"); 362856Speter ppgoin(DECL); 372856Speter ppnl(); 382856Speter indent(); 392856Speter ppbra(NIL); 402856Speter ll = r; 412856Speter if (ll != NIL) 422856Speter for (;;) { 432856Speter pplab(ll[1]); 442856Speter ll = ll[2]; 452856Speter if (ll == NIL) 462856Speter break; 472856Speter ppsep(", "); 482856Speter } 492856Speter else 502856Speter ppid("{label list}"); 512856Speter ppket(";"); 522856Speter putcml(); 532856Speter ppgoout(DECL); 542856Speter } 552856Speter 562856Speter /* 572856Speter * Goto statement 582856Speter */ gotoop(s)592856Spetergotoop(s) 602856Speter char *s; 612856Speter { 622856Speter 632856Speter gocnt++; 642856Speter ppkw("goto"); 652856Speter ppspac(); 662856Speter pplab(s); 672856Speter } 682856Speter 692856Speter /* 702856Speter * A label on a statement 712856Speter */ labeled(s)722856Speterlabeled(s) 732856Speter char *s; 742856Speter { 752856Speter 762856Speter linopr(); 772856Speter indentlab(); 782856Speter pplab(s); 792856Speter ppsep(":"); 802856Speter } 81