A few details in case you are curious or some other readers are curious.
There are different ways of running a program on VMS.
1) The simple but limited.
$ RUN name
(which does not take parameters)
2) Foreign symbols.
$ symbol :== $disk:[dir]name
$ symbol arg1 arg2 arg3
3) MCR.
$ MCR disk:[dir]name arg1 arg2 arg3
4) The true VMS way of CLD and DCLTABLES.
One create a CLD file that define the verb with parameters and qualifier and image to run and then either load it into memory or into an on disk file.
The C installation has a CLD file that it stuffs into DCLTABLES.EXE which get loaded into processes at login and used by DCL to parse commands.
It starts with something like:
Code: Select all
define verb CC
image DECC$COMPILER
parameter P1, label=FILE, prompt="File"
value (required,list,impcat,type=$infile)
qualifier VERSION, syntax=VERSION_ONLY
...
That defines the CC verb, P1 which is the file to compile and a ton of qualifiers and associate it with DECC$COMPILER.EXE (in SYS$SYSTEM).
Programs that need to retrieve parameters and qualifiers can do so using the CLI$ library functions.