Generic Placeholders

Placeholders are either those defined in the Source Pattern of a Compile Rule, (see Defining Compile Rules) or are Generic Placeholders, mostly derived from the source file and listing file path. They can be referred in Compile Commands, Listing Expressions of the Compile Rules and Call Procedure Commands.

Beyond this you can define your own placeholders in Placeholder Sets, see Defining Placeholder Sets. These placeholders can be used in Compile Commands and Call Procedure Commands.

The Generic Placeholders have the following names and meanings:

Placeholder name Meaning Value assigned for
sample source file
:cid:$uid.src.c
Value assigned for
sample source element
:cid:$uid.lib/s/src.c(1)
src-catid The raw CATID of the source cid cid
src-full-catid The full CATID of the source, including delimiters :cid: :cid:
src-user-id The raw user ID of the source uid uid
src-full-user-id The full user ID of the source, including delimiters $uid. $uid.
src-file-name The raw file name of the source without CATID and user ID, if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. src.c *NONE
src-file-name-without-ext The raw file name of the source without CATID and user ID and suffix (if there is any), if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. src *NONE
src-full-file-name The full file name of the source with CATID and user ID, if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. :cid:$uid.src.c *NONE
src-full-file-name-without-ext The full file name of the source with CATID and user ID, but without suffix (if there is any), if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. :cid:$uid.src *NONE
src-lib-name The raw name of the PLAM library without CATID and user ID, if the source is a PLAM library element; *NONE otherwise. *NONE lib
src-full-lib-name The full name of the PLAM library with CATID and user ID, if the source is a PLAM library element; *NONE otherwise. *NONE :cid:$uid.lib
src-elem-name The element name of the source without version, if it is a PLAM library element; *NONE otherwise. *NONE src.c
src-elem-name-without-ext The element name of the source without suffix (if there is any) and version, if it is a PLAM library element; *NONE otherwise. *NONE src
src-elem-type The element type of the source, if it is a PLAM library element; *NONE otherwise. *NONE S
src-elem-version The element version of the source, if it is a PLAM library element; *NONE otherwise. *NONE 1
    Value assigned for
corresponding listing
:cid:$uid.src.lst
Value assigned for
corresponding listing
:cid:$uid.lib/s/src.lst(1)
list-catid The raw CATID of the listing cid cid
list-full-catid The full CATID of the listing, including delimiters :cid: :cid:
list-user-id The raw user ID of the listing uid uid
list-full-user-id The full user ID of the listing, including delimiters $uid. $uid.
list-file-name The raw file name of the listing without CATID and user ID, if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. src.lst *NONE
list-full-file-name The full file name of the listing with CATID and user ID, if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. :cid:$uid.src.lst *NONE
list-lib-name The raw name of the PLAM library without CATID and user ID, if the listing is a PLAM library element; *NONE otherwise. *NONE lib
list-full-lib-name The full name of the PLAM library with CATID and user ID, if the listing is a PLAM library element; *NONE otherwise. *NONE :cid:$uid.lib
list-elem-name The element name of the listing without version, if it is a PLAM library element; *NONE otherwise. *NONE src.lst
list-elem-type The element type of the listing, if it is a PLAM library element; *NONE otherwise. *NONE P
list-elem-version The element version of the listing, if it is a PLAM library element; *NONE otherwise. *NONE 1
    Value assigned for
corresponding output file
:cid:$uid.outfile
Value assigned for
corresponding output file
:cid:$uid.lib/s/outfile(1)
out1-catid The raw CATID of the output file cid cid
out1-full-catid The full CATID of the output file, including delimiters :cid: :cid:
out1-user-id The raw user ID of the output file uid uid
out1-full-user-id The full user ID of the output file, including delimiters $uid. $uid.
out1-file-name The raw name of the output file without CATID and user ID, if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. outfile *NONE
out1-full-file-name The full name of the output file with CATID and user ID, if it is a simple file (i.e. not a PLAM library element); *NONE otherwise. :cid:$uid.outfile *NONE
out1-lib-name The raw name of the PLAM library without CATID and user ID, if the output file is a PLAM library element; *NONE otherwise. *NONE lib
out1-full-lib-name The full name of the PLAM library with CATID and user ID, if the output file is a PLAM library element; *NONE otherwise. *NONE :cid:$uid.lib
out1-elem-name The element name of the output file without version, if it is a PLAM library element; *NONE otherwise. *NONE outfile
out1-elem-type The element type of the output file, if it is a PLAM library element; *NONE otherwise. *NONE S
out1-elem-version The element version of the output file, if it is a PLAM library element; *NONE otherwise. *NONE 1

There can be more output file placeholders signed by 'out2-, out3-, etc.', depending of defined output files expressions in the build rule. In such a situation each output file has assigned different set of placeholders.

Additionally there are Placeholders not depending on the file names:

Placeholder name Meaning
project-name The name of the project where the command is called; *NONE if the command is not called within a project
add-passwords Generates the command ADD-PASSWORD and provides all passwords stored in BS2IDE. (Placeholder consists of command body only. Remember to add '/' before and ';' after command, if it is necessary)