Pushdown Machines for the Macro Tree Transducer

Total Page:16

File Type:pdf, Size:1020Kb

Pushdown Machines for the Macro Tree Transducer Theoretical Computer Science 42 (1986) 251-368 251 North-Holland PUSHDOWN MACHINES FOR THE MACRO TREE TRANSDUCER Joost ENGELFRIET* and Heiko VOGLER** Department of Computer Sciences, Twente University of Technology, 7500 AE Enschede, The Netherlands Communicated by M. Nivat Received February 1985 Abstract. The macro tree transducer can be considered as a system of recursive function procedures with parameters, where the recursion is on a tree (e.g., the syntax tree of a program). We investigate characterizations of the class of tree (tree-to-string) translations which is induced by macro tree transducers (macro tree-to-string transducers, respectively). For this purpose we define several pushdown machines of which the control is recursive without parameters, or even iterative, and which work on a generalized pushdown as storage. Because of the relevance for semantics of programming languages, we stress (besides the nondeterministic case) the study of machines for the total deterministic macro tree(-to-string) transducer, which translates every input tree into exactly one output tree (string, respectively). Finally, we characterize the n-fold composition of total deterministic macro tree transducers by recursive pushdown machines with an iterated pushdown as storage, which is a pushdown of pushdowns of.. of pushdowns. Contents 1. Introduction ...................................................................... 252 2. Preliminaries ...................................................................... 259 2.1. Generalnotation.. ............................................................ 259 2.2. Trees and substitution. ......................................................... 259 2.3. X-grammars .................................................................. 260 2.4. Treetransducers ............................................................... 262 3. Grammars with storage. ............................................................ 264 3.1. Storage types and X( S)-transducers ............................................. 265 3.2. Macro tree transducers and CFT(S)-transducers. .................................. 272 3.3. Pushdown storage type. ........................................................ 280 4. Simulation of.storage types ......................................................... 285 4.1. Flowcharts and simulation relation .............................................. 287 4.2. Justification theorem and transitivity of s,, ....................................... 290 4.3. Monotonicity of the pushdown operator. ......................................... 299 * Present affiliation: Department of Mathematics and Computer Science, University of Leiden, 2300 RA Leiden, The Netherlands. ** Present affiliation: Lehrstuhl fir Informatik II, RWTH Aachen, D-5100 Aachen, Fed. Rep. Germany. The work of the second author has been supported by the Dutch Organization for the Advancement of Pure Research (Z-W-0.). 0304-3975/86/$3.50 @ 1986, Elsevier Science Publishers B.V. (North-Holland1 252 J. Engelfriet, H. Vogler 5. Characterization of CFT(S) by indexed S-transducers .................................. 302 5.1. Implementation of CFT(S) on indexed S-transducers .............................. 303 5.2. Characterization of CFT(S) ..................................................... 314 5.3. Characterization of RT(P(S)) ................................................... 324 6. Characterization of MAC(S) by pushdown 2 S-to-string transducers ...................... 329 6.1. Nondeterministic MAC(S)-transducers ........................................... 329 6.2. Total deterministic MAC(S)-transducers ......................................... 334 7. Pushdown 2 versus nested stack ...................................................... 344 8. Characterizations of the macro tree transducer ........................................ 355 8.1. Total deterministic and nondeterministic transducers ............................... 355 8.2. Composition of total deterministic macro tree transducers .......................... 357 References ........................................................................ 367 I. Introduction It has become a custom to describe the semantics of programming languages in a syntax-directed way. There are more or less formalized metalanguages for the description of syntax-directed semantics such as generalized syntax-directed transla- tion schemes [3, 4], top-down tree transducers [37, 39, 11], and attribute grammars with synthesized attributes only [33]. These concepts have in common that the meaning of a syntactic construct is determined entirely by the meaning of its constituents. However, for the accomplishment of some tasks, it is necessary to take also the context of a syntactic construct into account, e.g., when the access to the environment specified by the declaration part of a program is needed. This additional requirement on metalanguages is captured, e.g., by attribute grammars [33] and denotational semantics [41]. More recently, macro tree transducers [14, 7, 22] were studied as another concept of syntax-directed semantics in which context can be handled. Actually, (deterministic) macro tree transducers model at least the features of denotational semantics needed to simulate attribute grammars, and thus can be viewed as a first modest approach to model denotational semantics of programming languages. We refer the reader to [15] for a detailed discussion of these recta- languages of syntax-directed semantics. In the framework of program (scheme) theory the deterministic macro tree transducer can be viewed as a system of recursive function procedures with para- meters, one function procedure corresponding to each state of the transducer (cf. [7, 15]). Every function procedure is of type T~ x T,~ ~ Ta for some n/>0, where T~ and Ta are the sets of trees over the ranked alphabets ,~ and A, respectively. Thus, the arguments of a function procedure are divided into two sorts: there is exactly one 'syntactic' parameter of type T~ and there may be some 'context' parameters of type Tz (top-down tree transducers are macro tree transducers without context parameters). The actual value of the syntactic parameter is a subtree of the input tree which is initially given to the main function procedure: this is a designated function procedure without context parameters, i.e., of type T~ ~ Tz (it determines the type of the translation which is induced by the macro tree transducer). During the evaluation of procedure calls, subtrees of the input tree are selected and in this Pushdown machines for the macro tree transducer 253 way the actual syntactic parameters decrease in height (this is the meaning of 'syntax-directed'). The context parameters keep context information for the current value of the syntactic parameter. Context information consists of a tree in Ta, to be viewed as an expression over the set A of basic operation symbols, denoting a value in some semantic domain (the fact that this domain is not specified, means that the macro tree transducer is a program scheme). Since the context parameters are not necessarily called by value, an actual context parameter may still contain procedure calls (note that the type of every function result is the same as that of the context parameters). As opposed to the syntactic parameters, the actual values of the context parameters usually increase in size: during the evaluation of a function procedure A, a new context value (i.e., the value of a context parameter of another call) is constructed out of function procedures, basic operations, and old context values of A. During evaluation of the macro tree transducer, there may be (many) parallel recursive calls of function procedures, and, moreover, these calls may be nested to any depth. This situation is closely related to the nesting of nonterminals in level-2 schemes [8], context-free tree grammars [20], and macro grammars [24]. Thus, as usual, we can distinguish between three different evaluation strategies for such a system of recursive function procedures: unrestricted, outside-in (OI), and inside-out (IO). In the unrestricted strategy, every function procedure call may be evaluated. In the OI-strategy, only those function procedure calls may be evaluated that do not occur in the context information of other calls. In the IO-strategy, a procedure call may only be evaluated if its context parameters do not contain other calls. Of course, for modelling semantics of programming languages, those translating devices should be considered that associate to every syntactic object (i.e., a syntax tree of a program) exactly one meaning. Consequently, in this paper our main interest is in the total deterministic macro tree transducer: for every input tree (of type T~) it computes exactly one output tree (of type Ta). The total deterministic macro tree transducer has the nice property that the three different evaluation strategies are equivalent [22]. However, besides the total deterministic case, we also study the nondeterministic case (and this, in fact, before the total deterministic case), because it is mostly easier to treat and it already provides some insight in the main features of the considered translation device. The aim of the present paper is to find machines which characterize the class of translations induced by macro tree transducers. Generally speaking, a machine consists of a 'storage' and a 'control' or 'program', where the program can work on the storage by testing and transforming the storage 'configurations'.
Recommended publications
  • Tree Automata Techniques and Applications
    Tree Automata Techniques and Applications Hubert Comon Max Dauchet Remi´ Gilleron Florent Jacquemard Denis Lugiez Sophie Tison Marc Tommasi Contents Introduction 7 Preliminaries 11 1 Recognizable Tree Languages and Finite Tree Automata 13 1.1 Finite Tree Automata . 14 1.2 The pumping Lemma for Recognizable Tree Languages . 22 1.3 Closure Properties of Recognizable Tree Languages . 23 1.4 Tree homomorphisms . 24 1.5 Minimizing Tree Automata . 29 1.6 Top Down Tree Automata . 31 1.7 Decision problems and their complexity . 32 1.8 Exercises . 35 1.9 Bibliographic Notes . 38 2 Regular grammars and regular expressions 41 2.1 Tree Grammar . 41 2.1.1 Definitions . 41 2.1.2 Regular tree grammar and recognizable tree languages . 44 2.2 Regular expressions. Kleene’s theorem for tree languages. 44 2.2.1 Substitution and iteration . 45 2.2.2 Regular expressions and regular tree languages. 48 2.3 Regular equations. 51 2.4 Context-free word languages and regular tree languages . 53 2.5 Beyond regular tree languages: context-free tree languages . 56 2.5.1 Context-free tree languages . 56 2.5.2 IO and OI tree grammars . 57 2.6 Exercises . 58 2.7 Bibliographic notes . 61 3 Automata and n-ary relations 63 3.1 Introduction . 63 3.2 Automata on tuples of finite trees . 65 3.2.1 Three notions of recognizability . 65 3.2.2 Examples of the three notions of recognizability . 67 3.2.3 Comparisons between the three classes . 69 3.2.4 Closure properties for Rec£ and Rec; cylindrification and projection .
    [Show full text]
  • Equivalence of Deterministic Top-Down Tree-To-String Transducers (Ydt Trans- Ducers)
    Equivalence of Deterministic Top-Down Tree-to-String Transducers is Decidable Helmut Seidl Sebastian Maneth Gregor Kemper Fakultat¨ fur¨ Informatik School of Informatics Fakultat¨ fur¨ Mathematik TU Munchen¨ University of Edinburgh TU Munchen¨ Garching, Germany Edinburgh, UK Garching, Germany Email: [email protected] Email: [email protected] Email: [email protected] Abstract We show that equivalence of deterministic top-down tree-to-string transducers is decidable, thus solving a long standing open problem in formal language theory. We also present efficient algorithms for subclasses: polynomial time for total transducers with unary output alphabet (over a given top-down regular domain language), and co- randomized polynomial time for linear transducers; these results are obtained using techniques from multi-linear algebra. For our main result, we prove that equivalence can be certified by means of inductive invariants using polynomial ideals. This allows us to construct two semi-algorithms, one searching for a proof of equivalence, one for a witness of non-equivalence. Furthermore, we extend our result to deterministic top-down tree-to-string transducers which produce output not in a free monoid but in a free group. I. INTRODUCTION Transformations of structured data are at the heart of functional programming [1], [2], [3], [4], [5] and also application areas such as compiling [6], document processing [7], [8], [9], [10], [11], [12], [13], automatic translation of natural languages [14], [15], [16], [17] or even cryptographic protocols [18]. The most fundamental model of such transformations is given by (finite-state tree) transducers [19], [6]. Transducers traverse the input by means of finitely many mutually recursive functions — corresponding to finitely many states.
    [Show full text]
  • Programming Using Automata and Transducers
    University of Pennsylvania ScholarlyCommons Publicly Accessible Penn Dissertations 2015 Programming Using Automata and Transducers Loris D'antoni University of Pennsylvania, [email protected] Follow this and additional works at: https://repository.upenn.edu/edissertations Part of the Computer Sciences Commons Recommended Citation D'antoni, Loris, "Programming Using Automata and Transducers" (2015). Publicly Accessible Penn Dissertations. 1677. https://repository.upenn.edu/edissertations/1677 This paper is posted at ScholarlyCommons. https://repository.upenn.edu/edissertations/1677 For more information, please contact [email protected]. Programming Using Automata and Transducers Abstract Automata, the simplest model of computation, have proven to be an effective tool in reasoning about programs that operate over strings. Transducers augment automata to produce outputs and have been used to model string and tree transformations such as natural language translations. The success of these models is primarily due to their closure properties and decidable procedures, but good properties come at the price of limited expressiveness. Concretely, most models only support finite alphabets and can only represent small classes of languages and transformations. We focus on addressing these limitations and bridge the gap between the theory of automata and transducers and complex real-world applications: Can we extend automata and transducer models to operate over structured and infinite alphabets? Can we design languages that hide the complexity of these formalisms? Can we define executable models that can process the input efficiently? First, we introduce succinct models of transducers that can operate over large alphabets and design BEX, a language for analysing string coders. We use BEX to prove the correctness of UTF and BASE64 encoders and decoders.
    [Show full text]
  • Categorical Semantics and Composition of Tree Transducers
    Categorical semantics and composition of tree transducers Dissertation zur Erlangung des akademischen Grades Doktor rerum naturalium (Dr. rer. nat.) vorgelegt an der Technischen Universit¨at Dresden Fakult¨at Informatik eingereicht von Diplom-Mathematiker Claus Jurgensen¨ geboren am 05. Mai 1966 in Kappeln an der Schlei Gutachter: Prof. Dr.-Ing. habil. Heiko Vogler, Technische Universit¨at Dresden Prof. Dr. rer. nat. habil. Horst Reichel, Technische Universit¨at Dresden Prof. Dr. Zolt´an Ful¨¨ op, Universit¨at Szeged, Ungarn Tag der Verteidigung: 30.01.2004 Dresden im Oktober 2003 ii Acknowledgments This dissertation would not have been written without the support from many people. I am grateful to Heiko Vogler for accepting the supervision of this thesis and for providing ideal conditions for doing research. I am obliged to Zolt´an Ful¨¨ op and Horst Reichel for accepting to be referees. Life in Dresden would not be fun without a number of people. My office- mates Lutz Straßburger, Bj¨orn Borchardt and Igor Tarasyuk somehow put up with me for some years. I am particularly thankful to Janis Voigtl¨ander, the most critical reader of my papers: His discerning remarks have always been very helpful to me. I have also been fortunate to share Dresden with Armin Kuhnemann,¨ Enrico Bormann, Alexandre Scalzitti, Andreas Maletti, and Kai Brunnler.¨ This thesis would not exist without the support of Gwendoline Blandin. During all the time she has been a continuous source of love and inspiration. This PhD thesis has been written with the financial support of the post- graduate program Specification of discrete processes and systems of processes by operational models and logics (GRK 334) of the German Research Com- munity (DFG).
    [Show full text]
  • Theory and Applications of Tree Languages
    Contributions to the Theory and Applications of Tree Languages Johanna H¨ogberg Ph.D. Thesis, May 2007 Department of Computing Science Ume˚a University Department of Computing Science Ume˚aUniversity SE-901 87 Ume˚a,Sweden Copyright c J. H¨ogberg, 2007 Except Paper I, c Springer-Verlag, 2003 Paper II, c Elsevier, 2007 Paper III, c F. Drewes, J. H¨ogberg, 2007 Paper IV, c World Scientific, 2007 Paper V, c Springer-Verlag, 2007 Paper VI, c Springer-Verlag, 2007 Paper VII, c Springer-Verlag, 2005 Paper VIII, c Springer-Verlag, 2007 ISBN 978-91-7264-336-9 ISSN 0348-0542 UMINF 07.07 Printed by Solfj¨adernOffset, Ume˚a,2007 Preface The study of tree languages was initiated in the late s and was originally motivated by various problems in computational linguistics. It is presently a well-developed branch of formal language theory and has found many uses, including natural language processing, compiler theory, model checking, and tree-based generation. This thesis is, as its name suggests, concerned with theoretical as well as practical aspects of tree languages. It consists of an opening introduction, written to provide motivation and basic concepts and terminology, and eight papers, organised into three parts. The first part treats algorithmic learning of regular tree languages, the second part is concerned with bisimulation minimisation of nondeterministic tree automata, and the third part is devoted to tree-based generation of music. We now summarise the contributions made in each part, and list the papers included therein. More detailed summaries of the individual papers are given in Chapter 3.
    [Show full text]
  • Three Hierarchies of Transducers
    Math. SystemsTheory 15, 95-125 (1982) Mathematical Systems Theory Three Hierarchies of Transducers Joost Engelfriet Twente Universityof Technology,Enschede, The Netherlands Abstract. Composition of top-down tree transducers yields a proper hierarchy of transductions and of output languages. The same is true for ETOL systems (viewed as transducers) and for two-way generalized sequential machines. 1. Introduction Soon after the introduction of the top-down tree transducer [35, 40], as a model of syntax-directed translation [4], one of the main problems turned out to concern their composition. In fact, the class of top-down tree transductions is not closed under composition [35, 40] unless certain restrictions or extensions are added to the main model. Thus the class of deterministic top-down tree transducers becomes closed under composition when the transducers are restricted to be total [35] or extended to have regular look-ahead [17]. A similar statement holds for linear (noncopying) top-down tree transducers. These phenomena are mainly due to the fact that a top-down tree transducer cannot handle nondeterminism followed by copying, cf. [16, 9]. Given the nonclosure of the class of tree transducers under composition, one may ask whether composition of tree transducers gives rise to a proper hierarchy. In other words the natural question arises whether n+ 1 transducers are more powerful than n, or whether perhaps there exists a constant N such that any sequence of tree transducers can be simulated by a sequence of at most N tree transducers. In this paper we prove that n + 1 tree transducers are more powerful than n (as conjectured in [32, 9, 33]).
    [Show full text]
  • Decision Problems of Tree Transducers with Origin Emmanuel Filiot, Sebastian Maneth, Pierre-Alain Reynier, Jean-Marc Talbot
    Decision problems of tree transducers with origin Emmanuel Filiot, Sebastian Maneth, Pierre-Alain Reynier, Jean-Marc Talbot To cite this version: Emmanuel Filiot, Sebastian Maneth, Pierre-Alain Reynier, Jean-Marc Talbot. Decision problems of tree transducers with origin. Information and Computation, Elsevier, 2018, 261, pp.311-335. 10.1016/j.ic.2018.02.011. hal-02093317 HAL Id: hal-02093317 https://hal.archives-ouvertes.fr/hal-02093317 Submitted on 8 Apr 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Decision Problems of Tree Transducers with Origin Emmanuel Filiota, Sebastian Manethb, Pierre-Alain Reynier1, Jean-Marc Talbot1 aUniversit´eLibre de Bruxelles & FNRS bUniversity of Edinburgh cAix-Marseille University & CNRS Abstract A tree transducer with origin translates an input tree into a pair of output tree and origin information. The origin information maps each node in the output tree to the unique node in the input tree that created it. In this way, the implementation of the transducer becomes part of its semantics. We show that the landscape of decidable properties changes drastically when origin information is added. For instance, equivalence of nondeterministic top- down and MSO transducers with origin becomes decidable.
    [Show full text]
  • Modular Tree Transducers
    267 Fundamental Study Modular tree transducers Joost Engelfriet Departmenf of Conrpurer Science, Leidm Uniuersics, Niels Bohreg 1, NL-2300 RA Leiden, Nerherlonds Heiko Vogler Lehrsruhl fTir In,formarik II, R WTH Aachen, Ahornrrr. 55, D-5100 Aacben, FRG Communicated by M. Nivat Received May 198s Revised January 1589 Absrracr Engelfrict, J. and H. Vogler, Modular tree transducers, Theoretical Computer Science 7S (1991) 267-303. A new tree transducer, called a modular tree transducer, is introduced. This device specifies operations on trees and ca be considered as a formalization of the concept of nesred simultaneous primitive recursion on trees. Roughly speaking, a modular tree transducer is a specie.1 left-linear and non-overlapping term rewriting system of which the set of ruies is partitioned into modules, es;h module being equipped with a non-negative integer: the xmber of the module. Then, a module with number i may cell modules with numbers oat !ess than i. Three properties are proved: (I) modular tree transducers compote exactly the (inductiv-ely defined) class of primitive recursive functions on trees; (2) the number of moduies in modular tree transducers induces a strict hierarchy on the class of all modular tree transductions, and (3) by appropriate!g res:tictinr the c4iing s~~‘ure between modules, modular tree transducers characterize the compositions of macro tree transducers where the number of modules and the number of compositions coinade. Content5 1. introduction........................._._...._...________...._,_._..___._._.___.... 2. Preliminaries...............__..____.__...._.____..._.._....,..___.____.____._._._.
    [Show full text]
  • Underspecified Computation of Normal Forms
    International Conference on Rewriting Techniques and Applications 2010 (Edinburgh), pp. 177-192 http://rewriting.loria.fr/rta/ COMPUTING RELATIVE NORMAL FORMS IN REGULAR TREE LANGUAGES ALEXANDER KOLLER 1 AND STEFAN THATER 1 1 Saarland University Saarbrücken, Germany E-mail address: [email protected] E-mail address: [email protected] ABSTRACT.We solve the problem of computing, out of a regular language L of trees and a rewriting system R, a regular tree automaton describing the set L′ ⊆ L of trees which cannot be R-rewritten into a tree in L. We call the elements of L′ the relative normal forms of L. We apply our algorithm to the problem of computing weakest readings of sentences in computational linguistics, by approximating logical entailment with a rewriting system, and give the first efficient and practically useful algorithm for this problem. This problem has been open for 25 years in computational linguistics. 1. Introduction One key task in computational linguistics is to represent the meaning of a natural language sentence using some formal representation (reading), and to model inference on the level of natural language [1] as inference on the corresponding meaning representations. The classical approach [2] uses logical languages, such as first or higher order predicate logic, to represent sentence meanings. But when the sentence is ambiguous, it is often infeasible to explicitly enumerate all the different readings: The number of readings is worst-case exponential in the length of the sentence, and it is not uncommon for a sentence to have millions of readings if they contain a number of ambiguous constituents.
    [Show full text]
  • Foundations of Finite Symbolic Tree Transducers
    The Logic in Computer Science Column by Yuri Gurevich Microsoft Research One Microsoft Way, Redmond WA 98052, USA [email protected] Foundations of Finite Symbolic Tree Transducers Margus Veanes Nikolaj Bjørner∗ Abstract Finite transducers on trees are fundamental to computer science. They form the basis of many applications that manipulate strings and trees. The conventional representation of finite transducers assume a finite set of states and a finite alphabet. Classical algorithms and representations make essen- tial use of both of these assumptions. In many cases, the complexity of the algorithms is computed based on the number of states and alphabet size. But how important are these assumptions really for the main operations and de- cision problems? We have recently pursued applications of finite transducers in the context of web security as a foundation for sanitization of potentially malicious data. For these applications we have found that lifting the finite alphabet restriction to be useful to enable efficient symbolic analysis and we have developed symbolic counter-parts of the main classical operations on finite automata. We here define Symbolic Tree Transducers as a gener- alization of Regular Transducers as finite state input-output tree automata with logical constraints over a background theory. The background theory ∗Microsoft Research, Redmond, WA, USA {margus,nbjorner}@microsoft.com is a parameter of the formalization. We examine key closure properties of Symbolic Tree Transducers and we develop a composition algorithm and an equivalence decision procedure for single-valued transducers. 1 Introduction State machines are fundamental to computer science. General computations are captured by Abstract State Machines [20].
    [Show full text]
  • Equivalence Problems for Tree Transducers: a Brief Survey
    Equivalence Problems for Tree Transducers: A Brief Survey Sebastian Maneth School of Informatics University of Edinburgh [email protected] The decidability of equivalence for three important classes of tree transducers is discussed. Each class can be obtained as a natural restriction of deterministic macro tree transducers (MTTs): (1) no context parameters, i.e., top-down tree transducers, (2) linear size increase, i.e., MSO definable tree transducers, and (3) monadic input and output ranked alphabets. For the full class of MTTs, decid- ability of equivalence remains a long-standing open problem. 1 Introduction The macro tree transducer (MTT) was invented independently by Engelfriet [20, 29] and Courcelle [13, 14] (see also [37]). As a model of syntax-directed translations, MTTs generalize the attribute grammars of Knuth [46]. Note that one (annoying) issue of attribute grammars is that they can be circular; MTTs always terminate. Macro tree transducers are a combination of context-free tree grammars, invented by Rounds [57] and also known as “macro tree grammars” [34], and the top-down tree transducer of Rounds and Thatcher [58, 67]: the derivation of the grammar is (top-down) controlled by a given input tree. In terms of a top-down transducer, the combination is obtained by allowing nesting of state calls in the rules (similar to the nesting of nonterminals in the productions of context-free tree grammars). Top- down tree transducers generalize to trees the finite state (string) transducers (also known as “generalized sequential machines”, or GSMs, see [38, 8]). In terms of formal languages, compositions of MTTs give rise to a large hierarchy of string languages containing, e.g., the IO and OI hierarchies (at level one they include the indexed languages of Aho [1]), see [22].
    [Show full text]
  • Macro Tree Transducers
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES 31, 71-146 (1985) Macro Tree Transducers JOOST ENGELPRIET* AND HEIKO VOGLER*' Twente University of Technology, Department of Computer Science, P.O. Box 217, 7500 A.5 Enschede, The Netherlands Received October 29, 1982; accepted April 23, 1985 Macro tree transducers are a combination of top-down tree transducers and macro gram- mars. They serve as a model for syntax-directed semantics in which context information can be handled. In this paper the formal model of macro tree transducers is studied by investigating typical automata theoretical topics like composition, decomposition, domains, and ranges of the induced translation classes. The extension with regular look-ahead is con- sidered. 0 1985 Academic Press, Inc. 1. INTRODUCTION Macro tree transducers were introduced in [15, S] combining the features of topdown tree transducers [34, 36, 12,4] and macro grammars [23,20]. In fact, macro tree transducers are the generalization of topdown tree-to-string trans- ducers to trees according to the generalization method described in [13, 9, 15-j. Conceptually, they serve as a model for syntax-directed translations in which con- text information can be handled. Hence, it is reasonable to consider macro tree transducers as a formalization of certain aspects of denotational semantics and attribute grammars. From the program schematic point of view macro tree trans- ducers are systems of recursive procedures with parameters: the first (“syntactic”) parameter is of type T, (i.e., tree over alphabet C), representing a derivation of an underlying context-free grammar, and all other (“context”) parameters are of type T,, representing elements of a semantic domain.
    [Show full text]