diff --git a/src/interpreter.cpp b/src/interpreter.cpp index 4699ab3..e0ac740 100644 --- a/src/interpreter.cpp +++ b/src/interpreter.cpp @@ -285,9 +285,6 @@ EvalResult eval(Node &ast, Memory &memory) { string typeName = get(typeTok.data); string identifier = get(identifierTok.data); - if (memory.contains_top(identifier)) - throw RuntimeError("Already defined identifier \""+identifier+"\"", identifierTok.pos); - memory.declare(identifier, string_to_type(typeName)); return {}; @@ -299,9 +296,6 @@ EvalResult eval(Node &ast, Memory &memory) { string identifier = get(identifierTok.data); EvalResult value = eval(node.children[2], memory); - if (memory.contains_top(identifier)) - throw RuntimeError("Already defined identifier \""+identifier+"\"", identifierTok.pos); - Type type = string_to_type(typeName); memory.declare(identifier, type); @@ -319,9 +313,6 @@ EvalResult eval(Node &ast, Memory &memory) { string identifier = get(identifierTok.data); EvalResult value = eval(node.children[1], memory); - if (!memory.contains(identifier)) - throw RuntimeError("Unknown identifier \""+identifier+"\"", identifierTok.pos); - Type type = memory.get(identifier).type; if (type == Type::Int) { @@ -337,9 +328,6 @@ EvalResult eval(Node &ast, Memory &memory) { Token identifierTok = get(node.children[0]); string identifier = get(identifierTok.data); - if (!memory.contains(identifier)) - throw RuntimeError("Unknown identifier \""+identifier+"\"", identifierTok.pos); - MemoryVar& var = memory.get(identifier); if (!var.initialized) { @@ -357,9 +345,6 @@ EvalResult eval(Node &ast, Memory &memory) { Token identifierTok = get(node.children[0]); string identifier = get(identifierTok.data); - if (!memory.contains(identifier)) - throw RuntimeError("Unknown identifier \""+identifier+"\"", identifierTok.pos); - MemoryVar& var = memory.get(identifier); if (!var.initialized) { @@ -378,9 +363,6 @@ EvalResult eval(Node &ast, Memory &memory) { Token identifierTok = get(node.children[0]); string identifier = get(identifierTok.data); - if (!memory.contains(identifier)) - throw RuntimeError("Unknown identifier \""+identifier+"\"", identifierTok.pos); - MemoryVar& var = memory.get(identifier); if (!var.initialized) { @@ -398,9 +380,6 @@ EvalResult eval(Node &ast, Memory &memory) { Token identifierTok = get(node.children[0]); string identifier = get(identifierTok.data); - if (!memory.contains(identifier)) - throw RuntimeError("Unknown identifier \""+identifier+"\"", identifierTok.pos); - MemoryVar& var = memory.get(identifier); if (!var.initialized) { @@ -435,9 +414,6 @@ EvalResult eval(Node &ast, Memory &memory) { } break; case TokenType::Identifier: { string identifier = get(token.data); - - if (!memory.contains(identifier)) - throw RuntimeError("Unknown identifier \""+identifier+"\"", token.pos); MemoryVar& var = memory.get(identifier);