mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 14:54:07 +10:00
I've also added some support for compiler errors in general, but these will get expanded on later. I've also quickly added a valgrind option to the tests and found a few leaks. I'll deal with these later. Summary of changes: * Clarified the lifetime of the bytecode in memory * Erroneous routines exit without compiling * Empty VMs don't run * Added a check for malformed assignments * Renamed "routine" to "module" within the VM * VM no longer tries to free the bytecode - must be done manually * Started experimenting with valgrind, not yet ready
16 lines
305 B
C
16 lines
305 B
C
#pragma once
|
|
|
|
#include "toy_common.h"
|
|
#include "toy_ast.h"
|
|
|
|
typedef struct Toy_Bytecode {
|
|
unsigned char* ptr;
|
|
unsigned int capacity;
|
|
unsigned int count;
|
|
|
|
unsigned int moduleCount;
|
|
} Toy_Bytecode;
|
|
|
|
TOY_API Toy_Bytecode Toy_compileBytecode(Toy_Ast* ast);
|
|
TOY_API void Toy_freeBytecode(Toy_Bytecode bc);
|