Exemplo n.º 1
0
void PlusAssignmentStatementNode::Code(InstructionsClass &machinecode) {
	MSG("    CODING PLUSASSIGNMENTSTATEMENTNODE");
	this->mIdentifierNode->CodeEvaluate(machinecode);
	this->mExpressionNode->CodeEvaluate(machinecode);
	machinecode.PopPopAddPush();
	machinecode.PopAndStore(this->mIdentifierNode->GetIndex());
}
Exemplo n.º 2
0
void PlusAssignmentStatementNode::Code(InstructionsClass &machineCode) {
	// push vars value on stack
	machineCode.PushVariable(in->GetIndex());
	// put modifier on stack
	en->CodeEvaluate(machineCode);
	// add those values
	machineCode.PopPopAddPush();
	// store result
	machineCode.PopAndStore(in->GetIndex());
}
Exemplo n.º 3
0
void PlusNode::CodeEvaluate(InstructionsClass & machineCode) {
	lhs->CodeEvaluate(machineCode);
	rhs->CodeEvaluate(machineCode);
	machineCode.PopPopAddPush();
}
Exemplo n.º 4
0
void PlusNode::CodeEvaluate(InstructionsClass &machinecode) {
	MSG("\tCODING PLUSNODE");
	mLeft->CodeEvaluate(machinecode);
	mRight->CodeEvaluate(machinecode);
	machinecode.PopPopAddPush();
}