avrora.syntax
Class Expr.RelativeAddress
java.lang.Object
avrora.syntax.ASTNode
avrora.syntax.Expr
avrora.syntax.Expr.RelativeAddress
- Enclosing class:
- Expr
- public static class Expr.RelativeAddress
- extends Expr
The RelativeAddress
class represents an expression that is derived from the addition (or
subtraction) of a constant to the current byte address. This occurs in the GAS formats and Objdump.
Method Summary |
int |
evaluate(int currentByteAddress,
Context c)
The evaluate() method computes the value of the expression in this context and returns
its value. |
AbstractToken |
getLeftMostToken()
The getLeftMostToken() method gets the first token associated with the abstract syntax
tree node. |
AbstractToken |
getRightMostToken()
The getRightMostToken() method gets the last token associated with the abstract syntax
tree node. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
dot
public final AbstractToken dot
op
public final AbstractToken op
num
public final AbstractToken num
Expr.RelativeAddress
public Expr.RelativeAddress(AbstractToken d,
AbstractToken o,
AbstractToken n)
getLeftMostToken
public AbstractToken getLeftMostToken()
- Description copied from class:
ASTNode
- The
getLeftMostToken()
method gets the first token associated with the abstract syntax
tree node.
- Specified by:
getLeftMostToken
in class ASTNode
- Returns:
- an
AbstractToken
instance representing the first token that is a part of this
syntactic item.
getRightMostToken
public AbstractToken getRightMostToken()
- Description copied from class:
ASTNode
- The
getRightMostToken()
method gets the last token associated with the abstract syntax
tree node.
- Specified by:
getRightMostToken
in class ASTNode
- Returns:
- an
AbstractToken
instance representing the last token that is a part of this
syntactic item.
toString
public java.lang.String toString()
evaluate
public int evaluate(int currentByteAddress,
Context c)
- The
evaluate()
method computes the value of the expression in this context and returns
its value. Since this is a relative address, it simply evaluates the offset and adds it to the
current address in the program and returns that value.
- Specified by:
evaluate
in class Expr
- Parameters:
currentByteAddress
- the current byte address within the programc
- the context in which to evaluate this expression
- Returns:
- the value of the expression as a 32-bit integer