diff --git a/src/ASTTransformation.cpp b/src/ASTTransformation.cpp index 7ac6686..7f286c6 100644 --- a/src/ASTTransformation.cpp +++ b/src/ASTTransformation.cpp @@ -305,10 +305,12 @@ NodeTree* ASTTransformation::transform(NodeTree* from, NodeTree newNode = new NodeTree(name, ASTData(value, Symbol(concatSymbolTree(from), true), new Type(floating))); } else if (name == "double") { newNode = new NodeTree(name, ASTData(value, Symbol(concatSymbolTree(from), true), new Type(double_percision))); - } else if (name == "char") { + } else if (name == "char") { //Is this correct? This might be a useless old thing newNode = new NodeTree(name, ASTData(value, Symbol(concatSymbolTree(children[0]), true), new Type(character, 1))); //Indirection of 1 for array } else if (name == "string" || name == "triple_quoted_string") { newNode = new NodeTree(name, ASTData(value, Symbol(concatSymbolTree(children[0]), true), new Type(character, 1))); //Indirection of 1 for array + }else if (name == "character") { + newNode = new NodeTree(name, ASTData(value, Symbol(concatSymbolTree(children[0]), true), new Type(character, 0))); //Indirection of 0 for character } else { return new NodeTree(); } diff --git a/src/Importer.cpp b/src/Importer.cpp index edfcc47..eaf8838 100644 --- a/src/Importer.cpp +++ b/src/Importer.cpp @@ -52,6 +52,8 @@ NodeTree* Importer::import(std::string fileName) { programInFile.open(i+fileName); if (programInFile.is_open()) break; + else + std::cout << i+fileName << " is no good" << std::endl; } if (!programInFile.is_open()) { std::cout << "Problem opening programInFile " << fileName << "\n"; diff --git a/stdlib/mem.krak b/stdlib/mem.krak new file mode 100644 index 0000000..e4dafa2 --- /dev/null +++ b/stdlib/mem.krak @@ -0,0 +1,23 @@ +__if_comp__ __C__ __simple_passthrough__ """ + #include +""" + +char* nullPtr = 0; + +char* malloc(int size) { + char* memPtr = nullPtr; + __if_comp__ __C__ { + __simple_passthrough__ """ + memPtr = malloc(size); + """ + } + return memPtr; +} + +void free(char* memPtr) { + __if_comp__ __C__ { + __simple_passthrough__ """ + free(memPtr); + """ + } +}