public override void EvaluateNode(ActivationFrame frame, Interpreter interpreter) { bool shouldEvaluate = false; foreach (Node n in this.Instructions) { shouldEvaluate = true; if (n is BooleanOperatorNode || n is ParenthesizedExpressionNode) { n.EvaluateNode(frame, interpreter); } else { if (n is FinalNode) { interpreter.pushOperatorStack(n); } if (n is VariableNode || n is FunctionCallNode || n is LiteralNode) { string s = ((VariableNode)n).VariableName; interpreter.pushOperandStack(n); } } } if (shouldEvaluate) { interpreter.evaluateExpressionStack(); } }
public override object getRealValue(ActivationFrame frame) { string variableName = ((FinalNode)Instructions[0]).dataString(); if (frame.variableSet.ContainsKey(variableName)) { return(((FinalNode)frame.variableSet[variableName].Instructions[0]).dataString()); } return(""); }
public override object getRealValue(ActivationFrame frame) { return(((FinalNode)Instructions[0]).dataString()); }