// NewBinary returns a binary expression.
NewBinary returns a binary expression.
// NewBinary returns a binary expression .
func NewBinary(typ int, op string, od1 *Expr, od2 *Expr) (*Expr, error) {
	oprt, e := NewLiteral(typ, op)
	if e != nil {
		return nil, e
	}
	if od1 == nil {
		return nil, fmt.Errorf("The left operand of a binary expression is nil")
	}
	if od2 == nil {
		return nil, fmt.Errorf("The right operand of a binary expression is nil")
	}
	return &Expr{
		sexp: append(ExprList{oprt}, od1, od2),
	}, nil
}
func NewBinary ( typ int , op string , od1 * Expr , od2 * Expr ) ( * Expr , error ) { oprt , e := NewLiteral ( typ , op ) if e != nil { return nil , e } if od1 == nil { return nil , fmt . Errorf ( " " ) } if od2 == nil { return nil , fmt . Errorf ( " " ) } return & Expr { sexp : append ( ExprList { oprt } , od1 , od2 ) , } , nil }
NewBinary returns a binary expression.
NewBinary returns a binary expression .