本文整理汇总了C++中Context::Assign方法的典型用法代码示例。如果您正苦于以下问题:C++ Context::Assign方法的具体用法?C++ Context::Assign怎么用?C++ Context::Assign使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Context
的用法示例。
在下文中一共展示了Context::Assign方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AndExp
main () {
/*
*/
BooleanExp* expression;
Context context;
VariableExp* x = new VariableExp("X");
VariableExp* y = new VariableExp("Y");
expression = new OrExp(
new AndExp(new Constant(true), x),
new AndExp(y, new NotExp(x))
);
/*
*/
context.Assign(x, false);
context.Assign(y, true);
bool result = expression->Evaluate(context);
/*
*/
BooleanExp* replacement;
VariableExp* z = new VariableExp("Z");
replacement = new NotExp(z);
expression->Replace("Y", *replacement);
context.Assign(z, true);
result = expression ->Evaluate(context);
/*
*/
}
示例2: main
int main()
{
BooleanExp* expression,*expression2;
Context context;
VariableExp* x = new VariableExp("X");
VariableExp* y = new VariableExp("Y");
expression = new OrExp(
new AndExp(new Constant(true), x),
new AndExp(y, new NotExp(x)));
context.Assign(x, false);
context.Assign(y, true);
bool result = expression->Evaluate(context);
cout<<"result: "<<result<<endl;
}
示例3: main
int main(int argc, char* argv[])
{
//生成表达式
AbstractExpression* expression;
//解析器对象
Context context;
//两个变量
VariableExp* varX = new VariableExp("keyX");
VariableExp* varY = new VariableExp("keyY");
/*一个复杂表达式 或(与(常量,变量),与(变量,非(变量)))*/
expression = new OrExp(
new AndExp(new ConstantExp(true), varX),
new AndExp(varY, new NotExp(varX)));
//在解析器中建立外部名字和值的关联
context.Assign(varX, false);
context.Assign(varY, true);
//递归运算表达式求值
bool result = expression->Interpret(context);
cout<<"result: "<<result<<endl;
printf("Hello World!\n");
return 0;
}
示例4: main
int main(int argc, char ** argv)
{
BooleanExp *expression;
Context context;
VariableExp* x = new VariableExp("X");
VariableExp* y = new VariableExp("Y");
expression = new OrExp(
new AndExp(new Constant(true),x),
new AndExp(y,new NotExp(x)));
context.Assign(x,false);
context.Assign(y,true);
bool result = expression->Evaluate(context);
char *str;
if(result == true)
str = "true";
else
str = "false";
printf("result is %s\n",str);
system("pause");
return 0;
}