Transformation systems built with StrategoXT are typically organized using a data-flow architecture. This is rather an implicit notion in the framework, which could ...
After inlining definitions that are no longer referred to can be removed. The dead-def-elim component of the optimizer achieves this. Implementation dead-def-elim ...
The dead-var-elim component of the optimizer eliminates variables from a strategy expression if they are not used in a build. For example, in the expression { x, y ...
Here are some debugging techniques Reduce the specification and the input to localize the error Format Checking Use a FormatChecker to verify the results of transformations ...
O. S. Bagge, K. T. Kalleberg, M. Haveraaen and E. Visser. Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs. In D. Binkley ...
The EvaluationOrder of the alternatives of the NonDeterministicChoice operator is not defined. The StrategoCompiler can decide in which order to try the alternatives ...
Is their a way to display strategies (or just thier names) from within Stratego. This could be used to add trace monitors to Stratego code. For example: I-str-detectfail ...
A dynamic rule is an ordinary RewriteRule that is generated at run-time. A dynamic rule can inherit bindings of variables from its generation context. Dynamic rules ...
rules allow the run-time addition of rewrite rules. This can be used to model context-sensitive rewriting and has a host of applications in program transformation ...
This page collects references to language constructs in other languages that have some commonalities with dynamic rewrite rules. Dynamically Scoped Variables in Lisp ...
We're currently rethinking the concept of dynamic rules; quite some changes are at stake. This topic collects some of our reasoning on behaviour and implementation ...