avrora.syntax
Class Expr.UnOp

java.lang.Object
  extended byavrora.syntax.ASTNode
      extended byavrora.syntax.Expr
          extended byavrora.syntax.Expr.UnOp
Enclosing class:
Expr

public static class Expr.UnOp
extends Expr

The UnOp class represents an expression that is a single operand with a unary operation applied to it. For example, "!" takes the logical complement of an operand, "~" takes the bitwise complement, etc.


Nested Class Summary
 
Nested classes inherited from class avrora.syntax.Expr
Expr.BinOp, Expr.CharLiteral, Expr.Constant, Expr.Func, Expr.RelativeAddress, Expr.StringLiteral, Expr.Term, Expr.UnOp, Expr.Variable
 
Field Summary
 AbstractToken op
           
 Expr operand
           
 
Constructor Summary
Expr.UnOp(AbstractToken tok, Expr oper)
           
 
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
 

Field Detail

op

public final AbstractToken op

operand

public final Expr operand
Constructor Detail

Expr.UnOp

public Expr.UnOp(AbstractToken tok,
                 Expr oper)
Method Detail

evaluate

public int evaluate(int currentByteAddress,
                    Context c)
The evaluate() method computes the value of the expression in this context and returns its value. This implementation works straightforwardly by first evaluating the operand and then computing the result of the arithmetic operation.

Specified by:
evaluate in class Expr
Parameters:
currentByteAddress - the current byte address within the program
c - the context in which to evaluate this expression
Returns:
the value of the expression as a 32-bit integer

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()