|
Use this macro to define a language
to SCLM. Specify the name of the language and processing characteristics
using the keywords supported by this macro. Specify the translators
to be invoked for this language by using the FLMTRNSL macro after
FLMLANGL.
The order in which data sets of various types are
to be allocated for finding includes may be specified by using one
or more FLMINCLS macros. The FLMALLOC macros following each FLMTRNSL
macro are associated with FLMINCLS macros by use of the INCLS parameter.
Macro format
>>-FLMLANGL--LANG=language--+------------------+---------------->
| .-N-. |
'-,ALCSYSLB=-+-Y-+-'
>--+--------------+--+---------------------------+-------------->
| .-N-. | | .-100---------. |
'-,ARCH=-+-Y-+-' '-,BUFSIZE=-+-buffer_size-+-'
>--+-----------------+--+-----------------------+--------------->
| .-Y-. | | .-PARSE--. |
'-,CANEDIT=-+-N-+-' '-,CHKSYSLB=-+-BUILD--+-'
'-IGNORE-'
>--+-----------------+--+-----------------+--------------------->
| .-N-. | | .-Y-. |
'-,COMPOOL=-+-Y-+-' '-,DEPPRCS=-+-N-+-'
>--+---------------------------------+-------------------------->
'-,DFLTCRF=default_CREF_reference-'
>--+-----------------------------------+------------------------>
'-,DFLTSRF=default_source_reference-'
>--+----------------------+--+---------------------------+------>
| .-NORMAL---. | '-,VERSION=language_version-'
'-,SCOPE=-+-LIMITED--+-'
+-SUBUNIT--+
'-EXTENDED-'
>--+--------------------------------+--+--------------------+--->
'-,LANGDESC=language_description-' | .-0-----. |
'-,MBRLMT=-+-limit-+-'
>--+----------------+------------------------------------------><
| .-N-. |
'-,ENCODE=-+-Y-+-'
Parameters - LANG=language
- A user-specified pseudonym for a language. It can be up to 8 characters.
It is stored with the accounting information of editable members.
Specify this name when you first define a member to SCLM.
- ,ALCSYSLB=N|Y
- Indicates whether data sets on FLMSYSLB macros are allocated automatically
for IOTYPE=I allocations (see FLMALLOC macro).
If ALCSYSLB=N, use FLMCPYLB macros for each FLMSYSLB data set on IOTYPE=I
allocations. If ALCSYSLB=Y, FLMSYSLB data sets are allocated by build
following the allocation of the data sets from the project.
FLMSYSLB
data sets are concatenated to the IOTYPE=I allocations for FLMALLOC
macros when the FLMALLOC and FLMSYSLB macros both specify the INCLS
parameter with the same value. If no INCLS parameter is specified
on the FLMSYSLB macro, the FLMSYSLB data sets are concatenated to
the FLMALLOC macros with IOTYPE=I and no INCLS parameter.
- ,ARCH=N|Y
- Indicates whether a member parsed in this language is an architecture
member. The default is N.
- ,BUFSIZE=buffer_size|100
- The
number of $list_info records SCLM allocates for a parse, verify, build,
copy, or purge translator. The translator returns dependency information
in the allocated memory. The default size is 100. The buffer_size
must be large enough to accommodate the maximum number of entries
returned in $list_info by any translator including one entry for the
END record which is always required in a $list_info buffer. SCLM requires
one record for each include, change code, user data record, or external
dependency the translator returns.
- ,CANEDIT=Y|N
- Indicates whether the language can be assigned to editable members.
You should specify language definitions for linkage editors with CANEDIT=N.
The default is Y.
- ,CHKSYSLB=PARSE|BUILD|IGNORE
- Indicates when SCLM will check the FLMSYSLB data sets to determine
if an include is to be tracked. If CHKSYSLB=PARSE, FLMSYSLB data sets
are checked at parse time. Any includes not found in the hierarchy
that are in FLMSYSLB data sets are not recorded in the accounting
record. If CHKSYSLB=BUILD, FLMSYSLB data sets are checked at build
time. Any includes not found in the hierarchy that are in FLMSYSLB
data sets are recorded in the accounting record but not in the build
map. If CHKSYSLB=IGNORE, any includes not found in the hierarchy at
build time are ignored. They are recorded in the accounting record,
but are not recorded in the build map. The build translator must determine
if includes are missing and generate a return code indicating that
the member could not be built.
Use IGNORE for workstation builds
when the syslib data sets do not reside in a location that SCLM can
check.
IGNORE can also be used to improve performance when
your system libraries are fairly stable. By specifying IGNORE, you
bypass the overhead of checking all system libraries at either parse
or build time. The performance improvement can be significant, particularly
when a large number of system libraries is specified in the language
definition. The trade-off is that you invoke a translator that will
fail when an include is not found. If your system libraries are fairly
stable, it might be better to invoke the translator when occasionally
an include might be missing, than to search all of the system libraries
each time a member is either parsed or built.
- ,COMPOOL=N|Y
- Indicates whether a compool output is required. If COMPOOL=Y is
specified, SCLM verifies that a compool output is generated and saved
in the hierarchy. SCLM issues a warning message if there is no output
identified by the COMP architecture definition keyword.
- ,DEPPRCS=Y|N
- Indicates whether components depending on the member being built
are rebuilt if some outputs from the translator were not saved for
this member. The default is Y.
- ,DFLTCRF=default_CREF_reference
- Identifies the type that is substituted into the @@FLMCRF variable
for include-set definitions. The @@FLMCRF variable can be used in
the list of types to search for includes. The CREF statement architecture
statement can be used to override this value. If both the CREF statement
and DFLTCREF parameter are omitted the @@FLMCRF variable is ignored.
The value that is substituted into the @@FLMECR variable for include-set
definitions is the extended type of the DFLTCRF type. If there is
no extended type for the DFLTCRF type, the @@FLMECR variable is ignored.
- ,DFLTSRF=default_source_reference
- A type name that can be used to allocate a hierarchical view.
This hierarchical view is typically used by the translator to resolve
references to SCLM hierarchy members. This parameter has no effect
unless an FLMALLOC macro with IOTYPE=I and KEYREF=SREF is used for
the language. SCLM ignores this parameter during a build if a CC,
Generic, or LEC architecture definition is used to build the source
member.
- ,SCOPE=LIMITED|NORMAL|SUBUNIT|EXTENDED
- Indicates the minimum scope allowed. SCLM compares this parameter
with the mode specified as input to build and promote functions to
allow or disallow processing. The input mode must be of equal or greater
value than the language scope. Valid scope values, in ascending order,
are LIMITED, NORMAL, SUBUNIT, and EXTENDED. The default is NORMAL.
- ,VERSION=language_version
- The 8-character version name associated with this language. Altering
this parameter causes all source members under this language to be
rebuilt. If you do not specify it, SCLM sets this parameter to blank.
- ,LANGDESC=language_description
- The 40-character description associated with this language. If
you do not specify this parameter, SCLM sets it to blank.
- ,MBRLMT=limit|0
- Indicates the maximum number of source members that can be present
in any input list presented to a translator. SCLM does not exceed
the specified MBRLMT value (limit). If the
default MBRLMT=0 is accepted or specified, there is no limit on the
number of source members.
- ,ENCODE=N|Y
- Specifies whether a member with this language is encoded or not.
If ENCODE=Y is specified, SCLM decodes the member when it is read
and encodes it when it is saved, either in the edit session, or when
using the LOCK/PARSE/STORE, MIGRATE, or SAVE SCLM services.
Example 1 The language definition for PASCAL
is defined. FLMLANGL LANG=PASCAL,VERSION=1.0,ALCSYSLB=Y
|