public EvaluateStatement ( PerCederberg.Grammatica.Runtime.Node statement, |
||
statement | PerCederberg.Grammatica.Runtime.Node | |
context | ||
return |
public STObject EvaluateStatement(Node statement, Context context)
{
int exprIndex = 0;
bool returning = false;
Console.WriteLine (statement.Name);
if (statement[0].Name == "RETURN") {
returning = true;
++exprIndex;
}
if (statement[exprIndex].Name != "expression")
return STUndefinedObject.Instance;
var value = EvaluateExpression(statement[exprIndex], context);
if (returning)
throw new ReturnException(value, context);
return value;
}