next up previous contents index
Next: The interactive bank Up: DZDOC -- Bank Previous: Generation a template

#DZEDIT>DZEDIT, a program to maintain documentation

 

DZEDIT is an interactive program to manipulate the documentation database. The program can handle one RZ file and one input cards file in the same session. All file handling (OPEN, CLOSE and FILDEF) are done by the program. The RZ file is opened with STATUS = `NEW' if it should by created, the other files (Listing, plotfiles) are opened with STATUS='UNKNOWN', i.e. they will be overwritten if they exist. It allows to create the RZ file , to update it and produce printed documentation of all or selected entries. Documentation including graphical representation of the bank trees may be produced in various formats:

DZEDIT uses KUIP [7] as command interface.

#DZEDIT>DZEDIT command overview

The program remembers the names of the RZ file and the card image file in a file called dzedit.las.

CALL CREATEDOC chcard chrzf

chcard     C 'Input card image file'            D=' '
chrzf      C 'Output RZ-file'                   D=' '

Create a new RZ file from documentation card image file

CALL UPDATEDOC chcard chrzf [ chsubd ]

chcard     C 'Input card image file'            D=' '
chrzf      C 'Output RZ-file'                   D=' '
chsubd     C 'Subdirectory name (blank=topdir)' D=' '

Update an existing RZ file with new documentation, this option is also used to put the documentation into any subdirectory of an existing RZ file .

CALL EXPORTFILE chfzf

chfzf      C 'FZ-file name'                     D=' '

Write currently open RZ file as a FZ file in Alpha exchange mode for transport to a different computer.

CALL IMPORTFILE chfzf chrzf

chfzf      C 'FZ-file name'                     D=' '
chrzf      C 'RZ-file name'

Read a FZ file in Alpha exchange mode previously exported via the command EXPORTFILE on different (or same) computer. A new RZ file will be generated.

CALL OPENRZFILE chrzf [ choopt ]

chrzf      C 'Input RZ-file'                    D=' '
choopt     C 'Option for RZFILE (U=Update)'

Open an existing RZ file for later use with list/draw/export commands (the file will be READONLY unless the 'U'=update option is given)

CALL PURGEKEY [ nkeep ]

nkeep      I 'Number of cycles to be kept'      D=-1

Purge cycles of all keys keeping the last nkeep. If nkeep < 0 keep just the highest cycle.

CALL DELETEKEY chbsbk chbsup [ icycle chdopt ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
icycle     I 'Cycle number'                     D=0
             > highest: delete highest cycle,
             =0:        delete lowest cycle,
             =-1, -2 :  delete highest-1, -2..
chdopt     C 'Delete option'                    D='C'
             'C': delete all cycles
             'K': delete all keys,
             'S': delete all cycles smaller ICYCLE.
                  (See ZEBRA users guide: RZDELK)

Delete a key specifying BankId and UpBankId and cycle number.

CALL LISTDIRECTORY chrzf

chrzf      C 'Input RZ-file'                    D=' '

List directory of an existing RZ file .

CALL LISTONEBANK chbsbk chbsup [ chlist chlopt choyno idatch ]

chbsbk     C 'Hollerith Id of selected bank'    D=' '
chbsup     C 'Hollerith Id of its up-bank'      D='****'
chlist     C 'File for listing'                 D=' '
chlopt     C 'List option:                      D=' '
             'P' PostScript file (default: simple text file)
             'I' use format of the bank descriptor cards
                 (i.e. Input to CREATEDOC)   
 
choyno     C 'List all cycles'                  D='NO' R='NO,YES'
idatch     I 'List only after date'             D=0

List documentation for a selected bank or a group of banks. An '*' (asterix) may be used as wild card character. Exactly two times 4 characters are needed to define bank and up-bank. only the last cycle of one entry is listed regardless of its date. List of all cycles or selection by date of entering the RZ file may also be choosen. The date is an integer of the form YYMMDD.

CALL LISTALL [ chlist chlopt choyno idatch ]

chlist     C 'File for listing'                 D=' '
chlopt     C 'List option:                      D=' '
             'P' PostScript file (default: simple text file)
             'I' use format of the bank descriptor cards
                 (i.e. Input to CREATEDOC)   
choyno     C 'List all cycles'                  D='NO' R='NO,YES'
idatch     I 'List only after date'             D=0

List documentation for all banks

CALL HTML chbsbk chbsup [ chopt ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chopt      C 'Option: number of output files written D=' '
              default: a different file is written for each bank
              = 1 all output is written into a single file

Generate documentation in HTML format suitable for a WWW browser. One should use a chbsbk equal to '****' and chbsup equal to 'NONE' to generate a description for all banks.

CALL DRAWONETREE chbsbk chbsup [chmeta chtext chpost chopt ctitle]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chmeta     C 'Name of plotfile'                 D=' '
chtext     C 'Name of text file'                D=' '
chpost     C 'Name of PostScript file'          D=' '
chopt      C 'Option (P=PostScript L=Latex)'    D=' ' R=' ,P,C,L,PC,LC'
              'P' PostScript file
              'L' Latex file
              'Q' do not produce output files
              'C' check consistency
ctitle     C 'Global title'                     D='ZEBRA-Datastructures'

Draw tree below a selected bank. All banks belonging to the tree will be actually lifted in memory each with three data words. Word 1, 2, 3 are the number of data words, links and structural links as described in the documentation, a -1 indicates a variable number. A global title may be given which appears on the front page of thge document.

CALL DRAWALL [ chmeta chtext chpost chopt ctitle ]

chmeta     C 'Name of plotfile'                 D=' '
chsgml     C 'Name of text file'                D=' '
chpost     C 'Name of PostScript file'          D=' '
chopt      C 'Output:                           D='S'
             'P' PostScript file
             'L' Latex file
             'N' do not check consistency
             'Q' do not produce output files (check only)
ctitle     C 'Global title'                     D='ZEBRA-Datastructures'

Draw tree below all top banks (i.e. banks having "None" as up-bank. This also checks the consistency and completeness of the documentation if option N is not given.

CALL DZDISP [ chopt ]

chopt      C 'Option:                           D=' ' 
             'C' use color

Display the last generated tree if graphics is available. Note that the number of data words is three for each bank. Their contents indicates the documented number of data words and links.

CALL DZDDIV [ chopt ]

chopt      C 'Option:                           D=' ' 
             'C' use color

Call subroutine DZDDIV.

CALL DZDIRZ [ chopt ]

chopt      C 'Option:                           D=' ' 
             'C' use color

Call subroutine DZDIRZ, display RZ-directory tree

Preparing Fortran code

 

MAKECODE generates PATCHY KEEP sequences containing Fortran code. With option S only the selected bank is treated, with option T all banks in the selected tree are treated. The KEEP sequences are named with the hollerith Identifiers of the bank(trees) prefixed by mnemonics like BOOK, LKOFF, DAOFF etc.

CALL DATAOFFSETS chbsbk chbsup [ chlist chpfix choptd ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chlist     C 'File for listing'                 D=' '
chpfix     C 'Prefix to mnemonic'               D=' '
choptd     C 'Option'                           D='T'
             'S' One selected bank
             'T' Complete tree
Generate sequences of data word offsets for a selected bank or a complete tree. The mnemonics given in the documentation can be prefixed by a (upto 8 char) string like: DO_

Example of data word documentation

         *B.4 IIDAT4     This is the 4th data word
 {\rm would produce:}
         INTEGER IIDAT4
         PARAMETER (IIDAT4=4)

CALL LINKOFFSETS chbsbk chbsup [ chlist chpfix choptl ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chlist     C 'File for listing'                 D=' '
chpfix     C 'Prefix to BankId'                 D='LO'
choptl     C 'Option'                           D='T'
             'S' One selected bank
             'T' Complete tree

Generate sequences of link offsets for a selected bank or tree. Exactly two times 4 characters are needed to define bank and up-bank. The variable generated is named chpfix concatenated with the bank Identifier.

Example of the description of a link

         *B.LINK
         ...
         *B.7 IDBK  Bank containing anything
 {\rm would produce:}
         INTEGER LOIDBK
         PARAMETER (LOIDBK=7)

CALL LINKASSIGNMENT chbsbk chbsup [ chlist chpfix choptl ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chlist     C 'File for listing'                 D=' '
chpfix     C 'Prefix to BankId'                 D='LO'
choptl     C 'Option'                           D='T'
             'S' One selected bank
             'T' Complete tree

Generate sequences of link assignment statements for selected bank or tree. Exactly two times four characters are needed to define bank and up-bank. The assumed linkoffset is named chpfix concatenated with the bank identifier. Example: if a

Example of link to bank IDBK with Up-bank IDUP

         *B.UP IDUP
         *B.LINK
         ...
         *B.7  IDBK  Bank containing anything
 {\rm would produce:}
         INTEGER LOIDBK
         LOIDBK=LQ(LOIDUP-7)

CALL BOOK chbsbk chbsup [ chlist choptb ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chlist     C 'File for listing'                 D=' '
choptb     C 'Option'                           D='TB'
             'S' One selected bank
             'T' Complete tree
             'B' Generate call to MZBOOK
             'L' Generate call to MZLIFT

Generate code to book a bank or bank tree with MZBOOK or MZLIFT. For MZLIFT the bank parameters are put into arrays MMIDBK, which go into their own KEEP sequence. The link to the bank "BANK" is named LBANK, the uplink is assumed LUPBK if the up-bank is called "UPBK". For LBANK the declaration "INTEGER LBANK" is generated, for LUPBK it is assumed to be done already. A call to MZFORM is generated if not all data words are of the same type. The IO-char may be given expicitely for each data word or in line like: *B.IO 3I 4F. The link offset (JBIAS) is taken from the card *B.UP UPBK -JBIAS, if JBIAS is given. If it is not given it is searched for in the documentation of the Up-bank. If the string specified for UPBK is "NONE", it is set to +1.

Defaults for non explicitly documented parameters

  IXDIV:  0 (i.e. div 2 in store 0)
  JBIAS:  no default
  NL:     0
  NS:     0
  ND:     0
  IOChar: no default, if not given with the data word description
  NZERO:  0

CALL LIFT chbsbk chbsup [ chlist choptb ]

chbsbk     C 'Hollerith Id of selected bank'
chbsup     C 'Hollerith Id of its up-bank'
chlist     C 'File for listing'                 D=' '
choptb     C 'Option'                           D='TL'
             'S' One selected bank
             'T' Complete tree
             'B' Generate call to MZBOOK
             'L' Generate call to MZLIFT

Generate code to lift a bank or bank tree. See the description of BOOK above.

Remarks on #DZEDIT>DZEDIT

Remarks on updating

When the update option is specified, the input Cards file is first read and new keys (or a new cycle of a key if it is already present) are produced. It then checks for the cases where a new cycle has been added, if the data in the new cycle are identical to the one in the previous cycle. If so, it deletes the newly created cycle. So the update can be done with a Cards file containing documentation on all banks or just those which should be added or modified. Thus old cycles of the updated banks are kept and can be listed on request. (See option ``list all cycles'')



next up previous contents index
Next: The interactive bank Up: DZDOC -- Bank Previous: Generation a template


Janne Saarela
Mon May 15 08:34:47 METDST 1995