!
! Command language description for COMPRESS
!

MODULE lz_dcl_table

DEFINE VERB		COMPRESS

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

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

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

QUALIFIER EXPORT,			! /EXPORT=(VMS UNIX BLOCK ENDMARKER)
	NONNEGATABLE,
	PLACEMENT=GLOBAL,
	VALUE(TYPE=EXPORT_KEYWORDS, LIST),
	DISALLOW (VMS AND UNIX)
	DISALLOW (BLOCK AND NEG HEADER)
	DISALLOW (ENDMARKER AND NEG BLOCK)
	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=(DELTA)
	NONNEGATABLE,
	PLACEMENT=GLOBAL,
	VALUE(TYPE=MODE_KEYWORDS, LIST),

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

DEFINE TYPE METHOD_KEYWORDS
	KEYWORD	LZW, DEFAULT

DEFINE TYPE MODE_KEYWORDS
	KEYWORD BINARY
	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
