Added ++, -- to the interpreter

This commit is contained in:
augustin64 2023-11-14 19:48:24 +01:00
parent 430ac2be09
commit 0eb84afebf

View File

@ -82,6 +82,20 @@ EvalResult eval(Node &ast) {
return expr; return expr;
} break; } break;
case NodeType::LIncr:
case NodeType::RIncr: {
Token identifierTok = get<Token>(node.children[0]);
string identifier = get<string>(identifierTok.data);
return node.type == NodeType::LIncr ? ++memory[identifier] : memory[identifier]++;
}
case NodeType::LDecr:
case NodeType::RDecr: {
Token identifierTok = get<Token>(node.children[0]);
string identifier = get<string>(identifierTok.data);
return node.type == NodeType::LDecr ? --memory[identifier] : memory[identifier]--;
}
} }
} }
else { else {