diff --git a/object.c b/object.c index fe38cdc..6e47932 100644 --- a/object.c +++ b/object.c @@ -249,7 +249,7 @@ oop makeString(char *value) // value will be used directly oop makeStringFrom(char *value, size_t l) { - oop newString = malloc(sizeof(union object)); + oop newString = malloc(sizeof(struct String)); newString->type = String; newString->String.value = value; newString->String.size = l; @@ -318,6 +318,25 @@ oop makeSymbol(char *name) return newSymb; } +oop makeSymbolFrom(char *name) +{ + oop newSymbol= malloc(sizeof(struct Symbol)); + newSymbol->type= Symbol; + newSymbol->Symbol.name= name; + newSymbol->Symbol.prototype= 0; + return newSymbol; +} + +oop makeSymbolFromChar(char c, int repeat) +{ + char *str= malloc(sizeof(char) * (repeat + 1)); + for (int i=0; i