coins.ast.expr
Class PointerBinaryExpr

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

public class PointerBinaryExpr
extends BinaryExpr
implements TokenId

Pointer binary expression.

The left operand is a pointer value. The right operand is an integer offset. The parser maintains this order. If the right operand is a pointer, then the parser implicitly exchanges the operands.

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
PointerBinaryExpr(Expr expr1, int op, Expr expr2)
          Constructs a pointer binary expression.
 
Method Summary
 void accept(Visitor v)
          Is a method for the visitor pattern.
 Expr getOffset()
          Returns the right operand.
 Expr getPointer()
          Returns the left operand.
 byte[] getType()
          Returns the type of the resulting value of the binary 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

PointerBinaryExpr

public PointerBinaryExpr(Expr expr1,
                         int op,
                         Expr expr2)
Constructs a pointer binary expression.

Parameters:
expr1 - a pointer expression
op - + or -
expr2 - an integer expression
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()
Returns the type of the resulting value of the binary expression.

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

getPointer

public Expr getPointer()
Returns the left operand.


getOffset

public Expr getOffset()
Returns the right operand.


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