summaryrefslogtreecommitdiff
path: root/chunk.h
blob: 36452fb668698eb7fe8d3873bb907cf22c9ca003 (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
#ifndef _chunk_h
#define _chunk_h

typedef struct _chunk Chunk;
typedef struct _compiler Compiler;
typedef struct _state State;


struct _chunk {
	struct { 
		size_t len;
		size_t cap;
		uint8_t *d;
	} bc;
	struct {
		size_t len;
		size_t cap;
		Val *d;
	} consts;
};
Chunk chunk_new(State *S);
size_t compile_opcode(Compiler *C, uint8_t byte);
size_t chunk_wconst(Compiler *C, Val v);

#endif