From 69449891e12977fdf72624f799cf9e0016b0a77d Mon Sep 17 00:00:00 2001 From: timerix Date: Fri, 20 Jan 2023 15:28:57 +0600 Subject: [PATCH] kerep update --- .vscode/tasks.json | 5 +++-- cbuild | 2 +- default.config | 2 +- kerep | 2 +- src/cb2c/main.c | 5 ++++- src/lexer/context.h | 4 ++-- src/lexer/tokens.h | 4 ++-- 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index f2658d9..f1df5e6 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -30,12 +30,13 @@ }, { - "label": "build_dbg", + "label": "build_cb2c_dbg", "detail": "build project with debug symbols", "type": "cppbuild", "command": "make", "args": [ - "build_dbg" + "rebuild_kerep", + "build_exec_dbg" ], "options": { "cwd": "${workspaceFolder}" diff --git a/cbuild b/cbuild index 47808ee..15a9661 160000 --- a/cbuild +++ b/cbuild @@ -1 +1 @@ -Subproject commit 47808ee989c85b6d011851dbec24c39580b55cbb +Subproject commit 15a9661c467facf65b2155eab3fad1ecf5f0c945 diff --git a/default.config b/default.config index d778294..54946ad 100644 --- a/default.config +++ b/default.config @@ -1,5 +1,5 @@ #!/bin/bash -CBUILD_VERSION=3 +CBUILD_VERSION=4 CONFIG_VERSION=5 PROJECT=cobek diff --git a/kerep b/kerep index 37dc5c6..40d1828 160000 --- a/kerep +++ b/kerep @@ -1 +1 @@ -Subproject commit 37dc5c6177ec55f30ad0db0612272a0e69c75205 +Subproject commit 40d1828f2cfa68e03cccaa2b3658eba07c146b02 diff --git a/src/cb2c/main.c b/src/cb2c/main.c index cc4bf15..31a3b0a 100644 --- a/src/cb2c/main.c +++ b/src/cb2c/main.c @@ -1,6 +1,9 @@ #include "cb2c.h" +#include "../../kerep/src/kprint/kprint.h" int main(){ + if(!setlocale(LC_ALL, "C.UTF8")) + kprintf("\e[93msetlocale failed\n"); // kerep type system ktDescriptors_beginInit(); ktDescriptors_initKerepTypes(); @@ -8,7 +11,7 @@ int main(){ ktDescriptors_endInit(); // keywords search tree init_keywordsSearchTree(); - printf("keywordsSearchTree: %p\n", keywordsSearchTree); + kprint(kp_s|kp_fgGray, "keywordsSearchTree: ", kp_h|kp_pre, keywordsSearchTree, kp_c, '\n'); STNode_free(keywordsSearchTree); return 0; } \ No newline at end of file diff --git a/src/lexer/context.h b/src/lexer/context.h index eb8c229..7fa5b7c 100644 --- a/src/lexer/context.h +++ b/src/lexer/context.h @@ -5,11 +5,11 @@ typedef struct ContextStruct Context; -typedef enum ContextType{ +PACK_ENUM(ContextType, CT_Namespace, CT_Function, CT_Class -} __attribute__((__packed__)) ContextType; +) struct ContextStruct { char* name; diff --git a/src/lexer/tokens.h b/src/lexer/tokens.h index 058bf66..415e918 100644 --- a/src/lexer/tokens.h +++ b/src/lexer/tokens.h @@ -3,7 +3,7 @@ #include "../../kerep/src/Autoarr/Autoarr.h" #include "../../kerep/src/SearchTree/SearchTree.h" -typedef enum TokenId{ +PACK_ENUM(TokenId, // base types tok_void_t, tok_int8_t, @@ -97,7 +97,7 @@ typedef enum TokenId{ tok_character, tok_string, tok_comment -} __attribute__((__packed__)) TokenId; +) typedef struct Token{ char* value;