summaryrefslogtreecommitdiff
path: root/chunk.h
blob: ba016140d2311d6846cfeb3b7718ff0395791e31 (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 compile_constant(Compiler *C, Val v);

#endif