1 VERB
C     VERB is a program to extract verb  definitions  from  either
C     your  process  space  or  a  command  table  file  (such  as
C     SYS$SHARE:DCLTABLES.EXE).  These verb definitions  can  then
C     be changed and recompiled via the command definition utility
C     ($SET COMMAND).  This program is similar to the  OpenVMS  V3
C     program CLEXTRACT, though this version works with OpenVMS V4
C     and later command tables.  This program is centrally  useful
C     if  you need to change verb definitions, or if you just hate
C     the HP OpenVMS defaults (getting tired of HELP/PAGE, or LINK
6     creating maps when executed from a batch job?).

C     To use VERB, either type $ SET COMMAND  VERB,  or  define  a
     foreign command such as:

2               $ VERB :== $dev:<dir>VERB_UTILITY

2 Parameter
C     VERB takes  one  parameter,  a  (comma  separated)  list  of
C     commands.   The  commands  may be wildcarded, as in VERB A*.
C     All matching commands will be displayed (either in  full  or
.     in brief format if /LIST is specified).
2 Qualifiers
/ALL
C     VERB/ALL will cause ALL commands to be displayed.   /ALL  is
-     the default if no commands are passed.
/LIST
C     VERB/LIST  will  simply  list  the  name  of  all   matching
=     commands, rather than the complete command definition.
	/OUTPUT
C     VERB/OUTPUT=file-spec will route the output to the specified
4     file.  A default file type of ".CLD" is used.

/PROCESS
C     VERB/PROCESS  causes  VERB  to  use  your  process  specific
C     command    tables.    Normally   this   is   the   same   as
C     SYS$SHARE:DCLTABLES.EXE,  however,  if  you  have  different
C     tables set up as your default command tables, or if you have
C     added commands to your process by using  SET  COMMAND,  then
:     they may be different.  This is the default action.
/TABLE
C     VERB/TABLE=table-name causes VERB to  search  the  specified
C     command  tables.   If  you specify /TABLE without giving any
C     name it will default to using SYS$SHARE:DCLTABLES.EXE.  Note
C     that  /TABLE  is  exactly  equivalent  to  using  the /IMAGE
<     qualifier in conjunction with /SYMBOL=DCL$AL_TAB_VEC.
/IMAGE
C     /IMAGE=image-name causes VERB to load the  specified  image.
C     You  must  also pass /SYMBOL=symbol-name to specify the name
@     of a universal symbol which points to the command tables.
	/SYMBOL
C     /SYMBOL=symbol-name, in conjunction  with  /IMAGE=image-name
C     enables  VERB  to  use LIB$FIND_IMAGE_SYMBOL to find command
C     tables within a shareable image.  An example using  a  basic
     program follows:
@             10      external long constant smg$$ab_defkey_cld
J                     ! This simply defines the symbol smg$$ab_defkey_cld
F                     ! which is used internally, if you had your own
D                     ! command tables internal to the program, you
L                     ! could use it here.. But then, you probably wouldn't
K                     ! need to. This feature obviously has limited use...
                     end
     to be compiled like:
             $ basic test
)             $ link/share sys$input/opt
                     test.obj
3                     UNIVERSAL=SMG$$AB_DEFKEY_CLD
M             $ verb/image=sys$disk:[]test$image/symbol=smg$$ab_defkey_cld *
/FILE
C     VERB/FILE=file-spec This allows  you  to  read  the  command
C     tables  from  any image, such as SYS$SYSTEM:AUTHORIZE.  This
C     loads the specified file, and searches  for  command  tables
C     within  them.   It  only searches for a specific sequence of
C     characters, and may  get  confused  by  matching  characters
C     within  a file.  To get around this problem, you may use the
C     /COUNT qualifier to specify which  occurrence  to  use.   By
C     default,  it  uses  the first occurrence.  There may also be
C     more than one set of command tables within an image, in this
C     case,  you  must use /COUNT to find the other(s).  A default
<     file spec of ".EXE" is applied to the specified file.
/COUNT
C     VERB/COUNT=n This is used in conjunction with /FILE,  please
     see /FILE for more info.
2 restrictions
C     This tool will not function with  MCR  (the  RSX-11  Monitor
C     Console  Routine)  command  tables.  It is unlikely that you
C     even have the RSX-11  environment  installed.   If  you  are
C     unfamiliar  with MCR command processing and/or if you do not
C     have the RSX-11  compatibility-mode  environment  installed,
'     you can safely ignore this note.

C     When extracting several  verbs  at  a  time  the  verbs  may
C     reference  common  TYPE definitions, in these cases only one
C     is output, this only becomes a problem if  you  cut  up  the
.     output file into several smaller files.

C     When extracting several verbs  (such  as  BASIC,  MACRO,  or
C     FORTRAN)  together  you  can encounter cases where there are
C     similarly-named TYPE definitions.   Cases  where  each  verb
C     references  a  local and differing TYPE definition, but with
C     the same name.  If you then attempt to reload the  aggregate
C     CLD  back  into  OpenVMS,  CDU  will balk.  You will want to
C     extract these verbs separately,  or  otherwise  segment  the
0     aggregate module into separate CLD files.

2 author
C     The original author of this  utility,  and  various  of  the
     contributors:

          Joe Meadows Jr.
          Hunter Goatley
          Luke Brennan
          Stephen Hoffman
