fmrisc.Syntax
Class UpdateTerm

java.lang.Object
  extended by fmrisc.Syntax.ASTBase
      extended by fmrisc.Syntax.ExpressionBase
          extended by fmrisc.Syntax.UpdateTerm
All Implemented Interfaces:
AST, Expression

public final class UpdateTerm
extends ExpressionBase

Handling of component updates by index selection.


Constructor Summary
UpdateTerm(Expression base1, Selector[] base2, Expression value)
          construct component update by index selection from base, base2, and base3
 
Method Summary
 AST accept(ASTVisitor visitor)
          Accept visitor for a visit.
 Expression getBase()
          get the base expression
 int getPriority()
          get binding level for printing (lower numbers mean greater binding power)
 Selector[] getSelectors()
          get the selectors
 Expression getUpdate()
          get the update value
 Expression instantiate()
          return copy of AST with value references instantiated by the substitutions set in the corresponding declaration identifiers
 void printCore(java.io.PrintWriter out)
          Prints text representation on out (without new line termination).
 
Methods inherited from class fmrisc.Syntax.ExpressionBase
printPriority
 
Methods inherited from class fmrisc.Syntax.ASTBase
print, printParens, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface fmrisc.Syntax.AST
print, printParens, toString
 

Constructor Detail

UpdateTerm

public UpdateTerm(Expression base1,
                  Selector[] base2,
                  Expression value)
construct component update by index selection from base, base2, and base3

Parameters:
base1 - the compound object
base2 - the sequence of selectors
value - the update value
Method Detail

getPriority

public int getPriority()
get binding level for printing (lower numbers mean greater binding power)

Specified by:
getPriority in interface Expression
Specified by:
getPriority in class ExpressionBase
Returns:
the priority level

getBase

public Expression getBase()
get the base expression

Returns:
the base expression

getSelectors

public Selector[] getSelectors()
get the selectors

Returns:
the selectors

getUpdate

public Expression getUpdate()
get the update value

Returns:
the update value

instantiate

public Expression instantiate()
return copy of AST with value references instantiated by the substitutions set in the corresponding declaration identifiers

Returns:
the instantiated copy

printCore

public void printCore(java.io.PrintWriter out)
Prints text representation on out (without new line termination).

Specified by:
printCore in interface AST
Specified by:
printCore in class ASTBase
Parameters:
out - the stream on which the text is written

accept

public AST accept(ASTVisitor visitor)
Accept visitor for a visit.

Parameters:
visitor - the visitor who is accepted by this node.
Returns:
the result of the visit (may be null)