Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## avrora.core.isdl.ast
Class Logical

    java.lang.Object
      avrora.core.isdl.ast.Expr
          avrora.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()

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD