char rcsid_symtab[] = "$Id$"; | |
#include <stdio.h> | |
#include <string.h> | |
#include "b.h" | |
#include "fe.h" | |
static List symtab; | |
Symbol | |
newSymbol(name) char *name; | |
{ | |
Symbol s; | |
s = (Symbol) zalloc(sizeof(struct symbol)); | |
assert(s); | |
s->name = name; | |
return s; | |
} | |
Symbol | |
enter(name, new) char *name; int *new; | |
{ | |
List l; | |
Symbol s; | |
*new = 0; | |
for (l = symtab; l; l = l->next) { | |
s = (Symbol) l->x; | |
if (!strcmp(name, s->name)) { | |
return s; | |
} | |
} | |
*new = 1; | |
s = newSymbol(name); | |
symtab = newList(s, symtab); | |
return s; | |
} |