|
Purpose The FLMLTWST translator is used
to perform compiles, links, or other services on an ISPF connected
workstation. It cannot be used when ISPF is accessed from a web browser
via the ISPF JAVA environment.
This translator is used for
languages that have the source in SCLM and the compiler, linker, or
other tools on the workstation. FLMLTWST uses the ISPF SELECT service
to execute workstation commands and the FILEXFER ISPF service to transfer
files between the host and the workstation. This section describes
the FLMLTWST translator as supplied with the ISPF product.
The
FLMLTWST translator is written in REXX to let the project manager
customize it to fit the needs of the project and workstation tools.
The
translator does the following tasks: - Initialization
Parses and validates the parameters.
- Reads action information
The action definitions are read from
the ddname specified by the ACTINFODD parameter. This information
includes: - The names of actions that can be specified with the ACTION parameter
- The workstation commands and parameters for each action
- Message file names
- The mapping between SCLM type names and workstation extensions
and subdirectories
- File transfer format (ASCII or BINARY).
- Gets user-specific information
Gets information such as which
directory to store the files in on the workstation and the response
file name.
- Retrieves information from the build map
Gets the list of
source members, includes, compiler options, and outputs from the build
map. The build map information is obtained by calling the FLMTBMAP
translator. The following build map keywords are processed. All other
keywords are ignored. - SINC, SINC*
- Members on SINC statements:
- Will be transferred to the workstation.
- Can be added to the workstation command depending on the workstation
extension that the member's type is mapped to, and the parameter information
specified for the workstation command in the FLMLTWST logic.
- Innn
- Include members identified by Innn statements in the build map
will be transferred to the workstation.
- COMP, LIST, LMAP, LOAD, OBJ, OUTx
- Output members identified by these statements in the build map:
- Will be transferred from the workstation to the ddname associated
with that output keyword.
- Can be added to the workstation command depending on the workstation
extension that the member's type is mapped to, and the parameter information
specified for the workstation command in the FLMLTWST logic.
- CMD
- The processing of the CMD statement depends on the blank delimited
keyword that follows the command statement. CMD statements that do
not have one of the keywords listed below will cause an error.
- PARMS
- The string following this keyword will be added to the workstation
command. If multiple CMD PARMS appear in the architecture definition,
they will be added to the workstation command in the order they appear.
Where the parameters appear in the command in relation to the other
parameters (input and output files) is determined by the information
in the setup part of the FLMLTWST translator.
There will be no
separator character following the value of PARMS in the language definition.
If a separator character is desired then one should appear in the
PARMS keyword as the last character.
If CMD ACTION statements
are present in the build map, the parameters apply only to the workstation
command for the action that they follow. If they appear before any
CMD ACTION statements, they apply to the workstation command for the
action from the ACTION parameter on the FLMLTWST translator definition.
- ACTION
- The string following this keyword must be a valid action (see
the ACTION parameter for this translator). You can use the ACTION
keyword to have FLMLTWST issue multiple workstation commands. The
first workstation command is the command from the action specified
on the ACTION parameter.
The following example shows how to add
a binary resource file to an .exe file by specifying ACTION=LINKEXE
on the FLMTRNSL in the language definition and using an architecture
member.
*
LKED EXE * use the EXE language
*
CMD PARMS /O+ /Ss
*
KREF OBJ * OBJBIN is generated by an OBJ keyword
*
INCLD SAMPLE C * includes SAMPLE OBJBIN
*
INCLD COMMON C * includes COMMON OBJBIN
*
LOAD SAMPLE EXEBIN
LMAP SAMPLE LMAP
*
CMD ACTION RCEXE * Add resources to the .exe
*
KREF OUT1 * RESBIN is generated by an OUT1 keyword
*
INCLD SAMPLE RC * includes SAMPLE RESBIN
*
This causes two workstation commands to be issued.
First the sample.exe file is generated; then the resource compiler
adds the resources in the sample.res file to the sample.exe file.
The sample.exe file is not stored into SCLM until after the resource
compiler has run.
- Generates a response file if needed.
Workstation compilers
and other tools that support response files will have one generated.
The response file contains the parameters for the compiler or other
tool.
- Transfers the inputs (source, includes, and so on) to the workstation.
The source members, includes, and response file are transferred
to the workstation using the FLMTXFER translator. If multiple workstation
commands are being issued, the response files for all commands after
the first will be transferred to the workstation just before issuing
the command.
- Runs the workstation command.
Constructs the workstation command
and sends it to the workstation.
- Transfers the outputs (obj, exe, dll, and so on) to the host.
Transfers the outputs to the host using the FLMTXFER translator.
The SCLM outputs are placed in ddnames allocated by FLMALLOC so that
build can place them into the hierarchy.
Parameters The following parameters are
specified in the OPTIONS list for the FLMTRNSL macro that has COMPILE=FLMLTWST.
All parameters are keyword parameters and can be specified in any
order. Parameters must be separated by commas. Extraneous parameters
are ignored without any messages being produced. An FLMALLOC is required
for the following data definitions: - MESSAGEDD
- MSGXFERDD
- RESPONSEDD
- FILESDD
- BMAPDD
- USERINFODD
- ACTINFODD
- ACTION=COMPILE|action_name
- This parameter is optional. If not specified, it defaults to COMPILE.
The valid values are specified in the ACTINFO data set.
- BMAPINFO=@@FLM$MP
- This parameter is required and must be specified in the options
list with the value from @@FLM$MP.
- BLDINFO=@@FLMBIO
- This parameter is required and must be specified in the options
list with the value from @@FLMBIO.
- SCLMINFO=@@FLMINF
- This parameter is required and must be specified in the options
list with the value from @@FLMINF.
- PARMS=command_parms
- This parameter is optional. If specified, the string that follows
it will be added as the first parameter on all workstation commands.
- MESSAGEDD=dd_name
- This parameter is optional. If not specified, it defaults to MESSAGE.
This is the ddname where messages are written.
- MSGXFERDD=dd_name
- This parameter is optional. If not specified, it defaults to MSGXFER.
This is the ddname to temporarily hold messages from the workstation
command. The messages are appended to the data set specified by the
MESSAGEDD parameter. The FLMALLOC for this ddname must specify CATLG=Y.
- RESPONSEDD=dd_name
- This parameter is optional. If not specified, it defaults to RESPONSE.
This is the ddname used to generate the response file for the workstation
if the workstation command requires a response file. The FLMALLOC
for this ddname must specify CATLG=Y.
- FILESDD=dd_name
- This parameter is optional. If not specified, it defaults to FILES.
This ddname is used to communicate between the FLMLTWST and FLMTXFER
translators. See the description of the content of this ddname in
the FLMTXFER translator description.
- BMAPDD=dd_name
- This parameter is optional. If not specified, it defaults to BMAP.
This ddname is used to communicate between the FLMLTWST and FLMTBMAP
translators. See the description of the content of this ddname in
the FLMTBMAP translator description.
- USERINFODD=dd_name
- This parameter is optional. If not specified, it defaults to USERINFO.
This ddname contains the information about the workstation where the
tools will be run. Each line in the data set allocated to the ddname
can contain either a comment or keyword and its value. Comment lines
begin with an asterisk (*) and are ignored. Lines that contain invalid
keywords are ignored. Keywords and their values must be separated
by one or more spaces.
- ACTINFODD=dd_name
- This parameter is optional. If not specified, it defaults to ACTINFO.
This ddname contains the information about the workstation actions
such as COMPILE and LINKEXE. Each line in the data set allocated to
the ddname contains either a comment or a keyword. Comment lines begin
with an asterisk (*) and are ignored. Lines that contain invalid keywords
are ignored. Keywords on the statement must be separated by at least
one space.
- output_keyword=dd_name
- These parameters can be used to specify the ddnames to hold the
output for each build output keyword. These parameters are not required.
If not specified, the ddname is the same as the keyword. An example
of these parameters is OBJ=SYSIN,LIST=SYSPRINT. This example defines
FLMALLOC statements for the SYSIN and SYSPRINT ddnames with IOTYPE=O
or P. If these parameters had not been specified, there would be FLMALLOC
statements for OBJ and LIST ddnames with IOTYPE=O or P.
The FLMALLOC
statements for the output ddnames must specify CATLG=Y. All allocations
must be IOTYPE=O or P. If CATLG=Y is not specified, the file transfer
will fail.
USERINFODD statements Valid
keywords for statements in the USERINFODD data set are:
- Keyword
- Value Description
- Asterisk (*)
- Comment lines start with asterisks and are ignored.
- RESPONSE_FILE
- The name of the response file on the workstation. The file name
must include the full path, because the DATA_DIR value will not be
prefixed to the file name. The default is response.fil.
- DEL_CMD
- The delete command to be used on the workstation. The default
is DEL. The message files that are to be created by a workstation
command will first be deleted using this command. This is done so
that message files with the same name from previous commands are not
transferred to the host after completion of a workstation command.
- DATA_DIR
- The base directory on the workstation where the files are stored.
DATA_DIR must include the full directory name. All SCLM members are
transferred to and from this directory and its subdirectories. The
subdirectories are based on the subdirectory value specified in the
ACTINFO file. This defaults to '\'. The FLMLTWST translator supplied
by IBM® appends the subdirectory
to the DATA_DIR value before appending the file name.
- MODE
- MODE specifies how the command is to start on the workstation.
MODE may be:
- MIN (minimized - the default)
- MAX (maximized)
- VIS (visible, if possible)
- INVIS (invisible, if possible).
A MODE value specified in USERINFODD
will override a MODE value specified in ACTINFODD. For more information
about MODE, see the ISPF SELECT service in the z/OS ISPF Services Guide.
- WSDIR
- WSDIR specifies the workstation directory. This is the directory
from which the workstation command will be executed. The default is
the directory from which ISPF Client/Server is running. The WSDIR
value from the ACTINFODD data set will be concatenated after the WSDIR
value from the USERINFODD data set.
ACTINFODD statements Statements in the
ACTINFODD file are composed of a keyword and a value. The keywords
TYPE, EXTENSION, TRANSFER_FORMAT, and SUBDIRECTORY are used to define
the SCLM-type-to-workstation-file-extension mapping information to
SCLM. The other keywords in this file are used to specify information
about each workstation command. Keywords CPARM, EXTENSION, MESSAGE_FILE,
and RPARM apply only to the previous ACTION keyword. Valid keywords
for statements in the ACTINFO data set are:
- Keyword
- Value Description
- Asterisk (*)
- Comment lines start with asterisks and are ignored.
- WSDIR
- WSDIR specifies the workstation directory for executing the command.
The WSDIR value from the ACTINFODD data set will be concatenated after
the WSDIR value from the USERINFODD data set.
- QUOTE
- The character to use for quoting strings in CPARM, CPARMSEP, and
RPARM statements. This character is used for statements that follow
this QUOTE statement until the next QUOTE statement is found. The
default quote character is a single quote (').
- ACTION
- The name of an action that can be specified on the ACTION parameter
to FLMLTWST.
- COMMAND
- The command to be issued on the workstation for the previous action.
If multiple COMMAND statements are found following an ACTION statement
only the last COMMAND is used.
- MODE
- MODE specifies how the command is to start on the workstation.
MODE may be:
- MIN (minimized - the default)
- MAX (maximized)
- VIS (visible, if possible)
- INVIS (invisible, if possible).
A MODE value specified in USERINFODD
will override a MODE value specified in ACTINFODD. For more information
about MODE, see the ISPF SELECT service in the z/OS ISPF Services Guide.
The default MODE is MIN.
- CPARM
- Parameters to add to the last workstation COMMAND. The parameters
are added to the command in the order they are found in the file.
Each parameter is made up of three parts: a prefix, a type name, and
a suffix. The type name indicates that the parameters on this CPARM
statement only apply to members in SCLM of that type. If no type name
is specified, the parameter is added to the command. In the parameter
string, the SCLM type name is replaced with the name of SCLM members
of that type that are inputs or outputs to the build. The parameters
added to the command are composed by concatenating the prefix, the
workstation file name for the SCLM member, and the suffix. If multiple
members match the type on the CPARM statement, the prefix and suffix
are concatenated to each file name. See the examples at the end of
the description of FLMLTWST for more information.
The following variables can be
specified in the prefix and suffix strings:
- &CMD_PARMS&
- Is replaced with the parameters specified on "CMD PARMS" statements
in the architecture definition if there are any. "Null" will be used
when "CMD PARMS" is not found. &CMD_PARMS& must be present
in order to use a CMD PARMS statement in the architecture definition.
- &RESPONSE_FILE&
- Is replaced with the response file name.
- &DATA_DIR&
- Is replaced with the base directory from the user information.
- CPARMSEP
- The value to be used as a separator between the command parameter
strings specified by the CPARM keywords. No separator character will
be added to the end of the parameter string. Also, there will be no
separator character following the value of PARMS in the language definition.
If you want a separator character, then it should appear in the PARMS
keyword as the last character.
- CPARMSEP NULL results in no separator character.
- CPARMSEP by itself results in a blank being used as the separator
character.
- CPARMSEP with a quoted string will have the quotes removed from
the front and back if the quote characters match the value of the
QUOTE keyword. (If there is no QUOTE keyword the single quote default
will be used.) An error message will appear if the first character
is a quote (as per the value of the QUOTE keyword) and the last character
is not a quote.
- No separator character will be added to the end of the parameter
string.
- RPARM
- Parameters to add to the response file for the last workstation
command. The format of this statement is the same as the CPARM statement.
Use CPARM if the parameters are specified as part of the workstation
command. Use RPARM if the parameters are to be put in a response file
that the workstation command will read. Only use response file parameters
if the workstation command supports a response file. If parameters
are specified in a response file, make sure the response file name
is specified on one of the CPARM statements if the workstation command
requires it.
The variables described for CPARM can also be used
on RPARM statements.
- TYPE
- The name of an SCLM type to transfer to the workstation. The type
name can include a single asterisk (*) as a wildcard character.
- EXTENSION
- The workstation extension to use for the types from the previous
TYPE statement. A single asterisk (*) can be included and is replaced
with any characters that matched the * in the TYPE statement. The
default value is *.
The value is either a single asterisk or a
character string. Strings using an asterisk and other characters (such
as H*) will result in the asterisk being used as part of the extension.
- SUBDIRECTORY
- The subdirectory to use for the file names derived from the previous
TYPE statement. The subdirectory is placed between the data directory
as specified by the DATA_DIR keyword in the USERINFODD user information
and the file name to construct the fully-qualified workstation file
name. The default value is a \.
- TRANSFER_FORMAT
- The transfer format for files of the types from the previous TYPE
statement. Valid values are:
- ASCII
- Translate the file to ASCII format. This is the default.
- BINARY
- Perform no translation.
- WSCASE
- The case for workstation file names. Valid values are:
- UPPER
- Transfer the files to or from the workstation with the workstation
file name in uppercase letters. This is the default setting.
- LOWER
- Transfer the files to or from the workstation with the workstation
file name in lowercase letters.
- ULOWER
- Transfer the files to or from the workstation with the workstation
file name having an initial capital letter followed by lowercase letters.
- MESSAGE_FILE
- The name of a message file that was created on the workstation.
It will be written to the ddname specified by the MESSAGEDD parameter.
This statement can be used to get the messages from the workstation
command into the BUILD.LISTxx data set. Multiple MESSAGE_FILE statements
can be specified. Each MESSAGE_FILE statement applies to the previous
ACTION. The default message file name is c:\sclm.msg.
Environment The FLMTXFER translator must
have access to ISPF services. FLMLTWST must be invoked by specifying
CALLMETH=ISPLNK for the FLMTRNSL macro.
Return codes In addition to the return
codes listed here, messages can be written to the ddname specified
by the MESSAGEDD parameter.
User Information example Here is a sample
USERINFO data set, which can be found in the FLMWBUSR member in the
ISPF sample library.
*
* Data_dir. Default is c:\.
* The subdirectory value from the actinfo file or the default of '\'
* will be appended to this value before the name of the workstation
* file. This directory and its subdirectories will be where SCLM
* transfers files to/from on the workstation.
*
data_dir c:\wb
*
* Wsdir. Default is ISPF Client/Server directory.
* Directory from which the command will be executed. If a WSDIR
* keyword is also specified in the ACTINFO file, then it will be
* concatenated to the end of what is specified here.
* For commands that must run from the directory holding the data
* files (such as the resource compiler), this value should be the
* same as the data_dir value.
*
wsdir c:\wb
*
* Response_file. Default is c:\response.fil.
* Fully qualified name of the response file to contain all RPARM
* statements for an action. The name should include the drive and
* any subdirectories.
*
response_file c:\wb\response.fil
*
* Mode. Workstation build default is minimized. This will override any
* value set in the ACTINFO file.
* This is the mode for the workstation command. Valid values are:
* MAXimized, MINimized, VISible and INVISible. See the WSCMDV section
* of the ISPF SELECT service for additional information.
*
mode max
*
* Del_cmd. Default is 'del'.
* This keyword specifies the delete command to be used to remove the
* message file(s) from previous builds or build steps from the
* workstation before executing the workstation command.
*
del_cmd erase
ACTINFO example The following example shows
an ACTINFO data set and can be found in the FLMWBAIO member in the
ISPF sample library.
***********************************************************************
* *
* SCLM type to workstation file name mapping *
* *
* The following statements define the mapping between SCLM type names *
* and workstation file extensions as well as the transfer format *
* for the data. The statements are processed in order. If the *
* member being processed does not match the first TYPE criteria, then *
* it will be compared to the next TYPE criteria and so on until a *
* match is found. *
* *
***********************************************************************
* *
* Types containing BINARY data *
* *
* This mapping indicates that the host SCLM type will be the *
* workstation file extension followed by BIN. The BIN pattern in *
* the type name will be used to indicate that members in these types *
* contain binary data. As an example, a member stored in the OBJBIN *
* type in SCLM, will be transferred as binary (no ASCII-to-EBCIDIC *
* conversion) with the workstation file name 'member.OBJ'. *
* *
***********************************************************************
TYPE *BIN
EXTENSION .*
TRANSFER_FORMAT BINARY
SUBDIRECTORY \
***********************************************************************
* *
* Types containing ASCII data *
* *
* This mapping indicates that any members whose type does not match *
* the previous criteria (TYPE * will always match), will be processed *
* as ascii/text files. The workstation file extension will be the *
* same as the SCLM type. As an example, a member in the CPP type in *
* SCLM will have the workstation file name 'member.CPP'. *
* *
***********************************************************************
TYPE *
EXTENSION .*
TRANSFER_FORMAT ASCII
SUBDIRECTORY \
*
***********************************************************************
***********************************************************************
* *
* Workstation Commands *
* *
* The following statements define the actions/commands to be executed *
* on the workstation. *
* *
***********************************************************************
*
* C and C++ compile to generate object
*
ACTION COMPILE
COMMAND icc
RPARM -Fd
RPARM -c
RPARM -Gm+
RPARM -O+
RPARM &CMD_PARMS&
RPARM /Fo OBJBIN
RPARM /Fl LST
RPARM '' C
RPARM '' CPP
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Preprocessor only
*
ACTION PREPROCESS
COMMAND icc
RPARM /Pe+
RPARM &CMD_PARMS&
RPARM '' C
RPARM '' CPP
RPARM '' IPF
RPARM '' RC
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Dummy file for resource DLLs
* (compile with /Ge- option)
*
ACTION DUMMY
COMMAND icc
RPARM -Fd
RPARM -c
RPARM /Ge-
RPARM &CMD_PARMS&
RPARM /Fo OBJBIN
RPARM /Fl LST
RPARM '' C
RPARM '' CPP
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Link object into exe using CSET++
*
ACTION LINKEXE
COMMAND icc
RPARM /Ge+
RPARM &CMD_PARMS&
RPARM /Fe EXEBIN
RPARM /Fm MAP
RPARM '' OBJBIN
RPARM '' DEF
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Link object into dll using CSET++
*
ACTION LINKDLL
COMMAND icc
RPARM /Ge-
RPARM &CMD_PARMS&
RPARM /Fe DLLBIN
RPARM /Fm MAP
RPARM '' OBJBIN
RPARM '' DEF
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Link object into exe or dll using LINK386
*
ACTION LINK386
COMMAND link386
CPARMSEP NULL
CPARM &CMD_PARMS&
CPARM '' OBJBIN
CPARM ,
CPARM '' DLLBIN
CPARM '' EXEBIN
CPARM ,
CPARM '' MAP
CPARM ,
CPARM '' LIBBIN
CPARM ,
CPARMSEP
CPARM '' DEF
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Generate res file
*
ACTION RC
COMMAND rc
CPARM -r
CPARM '-i &DATA_DIR&'
CPARM &CMD_PARMS&
CPARM '' RC
CPARM '' RESBIN
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Apply res file to an exe or dll
*
ACTION RCEXE
COMMAND rc
CPARM &CMD_PARMS&
CPARM '' RESBIN
CPARM '' EXEBIN
CPARM '' DLLBIN
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Generate hlp file
*
ACTION IPFC
COMMAND ipfc
CPARM '' IPF
CPARM &CMD_PARMS&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Generate hlp file - input file specified on CMD statement
*
ACTION IPFCP
COMMAND ipfc
CPARM &CMD_PARMS&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
The following
example shows an architecture definition and the resulting workstation
commands using the previous ACTINFO data set. This architecture definition
can be found in the ISPF sample library, member FLMWBSLE.
The
architecture definition:
*
LKED EXE * link language
*
KREF OBJ * include generated object modules
*
INCLD MAHJONGG C * MAHJONGG SOURCE
INCLD TILE C * TILE SOURCE
SINC MAHJONGG DEF * DEF source
*
LOAD MAHJONGG EXEBIN * Generated .exe file
LMAP MAHJONGG MAP * Generated .map file
*
* Run resource compiler after the link completes
*
CMD ACTION RCEXE
*
KREF OUT1 * include generated .res file
*
INCLD MAHJONGG RC * Source which produces MAHJONGG RESBIN
*
The language EXE (as specified by the LKED keyword)
uses the action LINKEXE. This results in the following command and
response file:
The command icc @c:\wb\response.fil 1>c:\wb\stdout.msg 2>c:\wb\stderr.msg
The
contents of the response file, c:\wb\response.fil /Ge+
/Fec:\wb\MAHJONGG.EXE
/Fmc:\wb\MAHJONGG.MAP
c:\wb\MAHJONGG.OBJ
c:\wb\TILE.OBJ
c:\wb\MAHJONGG.DEF
The CMD ACTION statement results
in a second action, RCEXE. RCEXE issues the following command:
rc c:\wb\MAHJONGG.RES c:\wb\MAHJONGG.EXE 1>c:\wb\stdout.msg 2>c:\wb\stderr.msg
Language definition example Sample language definition shows a language definition using
FLMLTWST to compile C or C++ source on the workstation. It also includes
a description of the items used in the language definition. This sample
can be found in the ISPF macro library as member FLM@WICC.
|