From bde07f6c12b89f1014dfdf5b3d99a6264a93484c Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Mon, 15 Aug 2022 13:08:31 +0100 Subject: [PATCH] Removed debug.c and debug.h, since they're outmoded --- docs/spec.md | 2 +- source/debug.c | 184 --------------------------------------------- source/debug.h | 5 -- source/repl_main.c | 1 - 4 files changed, 1 insertion(+), 191 deletions(-) delete mode 100644 source/debug.c delete mode 100644 source/debug.h diff --git a/docs/spec.md b/docs/spec.md index 9bd5c02..0bd94c2 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -361,7 +361,7 @@ export hello as world; ## String -Strings are a series of characters, and are created by surrounding said characters with a pair of double quotation marks `"`. +Strings are a series of characters, and are created by surrounding said characters with a pair of double quotation marks `"`. Strings cannot exceed 4096 bytes in length. ``` var greeting: string = "Hello world"; diff --git a/source/debug.c b/source/debug.c deleted file mode 100644 index 6f53c0f..0000000 --- a/source/debug.c +++ /dev/null @@ -1,184 +0,0 @@ -#include "debug.h" - -#include "keyword_types.h" -#include "lexer.h" -#include "parser.h" -#include "compiler.h" - -#include - -//utils -static unsigned char printByte(unsigned char* tb, int* count) { - unsigned char ret = *(unsigned char*)(tb + *count); - printf("%u ", ret); - *count += 1; - return ret; -} - -static unsigned short printShort(unsigned char* tb, int* count) { - unsigned short ret = *(unsigned short*)(tb + *count); - printf("%d ", ret); - *count += 2; - return ret; -} - -static int printInt(unsigned char* tb, int* count) { - int ret = *(int*)(tb + *count); - printf("%d ", ret); - *count += 4; - return ret; -} - -static float printFloat(unsigned char* tb, int* count) { - float ret = *(float*)(tb + *count); - printf("%f ", ret); - *count += 4; - return ret; -} - -static unsigned char* printString(unsigned char* tb, int* count) { - unsigned char* ret = tb + *count; - *count += printf("%s ", (char*)ret); //return includes the space, but not the null terminator - return ret; -} - -static void consumeByte(unsigned char byte, unsigned char* str, int* count) { - if (byte != str[*count]) { - printf("Failed to consume the correct byte"); - } - *count += 1; -} - -static void consumeShort(unsigned short bytes, unsigned char* str, int* count) { - if (bytes != *(unsigned short*)(str + *count)) { - printf("Failed to consume the correct bytes"); - } - *count += 2; -} - -void dissectBytecode(unsigned char* tb, int size) { - int count = 0; - - //header - printf("--header--\n"); - printByte(tb, &count); - printByte(tb, &count); - printByte(tb, &count); - printString(tb, &count); - consumeByte(OP_SECTION_END, tb, &count); - - printf("\n"); - - //data - printf("--data--\n"); - const short literalCount = printShort(tb, &count); - - for (int i = 0; i < literalCount; i++) { - const unsigned char literalType = printByte(tb, &count); - - switch(literalType) { - case LITERAL_NULL: - //NO-OP - printf("(null)"); - break; - - case LITERAL_BOOLEAN: { - const bool b = printByte(tb, &count); - printf("(boolean %s)", b ? "true" : "false"); - } - break; - - case LITERAL_INTEGER: { - const int d = printInt(tb, &count); - printf("(integer %d)", d); - } - break; - - case LITERAL_FLOAT: { - const float f = printFloat(tb, &count); - printf("(float %f)", f); - } - break; - - case LITERAL_STRING: { - const unsigned char* s = printString(tb, &count); - printf("(string)"); - } - break; - } - - printf("\n"); - } - - consumeByte(OP_SECTION_END, tb, &count); - - //code - printf("--bytecode--\n"); - while(tb[count] != OP_EOF) { - const unsigned char opcode = printByte(tb, &count); - - switch (opcode) { - case OP_ASSERT: - printf("assert\n"); - break; - - case OP_PRINT: - printf("print\n"); - break; - - case OP_LITERAL: - printf("literal "); - printByte(tb, &count); - printf("\n"); - break; - - case OP_LITERAL_LONG: - printf("long literal "); - printShort(tb, &count); - printf("\n"); - break; - - case OP_NEGATE: - printf("negate\n"); - break; - - case OP_ADDITION: - printf("+\n"); - break; - - case OP_SUBTRACTION: - printf("-\n"); - break; - - case OP_MULTIPLICATION: - printf("*\n"); - break; - - case OP_DIVISION: - printf("/\n"); - break; - - case OP_MODULO: - printf("%%\n"); - break; - - case OP_GROUPING_BEGIN: - printf("(\n"); - break; - - case OP_GROUPING_END: - printf(")\n"); - break; - - case OP_SECTION_END: { - printf("--SECTION END--\n"); - } - break; - - default: - printf("Unknown opcode found\n"); - } - } - - consumeByte(OP_EOF, tb, &count); -} \ No newline at end of file diff --git a/source/debug.h b/source/debug.h deleted file mode 100644 index a80e4b2..0000000 --- a/source/debug.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#include "common.h" - -void dissectBytecode(unsigned char* tb, int size); \ No newline at end of file diff --git a/source/repl_main.c b/source/repl_main.c index ed31dd1..d7365f6 100644 --- a/source/repl_main.c +++ b/source/repl_main.c @@ -1,4 +1,3 @@ -#include "debug.h" #include "console_colors.h" #include "lexer.h"