1 /*-
2 * Copyright (c) 1980, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 */
7
8 #ifndef lint
9 static char sccsid[] = "@(#)maketypes.c 8.1 (Berkeley) 06/06/93";
10 #endif /* not lint */
11
12 /*
13 * make symbols
14 */
15
16 #include "defs.h"
17 #include "sym.h"
18 #include "symtab.h"
19 #include "sym/btypes.h"
20 #include "sym/classes.h"
21 #include "sym/sym.rep"
22
23 /*
24 * point the basic types in the right direction
25 */
26
maketypes()27 maketypes()
28 {
29 t_int = st_lookup(symtab, "integer")->type;
30 t_real = st_lookup(symtab, "real")->type;
31 t_char = st_lookup(symtab, "char")->type;
32 t_boolean = st_lookup(symtab, "boolean")->type;
33 if (t_int==NIL || t_real==NIL || t_char==NIL || t_boolean==NIL) {
34 panic("basic types are missing from namelist");
35 }
36 }
37
38 /*
39 * enter a keyword in the given table
40 */
41
make_keyword(table,name,tnum)42 make_keyword(table, name, tnum)
43 SYMTAB *table;
44 char *name;
45 int tnum;
46 {
47 register SYM *s;
48
49 s = st_insert(table, name);
50 s->class = BADUSE;
51 s->blkno = 0;
52 s->symvalue.token.toknum = tnum;
53 }
54