Remove analysis tests from interpreter

This commit is contained in:
ala89 2023-12-13 15:53:22 +01:00
parent ad87228a45
commit aad20e3ee5

View File

@ -285,9 +285,6 @@ EvalResult eval(Node &ast, Memory &memory) {
string typeName = get<string>(typeTok.data);
string identifier = get<string>(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<string>(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<string>(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<Token>(node.children[0]);
string identifier = get<string>(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<Token>(node.children[0]);
string identifier = get<string>(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<Token>(node.children[0]);
string identifier = get<string>(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<Token>(node.children[0]);
string identifier = get<string>(identifierTok.data);
if (!memory.contains(identifier))
throw RuntimeError("Unknown identifier \""+identifier+"\"", identifierTok.pos);
MemoryVar& var = memory.get(identifier);
if (!var.initialized) {
@ -436,9 +415,6 @@ EvalResult eval(Node &ast, Memory &memory) {
case TokenType::Identifier: {
string identifier = get<string>(token.data);
if (!memory.contains(identifier))
throw RuntimeError("Unknown identifier \""+identifier+"\"", token.pos);
MemoryVar& var = memory.get(identifier);
if (!var.initialized)