当前位置: 首页>>代码示例>>C++>>正文


C++ AbstractExpression::Interpret方法代码示例

本文整理汇总了C++中AbstractExpression::Interpret方法的典型用法代码示例。如果您正苦于以下问题:C++ AbstractExpression::Interpret方法的具体用法?C++ AbstractExpression::Interpret怎么用?C++ AbstractExpression::Interpret使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AbstractExpression的用法示例。


在下文中一共展示了AbstractExpression::Interpret方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc,char* argv[]) { 
	Context* c = new Context();
	AbstractExpression* te = new TerminalExpression("hello");
	AbstractExpression* nte = new NonterminalExpression(te,2);
	nte->Interpret(*c);
	delete nte;
	delete c;
	return 0; 
}
开发者ID:AddictXQ,项目名称:DesignPattern,代码行数:9,代码来源:main.cpp

示例2: 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;
}
开发者ID:ircc,项目名称:test-code-backup,代码行数:22,代码来源:Interpreter_exam.cpp

示例3: InterpreterTest

///一些应用提供了内建(Build-In)的脚本或者宏语言来让用户可以定义他们能够在系统 中进行的操作。Interpreter 模式的目的就是使用一个解释器为用户提供一个一门定义语言的 语法表示的解释器,然后通过这个解释器来解释语言中的句子
///Interpreter 模式中使用类来表示文法规则,因此可以很容易实现文法的扩展。另外对于 终结符我们可以使用 Flyweight 模式来实现终结符的共享。
void InterpreterTest() {
    Interpreter_Context* c = new Interpreter_Context();
    AbstractExpression* te = new TerminalExpression("hello");
    AbstractExpression* nte = new NonterminalExpression(te,2);
    nte->Interpret(*c);
}
开发者ID:chenxin0123,项目名称:Demos,代码行数:8,代码来源:main.cpp


注:本文中的AbstractExpression::Interpret方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。