change q_mailer to be index, not pointer
[unix-history] / usr / src / usr.bin / pascal / pxp / var.c
CommitLineData
8a0ba70e
PK
1static char *sccsid = "@(#)var.c 1.1 (Berkeley) %G%";
2/* Copyright (c) 1979 Regents of the University of California */
3#
4/*
5 * pxp - Pascal execution profiler
6 *
7 * Bill Joy UCB
8 * Version 1.2 January 1979
9 */
10
11#include "0.h"
12#include "tree.h"
13
14STATIC int varcnt -1;
15/*
16 * Var declaration part
17 */
18varbeg(l, vline)
19 int l, vline;
20{
21
22 line = l;
23 if (nodecl)
24 printoff();
25 puthedr();
26 putcm();
27 ppnl();
28 indent();
29 ppkw("var");
30 ppgoin(DECL);
31 varcnt = 0;
32 setline(vline);
33}
34
35var(vline, vidl, vtype)
36 int vline;
37 register int *vidl;
38 int *vtype;
39{
40
41 if (varcnt)
42 putcm();
43 setline(vline);
44 ppitem();
45 if (vidl != NIL)
46 for (;;) {
47 ppid(vidl[1]);
48 vidl = vidl[2];
49 if (vidl == NIL)
50 break;
51 ppsep(", ");
52 }
53 else
54 ppid("{identifier list}");
55 ppsep(":");
56 gtype(vtype);
57 ppsep(";");
58 setinfo(vline);
59 putcml();
60 varcnt++;
61}
62
63varend()
64{
65
66 if (varcnt == -1)
67 return;
68 if (varcnt == 0)
69 ppid("{variable decls}");
70 ppgoout(DECL);
71 varcnt = -1;
72}