protected override bool process(IExpressionWalker walker, VauleExpression right) { var stringValue = right as VauleExpression.StringVauleExpression; if (stringValue == null) { return(walker.Fail("Internal parsing error: Expected value for run command to be a string.")); } return(true); }
protected override bool process(IExpressionWalker walker, VauleExpression left, VauleExpression right) { var leftNumber = left as VauleExpression.NumericVauleExpression; if (leftNumber == null) { walker.Fail("Internal parsing error: Expected value on the left to be a number."); return(false); } var rightNumber = right as VauleExpression.NumericVauleExpression; if (rightNumber == null) { walker.Fail("Internal parsing error: Expected value on the right to be a number."); return(false); } result = new VauleExpression.FloatVauleExpression(leftNumber.Value * rightNumber.Value); walker.ValueStack.Push(result); return(true); }
protected abstract bool process(IExpressionWalker walker, VauleExpression right);