z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


FLMLRCIS MVS C/C++ parser with include set support

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

Purpose

The FLMLRCIS parser supports MVS™ C and C++ source files. The parser is written in REXX. The includes found by the parser are associated with an include set that is the set name from the include statement. For information about include sets, see FLMINCLS macro.

Functions

The parser uses the following syntax rules to locate dependency names:
  • The search for tokens is restricted to uncommented text.

    The character strings /* and */ are recognized as comment delimiters that can span lines. The character string // is recognized as a begin comment token where the comment ends at the end of the line.

  • Include dependencies are generated when the first token on the line is #include.

    The dependency consists of the member or include name and the include set name in the format 'member.set', where set is the include set name. It can be surrounded by double quotes ("member.set") or by angle brackets (<member.set>).

  • Tokens inside strings are ignored.
The following table illustrates how include and include-set names are derived from source statements.
Table 1. Examples of include and nclude-set names derived from source statements
Source statement Include name Include-set name
#include "abc" abc  
#include "abc.h" abc h

Another function of the parser is to gather statistics or metrics for each module to be parsed. SCLM saves 10 statistics, but only 4 are generated by this parser. This parser defines the ten statistics as follows:

Total lines
The total number of records in the file.
Comment lines
This value is always 0.
Noncomment lines
This is the same as the total lines.
Blank lines
The number of lines that contain only blanks.
Prolog lines
This value is always 0.
Total statements
This value is always 0.
Comment statements
The total number of /* */ pairs in the member.
Control statements
This value is always 0.
Assignment statements
This value is always 0.
Noncomment statements
This value is always 0.

Parameters

The following guidelines apply when specifying parameters:
  • The order of the parameters is not important.
  • See the language definition provided by SCLM for the actual use of the parameters for FLMLRCIS.
The following keyword parameters, separated by commas, are required as input to FLMLRCIS:
LISTINFO
Pointer to the SCLM list information record. This parameter is required and must be set to @@FLMLIS.
LISTSIZE
The size of the LISTINFO buffer. This parameter is required and must be set to @@FLMSIZ. The parser checks to make sure that the LISTSIZE parameter is large enough to hold at least one entry of 228 bytes.
STATINFO
Pointer to the SCLM statistics information record. This parameter is required and must be set to @@FLMSTP.

Return codes

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014