xref: /csrg-svn/usr.bin/pascal/pxp/cset.c (revision 2852)
1*2852Speter static	char *sccsid = "@(#)cset.c	1.1 (Berkeley) 03/02/81";
2*2852Speter /* Copyright (c) 1979 Regents of the University of California */
3*2852Speter #
4*2852Speter /*
5*2852Speter  * pxp - Pascal execution profiler
6*2852Speter  *
7*2852Speter  * Bill Joy UCB
8*2852Speter  * Version 1.2 January 1979
9*2852Speter  */
10*2852Speter 
11*2852Speter #include "0.h"
12*2852Speter #include "tree.h"
13*2852Speter 
14*2852Speter /*
15*2852Speter  * Constant sets
16*2852Speter  */
17*2852Speter cset(r)
18*2852Speter int *r;
19*2852Speter {
20*2852Speter 	register *e, *el;
21*2852Speter 
22*2852Speter 	ppbra("[");
23*2852Speter 	el = r[2];
24*2852Speter 	if (el != NIL)
25*2852Speter 		for (;;) {
26*2852Speter 			e = el[1];
27*2852Speter 			el = el[2];
28*2852Speter 			if (e == NIL)
29*2852Speter 				continue;
30*2852Speter 			if (e[0] == T_RANG) {
31*2852Speter 				rvalue(e[1], NIL);
32*2852Speter 				ppsep("..");
33*2852Speter 				rvalue(e[2], NIL);
34*2852Speter 			} else
35*2852Speter 				rvalue(e, NIL);
36*2852Speter 			if (el == NIL)
37*2852Speter 				break;
38*2852Speter 			ppsep(", ");
39*2852Speter 		}
40*2852Speter 	ppket("]");
41*2852Speter }
42