OPEN <file> [-nobackup] [-backup]
	Opens an hdf file, makes backup by copying into another file
	<file>.bak. Backup by default

CLOSE
	Close the current open hdf file.

NEXT [<predicates>]
        Move to the next group/element that satisfies the predicates.
        If no predicates are specified, use the most recent list of
        predicates. When a file is opened, the predicate is set to group.

PREV [<predicates>]
        Like NEXT but backwards.

predicates - examples
	next group
	next tag < 300
	next ref >= 10
	next tag = sdg
	next any

INFO [-all] [-long] [-group]
        Show info of the current object. If all is specified, then do
        it for every object in the file. Can replace hdfls.
	-all -- show info for everything in the file
	-long -- show extra info
	-group -- organize the info in group format

DISPLAY
	Displays a rig group as a CLI image.

DUMP [-octal] [-hexadecimal] [-decimal] [-ascii] [-offset +<offset>]
	Od contents to output. DUMP should know what type of data
        the particular object is but the options will allow it to
        maybe display a raster image on different output devices.
	-octal is default.

COPY <file> [<options>]
        Move an object or some element of it to another HDF file.

GETR8 [-image <image-file>] [-dimension <xdim> <ydim>] [-palette <pal-file>]
	Get an R8 group from raw files

PUTR8 [-image <image-file>] [-palette <pal-file>]
	Put an R8 group into raw files.
	The file names can be templates with special characters:
	# -- replaced by the number of the group descriptor
	@ -- replaced by the xdim of the binary
	% -- replaced by the ydim of the binary

PUT <file>
	Put an element as a raw binary file.

DELETE
        Delete current object.

EDIT [<options>]
        Edit a piece of text or label.

IF <predicates> ;[<command>] ; END
        Generic IF command. Primarily used in SELECT ... END to impose
        stricter constrains on certain commands.

SELECT <predicates>
        <command>
        <command>
        .
        .
END
        Scans the file and if an object satisfies the predicates,
        execute the commands on it.

ALIAS <options>
UNALIAS <options>

---
semicolons are also command separators
