Got the compiler partially working

This commit is contained in:
2022-08-05 16:29:12 +01:00
parent 1ff32fe101
commit cd05d5d84a
17 changed files with 601 additions and 26 deletions

View File

@@ -2,8 +2,11 @@
#include "lexer.h"
#include "parser.h"
#include "compiler.h"
//#include "toy.h"
#include "memory.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -131,21 +134,34 @@ void repl() {
void debug() {
Lexer lexer;
Parser parser;
Compiler compiler;
char* source = readFile(command.filename);
initLexer(&lexer, source);
initParser(&parser, &lexer);
initCompiler(&compiler);
//run the parser until the end of the source
Node* node = scanParser(&parser);
while(node != NULL) {
printNode(node);
writeCompiler(&compiler, node);
freeNode(node);
node = scanParser(&parser);
}
//get the data dump
int size = 0;
const char* tb = collateCompiler(&compiler, &size);
dissectBytecode(tb, size);
//cleanup
FREE_ARRAY(char, tb, size);
freeCompiler(&compiler);
freeParser(&parser);
}
//entry point