|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectavrora.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)
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 token| Method 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 Exprpublic 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 Exprv - 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 Exprv - the visitor to acceptpublic Expr accept(CodeRebuilder r)
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 Exprr - 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 | |||||||||