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 Arith

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

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