{
{   The purpose of this request is to produce a clt$type_specification from
{ input in the form of an SCL type expression.  In addition to the FIRST_LINE
{ to be processed, input to this request may be provided dynamically by
{ supplying an input procedure that obtains subsequent input as required by
{ this interface.
{
{       CLP$GENERATE_TYPE_SPECIFICATION (TYPE_NAME, FIRST_LINE,
{         FIRST_LINE_INDEX, GET_LINE, WORK_AREA, LAST_LINE, LAST_LINE_INDEX,
{         TYPE_SPECIFICATION, STATUS)
{
{ TYPE_NAME: (input)  This parameter specifies the name of the type for which
{       the specifiction is being generated.
{
{ FIRST_LINE: (input)  This parameter specifies the first (possibly only) line
{       to be processed by this request.
{
{ FIRST_LINE_INDEX: (input)  This parameter specifies the position within the
{       first line at which processing is to begin.
{
{ GET_LINE: (input)  This parameter specifies the procedure that this request
{       calls to get its input dynamically.  The procedure is responsible for
{       concatenating continuation lines to form a "command line".  NIL may be
{       specified to indicate the absence of an input procedure.
{
{             input_procedure (LINE, STATUS)
{
{       LINE: (output)  This parameter specifies the line.  A NIL pointer is
{             used to indicate end of input.
{
{       STATUS: (output)  This parameter specifies the input procedure's
{             completion status.
{
{ WORK_AREA: (input, output)  This parameter specifies an area of storage that
{       will be used to construct the type specification.  The current
{       position of this sequence pointer is updated to reflect the amount of
{       storage used by the request.  The type specification is completely
{       contained within the used part of this sequence.
{
{ LAST_LINE: (output)  This parameter specifies the last line processed by
{       this interface.  If an input procedure is supplied and is used by the
{       request, this is set to the last line that procedure returned;
{       otherwise this is set to FIRST_LINE.
{
{ LAST_LINE_INDEX: (output)  This parameter specifies the position within
{       LAST_LINE that immediately follows the last character that was
{       processed.
{
{ TYPE_SPECIFICATION: (output)  This parameter specifies the generated type
{       specification.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITIONS:
