|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object avrora.core.isdl.ast.Expr avrora.core.isdl.ast.VarExpr
The VarExpr
class represents an expression in the IR that is a use of a local or global
variable.
Field Summary | |
Token |
variable
The variable field stores a reference to the token representing the name of the variable
being accessed. |
Fields inherited from class avrora.core.isdl.ast.Expr |
PREC_A_ADD, PREC_A_AND, PREC_A_MUL, PREC_A_OR, PREC_A_SHIFT, PREC_A_XOR, PREC_L_AND, PREC_L_EQU, PREC_L_OR, PREC_L_REL, PREC_L_XOR, PREC_TERM, PREC_UN |
Constructor Summary | |
VarExpr(java.lang.String v)
The constructor for the VarExpr class simply initializes the reference to the name of the
variable. |
|
VarExpr(Token v)
The constructor for the VarExpr class simply initializes the reference to the name of the
variable. |
Method Summary | |
Expr |
accept(CodeRebuilder r,
java.lang.Object env)
The accept() method implements one half of the visitor pattern for rebuilding of
expressions. |
void |
accept(CodeVisitor v)
The accept() method implements one half of the visitor pattern so that client visitors can
traverse the syntax tree easily and in an extensible way. |
void |
accept(ExprVisitor v)
The accept() method implements one half of the visitor pattern so that client visitors can
traverse the syntax tree easily and in an extensible way. |
int |
getPrecedence()
The getPrecedence() method gets the binding precedence for this expression. |
boolean |
isVariable()
The isVariable() method tests whether this expression is a direct variable use and is used
in copy propagation. |
java.lang.String |
toString()
The toString() method recursively converts this expression to a string. |
Methods inherited from class avrora.core.isdl.ast.Expr |
getBitWidth, innerString, isBitRangeExpr, isConstantExpr, isLiteral, isMap, tokenToBool, tokenToInt |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public final Token variable
variable
field stores a reference to the token representing the name of the variable
being accessed.
Constructor Detail |
public VarExpr(Token v)
VarExpr
class simply initializes the reference to the name of the
variable.
v
- the string name of the variable as a tokenpublic VarExpr(java.lang.String v)
VarExpr
class simply initializes the reference to the name of the
variable.
v
- the string name of the variable as a tokenMethod Detail |
public boolean isVariable()
isVariable()
method tests whether this expression is a direct variable use and is used
in copy propagation. For instances of VarExpr
, this method returns true. For all other
instances, it returns false.
isVariable
in class Expr
public void accept(ExprVisitor v)
accept()
method implements one half of the visitor pattern so that client visitors can
traverse the syntax tree easily and in an extensible way.
accept
in class Expr
v
- the visitor to acceptpublic void accept(CodeVisitor v)
accept()
method implements one half of the visitor pattern so that client visitors can
traverse the syntax tree easily and in an extensible way.
accept
in class Expr
v
- the visitor to acceptpublic Expr accept(CodeRebuilder r, java.lang.Object env)
accept()
method implements one half of the visitor pattern for rebuilding of
expressions. This visitor allows code to be slightly modified while only writing visit methods for the
parts of the syntax tree affected.
accept
in class Expr
r
- the rebuilder to accept
visit()
method of the rebuilderpublic java.lang.String toString()
toString()
method recursively converts this expression to a string. For binary
operations, inner expressions will be nested within parentheses if their precedence is lower than the
precedence of the parent expression.
public int getPrecedence()
getPrecedence()
method gets the binding precedence for this expression. This is used
to compute when inner expressions must be nested within parentheses in order to preserve the implied
order of evaluation.
getPrecedence
in class Expr
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |