12856Speter /* 2*22230Sdist * Copyright (c) 1980 Regents of the University of California. 3*22230Sdist * All rights reserved. The Berkeley software License Agreement 4*22230Sdist * specifies the terms and conditions for redistribution. 5*22230Sdist */ 6*22230Sdist 7*22230Sdist #ifndef lint 8*22230Sdist static char sccsid[] = "@(#)lab.c 5.1 (Berkeley) 06/05/85"; 9*22230Sdist #endif not lint 10*22230Sdist 11*22230Sdist /* 122856Speter * pxp - Pascal execution profiler 132856Speter * 142856Speter * Bill Joy UCB 152856Speter * Version 1.2 January 1979 162856Speter */ 172856Speter 182856Speter #include "0.h" 192856Speter 202856Speter /* 212856Speter * Label declaration part 222856Speter */ 232856Speter label(r, l) 242856Speter int *r, l; 252856Speter { 262856Speter register *ll; 272856Speter 282856Speter if (nodecl) 292856Speter printoff(); 302856Speter puthedr(); 312856Speter setline(l); 322856Speter ppnl(); 332856Speter indent(); 342856Speter ppkw("label"); 352856Speter ppgoin(DECL); 362856Speter ppnl(); 372856Speter indent(); 382856Speter ppbra(NIL); 392856Speter ll = r; 402856Speter if (ll != NIL) 412856Speter for (;;) { 422856Speter pplab(ll[1]); 432856Speter ll = ll[2]; 442856Speter if (ll == NIL) 452856Speter break; 462856Speter ppsep(", "); 472856Speter } 482856Speter else 492856Speter ppid("{label list}"); 502856Speter ppket(";"); 512856Speter putcml(); 522856Speter ppgoout(DECL); 532856Speter } 542856Speter 552856Speter /* 562856Speter * Goto statement 572856Speter */ 582856Speter gotoop(s) 592856Speter char *s; 602856Speter { 612856Speter 622856Speter gocnt++; 632856Speter ppkw("goto"); 642856Speter ppspac(); 652856Speter pplab(s); 662856Speter } 672856Speter 682856Speter /* 692856Speter * A label on a statement 702856Speter */ 712856Speter labeled(s) 722856Speter char *s; 732856Speter { 742856Speter 752856Speter linopr(); 762856Speter indentlab(); 772856Speter pplab(s); 782856Speter ppsep(":"); 792856Speter } 80