next up previous contents
Next: iskey Up: Source developing and Previous: check

ischeck

    Description

The command ischeck may be used to check the comment blocks of your subroutines or to make a global test on the error messages, or to check whether an altered file is an update of the original file and no one has changed the file in the mean time.
Usage
ischeck [-cnrv] [file(s)]
Options
-c
The comment block of the files specified are checked on the following points:
  • the version number may not be raised more than one. If the main number is raised the subnumber must be equal to 0.
  • all keywords must appear in the list of allowed keywords
  • the order of the descriptions of the arguments must be alphabetic
  • the order of the descriptions of the local arguments must be alphabetic
  • all variables must be described
  • all described variables must appear
  • all integers must begin with [i-n]
  • all complex variables must begin with [cz]
  • all real variables must begin with [abd-ho-y]
  • the descriptions of the called subroutines must be in alphabetic order
  • all called subroutines must be described
  • all described subroutines must be called
  • the descriptions of the error messages must be in ascending order
  • all error messages must be described
  • all described error messages must appear
  • the call to the subroutines ISEROPEN and ISERCLOS must have the name of the routine as argument
  • all comment lines must begin with a small letter 'c' and not with a capital 'C'.

All erroneous things are written to the file report.out.

-n
Same as -c but now without checking the names of the variables.
-r
Checks whether all error numbers in all source files in the ISNaS directory make up the total list of error numbers. The output is written to the file error.out.
-v
Checks whether the version block of the altered file minus the first line contains at least all that is in the version block of the original file. The output is written to the file version.out.

Remarks
The ischeck command makes some assumptions on the comment block to distinguish the various parts:
  1. version block
    it starts with a line containing "====";
    it ends with a line containing "";
    the lines containing the word Vversion with a 'c' in the first column have the version number as its third word.
  2. keyword block
    it starts with a line that consists of two words: a 'c' in the first column and the word "KEYWORDS";
    it ends with a line containing "";
  3. input/output parameters block
    it starts with a comment line that has as its second word "INPUT" and contains furthermore the words "OUTPUT" and "PARAMETERS"
    it ends with a line containing "";
    all variable names of the descriptions must begin between column three and column thirteen;
  4. subroutines called block
    it starts with a comment line that consists of three words: a 'c' in the first column, "CALLED" and "SUBROUTINES";
    it ends with a line containing "";
    all routine names of the descriptions must begin between column three and column thirteen;
  5. error messages block
    it starts with a comment line that consists of three words: a 'c' in the first column, "ERROR" and "MESSAGES";
    it ends with a line containing "";
    all error numbers of the descriptions must begin between column three and column thirteen;

Also some assumptions are made with respect to the source:

  1. in the call to (is)eropen/(is)erclos the word between the two quotes is the string to be checked.
  2. in the call (is)errsub and errwar or iswarsub there is exactly one bracket '(' between the "call" and the error number, and there are nothing but blanks between this bracket and the error number.

The sepcheck command uses the FORCHECK tool. Constants (FORTRAN 'parameter'-command) are left out by FORCHECK in the list of variables. The usage of this FORTRAN construct will result in a message, no further attention needs to be paid when the message is that the constant is superfluously described ( < CONSTANT )



next up previous contents
Next: iskey Up: Source developing and Previous: check



ISNaS ontwikkeling
Wed May 24 08:37:14 METDST 1995