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


Sample language definition

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

Figure 1 shows a language definition for compiling C source members on the workstation. A description of the items in the language definition follows.

Figure 1. Workstation C Language Definition (Part 1 of 2)
***********************************************************************
*                                                                     *
*     SCLM LANGUAGE DEFINITION FOR IBM CSET/2 OR CSET++ FOR OS/2      *
*                      COMPILE SOURCE TO OBJECT                       *
*                                                                     *
***********************************************************************
*
*
CPPOS2   FLMLANGL    LANG=CPPOS2,                                      C
               VERSION=2,                                              C
               CHKSYSLB=IGNORE
*
          FLMINCLS TYPES=(H,HPP,@@FLMTYP,@@FLMETP)
H         FLMINCLS TYPES=(H)
HPP       FLMINCLS TYPES=(HPP)
*
* PARSER
*
          FLMTRNSL   CALLNAM='C/C++ PARSE',                            C
               FUNCTN=PARSE,                                           C
               CALLMETH=TSOLNK,                                        C
               COMPILE=FLMLRC2,                                        C
               PORDER=1,                                               C
               OPTIONS=(STATINFO=@@FLMSTP,                             C
               LISTINFO=@@FLMLIS,                                      C
               LISTSIZE=@@FLMSIZ)
*
*          (* SOURCE *)
           FLMALLOC  IOTYPE=A,DDNAME=SOURCE
            FLMCPYLB @@FLMDSN(@@FLMMBR)
*
* BUILD
*
          FLMTRNSL   CALLNAM='C/C++',                                  C
               FUNCTN=BUILD,                                           C
               CALLMETH=ISPLNK,                                        C
               COMPILE=SELECT,                                         C
               VERSION=1,                                              C
               GOODRC=0,                                               C
               PORDER=1,                                               C
               OPTIONS='CMD(FLMLTWST ACTION=COMPILE,BMAPINFO=@@FLM$MP,SC
               CLMINFO=@@FLMINF,BLDINFO=@@FLMBIO,PARMS='
*
*          (* OBJ *)
           FLMALLOC  IOTYPE=P,RECFM=VB,LRECL=1024,                     C
               RECNUM=4000,DDNAME=OBJ,CATLG=Y,KEYREF=OBJ,              C
               DFLTTYP=OBJBIN,DFLTMEM=*,LANG=EXE
*          (* LIST *)
           FLMALLOC  IOTYPE=O,RECFM=VB,LRECL=256,                      C
               RECNUM=4000,DDNAME=LIST,CATLG=Y,PRINT=I,                C
               KEYREF=LIST,DFLTTYP=LST
Figure 2. Workstation C Language Definition (Part 2 of 2)
*          (* USERINFO *)
           FLMALLOC  IOTYPE=A,DDNAME=USERINFO
             FLMCPYLB @@FLMUID.SCLM.USERINFO
*          (* ACTINFO *)
           FLMALLOC  IOTYPE=A,DDNAME=ACTINFO
             FLMCPYLB @@FLMPRJ.PROJDEFS.ACTINFO
*          (* MESSAGE *)
           FLMALLOC  IOTYPE=W,RECFM=VB,LRECL=256,DISP=MOD,             C
               RECNUM=4000,DDNAME=MESSAGE,PRINT=I
*          (* MSGXFER *)
           FLMALLOC  IOTYPE=W,RECFM=VB,LRECL=256,CATLG=Y,              C
               RECNUM=4000,DDNAME=MSGXFER
*          (* BMAP *)
           FLMALLOC  IOTYPE=W,RECFM=VB,LRECL=256,                      C
               RECNUM=4000,DDNAME=BMAP,PRINT=I
*          (* FILES *)
           FLMALLOC  IOTYPE=W,RECFM=VB,LRECL=256,CATLG=Y,              C
               RECNUM=4000,DDNAME=FILES,PRINT=I
*          (* RESPONSE *)
           FLMALLOC  IOTYPE=W,RECFM=VB,LRECL=256,                      C
               RECNUM=4000,DDNAME=RESPONSE,PRINT=I,CATLG=Y
