Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tools:start [2024/07/24 18:07] – [Tools] rajit | tools:start [2025/05/20 11:52] (current) – rajit | ||
---|---|---|---|
Line 35: | Line 35: | ||
* [[http:// | * [[http:// | ||
- | Two useful concepts to keep in mind when using the ACT tools are //expanded names// and //mangled names//. | + | Two useful concepts to keep in mind when using the ACT tools are [[intro_example: |
- | ===== Expanded names ===== | + | |
- | A concept one should be familiar with, especially when debugging and/or understanding error messages is the notion of expanded names. This is best illustrated with an example. Consider the following templated process definition: | ||
- | <code act> | ||
- | template< | ||
- | |||
- | example< | ||
- | example< | ||
- | </ | ||
- | The type of the process defined is '' | ||
- | |||
- | If the template list contains multi-dimensional arrays, the expanded name contains a linear list of the parameters separated by commas. | ||
- | |||
- | ===== Mangled names ===== | ||
- | |||
- | Expanded ACT type names can contain characters like ''<'','' | ||
- | |||
- | The standard name mangling prefix character is an underscore. Name mangling operates character-by-character as follows: | ||
- | | ||
- | * A character that is not in the mangle string is a pass-through, | ||
- | * If a character is at position k in the name mangling string, it is replaced with an underscore followed by k. The position character is 0 to 9 for positions 0 to 9, followed by a-z. Up to 36 characters can be mangled. | ||
- | |||
- | Name mangling can at most double the length of the string. | ||
- | |||
- | Process names have a special case in terms of name mangling. If an expanded process has no parameters, its mangled name is obtained simply be omitting the trailing ''<>'' |