coins.ast.expr
Class ArithBinaryExpr

java.lang.Object
  extended bycoins.ast.ASTree
      extended bycoins.ast.expr.OperatorExpr
          extended bycoins.ast.expr.BinaryExpr
              extended bycoins.ast.expr.ArithBinaryExpr
All Implemented Interfaces:
Expr, java.io.Serializable, TokenId

public class ArithBinaryExpr
extends BinaryExpr
implements TokenId

Arithmetic binary expression.

If an operand must be type-coerced, the operand is explicitly surrounded with a cast expression. For example, if k is an integer variable, then an expression k + 1.0 is transformed into ((double)k)+1.0.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class coins.ast.expr.BinaryExpr
left, right
 
Fields inherited from interface coins.ast.TokenId
AND_E, ANDAND, ARROW, ASM, AUTO, BAD_TOKEN, BREAK, CASE, CAST_OP, CHAR, CHAR_CONST, COND_OP, CONST, CONTINUE, DEFAULT, DIV_E, DO, DOUBLE, DOUBLE_CONST, ELLIPSIS, ELSE, ENUM, EOF, EQ, EXOR_E, EXTERN, FLOAT, FLOAT_CONST, FOR, FUNCALL, GE, GOTO, IDENTIFIER, IF, IGNORE, INDEX_OP, INLINE, INT, INT_CONST, LE, LONG, LONG_CONST, LONG_DOUBLE_CONST, LONGLONG_CONST, LSHIFT, LSHIFT_E, MINUS_E, MINUSMINUS, MOD_E, MUL_E, MUTABLE, NEQ, OR_E, OROR, PLUS_E, PLUSPLUS, PRAGMA, REGISTER, RESTRICT, RETURN, RSHIFT, RSHIFT_E, SHORT, SIGNED, SIZEOF, SKIP_GCC_ASM, SKIP_GCC_ATTRIBUTE, STATIC, STRING_L, STRING_WL, STRUCT, SWITCH, TYPEDEF, TYPEDEF_NAME, UINT_CONST, ULONG_CONST, ULONGLONG_CONST, UNION, UNSIGNED, VOID, VOLATILE, WHILE
 
Constructor Summary
ArithBinaryExpr(Expr expr1, int op, Expr expr2, byte[] type)
           
 
Method Summary
 void accept(Visitor v)
          Is a method for the visitor pattern.
 byte[] getType()
          Returns the type of the resulting value of evaluating the expression.
 int operatorId()
          Returns the token identifier of the operator name.
 java.lang.String operatorName()
          Returns the string representation of the operator name.
 
Methods inherited from class coins.ast.expr.BinaryExpr
getLeft, getLeftOperand, getRight, getRightOperand, setLeft, setRight
 
Methods inherited from class coins.ast.expr.OperatorExpr
getTag
 
Methods inherited from class coins.ast.ASTree
putSeparator, rightToString, toString, toString1
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArithBinaryExpr

public ArithBinaryExpr(Expr expr1,
                       int op,
                       Expr expr2,
                       byte[] type)
Method Detail

accept

public void accept(Visitor v)
Description copied from class: ASTree
Is a method for the visitor pattern. It calls atXXX() on the given visitor, where XXX is the class name of the node object.

Specified by:
accept in class ASTree

getType

public byte[] getType()
Description copied from interface: Expr
Returns the type of the resulting value of evaluating the expression. See ast.TypeId

Specified by:
getType in interface Expr
Returns:
the encoded type.

operatorId

public int operatorId()
Description copied from class: OperatorExpr
Returns the token identifier of the operator name. See ast.TokenId

Specified by:
operatorId in class OperatorExpr

operatorName

public java.lang.String operatorName()
Description copied from class: OperatorExpr
Returns the string representation of the operator name.

Specified by:
operatorName in class OperatorExpr