	SUBROUTINE LIST
	INTEGER NB,LCW,NCMDS,CPTRS,I,BGN,END
	LOGICAL*1 VIEW,PASSON
	BYTE STRING,COMAND,CMDS,TRANSF
	COMMON /UCL01/ NB,STRING(81)
	COMMON /UCL02/ LCW,COMAND(81)
	COMMON /UCL03/ NCMDS,CPTRS(11),CMDS(36)
	COMMON /UCL04/ TRANSF(81,11),VIEW,PASSON

	BGN = 1
	END = NCMDS
	I = LCW + 2		!Skip over "space" separator
	IF(I .GT. NB)  GO TO 30
	LCW = LEN(STRING(I))
	IF(LCW .EQ. 0)  GO TO 30
C
C	Command to be listed has been specified
C
	CALL SCOPY(STRING(I),COMAND,80)
	BGN = MATCHC()
	END = BGN
	IF(BGN) 10,20,30
   10	CALL PRINT('?UCL-W-LIST-Ambiguous command')
	RETURN
   20	CALL PRINT('?UCL-W-LIST-Unrecognized command')
	RETURN
   30	CALL SCOPY('UCL command "',STRING)
	DO 1000 I = BGN,END
	CALL SCOPY(CMDS(CPTRS(I)),STRING(14))
	CALL CONCAT(STRING,'" is defined as',STRING,80)
	IF(LEN(TRANSF(1,I)) .EQ. 0)  GO TO 40
	CALL PRINT(STRING)
	CALL PRINT(TRANSF(1,I))
	GO TO 1000
   40	CALL CONCAT(STRING,' <NULL>',STRING,80)
	CALL PRINT(STRING)
 1000	CONTINUE
	RETURN
	END
