Next: Example Applications
Up: Transforming COBOL Systems
Previous: Computer-aided Language Engineering
Once we have a
good grammar and have generated all the generic support we discussed,
we start constructing transformations and analysis functions to set up
assembly lines that solve reengineering problems. The important issue
here is that we design small but effective components that can be
easily reused. Currently, we test assembly lines interactively using
a coordination architecture called SEAL [41] as can be seen in
Figure 5. The code shown is a small example grammar. The
buttons are dealing with the generation of the native pattern language
(NatPatLang) and the generation of syntax and semantics of
analysis (Asyn, Aeqs) and transformation support (Tsyn, Teqs). Figure 5 is also an example of how
assembly lines look like during construction.
Once we are convinced that the assembly lines have the intended
behaviour, we start with the generation of a production environment.
We compile all components to C using the ASF+SDF compiler (see
Section 5). Finally, we combine all the components as
discussed in Section 3 resulting in generated
tools that make extensive use of rewriting.
Paul Klint
2001-06-12