xref: /original-bsd/usr.bin/pascal/pdx/sym/sym.rep (revision a910c8b7)
1/* Copyright (c) 1982 Regents of the University of California */
2
3/* static char sccsid[] = "@(#)sym.rep 1.2 01/18/82"; */
4
5/*
6 * This file contains the definition of the representation of the SYM type.
7 */
8
9struct sym {
10	char *symbol;
11	char class;
12	char blkno;
13	SYM *type;
14	SYM *chain;
15	union {
16		int offset;		/* variable address */
17		long iconval;		/* integer constant value */
18		double fconval;		/* floating constant value */
19		struct {		/* range bounds */
20			long lower;
21			long upper;
22		} rangev;
23		struct {		/* address of function value, code */
24			int offset;
25			ADDRESS codeloc;
26		} funcv;
27		struct {		/* variant record info */
28			int size;
29			SYM *vtorec;
30			SYM *vtag;
31		} varnt;
32		struct {		/* information for reserved words */
33			int toknum;
34			int tokval;
35		} token;
36	} symvalue;
37	SYM *func;
38	SYM *next_sym;
39};
40