*
FLMLANGL macro
This macro specifies the language name, CPPOS2, the language version, "1", and that SCLM is to ignore any includes that are not in the project hierarchy.
FLMINCLS macro
This macro indicates the types searched when looking for includes. Includes with the workstation file extension 'h' are found in the H type. Other includes are found in the type of the source member or its extended type.
FLMTRNSL macro (functn=parse)
This macro identifies the parser to use when the members of this language are updated. The parser scans the member for include dependencies and counts statistics. For a description of the FLMLRC2 sample parser, see FLMLRC2 C, C++, and Resource file parser for workstation source.
FLMTRNSL macro (functn=build)
This is the definition of the build translator. It calls FLMLTWST to perform the compile on the workstation. The ACTION parameter is set to compile to indicate that the compiler is to be called. The PARMS parameter at the end of the parameter string allows for PARM keywords in the language definition to specify additional parameters. The other parameters are used to pass information between SCLM build and the translators that FLMLTWST calls.
FLMALLOC macro (ddname=obj)
This macro allocates the ddname that will hold the .obj file generated on the workstation. The RECFM and LRECL values must match the allocation of the data set in the hierarchy where the .obj file will be stored.
IOTYPE=O
Indicates that a sequential data set will be allocated to hold the output.
IOTYPE=P
Indicates that a partitioned data set will be allocated to hold the output. Using IOTYPE=P can improve build performance for builds with more than one step by copying the date and time of the workstation file to the host member. If the file is needed for subsequent build steps, the copy on the workstation will be used rather than downloading the file that was just uploaded.
DFLTMEM=*
Indicates that the output member in the PDS will have the same name as the member being built.
RECNUM
Indicates the maximum number of records that can be stored in the data set
CATLG=Y
Allows the file to be transferred from the workstation to the data set allocated to this ddname.
KEYREF=OBJ
Indicates that this is an object module. This references the architecture OBJ statement. See Architecture statements for more information on architecture statements.
DFLTTYP
Indicates the type in the hierarchy where the member is stored.
LANG
Gives the language to associate with the output member. This can be used later if the member is the input to another translator.

Because the KEYREF parameter is OBJ, the FLMLTWST translator requires the ddname to be OBJ also or the OBJ parameter must be specified giving the ddname. For example, to use the ddname OBJBIN for outputs with a KEYREF of OBJ, you must specify "OBJ=OBJBIN" in the options string of the FLMLTWST translator.

FLMALLOC macro (ddname=list)
This is the allocation for the ddname to hold the .lst (listing) file that was generated on the workstation. This FLMALLOC has IOTYPE=O to allocate a sequential data set to hold the listing that will be stored back in the hierarchy. The PRINT parameter is also specified to initialize the data set and then copy it to the user's BUILD.LISTnn data set if needed. The IOTYPE=O or IOTYPE=P is needed because of the PRINT parameter.
FLMALLOC macro (ddname=userinfo)
This macro allocates the USERINFO data set. The FLMCPYLB macro that follows it allocates an existing data set to the ddname. The data set has the userid as the high-level qualifier, followed by SCLM.USERINFO. See USERINFODD statements for information about the contents of this data set.
FLMALLOC macro (ddname=actinfo)
This is the allocation for the ACTINFO data set. The FLMCPYLB macro that follows it allocates an existing data set to the ddname. The data set has the project as the high-level qualifier, followed by "PROJDEFS.ACTINFO".
FLMALLOC macro (ddname=message)
This ddname stores messages from the translators that FLMLTWST calls. If the FLMTXFER translator fails, this is the first place to look.
FLMALLOC macro (ddname=msgxfer)
This ddname is used to transfer message files from the workstation to the host. After the messages are transferred to the host, they are appended to the messages ddname.
FLMALLOC macro (ddname=bmap)
This is the ddname where the FLMTBMAP translator writes the build information.
FLMALLOC macro (ddname=files)
This is the ddname to which FLMLTWST writes the list of files for FLMTXFER to transfer.
FLMALLOC macro (ddname=response)
This is the ddname where FLMLTWST generates the response file that is sent to the workstation. ACTION=COMPILE uses a response file; but if no response file is needed for the action, this ddname can be omitted.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014