Stratego Release 054

Stratego -- Strategies for Program Transformation
Changes since StrategoRelease053


2001-06-20  Eelco Visser  <>

   * Release 0.5.4

2001-06-18  Eelco Visser  <>

   * spec/front/frontend-test.r: updated tests, Undefined dynamic
   rules can also have conditions.

2001-06-17  Eelco Visser  <Eelco Visser <>>

   * spec/front/normalize-spec.r: Added overriding dynamic rules that
   change the definition for the currently active key without
   introducing an entry in the local scope. This is needed to update
   rules defined in outer scopes. (Application: dead code
2001-06-17  Eelco Visser <>

   * spec/front/normalize-spec.r: Repaired bug in desugaring
   of "Undefined" dynamic rules.

2001-06-15  Eelco Visser  <>

   * spec/syn/stratego.lx: Allow \begin{code} to start file.

2001-06-14  Eelco Visser  <>

   * spec/front/normalize-spec.r: Dynamic rules that have Undefined
   as right-hand side will cause the invocation of the dynamic rule
   (on the specific lhs pattern) to fail. This is needed in order to
   shadow rules from outer scopes that might not be applicable.

2001-06-13  Eelco Visser  <>

   * src/ (CC): Declare as @CC@ instead of gcc.

   * spec/slib/spec/string-test.r, string.r: get-path extracts the
   path prefix from a command string.

   * spec/syn/pack-stratego.r: Deduce path for parse-mod from path
   for pack-stratego (from command-line option 0).

2001-06-13 Hedzer Westra <>

   * Added test for strcmp and such, and fixed string-gt

2001-06-13  Eelco Visser  <>

   * spec/front/data/ : Repaired EXTRA_DIST

   * spec/slib/spec/scoped-finite-map-test.r: Added tests for

   * spec/slib/spec/scoped-finite-map.r: Assert now also works
   when without initialization of the table.

   * test/syntax/dynamic-rules-test.r: Added test of overriding
   behaviour of dynamic rules.

2001-06-11  Eelco Visser  <>

   * spec/front/check-constructors.r: Rules and strategies are merged.

   * bootinstall

   * spec/syn/stratego.lx: Tokens {| and |} for delimiting dynamic
   rule scopes.

   * spec/lib/stratlib.r: Added binding by DynamicRules

   * spec/front/extract.r, spec/front/inline.r, spec/front/inlining.r,
   spec/front/needed-defs-test.r: main -> name of module

   * spec/sig/sugar.r: Signatures for dynamic rules constructors.

   * spec/front/frontend-test.r: Unit tests for desugaring of dynamic

   * spec/front/spec-to-sdefs.r, spec/front/use-def.r: Rules and strategies were merged.

   * spec/front/frontend.r: layout

   * spec/front/data/dynrules.r: Test for desugaring of dynamic rules

2001-06-10  Eelco Visser  <>

   * spec/front/normalize-spec.r: Desugaring of dynamic rules. Rules
   and strategies were merged into one list.

   * test/syntax/dynamic-rules-test.r: Test for dynamic rule syntax

   * spec/slib/spec/env-traversal.r: Traversals involving one.

2001-06-10  Eelco Visser  <>

   * spec/slib/src/tables.c: Made table access more robust; there is
   no need to create a table explicitly, it is always created when a
   table-put or table-get is done.

   * spec/slib/spec/tables-test.r: Tests for robustness of table

2001-06-09  Eelco Visser  <>

   * spec/syn/stratego.grm: Liberalized syntax: rule and strategy
   definition can now be defined under both the rules and strategies
   keywords. In effect, rules and strategy definitions can be mixed
   in any order.

2001-06-07  Eelco Visser  <>

   * spec/slib/spec/string.r: Repaired basename to correctly
   handle slashes in names. (Merijn de Jonge)

   * spec/slib/spec/string-test.r: Extra test for basename

2001-06-01    <>

   * spec/slib/spec/template-test.r: Defined main

2001-06-08    <>

        * spec/slib/spec/string.r: Changed string.r to use -1, which wasn't parsed by parse-mod
          when strcmp was defined.
2001-05-31    <>

   * Redocumented all library modules; add literate program wrapper
   and consistent naming of header.

2001-05-24    <>

   * Incremented version number to 0.5.4beta