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