FILE - placing RANEDIT commands in a file.

The command line

ranedit file <dirfile

invokes the RANEDIT command to edit the given library "file". The "<dirfile" construction indicates that a file named "dirfile" contains directives for the RANEDIT operation. These directives are related to the directives that can be specified on the RANEDIT command line, but they are not exactly the same.

Below we list the directives that can be included in a directive file and how each directive works. The keywords for all directives may be abbreviated to the letters that are shown in upper case letters. A "symdef_list" is a list of SYMDEFs, separated by commas.

List
lists the current state of the library.
Include filename
reads routines from the specified file and uses them to update the library being edited. Routines with the same SYMDEFs as routines that already exist in the library will replace the old routines. Routines with new SYMDEFs will be added to the library.
Include symdef_list<filename
is similar to the previous directive, but only selects some of the SYMDEFs in the given file. For example,
i a,b,c<objfile

will only read and edit the SYMDEFs "a", "b", and "c" from "objfile".

Delete symdef_list
deletes the given SYMDEFs from the library being edited.
DIrective filename
specifies another directive file. RANEDIT will begin taking directives from this new file. When it reaches end of file on the new file, it will return to this directive file and continue onward.
Move symdef_list>symdef
moves the routines in the list, in the order specified, so that they come just AFTER the named SYMDEF in the library.
Move symdef_list<symdef
moves the routines in the list, in the order specified, so that they come just BEFORE the named SYMDEF in the library.
Print symdef_list
gives a detailed listing of the named decks.
Print *
gives a detailed listing of the entire library.
eXtract symdef_list>filename
extracts the object modules for the routines that are listed and puts them into the specified file.
eXtract >filename
extracts the object modules for all routines and puts them into the specified file.
* comment
any line with a '*' in column 1 is ignored and may be used to document the directive file.
!command
executes a TSS command. For example, you might have
!b file1 -Load
Include b*
!b file2 -Load
Include b*
   ...
!b fileN -Load
Include b*

in a directive file named "dir". If you then issued the TSS command

rane mylib +clear <dir

you would effectively create a library that contained the object code for all the B source modules "file1", "file2", ..., "fileN".

The output for all of these directives can be redirected with a

>filename

construction on the directive line. For example,

List >xxx

will write a listing of the contents of the library into the file "xxx". Redirections inside a directive file only apply to the output from a single directive. If you want the output from all the directives to go into a file, specify ">filename" on the original RANEDIT command line.

Copyright © 1996, Thinkage Ltd.