avrora.core.isdl.ast
Class Arith

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

public abstract class Arith
extends Expr

The Arith class is a container for classes that represent integer arithmetic in the IR. For example, the class Arith.AddExpr represents an expression that is the addition of two integers. The result of all operations on integers are integers, therefore, every expression that is a subclass of Arith has a result type of integer.


Nested Class Summary
static class Arith.AddExpr
          The AddExpr inner class represents the addition of two integer values that produces a new integer value.
static class Arith.AndExpr
          The AndExpr class represents the bitwise and of two integer values that produces a single integer result.
static class Arith.BinOp
          The BinOp inner class represents an operation on two integers with an infix binary operation.
static class Arith.CompExpr
          The CompExpr class represents the bitwise complement of an integer value that produces a single integer result.
static class Arith.DivExpr
          The DivExpr inner class represents a division operation on two integer values which produces a single integer result.
static class Arith.MulExpr
          The MulExpr inner class represents the multiplication of two integer values which produces a single integer result.
static class Arith.NegExpr
          The NegExpr class represents the negation (sign reversal) of an integer value that produces a single integer result.
static class Arith.OrExpr
          The OrExpr class represents the bitwise inclusive or of two integer values that produces a single integer result.
static class Arith.ShiftLeftExpr
          The ShiftLeftExpr class represents the shift left of an integer value that produces a single integer result.
static class Arith.ShiftRightExpr
          The ShiftRightExpr class represents the shift left of an integer value that produces a single integer result.
static class Arith.SubExpr
          The SubExpr inner class represents the subtraction of one integer value from another that results in a new integer value.
static class Arith.UnOp
          The UnOp inner class represents an operation on a single integer value.
static class Arith.XorExpr
          The XorExpr class represents the bitwise exclusive or of two integer values that produces a single integer result.
 
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
Arith()
           
 
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

Arith

public Arith()