private Term ConvertUnaryExpressionToTerm(UnaryExpression expr, Term.TermType termType) { var term = new Term() { type = termType }; term.args.Add(RecursiveMap(expr.Operand)); return(term); }
private Term ConvertBinaryExpressionToTerm(BinaryExpression expr, Term.TermType termType) { var term = new Term() { type = termType }; term.args.Add(RecursiveMap(expr.Left)); term.args.Add(RecursiveMap(expr.Right)); return(term); }
private static Term Binary(Term leftTerm, Term.TermType type, double rightTerm) { return(Binary(leftTerm, type, new Term() { type = Term.TermType.DATUM, datum = new Datum() { type = Datum.DatumType.R_NUM, r_num = rightTerm } })); }
private static Term Binary(Term leftTerm, Term.TermType type, Term rightTerm) { return(new Term() { type = type, args = { leftTerm, rightTerm } }); }
private void AssertDateTimeAccessor(Term expr, Term.TermType termType) { expr.ShouldBeEquivalentTo( new Term() { type = Term.TermType.FUNC, args = { new Term() { type = Term.TermType.MAKE_ARRAY, args = { new Term() { type = Term.TermType.DATUM, datum = new Datum() { type = Datum.DatumType.R_NUM, r_num = 2, } } } }, new Term() { type = termType, args = { new Term() { type = Term.TermType.VAR, args = { new Term() { type = Term.TermType.DATUM, datum = new Datum() { type = Datum.DatumType.R_NUM, r_num = 2, } } } } } } } } ); }