edu.mit.ai.psg.jeva
Class JNSWhileStatement
java.lang.Object
|
+--edu.mit.ai.psg.jeva.SimpleNode
|
+--edu.mit.ai.psg.jeva.JevaNode
|
+--edu.mit.ai.psg.jeva.JNSWhileStatement
- public class JNSWhileStatement
- extends JevaNode
- implements IStatementNode
Jeva parse Node for while Statements.
| Methods inherited from class edu.mit.ai.psg.jeva.JevaNode |
checkInsertionPoint,
find2ndTokenBeforeEndBody,
findChildIndex,
findPrecedingToken,
findTokenBeforeChild,
findTokenBeforeChild,
findTokenBeforeEnd,
getBeginToken,
getEndToken,
insertChildTokens,
insertNewChildAfter,
insertNewChildAt,
insertNewChildBefore,
jnGetChild,
jnGetParent,
notVerified,
print,
print,
printSpecialTokens,
printToken,
printToString,
printToString,
removeChild,
removeChildTokens,
replaceChild,
replaceChild,
setBeginToken,
setEndToken,
shouldNotHappen,
shouldNotHappen,
shouldNotHappen,
updateEndTokens,
updateEndTokensPriorChild,
updateEndTokensPriorNode,
updateEndTokensPriorNode |
jjtAccept
public Object jjtAccept(IJevaVisitor visitor,
Object data)
- Description copied from interface: IJevaNode
- Accept a visitor. For visitor design pattern: jjtAccept must simply
return visitor.visit(this, data);
which dispatches on the type of this to appropriate method of visitor
- Overrides:
- jjtAccept in class JevaNode
getTestExpressionNode
public IExpressionNode getTestExpressionNode()
getBodyStatementNode
public IStatementNode getBodyStatementNode()
verifyTypes
public IEnv verifyTypes(IEnv env)
throws VerifyingException
- Description copied from interface: IStatementNode
- Verify types within this statement; don't call this directly,
use
EvalMethods.verifyTypes(IStatementNode, IEnv).
Builds env without evaluating anything with side effects, for the
purpose of verifying types of later statements. May be used by
preprocessors which must find the type of an expression in order
to assign it to a new variable.
- Specified by:
- verifyTypes in interface IStatementNode
- Tags copied from interface: IStatementNode
- Parameters:
env - environment of names bindings.- Returns:
- env or possibly extended env
- Throws:
- VerifyingException - if statement is illegal
- See Also:
EvalMethods.verifyTypes(IStatementNode, IEnv)
eval
public IEnv eval(IEnv env)
throws AbruptCompletionException
- Description copied from interface: IStatementNode
- Evaluate this Statement; don't call this directly, use
EvalMethods.eval(IStatementNode, IEnv)
Every statement needs to implement an eval method.
- Specified by:
- eval in interface IStatementNode
- Tags copied from interface: IStatementNode
- Parameters:
env - environment of names bindings.- Returns:
- env or possibly extended env
- Throws:
- AbruptCompletionException - if abruptly completed with
return, throw, break, or continue.
- See Also:
EvalMethods.eval(IStatementNode, IEnv)