	(REGULAR VERB)

	Syntax:  SPRINT(string, format) list

	SPRINT writes a list of adverbs, expressions, or constants to
	the specified string adverb using a specified printing format.
	This is identical in power as internal writes in F77, the
	ENCODE in VMS Fortran, or the 'sprintf' function in C.

	The list contains a sequence of adverb names, constants, or
	expressions whose values you want to print into the string
	using the specified format.  The list need not exist if you
	just want string to contain all spaces.

	The format parameter must be either a string constant or string
	adverb that contains a legitimate format specification.  If you
	specify an empty string, then SPRINT will use 'list-directed'
	IO to print out the list (i.e., the program will determine
	aesthetic formats to use for printing out the list).

	The format specifications follow all of the rules of Fortran
	77, plus some extensions and restriction.  The following table
	gives a list of what can be used in a format specification:

		 	UniPOPS Format Specifiers
   -------------------------------------------------------------------
   Specifier			Fortran 77	UniPOPS Extension
   -------------------------------------------------------------------
   Blank Control (see note)	BN, BZ			B

   Carriage control (see note)	space, 0, 1		$

   Character Edit (see note)	nH....,  rAw, 		rA, "....."
				   '....'

   Floating Point		rFw.d, rEw.d.Ee,	rE.w.d.e, rG.w.d.e,
				rDw.dEe, rGw.dEe	rD.w.d.e

   Integer Edit (see note)	rI.w.m

   Logical Edit (see note)	rLw

   Position Control (see note)	nX, /, Tc, TLn,
				   TRn	

   Scale Control		pP			P

   Sign Control (see note)	S, SP, SS

   Terminate a format		:

   Repeat pattern		r(.....)

   -------------------------------------------------------------------
   where:  c = column number (must be present and > 0)
	   d = number of digits (significant or after the decimal point;
		see default value below; must be >= 0)
           e = number of digits in printed exponential (see default value
       		below; must be >= 0)
	   m = number of preceding zeros (see default value below; >= 0)
	   n = number of characters (must be present and > 0)
	   p = integer scale factor (if not present, assumed to be zero;
		can be < 0) 
	   r = repeat counter (if not present, assumed to be 1; must be >= 0) 
	   w = field width (see defaults value below; must be >= 0)

   NOTES:  c, d, e, m, n, p. r, and w must be specified as integers.

	   B, BN and BZ are only used when reading but are included here
	   for the sake of completeness.

	   UniPOPS has no logical or integer constants, adverbs, or
	   expressions.  If you specify an I or L format specifier, than
	   UniPOPS converts the scalar value of the item to be printed
	   into an integer or logical value before printing its value
	   out.  This is NOT what F77 does when you try to print a
	   floating-point value item with an I or L specification.

	   You cannot use the / or carriage control specifications in
	   SPRINT.  They are included here for the sake of completeness
	   (they are available using FPRINT)..

   -------------------------------------------------------------------

	See a F77 manual for a description of how to use the format specifiers
	given in the middle column.  The UniPOPS extensions are:

	(1) The P specification is identical to 0P.

	(2) The program will calculate a field width for you with the
		A specification.

	(3) Strings can be enclosed in double quotes as well as
		single.

	(4) The rE.w.d.e, rG.w.d.e, rD.w.d.e are identical in purpose
		to the rE.w.dEe, rG.w.dEe, rD.w.dEe specifications.


	The only UniPOPS restriction is that the '+' carriage control
	specifier of F77 is NOT supported.

	Unlike F77, you do not need to enclose the complete format
	specification in parenthesis -- UniPOPS provides the opening
	and closing parenthesis for you.

	An error message will be generated if you try to print out a
	string using anything but the rAw or rA specifications.
	Likewise, as error message will be generated if you try to
	write using an A specification anything but a string.

	As in F77, you need not specify all of the suffixes for I, L,
	F, D, E, or G.  That is, you can eliminate, in the following
	order, the following descriptors:  e (or m), d, w.  The default
	values used by UniPOPS for these descriptors are:


		Default m, w, d, or e Field Descriptors
	-------------------------------------------------
	Descriptor	m	w	d	e
	-------------------------------------------------
	I		0	7
	L			2
	E, D, G			15	7	2
	F			15	7
	-------------------------------------------------

	If the output list is not exhausted but the format
	specifications are, than the format specification is rescanned
	using the same rules as F77 (rescan point is either the
	beginning of the format specification or the last level zero
	open parenthesis.

	No adverbs are used or changed by SPRINT.

	EXAMPLES:

	SPRINT(XTITLE,' ') BDROP, EDROP

		Prints the value of BDROP or EDROP using a default
		floating point specification into the string XTITLE.

	SPRINT(HTITLE,' "Source declination = ", I3.3,I2.2,F4.1') DD,MM,SS

		HTITLE will be overwritten.  It will contain the
		words: "Source declination = " (without the quotation
		marks), followed by the values of the adverbs
		DD, MM, and SS printed using I specification for DD and
		MM  and F specification for SS.

