!
! Command language description for DECOMPRESS
!

MODULE lz_dcl_table

DEFINE VERB		DECOMPRESS

PARAMETER P1,				! Input file
	LABEL=INPUT
	PROMPT="Input file",
	VALUE (REQUIRED, TYPE=$FILE)

PARAMETER P2,				! Output file
	LABEL=OUTPUT
	PROMPT="Output file",
	VALUE (TYPE=$FILE)

QUALIFIER BITS,				! /BITS=<value>
	NONNEGATABLE,
	PLACEMENT=GLOBAL,
	VALUE(TYPE=$NUMBER)

QUALIFIER EXPORT,			! /EXPORT=(VMS UNIX BLOCK ENDMARKER)
	NONNEGATABLE,			! Only /EXPORT=(UNIX, NOHEADER)
	PLACEMENT=GLOBAL,		! is meaningful.
	VALUE(TYPE=EXPORT_KEYWORDS, LIST),
	DISALLOW (VMS AND UNIX)
	DISALLOW (BLOCK AND NEG HEADER)
	DISALLOW (VMS AND NEG BLOCK)
	DISALLOW (VMS AND NEG HEADER)
	DISALLOW (VMS AND NEG ENDMARKER)

QUALIFIER METHOD,			! /METHOD=LZ
	NONNEGATABLE,
	PLACEMENT=GLOBAL,
	VALUE(TYPE=METHOD_KEYWORDS)

QUALIFIER SHOW,				! /SHOW=(PROGRESS, STATISTICS, DEBUG)
	NEGATABLE,
	PLACEMENT=GLOBAL,
	VALUE(TYPE=SHOW_KEYWORDS, LIST)

QUALIFIER MODE,				! /MODE=(TEXT | BINARY | FIXED | DELTA)
	NONNEGATABLE,
	PLACEMENT=GLOBAL,
	VALUE(TYPE=MODE_KEYWORDS, LIST),
	DISALLOW ANY2(TEXT, BINARY, FIXED)

DEFINE TYPE EXPORT_KEYWORDS
	KEYWORD VMS, DEFAULT
	KEYWORD UNIX,
	KEYWORD BLOCK, NEGATABLE
	KEYWORD HEADER, NEGATABLE
	KEYWORD ENDMARKER, NEGATABLE

DEFINE TYPE METHOD_KEYWORDS
	KEYWORD	LZ, DEFAULT

DEFINE TYPE MODE_KEYWORDS
	KEYWORD	TEXT, DEFAULT
	KEYWORD BINARY,
	KEYWORD FIXED, VALUE(TYPE=$NUMBER, DEFAULT=512)
	KEYWORD DELTA

DEFINE TYPE SHOW_KEYWORDS
	KEYWORD PROGRESS, NEGATABLE
	KEYWORD STATISTICS, NEGATABLE
	KEYWORD FDL, NEGATABLE
	KEYWORD DEBUG, NEGATABLE
	KEYWORD DEBUG_SERIOUS, NEGATABLE
	KEYWORD DEBUG_IO, NEGATABLE
	KEYWORD ALL			! Actually, all but debug
