blob: b2771628a15df3ea9c4432e17f622111b08c97fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <u.h>
#include <libc.h>
#include <geometry.h>
#include "dat.h"
#include "fns.h"
static Symbol *symtab;
Symbol *
install(char *s, int t, double v)
{
Symbol *sym;
sym = emalloc(sizeof(Symbol));
memset(sym, 0, sizeof *sym);
sym->name = estrdup(s);
sym->type = t;
sym->dconst = v;
sym->var.type = -1;
sym->next = symtab;
symtab = sym;
return sym;
}
Symbol *
lookup(char *s)
{
Symbol *sym;
for(sym = symtab; sym != nil; sym = sym->next)
if(strcmp(sym->name, s) == 0)
return sym;
return nil;
}
|