blob: a1f781eeb0f3cc8c7d3ae4a851f603733bea6d31 (
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
|
#ifndef FVM_AS_ANALYZER_H_
#define FVM_AS_ANALYZER_H_
#include "as_parser.h"
#include "utils.h"
struct sym_table_entry {
const char * name;
size_t offset;
};
typedef struct sym_table_entry sym_table_entry;
struct sym_table {
int size;
int cap;
struct sym_table_entry *buf;
};
typedef struct sym_table sym_table;
sym_table new_sym_table(allocator* alct);
void sym_table_add(allocator* alct, sym_table* tbl, const char* name, int pos);
int sym_table_lookup(sym_table* tbl, const char* name);
sym_table analyze_prog(allocator* alct, prog* prog);
#endif // FVM_AS_ANALYZER_H_
|