24 lines
352 B
C
24 lines
352 B
C
#ifndef SYMS_H
|
|
#define SYMS_H
|
|
|
|
typedef enum {
|
|
Sym_Typedef,
|
|
} SymTy;
|
|
|
|
typedef struct {
|
|
SymTy ty;
|
|
} Sym;
|
|
|
|
typedef struct Syms Syms;
|
|
|
|
Syms* syms_new();
|
|
void syms_free(Syms* s);
|
|
|
|
void syms_push_scope(Syms* s);
|
|
void syms_pop_scope(Syms* s);
|
|
|
|
void syms_define(Syms* s, const char* ident, Sym* sym);
|
|
Sym* syms_get(Syms* s, const char* ident);
|
|
|
|
#endif
|