STR-368: Do not generate undefine- and new- code for non-dependent dynamic rules
Currently the compiler generates undefine-R and new-R strategies for each dynamic rule R, even if no declaration for R introduces dependencies. The advantage is that the undefine and new strategies can be used uniformly. However, that is only useful for declaring
Submitted on 25 July 2005 at 15:47
new scopes, and may actually be misleading. A problem is that detecting erroneous invocations of these strategies may not be done statically; in the generic data-flow transformation strategies, the idea is to parameterize the strategy with the names of a bunch of rules and call the undefine- and new- strategies by creating the call at run-time. Thus, only at run-time will the programmer find out that a certain undefine- or new- rule is not defined. This probably acceptable.
Issue Log
STR-368, visser:
Moved invocation of creation strategies to desugaring of dependent rules to ensure the new- and undefine- strategies are only created in case there is a dependent dynamic rule.
Log in to post comments