Modifying object names when inserted into Ada code (Ada code)
Model object names in Modeler may be invalid if inserted directly into Ada code, for example, they may contain spaces. For this reason, ACS modifies Modeler object names when they are inserted into your Ada code. This modifying of names is controlled through Ada_mangle.ini. The Reverser uses the Ada_mangle.ini file to match model object names with their associated Ada code elements. Typically, you do not have to change the Ada_mangle.ini file.
You can avoid using the mangled name of an item by specifying the exact name you want to insert into your code through the item's CODE_GENERATION_NAME property (appears on the Text tab). If you specify a CODE_GENERATION_NAME value for an item, the Reverser inserts that name into the code as is.
The Ada_mangle.ini file resides in the <<INSTALLEDDIR>>\Modeler\System\AdaGen folder.
For each Modeler object type, you can add prefixes and suffixes.
Note that through the Ada_mangle.ini, unnamed Roles are generated with an 'r' prefix, and named Roles are generated without an 'r' prefix. Prefixing and suffixing of named and unnamed Roles is controlled through the [role] and [unnamed role] sections of the Ada_mangle.ini file. For example, if you want all Roles to be generated with an 'r' prefix, ensure that the Role sections of the Ada_mangle.ini file are as follows:
[role]
AddPrefix=r
AddSuffix=
[unnamed role]
AddPrefix=r
AddSuffix=
The Ada_mangle.ini file specifies a maximum name length is 250 characters and the replacement of the invalid characters. For example:
• . is replaced with _
• - is replaced with _
• <space> is replaced with _
• & is deleted
• * is deleted
|
• The Ada_mangle.ini file refers to a Package as a Category.
• When reverse engineering Ada code, the Reverser uses the Ada_mangle.ini file to match the names of Ada Code elements with the mangled names of model items.
• The SDL scripts use %Custom "Ada Name" to return the mangled scoped name of an item, or %Custom "Unscoped Ada Name" to return the mangled unscoped name of an item.
|