avrora.core.isdl.ast
Class Logical

java.lang.Object
  extended byavrora.core.isdl.ast.Expr
      extended byavrora.core.isdl.ast.Logical
Direct Known Subclasses:
Logical.BinOp, Logical.UnOp

public abstract class Logical
extends Expr

The Logical class is a container for classes that represent expressions that produce booleans in the IR. For example, the class Logical.AndExpr represents an expression that is the logical AND of two boolean values. The result of all operations on integers are boolean; therefore, every expression that is a subclass of Logical has a result type of boolean.


Nested Class Summary
static class Logical.AndExpr
          The AndExpr inner class represents the logical AND of two boolean values that produces a new boolean value.
static class Logical.BinOp
          The BinOp inner class represents an operation on two values with an infix binary operation that produces a boolean.
static class Logical.EquExpr
          The EquExpr inner class represents a comparison for equality of two integer values that produces a single boolean value.
static class Logical.GreaterEquExpr
          The GreaterEquExpr inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is greater than or equal to the second operand.
static class Logical.GreaterExpr
          The GreaterExpr inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is greater than the second operand.
static class Logical.LessEquExpr
          The LessEquExpr inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is less than or equal to the second operand.
static class Logical.LessExpr
          The LessExpr inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is less than the second operand.
static class Logical.NequExpr
          The NequExpr inner class represents a comparison for inequality of two integer values that produces a single boolean value.
static class Logical.NotExpr
          The NotExpr inner class represents the logical negation of a single boolean value that produces a new integer value.
static class Logical.OrExpr
          The OrExpr inner class represents the logical OR of two boolean values that produces a new boolean value.
static class Logical.UnOp
          The UnOp inner class represents an operation on a single boolean value.
static class Logical.XorExpr
          The XorExpr inner class represents the logical XOR of two boolean values that produces a new boolean value.
 
Field Summary
 
Fields inherited from class avrora.core.isdl.ast.Expr
PREC_A_ADD, PREC_A_AND, PREC_A_MUL, PREC_A_OR, PREC_A_SHIFT, PREC_A_XOR, PREC_L_AND, PREC_L_EQU, PREC_L_OR, PREC_L_REL, PREC_L_XOR, PREC_TERM, PREC_UN
 
Constructor Summary
Logical()
           
 
Methods inherited from class avrora.core.isdl.ast.Expr
accept, accept, accept, getBitWidth, getPrecedence, innerString, isBitRangeExpr, isConstantExpr, isLiteral, isMap, isVariable, tokenToBool, tokenToInt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Logical

public Logical()