예제 #1
0
 protected override Variant GetValue()
 {
     if (!Params[0].IsString())
     {
         throw new NamedException(Translator.TranslateStr(438), "EvalText");
     }
     return(EvalObject.EvaluateText(Params[0]));
 }
예제 #2
0
        protected override Variant GetValue()
        {
            if (Params[0].VarType != VariantType.String)
            {
                throw new NamedException(Translator.TranslateStr(438), "CHECKEXPRESSION");
            }
            if (Params[1].VarType != VariantType.String)
            {
                throw new NamedException(Translator.TranslateStr(438), "CHECKEXPRESSION");
            }
            Variant aresult = EvalObject.EvaluateText(Params[0]);

            if (aresult == false)
            {
                throw new UnNamedException(Params[1]);
            }
            return(aresult);
        }
예제 #3
0
파일: AstNode.cs 프로젝트: azbyn/oop
 public EvalObject Call(EvalObject arg) => val(arg);
예제 #4
0
파일: AstNode.cs 프로젝트: azbyn/oop
 public EvalObject Call(EvalObject arg, Evaluator eval)
 => eval.Eval(body.WithBoundVariable(param, arg));
예제 #5
0
파일: Environment.cs 프로젝트: azbyn/oop
 public EvalObject Assign(string name, EvalObject val)
 => values[name] = val;
예제 #6
0
파일: Environment.cs 프로젝트: azbyn/oop
 static BigInt Int(EvalObject o) => Evaluator.EnforceInt(0, o);