1*48112Sbostic /*- 2*48112Sbostic * Copyright (c) 1980 The Regents of the University of California. 3*48112Sbostic * All rights reserved. 4*48112Sbostic * 5*48112Sbostic * %sccs.include.redist.c% 622241Sdist */ 722241Sdist 822241Sdist #ifndef lint 9*48112Sbostic static char sccsid[] = "@(#)var.c 5.2 (Berkeley) 04/16/91"; 10*48112Sbostic #endif /* not lint */ 1122241Sdist 1222241Sdist /* 132867Speter * pxp - Pascal execution profiler 142867Speter * 152867Speter * Bill Joy UCB 162867Speter * Version 1.2 January 1979 172867Speter */ 182867Speter 192867Speter #include "0.h" 202867Speter #include "tree.h" 212867Speter 223054Smckusic STATIC int varcnt = -1; 232867Speter /* 242867Speter * Var declaration part 252867Speter */ 262867Speter varbeg(l, vline) 272867Speter int l, vline; 282867Speter { 292867Speter 302867Speter line = l; 312867Speter if (nodecl) 322867Speter printoff(); 332867Speter puthedr(); 342867Speter putcm(); 352867Speter ppnl(); 362867Speter indent(); 372867Speter ppkw("var"); 382867Speter ppgoin(DECL); 392867Speter varcnt = 0; 402867Speter setline(vline); 412867Speter } 422867Speter 432867Speter var(vline, vidl, vtype) 442867Speter int vline; 452867Speter register int *vidl; 462867Speter int *vtype; 472867Speter { 482867Speter 492867Speter if (varcnt) 502867Speter putcm(); 512867Speter setline(vline); 522867Speter ppitem(); 532867Speter if (vidl != NIL) 542867Speter for (;;) { 552867Speter ppid(vidl[1]); 562867Speter vidl = vidl[2]; 572867Speter if (vidl == NIL) 582867Speter break; 592867Speter ppsep(", "); 602867Speter } 612867Speter else 622867Speter ppid("{identifier list}"); 632867Speter ppsep(":"); 642867Speter gtype(vtype); 652867Speter ppsep(";"); 662867Speter setinfo(vline); 672867Speter putcml(); 682867Speter varcnt++; 692867Speter } 702867Speter 712867Speter varend() 722867Speter { 732867Speter 742867Speter if (varcnt == -1) 752867Speter return; 762867Speter if (varcnt == 0) 772867Speter ppid("{variable decls}"); 782867Speter ppgoout(DECL); 792867Speter varcnt = -1; 802867Speter } 81