From RTSC-Pedia
[printable version] [offline version] | offline version generated on 02-Oct-2009 22:10 UTC |
XDCspec - config-specification
configuration specification syntax
A configuration parameter is a feature that behaves like a "property" of the underlying module or instance object -- a readable (and sometimes writeable) variable of virtually any type. In the most general case, module-wide configuration parameters are assigned within the meta-domain and then become persistent constants within the target-domain; per-instance configuration parameters are likewise assignable within the meta-domain, but are limited to supporting run-time instance creation within the target-domain. Where appropriate, configuration parameters can be restricted to the meta-domain as well as designated readonly after initialization.
A configuration parameter inherited from some previously specified interface can itself be overridden -- typically to (re-)define its initial value. A configuration parameter can also be finalized, effectively freezing its definition and precluding further overrides.
- config-parameter
config-modifiers config typed-declaration [ = initializer]? ;
- config-modifiers
final? override? readonly? metaonly?
- The optional initializer must yield a value consistent with the typed-declaration, using the rules of assignment-compatibility defined by XDCscript for the meta-domain. If no initializer is supplied, the configuration parameter starts out undefined in the meta-domain.
- If override is specified among the config-modifiers for a configuration parameter, its typed-declaration as well as its use of readonly and metaonly must exactly match that of the inherited configuration parameter being overridden. Configuration parameters marked final cannot be overridden.
- A readonly configuration parameter without an initializer can still be assigned a persistent value in the meta-domain, during construction of an underlying module/instance object.
- By convention, configuration parameters names are camelCase identifiers.
[printable version] [offline version] | offline version generated on 02-Oct-2009 22:10 UTC |