Uh, Updates?

This commit is contained in:
Michael Fabian Dirks
2016-10-03 17:11:15 +02:00
parent aa3cf453e5
commit 581c640149
62 changed files with 469 additions and 489 deletions
+8 -8
View File
@@ -88,7 +88,7 @@ static const char *linkRuntime() {
for (k = 1; k < s.size(); ++k, end = k) {
if (!isalnum(s[k]) && s[k] != '_') break;
}
DeclSeq *params = d_new DeclSeq();
DeclSeq *params = new DeclSeq();
string n = s.substr(start, end - start);
while (k < s.size()) {
Type *t = typeof(s[k++]);
@@ -101,23 +101,23 @@ static const char *linkRuntime() {
if (s[k] == '\"') {
for (++k; s[k] != '\"'; ++k) {}
string t = s.substr(from + 1, k - from - 1);
defType = d_new ConstType(t); ++k;
defType = new ConstType(t); ++k;
} else {
if (s[k] == '-') ++k;
for (; isdigit(s[k]); ++k) {}
if (t == Type::int_type) {
int n = atoi(s.substr(from, k - from));
defType = d_new ConstType(n);
defType = new ConstType(n);
} else {
float n = atof(s.substr(from, k - from));
defType = d_new ConstType(n);
defType = new ConstType(n);
}
}
}
Decl *d = params->insertDecl(str, t, DECL_PARAM, defType);
}
FuncType *f = d_new FuncType(t, params, false, cfunc);
FuncType *f = new FuncType(t, params, false, cfunc);
n = tolower(n);
runtimeEnviron->funcDecls->insertDecl(n, f, DECL_FUNC);
runtimeModule->addSymbol(("_f" + n).c_str(), pc);
@@ -169,7 +169,7 @@ static const char *loadUserLib(const string &userlib) {
if (ty) next(in);
else ty = Type::void_type;
DeclSeq *params = d_new DeclSeq();
DeclSeq *params = new DeclSeq();
if (curr != '(') return "expecting '(' after function identifier";
next(in);
@@ -200,7 +200,7 @@ static const char *loadUserLib(const string &userlib) {
keyWords.push_back(id);
FuncType *fn = d_new FuncType(ty, params, true, true);
FuncType *fn = new FuncType(ty, params, true, true);
runtimeEnviron->funcDecls->insertDecl(lower_id, fn, DECL_FUNC);
@@ -285,7 +285,7 @@ const char *openLibs() {
runtimeLib->startup(GetModuleHandle(0));
runtimeModule = linkerLib->createModule();
runtimeEnviron = d_new Environ("", Type::int_type, 0, 0);
runtimeEnviron = new Environ("", Type::int_type, 0, 0);
keyWords.clear();
userFuncs.clear();