scale.score.dependence.omega.omegaLib
Class FOr

java.lang.Object
  extended by scale.score.dependence.omega.omegaLib.Formula
      extended by scale.score.dependence.omega.omegaLib.FOr

public class FOr
extends Formula

FOr.

$Id: FOr.java,v 1.13 2005-02-07 21:28:40 burrill Exp $

Copyright 2008 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.

This version of the Omega Libray is a translation from C++ to Java of the Omega Library developed at the University of Maryland.

Copyright (C) 1994-1996 by the Omega Project

All rights reserved.

NOTICE: This software is provided ``as is'', without any warranty, including any implied warranty for merchantability or fitness for a particular purpose. Under no circumstances shall the Omega Project or its agents be liable for any use of, misuse of, or inability to use this software, including incidental and consequential damages.

License is hereby given to use, modify, and redistribute this software, in whole or in part, for any purpose, commercial or non-commercial, provided that the user agrees to the terms of this copyright notice, including disclaimer of warranty, and provided that this copyright notice, including disclaimer of warranty, is preserved in the source code and documentation of anything derived from this software. Any redistributor of this software or anything derived from this software assumes responsibility for ensuring that any parties to whom such a redistribution is made are fully aware of the terms of this license and disclaimer.

The Omega project can be contacted at omega@cs.umd.edu or http://www.cs.umd.edu/projects/omega


Field Summary
 
Fields inherited from class scale.score.dependence.omega.omegaLib.Formula
myChildren, myParent, myRelation, omegaLib, OP_AND, OP_CONJUNCT, OP_EXISTS, OP_FORALL, OP_NOT, OP_OR, OP_RELATION
 
Constructor Summary
FOr(OmegaLib omegaLib, Formula f, RelBody b)
           
 
Method Summary
 void beautify()
          The Pix-free versions of beautify for And and Or are a bit less efficient than the previous code, as we keep moving things from one list to another, but they do not depend on knowing that a Pix is valid after the list is updated, and they can always be optimized later if necessary.
 Formula copy(Formula parent, RelBody reln)
           
 DNF DNFize()
          or is almost in DNF already.
 Conjunct findAvailableConjunct()
           
 int nodeType()
           
 void prefixPrint(boolean debug)
           
 void printSeparator()
           
 int priority()
           
protected  void pushExists(Vector<VarDecl> S)
          Push exists takes responsibility for the VarDecls.
 
Methods inherited from class scale.score.dependence.omega.omegaLib.Formula
addAnd, addChild, addConjunct, addExists, addExists, addForall, addNot, addOr, andWith, assertNotFinalized, canAddChild, checkAndAddChild, children, combineColumns, delete, enforceLeadingInfo, getChildren, getFirstChild, invalidateLeadingInfo, numberOfChildren, olAssert, olAssert, parent, print, reallyConjunct, rearrange, relation, remap, removeChild, removeFirstChild, reverseLeadingDirInfo, setFinalized, setParent, setParent, setRelation, setupNames, toString, toStringClass, verifytree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FOr

public FOr(OmegaLib omegaLib,
           Formula f,
           RelBody b)
Method Detail

nodeType

public int nodeType()
Specified by:
nodeType in class Formula

copy

public Formula copy(Formula parent,
                    RelBody reln)
Specified by:
copy in class Formula

findAvailableConjunct

public Conjunct findAvailableConjunct()
Specified by:
findAvailableConjunct in class Formula

beautify

public void beautify()
The Pix-free versions of beautify for And and Or are a bit less efficient than the previous code, as we keep moving things from one list to another, but they do not depend on knowing that a Pix is valid after the list is updated, and they can always be optimized later if necessary.

Overrides:
beautify in class Formula

priority

public int priority()
Overrides:
priority in class Formula

DNFize

public DNF DNFize()
or is almost in DNF already.

Specified by:
DNFize in class Formula

pushExists

protected void pushExists(Vector<VarDecl> S)
Description copied from class: Formula
Push exists takes responsibility for the VarDecls. It should: Re-use them, or Delete them.

Overrides:
pushExists in class Formula

printSeparator

public void printSeparator()
Overrides:
printSeparator in class Formula

prefixPrint

public void prefixPrint(boolean debug)
Overrides:
prefixPrint in class Formula