The intuitive idea for the FP-to-AG translation from a functional program into
its attribute grammar notation is the following. Each
functional term associated with a pattern has to be dismantled into a set of
oriented equations, called semantic rules. Parameters in functional
programs become explicit attributes attached to pattern variables, called
attribute occurrences, that are defined by the semantic rules. Then, explicit
recursive calls become implicit on the underlying data structure and semantic
rules make the data-flow explicit. The FP-to-AG translation is decomposed in
two steps: the preliminary transformation and the profile symbolic
evaluation.