This chapter describes the transformation language TrafoLa-H of the PROSPECTRA system. It supports the definition of tree transformations as well as of transformation strategies. TrafoLa-H is mainly a functional language. Tree transformations are specified by first-order functions, whereas strategies may be defined by functions of higher order.
The first sections of this chapter define the constructs of TrafoLa-H by a simple denotational semantics, and illustrate them by many examples. The description is focused on the particularly powerful patterns of TrafoLa-H. The most advanced pattern operator allows to match and extract specific subtrees at arbitrary depth.
Then the type system of the language is described. It is derived from a conventional Hindley-Milner type system, but is more complex due to the operations of tree extraction and insertion. The chapter is concluded by a summary of the concrete syntax and the predefined system functions.
Reinhold Heckmann / heckmann@absint.com