The PARSE service parses a member for statistical and dependency
information. SCLM returns two buffers containing the member's vital
information that you can pass on to the STORE service. When the STORE
service receives this information, it places it in the member's
accounting record.
Command invocation format
You cannot use command procedures to call this service.
Call invocation format
>>-lastrc--:=--FLMLNK('PARSEbbb',sclm_id--,group--,type--------->
>--,member--,language--,-+-Y-+--,ddname--,$stats_info----------->
'-N-'
>--,$list_info--,$msg_array);----------------------------------><
Parameters
- sclm_id
- An SCLM ID associated with a given project and project definition.
The INIT service generates the SCLM ID.
The maximum parameter length is 8 characters.
- group
- The group in which the member is to be parsed.
The maximum parameter length is 8 characters.
Note that a member can be parsed in any group; the specified
group does not have to be a development library.
- type
- The type containing the member to be parsed.
The maximum parameter length is 8 characters.
- member
- The member to be parsed.
The maximum parameter length is 8 characters.
- language
- The language used to identify the parser that will be invoked
for the member. The maximum parameter length is 8 characters.
- Y|N
- Y indicates that parser listings are to be copied to the ddname
parameter only if parser errors occur. N indicates that all parser
listings are to be copied to the ddname. The maximum parameter length
is 24 characters.
If the parser for the specified language does not produce a
listing, specify Y. (The language parsers supplied by SCLM do not
produce a listing.) If the parser for the specified language does
produce a listing, specify either value. For more efficient
performance, specify Y. Project-specific parsers can produce a
listing.
- ddname
- The ddname indicating the destination of the parser listings.
If you specify a blank ddname, SCLM does not generate parser listings.
The maximum parameter length is 8 characters.
If the parser for the specified language does not produce a
listing, specify a blank ddname. The parsers supplied by SCLM
do not produce a listing. If the parser for the specified
language does produce a listing and you specify a ddname,
allocate the ddname with the attributes the parser requires.
Project-specific parsers can produce a listing.
- $stats_info
- An output parameter pointing to a record containing the
member's statistical information derived from parsing the member.
See $stats_info for more details.
- $list_info
- An output parameter pointing to an array of records that
contains the member's include, change code, and user entry information
derived from parsing the member. See $list_info for more
details.
- $msg_array
- An output parameter pointing to the message array. See
Pointer parameter descriptions for more information about $msg_array.
Return codes
Additional special services messages are written to the FLMMSGS
ddname. See SCLM service messages for more information.
Other return codes might be produced by the FLMCMD processor.
See SCLM service return codes for more information.
Possible return codes are:
- 0
- Normal completion.
- 4
- Warning condition. A parser error occurred.
- 8
- Error condition. The $msg_array parameter contains the
error message associated with this condition.
Example of call invocation
This example shows general syntax. Call invocations are
language-specific. See Sample programs using SCLM services for specific examples.
lastrc := FLMLNK('PARSE ', (* service *)
sclm_id, (* SCLM ID *)
'USER1 ', (* group *)
'SOURCE ', (* type *)
'FLM01MD2', (* member *)
'PASCAL ', (* language *)
'Y ', (* listings *)
'PARSEDD ', (* ddname of listings *)
$stats_info, (* statistical information pointer *)
$list_info, (* list information pointer *)
$msg_array); (* message array pointer *)
This service call parses the FLM01MD2 member of the SOURCE type
in the USER1 group. The sclm_id contains a valid SCLM ID returned
from the INIT service. SCLM uses the PASCAL parser and copies the
parser listings to the PARSEDD ddname only if errors occur.
You must allocate the PARSEDD ddname before you call FLMLNK.
SCLM returns the parse results in the $stats_info and $list_info
parameters and all messages in the $msg_array parameter.