本文整理汇总了C++中EvalState::setValue方法的典型用法代码示例。如果您正苦于以下问题:C++ EvalState::setValue方法的具体用法?C++ EvalState::setValue怎么用?C++ EvalState::setValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EvalState
的用法示例。
在下文中一共展示了EvalState::setValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: eval
int CompoundExp::eval(EvalState & state) {
if (op == "=") {
if (lhs->getType() != IDENTIFIER) {
error("Illegal variable in assignment");
}
int val = rhs->eval(state);
state.setValue(((IdentifierExp *) lhs)->getName(), val);
return val;
}
int left = lhs->eval(state);
int right = rhs->eval(state);
if (op == "+") return left + right;
if (op == "-") return left - right;
if (op == "*") return left * right;
if (op == "/") {
if (right == 0) {
cout << "DIVIDE BY ZERO" << endl;
error("");
}
else {
return left / right;
}
}
return 0;
}
示例2: execute
void LetStmt::execute(EvalState & state) {
state.setValue(identifier, exp->eval(state));
}
示例3: execute
void LetStmt::execute(EvalState &state) {
int value = exp->eval(state);
state.setValue(identifier, value);
}