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


Java Strategy.evaluate方法代码示例

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


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

示例1: call

import org.spoofax.interpreter.stratego.Strategy; //导入方法依赖的package包/类
@Override
public boolean call(IContext env, Strategy[] svars, IStrategoTerm[] tvars)
        throws InterpreterException {
    
    IStrategoTerm input = tvars[0];
    
    if(!Tools.isTermAppl(input) && !isTermTuple(input))
        return false;
    
    Strategy c = svars[0];
    int arity = input.getSubtermCount();
    IStrategoTerm[] result = new IStrategoTerm[arity];
    IStrategoTerm[] applArgs = input.getAllSubterms();
    for(int i = 0; i < arity; i++) {
        env.setCurrent(applArgs[i]);
        if(!c.evaluate(env))
            return false;
        result[i] = env.current();
    }
    env.setCurrent(env.getFactory().makeList(result));
    return true;
}
 
开发者ID:metaborg,项目名称:mb-exec,代码行数:23,代码来源:SSL_get_appl_arguments_map.java

示例2: call

import org.spoofax.interpreter.stratego.Strategy; //导入方法依赖的package包/类
@Override
public boolean call(IContext env, Strategy[] sargs, IStrategoTerm[] targs)
        throws InterpreterException {
    
    if(!(targs[0] instanceof StrategoSet))
        return false;
    
    StrategoSet is = (StrategoSet) targs[0];
    
    if(is == null)
        return false;
    
    IStrategoTerm t = targs[1];
    Strategy s = sargs[0];
    
    if(is.containsKey(t)) {
        env.setCurrent(env.getFactory().makeInt(is.getIndex(t)));
        return s.evaluate(env);
    }

    env.setCurrent(env.getFactory().makeInt(is.put(t)));

    return true;
}
 
开发者ID:metaborg,项目名称:mb-exec,代码行数:25,代码来源:SSL_indexedSet_put.java

示例3: handleException

import org.spoofax.interpreter.stratego.Strategy; //导入方法依赖的package包/类
static boolean handleException(IContext env, 
		Strategy errorCallback,
		SGLRException e,
		String lastPath) throws InterpreterException {
	IStrategoTerm errorTerm = e.toTerm(lastPath);
	if (e instanceof FilterException) {
		// HACK: print stack trace for this internal error
		e.printStackTrace();
	}
	env.setCurrent(errorTerm);

	// FIXME: Stratego doesn't seem to print the erroneous line in Java
	return errorCallback.evaluate(env);
}
 
开发者ID:metaborg,项目名称:jsglr,代码行数:15,代码来源:STRSGLR_parse_string_pt.java


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