Added ++, -- to the interpreter
This commit is contained in:
parent
430ac2be09
commit
0eb84afebf
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user