avrora.core.isdl.ast
Class Arith.SubExpr

java.lang.Object
  extended byavrora.core.isdl.ast.Expr
      extended byavrora.core.isdl.ast.Arith
          extended byavrora.core.isdl.ast.Arith.BinOp
              extended byavrora.core.isdl.ast.Arith.SubExpr
Enclosing class:
Arith

public static class Arith.SubExpr
extends Arith.BinOp

The SubExpr inner class represents the subtraction of one integer value from another that results in a new integer value.


Nested Class Summary
 
Nested classes inherited from class avrora.core.isdl.ast.Arith
Arith.AddExpr, Arith.AndExpr, Arith.BinOp, Arith.CompExpr, Arith.DivExpr, Arith.MulExpr, Arith.NegExpr, Arith.OrExpr, Arith.ShiftLeftExpr, Arith.ShiftRightExpr, Arith.SubExpr, Arith.UnOp, Arith.XorExpr
 
Field Summary
 
Fields inherited from class avrora.core.isdl.ast.Arith.BinOp
left, operation, precedence, right
 
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.SubExpr(Expr left, Expr right)
           
 
Method Summary
 Expr accept(CodeRebuilder r, java.lang.Object env)
          The accept() method implements one half of the visitor pattern for rebuilding of expressions.
 void accept(CodeVisitor v)
          The accept() method implements one half of the visitor pattern so that client visitors can traverse the syntax tree easily and in an extensible way.
 
Methods inherited from class avrora.core.isdl.ast.Arith.BinOp
accept, getPrecedence, isConstantExpr, toString
 
Methods inherited from class avrora.core.isdl.ast.Expr
getBitWidth, innerString, isBitRangeExpr, isLiteral, isMap, isVariable, tokenToBool, tokenToInt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Arith.SubExpr

public Arith.SubExpr(Expr left,
                     Expr right)
Method Detail

accept

public void accept(CodeVisitor v)
The accept() method implements one half of the visitor pattern so that client visitors can traverse the syntax tree easily and in an extensible way.

Specified by:
accept in class Expr
Parameters:
v - the visitor to accept

accept

public Expr accept(CodeRebuilder r,
                   java.lang.Object env)
The accept() method implements one half of the visitor pattern for rebuilding of expressions. This visitor allows code to be slightly modified while only writing visit methods for the parts of the syntax tree affected.

Specified by:
accept in class Expr
Parameters:
r - the rebuilder to accept
Returns:
the result of calling the appropriate visit() method of the rebuilder