• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java BinaryIntExpression类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中kodkod.ast.BinaryIntExpression的典型用法代码示例。如果您正苦于以下问题:Java BinaryIntExpression类的具体用法?Java BinaryIntExpression怎么用?Java BinaryIntExpression使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



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

示例1: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** {@inheritDoc} */
public void visit(BinaryIntExpression x) {
    String newname=makename(x); if (newname==null) return;
    String left=make(x.left());
    String right=make(x.right());
    switch(x.op()) {
       case PLUS: file.printf("IntExpression %s=%s.plus(%s);%n", newname, left, right); break;
       case MINUS: file.printf("IntExpression %s=%s.minus(%s);%n", newname, left, right); break;
       case MULTIPLY: file.printf("IntExpression %s=%s.multiply(%s);%n", newname, left, right); break;
       case DIVIDE: file.printf("IntExpression %s=%s.divide(%s);%n", newname, left, right); break;
       case MODULO: file.printf("IntExpression %s=%s.modulo(%s);%n", newname, left, right); break;
       case AND: file.printf("IntExpression %s=%s.and(%s);%n", newname, left, right); break;
       case OR: file.printf("IntExpression %s=%s.or(%s);%n", newname, left, right); break;
       case XOR: file.printf("IntExpression %s=%s.xor(%s);%n", newname, left, right); break;
       case SHA: file.printf("IntExpression %s=%s.sha(%s);%n", newname, left, right); break;
       case SHL: file.printf("IntExpression %s=%s.shl(%s);%n", newname, left, right); break;
       case SHR: file.printf("IntExpression %s=%s.shr(%s);%n", newname, left, right); break;
       default: throw new RuntimeException("Unknown kodkod operator \""+x.op()+"\" encountered");
    }
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:21,代码来源:TranslateKodkodToJava.java


示例2: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** 
 * Calls lookup(intExpr) and returns the cached value, if any.  
 * If a translation has not been cached, translates the expression,
 * calls cache(...) on it and returns it.
 * @return let t = lookup(intExpr) | some t => t, 
 * 	cache(intExpr, intExpr.left.accept(this) intExpr.op intExpr.right.accept(this))
 */
public final Int visit(BinaryIntExpression intExpr) {
	Int ret = lookup(intExpr);
	if (ret!=null) return ret;
	final Int left = intExpr.left().accept(this);
	final Int right = intExpr.right().accept(this);
	switch(intExpr.op()) {
	case PLUS  		: ret = left.plus(right); break;
	case MINUS 		: ret = left.minus(right); break;
	case MULTIPLY 	: ret = left.multiply(right); break;
	case DIVIDE 	: ret = left.divide(right); break;
	case MODULO		: ret = left.modulo(right); break;
	case AND		: ret = left.and(right); break;
	case OR			: ret = left.or(right); break;
	case XOR		: ret = left.xor(right); break;
	case SHL		: ret = left.shl(right); break;
	case SHR		: ret = left.shr(right); break;
	case SHA		: ret = left.sha(right); break;
	default    :
		throw new IllegalArgumentException("Unknown operator: " + intExpr.op());
	}
	return cache(intExpr, ret);
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:30,代码来源:FOL2BoolTranslator.java


示例3: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/**
 * Calls lookup(intExpr) and returns the cached value, if any. If a
 * replacement has not been cached, visits the expression's children. If
 * nothing changes, the argument is cached and returned, otherwise a
 * replacement expression is cached and returned.
 * 
 * @return { c: IntExpression | [[c]] = intExpr.left.accept(delegate) op
 *         intExpr.right.accept(delegate) }
 */
public IntExpression visit(BinaryIntExpression intExpr) {
	IntExpression ret = lookup(intExpr);
	if (ret != null)
		return ret;

	final IntExpression left = intExpr.left().accept(delegate);
	final IntExpression right = intExpr.right().accept(delegate);
	ret = (left == intExpr.left() && right == intExpr.right()) ? intExpr : left.compose(intExpr.op(), right);
	return cache(intExpr, ret);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:20,代码来源:AbstractReplacer.java


示例4: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/**
 * Visits the children of the given integer expression if
 * this.visited(intExpr) returns false. Otherwise does nothing.
 * 
 * @ensures intExpr.left.accept(this) && intExpr.right.accept(this)
 */
public void visit(BinaryIntExpression intExpr) {
	if (visited(intExpr))
		return;
	intExpr.left().accept(this);
	intExpr.right().accept(this);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:13,代码来源:AbstractVoidVisitor.java


示例5: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/**
 * Calls lookup(intExpr) and returns the cached value, if any. If no cached
 * value exists, visits each child, caches the union of the children's
 * return values and returns it.
 * 
 * @return let x = lookup(intExpr) | x != null => x, cache(intExpr,
 *         intExpr.left.accept(this) + intExpr.right.accept(this))
 */
public Set<T> visit(BinaryIntExpression intExpr) {
	Set<T> ret = lookup(intExpr);
	if (ret != null)
		return ret;
	ret = newSet();
	ret.addAll(intExpr.left().accept(this));
	ret.addAll(intExpr.right().accept(this));
	return cache(intExpr, ret);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:18,代码来源:AbstractCollector.java


示例6: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/**
 * @ensures appends the tokenization of the given node to this.tokens
 */
public void visit(BinaryIntExpression node) {
	final IntOperator op = node.op();
	visitChild(node.left(), parenthesize(op, node.left()));
	infix(op);
	visitChild(node.right(), parenthesize(op, node.right()));
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:10,代码来源:PrettyPrinter.java


示例7: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** 
* Calls lookup(intExpr) and returns the cached value, if any.  
* If a replacement has not been cached, visits the expression's 
* children.  If nothing changes, the argument is cached and
* returned, otherwise a replacement expression is cached and returned.
* @return { c: IntExpression | [[c]] = intExpr.left.accept(this) op intExpr.right.accept(this) }
*/
  public IntExpression visit(BinaryIntExpression intExpr) {
IntExpression ret = lookup(intExpr);
if (ret!=null) return ret;
	
final IntExpression left  = intExpr.left().accept(this);
final IntExpression right = intExpr.right().accept(this);
ret =  (left==intExpr.left() && right==intExpr.right()) ? 
		intExpr : left.compose(intExpr.op(), right);
return cache(intExpr,ret);
  }
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:18,代码来源:AbstractReplacer.java


示例8: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** 
 * Calls lookup(intExpr) and returns the cached value, if any.  
 * If no cached value exists, visits each child, caches the
 * union of the children's return values and returns it. 
 * @return let x = lookup(intExpr) | 
 *          x != null => x,  
 *          cache(intExpr, intExpr.left.accept(this) + intExpr.right.accept(this)) 
 */
public Set<T> visit(BinaryIntExpression intExpr) {
	Set<T> ret = lookup(intExpr);
	if (ret!=null) return ret;		
	ret = newSet();
	ret.addAll(intExpr.left().accept(this));
	ret.addAll(intExpr.right().accept(this));
	return cache(intExpr, ret);
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:17,代码来源:AbstractCollector.java


示例9: parenthesize

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** @return true if the given int expression needs to be parenthesized if a 
 * child of a binary int expression with the given operator */
private boolean parenthesize(IntOperator op, IntExpression child) { 
	return child instanceof SumExpression ||
		   child instanceof IfIntExpression || 
		   child instanceof NaryIntExpression ||
	       (child instanceof BinaryIntExpression && 
	        (!associative(op) || ((BinaryIntExpression)child).op()!=op));
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:10,代码来源:PrettyPrinter.java


示例10: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** @ensures appends the tokenization of the given node to this.tokens */
public void visit(BinaryIntExpression node) {
	final IntOperator op = node.op();
	visitChild(node.left(), parenthesize(op, node.left()));
	infix(op);
	visitChild(node.right(), parenthesize(op, node.right()));
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:8,代码来源:PrettyPrinter.java


示例11: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
public IntExpression visit(BinaryIntExpression expr) { 
	IntExpression ret = lookup(expr);
	if (ret!=null) return ret;
	final IntOperator op = expr.op();
	final IntExpression left = expr.left().accept(this);
	final IntExpression right = expr.right().accept(this);
	
	ret = simplify(op, left, right);
	
	if (ret==null) {
	
		final int hash = hash(op, left, right);
		for(Iterator<PartialCannonicalizer.Holder<IntExpression>> itr = intExprs.get(hash); itr.hasNext(); ) {
			final IntExpression next = itr.next().obj;
			if (next instanceof BinaryIntExpression) { 
				final BinaryIntExpression hit = (BinaryIntExpression) next;
				if (hit.op()==op && hit.left()==left && hit.right()==right) { 
					return cache(expr, hit);
				}
			}
		}

		ret = left==expr.left()&&right==expr.right() ? expr : left.compose(op, right);
		intExprs.add(new PartialCannonicalizer.Holder<IntExpression>(ret, hash));
	}
	
	return cache(expr,ret);
}
 
开发者ID:wala,项目名称:MemSAT,代码行数:29,代码来源:PartialCannonicalizer.java


示例12: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** @effects appends the tokenization of the given node to this.tokens */
public void visit(BinaryIntExpression node) {
	if (displayed(node)) return;
	final boolean oldTop = notTop();
	final IntOperator op = node.op();
	visitChild(node.left(), parenthesize(op, node.left()));
	infix(op);
	visitChild(node.right(), parenthesize(op, node.right()));
	top = oldTop;
}
 
开发者ID:wala,项目名称:MemSAT,代码行数:11,代码来源:PrettyPrinter.java


示例13: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
public IntExpression visit(BinaryIntExpression expr) { 
	IntExpression ret = lookup(expr);
	if (ret!=null) return ret;
	final IntOperator op = expr.op();
	final IntExpression left = expr.left().accept(this);
	final IntExpression right = expr.right().accept(this);
	
	ret = simplify(op, left, right);
	
	if (ret==null) {
		ret = left==expr.left()&&right==expr.right() ? expr : left.compose(op, right);
	}
	
	return cache(expr,ret);
}
 
开发者ID:wala,项目名称:MemSAT,代码行数:16,代码来源:Simplifier.java


示例14: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
@Override
public I visit(BinaryIntExpression intExpr) {
	start(intExpr);
	return end(intExpr, visitor.visit(intExpr));
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:6,代码来源:AspectReturnVisitor.java


示例15: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/**
 * Calls lookup(intExpr) and returns the cached value, if any. If a
 * translation has not been cached, translates the expression, calls
 * cache(...) on it and returns it.
 * 
 * @return let t = lookup(intExpr) | some t => t, cache(intExpr,
 *         intExpr.left.accept(this) intExpr.op intExpr.right.accept(this))
 */
public final Int visit(BinaryIntExpression intExpr) {
	Int ret = lookup(intExpr);
	if (ret != null)
		return ret;
	final Int left = intExpr.left().accept(this);
	final Int right = intExpr.right().accept(this);
	switch (intExpr.op()) {
		case PLUS :
			ret = left.plus(right);
			break;
		case MINUS :
			ret = left.minus(right);
			break;
		case MULTIPLY :
			ret = left.multiply(right);
			break;
		case DIVIDE :
			ret = left.divide(right);
			break;
		case MODULO :
			ret = left.modulo(right);
			break;
		case AND :
			ret = left.and(right);
			break;
		case OR :
			ret = left.or(right);
			break;
		case XOR :
			ret = left.xor(right);
			break;
		case SHL :
			ret = left.shl(right);
			break;
		case SHR :
			ret = left.shr(right);
			break;
		case SHA :
			ret = left.sha(right);
			break;
		default :
			throw new IllegalArgumentException("Unknown operator: " + intExpr.op());
	}
	return cache(intExpr, ret);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:54,代码来源:FOL2BoolTranslator.java


示例16: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
@Override
public IntExpression visit(BinaryIntExpression intExpr) {
	return intExpr;
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:5,代码来源:HOLTranslator.java


示例17: parenthesize

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/**
 * @return true if the given int expression needs to be parenthesized if
 *         a child of a binary int expression with the given operator
 */
private boolean parenthesize(IntOperator op, IntExpression child) {
	return child instanceof SumExpression || child instanceof IfIntExpression
			|| child instanceof NaryIntExpression || (child instanceof BinaryIntExpression
					&& (!associative(op) || ((BinaryIntExpression) child).op() != op));
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:10,代码来源:PrettyPrinter.java


示例18: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
public Boolean visit(BinaryIntExpression e) {
	return checkVisitedThenAccumA(e, Boolean.FALSE, e.left(), e.right());
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:4,代码来源:AnnotatedNode.java


示例19: applyIntOp

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
public static IntExpression applyIntOp(IntOperator intOp, IntExpression lhs, IntExpression rhs) {
	return new BinaryIntExpression(lhs, intOp, rhs);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:4,代码来源:OverflowTestUtils.java


示例20: visit

import kodkod.ast.BinaryIntExpression; //导入依赖的package包/类
/** {@inheritDoc} */
public void visit(BinaryIntExpression x) {
	String newname = makename(x);
	if (newname == null)
		return;
	String left = make(x.left());
	String right = make(x.right());
	switch (x.op()) {
		case PLUS :
			file.printf("IntExpression %s=%s.plus(%s);%n", newname, left, right);
			break;
		case MINUS :
			file.printf("IntExpression %s=%s.minus(%s);%n", newname, left, right);
			break;
		case MULTIPLY :
			file.printf("IntExpression %s=%s.multiply(%s);%n", newname, left, right);
			break;
		case DIVIDE :
			file.printf("IntExpression %s=%s.divide(%s);%n", newname, left, right);
			break;
		case MODULO :
			file.printf("IntExpression %s=%s.modulo(%s);%n", newname, left, right);
			break;
		case AND :
			file.printf("IntExpression %s=%s.and(%s);%n", newname, left, right);
			break;
		case OR :
			file.printf("IntExpression %s=%s.or(%s);%n", newname, left, right);
			break;
		case XOR :
			file.printf("IntExpression %s=%s.xor(%s);%n", newname, left, right);
			break;
		case SHA :
			file.printf("IntExpression %s=%s.sha(%s);%n", newname, left, right);
			break;
		case SHL :
			file.printf("IntExpression %s=%s.shl(%s);%n", newname, left, right);
			break;
		case SHR :
			file.printf("IntExpression %s=%s.shr(%s);%n", newname, left, right);
			break;
		default :
			throw new RuntimeException("Unknown kodkod operator \"" + x.op() + "\" encountered");
	}
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:46,代码来源:TranslateKodkodToJava.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Rep类代码示例发布时间:2022-05-22
下一篇:
Java FieldNameBasedTupleToKafkaMapper类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap