Programming Using Automata and Transducers

Total Page:16

File Type:pdf, Size:1020Kb

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. Next, we develop a theory of tree transducers over infinite alphabets and design ASTF , a language for analysing tree-manipulating programs. We use FAST to detect vulnerabilities in HTML sanitizers, check whether augmented reality taggers conflict, and optimize and analyze functional programs that operate over lists and trees. Finally, we focus on laying the foundations of stream processing of hierarchical data such as XML files and program traces. We introduce two new efficient and ecutableex models that can process the input in a left-to-right linear pass: symbolic visibly pushdown automata and streaming tree transducers. Symbolic visibly pushdown automata are closed under Boolean operations and can specify and efficiently monitor complex properties for hierarchical structures over infinite alphabets. Streaming tree transducers can express and efficiently ocesspr complex XML transformations while enjoying decidable procedures. Degree Type Dissertation Degree Name Doctor of Philosophy (PhD) Graduate Group Computer and Information Science First Advisor Rajeev Alur Keywords Automata, Programming languages, String transformations, Symbolic automata, Transducers, Tree transformations Subject Categories Computer Sciences This dissertation is available at ScholarlyCommons: https://repository.upenn.edu/edissertations/1677 PROGRAMMING USING AUTOMATA AND TRANSDUCERS Loris D’Antoni A DISSERTATION in Computer Science Presented to the Faculties of the University of Pennsylvania in Partial Fulfilment of the Requirements for the Degree of Doctor of Philosophy 2015 Supervisor of Dissertation Rajeev Alur, Zisman Family Professor of Computer and Information Science Graduate Group Chairperson Lyle H. Ungar, Professor of Computer and Information Science Dissertation Committee Chaired by Sampath Kannan, Henry Salvatori Professor of Computer and Information Science Benjamin C. Pierce, Henry Salvatori Professor of Computer and Information Science Val Tannen, Professor of Computer and Information Science Margus Veanes (External), Senior Researcher at Microsoft Research ii To Christian, Marinella, Monica, and Stefano iii Acknowledgements The material described in this dissertation is the culmination of an extended collabora- tion with Rajeev Alur and Margus Veanes, with additional contributions from Benjamin Livshits and David Molnar. I am lucky to count these talented individuals as colleagues and friends, and I want to acknowledge their contributions to this dissertation. Throughout my time at Penn, my adviser Rajeev Alur has granted me freedom to pur- sue the projects I believed in and great support when I needed to brainstorm, work on a proof, or simply decide on what to do next. Thank you for encouraging, nurturing, and providing help along this academic journey. To NSF, thank you for the Expeditions in Computing grant CCF 1138996, which funded most of my research. Sampath Kannan, Benjamin Pierce, Val Tannen, and Margus Veanes have all graciously agreed to serve on my dissertation committee. I am grateful for the time they devoted to reading both my proposal and this dissertation. Their many insightful comments and suggestions greatly improved it. Mariangiola Dezani-Ciancaglini introduced me to research when I was an undergrad- uate nearly 8 years ago and was the first person to truly believe in my capabilities, for which I am eternally grateful. Margus Veanes mentored me for two productive intern- ships at Microsoft Research Redmond during the summers of 2012 and 2013. Since then, Margus has been a great colleague, friend, and research collaborator. To the formal methods, programming languages, and verification students at Penn, thank you for creating a friendly and stimulating research environment. To the Grad- uate Student in Engineering Group, thank you for all the social events and pleasant distractions from work. To Adam, thank you for being an honest and supportive friend. To my family, especially my parents Marinella and Stefano, thank you for supporting me and letting me pursue what I believed in. To my brother Christian, thank you for helping me push my potential to the limit. To Monica, thank you for being with me and making my life complete. iv ABSTRACT PROGRAMMING USING AUTOMATA AND TRANSDUCERS Loris D’Antoni Dr. Rajeev Alur 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 au- tomata and transducers and complex real-world applications: Can we extend automata and transducer models to operate over structured and infinite alphabets? Can we design lan- guages 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 alpha- bets and design BEX, a language for analysing string coders. We use BEX to prove the correctness of UTF and BASE64 encoders and decoders. Next, we develop a theory of tree transducers over infinite alphabets and design FAST, a language for analysing tree-manipulating programs. We use FAST to detect vulnerabilities in HTML sanitizers, check whether augmented reality taggers conflict, and optimize and analyze functional programs that operate over lists and trees. Finally, we focus on laying the foundations of stream processing of hierarchical data such as XML files and program traces. We introduce two new efficient and executable models that can process the input in a left- to-right linear pass: symbolic visibly pushdown automata and streaming tree trans- ducers. Symbolic visibly pushdown automata are closed under Boolean operations and can specify and efficiently monitor complex properties for hierarchical structures over infinite alphabets. Streaming tree transducers can express and efficiently process complex XML transformations while enjoying decidable procedures. v Contents Acknowledgements iii Abstract iv List of tables xi List of figures xiii 1 Introduction 1 1.1 Preamble . .1 1.2 Automata, languages, and program properties . .2 1.3 Transducers, transformations, and programs . .3 1.4 Limitations of existing models . .5 1.5 Contributions . .6 1.5.1 Foundational results . .6 1.5.2 Language design and implementation . .7 1.5.3 Applications . .7 1.6 Acknowledgements . .8 Contents vi I Transducer-based programming languages 9 2 BEX: a language for verifying string coders 10 2.1 Introduction . 10 2.1.1 Challenges in verifying real-world coders . 11 2.1.2 Contributions . 12 2.2 Verifying BASE64 in BEX ............................ 13 2.3 Symbolic extended finite automata and transducers . 14 2.3.1 Preliminaries . 15 2.3.2 Model definitions . 15 2.3.3 From BEX to S-EFTs . 18 2.3.4 Cartesian S-EFAs and S-EFTs . 19 2.3.5 Monadic S-EFAs and S-EFTs . 20 2.4 Properties of symbolic extended finite automata . 20 2.5 Equivalence of symbolic extended finite transducers . 23 2.5.1 Equivalence of S-EFTs is undecidable . 24 2.5.2 Equivalence of Cartesian S-EFTs is Decidable . 25 2.6 Composition of symbolic extended finite transducers . 31 2.6.1 S-EFTs are not closed under composition . 31 2.6.2 A practical algorithm for composing S-EFTs . 34 2.7 Experiments and applications
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]
  • Capturing Cfls with Tree Adjoining Grammars
    Capturing CFLs with Tree Adjoining Grammars James Rogers* Dept. of Computer and Information Sciences University of Delaware Newark, DE 19716, USA j rogers©cis, udel. edu Abstract items that occur in that string. There are a number We define a decidable class of TAGs that is strongly of reasons for exploring lexicalized grammars. Chief equivalent to CFGs and is cubic-time parsable. This among these are linguistic considerations--lexicalized class serves to lexicalize CFGs in the same manner as grammars reflect the tendency in many current syntac- the LC, FGs of Schabes and Waters but with consider- tic theories to have the details of the syntactic structure ably less restriction on the form of the grammars. The be projected from the lexicon. There are also practical class provides a nornlal form for TAGs that generate advantages. All lexicalized grammars are finitely am- local sets m rnuch the same way that regular grammars biguous and, consequently, recognition for them is de- provide a normal form for CFGs that generate regular cidable. Further, lexicalization supports strategies that sets. can, in practice, improve the speed of recognition algo- rithms (Schabes et M., 1988). Introduction One grammar formalism is said to lezicalize an- We introduce the notion of Regular Form for Tree Ad- other (Joshi and Schabes, 1992) if for every grammar joining (;rammars (TA(;s). The class of TAGs that in the second formalism there is a lexicalized grammar are in regular from is equivalent in strong generative in the first that generates exactly the same set of struc- capacity 1 to the Context-Free Grammars, that is, the tures.
    [Show full text]
  • Deterministic Top-Down Tree Automata: Past, Present, and Future
    Deterministic Top-Down Tree Automata: Past, Present, and Future Wim Martens1 Frank Neven2 Thomas Schwentick1 1 University of Dortmund Germany 2 Hasselt University and Transnational University of Limburg School for Information Technology Belgium Abstract In strong contrast to their non-deterministic counterparts, deter- ministic top-down tree automata received little attention in the sci- entific literature. The aim of this article is to survey recent and less recent results and stipulate new research directions for top-down de- terministic tree automata motivated by the advent of the XML data exchange format. In particular, we survey different ranked and un- ranked top-down tree automata models and discuss expressiveness, closure properties and the complexity of static analysis problems. 1 Introduction The goal of this article is to survey some results concerning deterministic top-down tree automata motivated by purely formal language theoretic rea- sons (past) and by the advent of the data exchange format XML (present). Finally, we outline some new research directions (future). The Past. Regular tree languages have been studied in depth ever since their introduction in the late sixties [10]. Just as for regular string languages, regular tree languages form a robust class admitting many closure properties and many equivalent formulations, the most prominent one in the form of tree automata. A striking difference with the string case where left-to-right equals right-to-left processing, is that top-down is no longer equivalent to bottom-up. In particular, top-down deterministic tree automata are strictly less expressive than their bottom-up counterparts and consequently form a strict subclass of the regular tree languages.
    [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]
  • Translations on a Context Free Grammar A. V. AHO and J. D
    INFORMATION AND CONTROL 19, 439-475 (1971) Translations on a Context Free Grammar A. V. AHO AND J. D. ULLMAN* Bell Telephone Laboratories, Incorporated, Murray Hill, New Jersey 07974 Two schemes for the specification of translations on a context-free grammar are proposed. The first scheme, called a generalized syntax directed translation (GSDT), consists of a context free grammar with a set of semantic rules associated with each production of the grammar. In a GSDT an input word is parsed according to the underlying context free grammar, and at each node of the tree, a finite number of translation strings are computed in terms of the translation strings defined at the descendants of that node. The functional relationship between the length of input and length of output for translations defined by GSDT's is investigated. The second method for the specification of translations is in terms of tree automata--finite automata with output, walking on derivation trees of a context free grammar. It is shown that tree automata provide an exact characterization for those GSDT's with a linear relationship between input and output length. I. SYNTAX DIRECTED TRANSLATION A translation is a set of pairs of strings. One common technique for the specification of translations is to use a context free grammar (CFG) to specify the domain of the translation. An input string is parsed according to this grammar, and the output string associated with this input is specified as a function of the parse tree. A large class of translations can be specified in this manner. Compilers utilizing this principle are termed syntax directed, and several compilers and compiler writing systems have been built around this concept.
    [Show full text]
  • Efficient Techniques for Parsing with Tree Automata
    Efficient techniques for parsing with tree automata Jonas Groschwitz and Alexander Koller Mark Johnson Department of Linguistics Department of Computing University of Potsdam Macquarie University Germany Australia groschwi|[email protected] [email protected] Abstract ing algorithm which recursively explores substruc- tures of the input object and assigns them non- Parsing for a wide variety of grammar for- terminal symbols, but their exact relationship is malisms can be performed by intersecting rarely made explicit. On the practical side, this finite tree automata. However, naive im- parsing algorithm and its extensions (e.g. to EM plementations of parsing by intersection training) have to be implemented and optimized are very inefficient. We present techniques from scratch for each new grammar formalism. that speed up tree-automata-based pars- Thus, development time is spent on reinventing ing, to the point that it becomes practically wheels that are slightly different from previous feasible on realistic data when applied to ones, and the resulting implementations still tend context-free, TAG, and graph parsing. For to underperform. graph parsing, we obtain the best runtimes Koller and Kuhlmann (2011) introduced Inter- in the literature. preted Regular Tree Grammars (IRTGs) in order to address this situation. An IRTG represents 1 Introduction a language by describing a regular language of Grammar formalisms that go beyond context-free derivation trees, each of which is mapped to a term grammars have recently enjoyed renewed atten-
    [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]
  • An Automata-Based Approach to Pattern Matching
    Intelligent Control and Automation, 2013, 4, 309-312 http://dx.doi.org/10.4236/ica.2013.43036 Published Online August 2013 (http://www.scirp.org/journal/ica) An Automata-Based Approach to Pattern Matching Ali Sever Pfeiffer University, Misenheimer, USA Email: [email protected] Received January 21, 2013; revised March 4, 2013; accepted March 11, 2013 Copyright © 2013 Ali Sever. This is an open access article distributed under the Creative Commons Attribution License, which per- mits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. ABSTRACT Due to its importance in security, syntax analysis has found usage in many high-level programming languages. The Lisp language has its share of operations for evaluating regular expressions, but native parsing of Lisp code in this way is unsupported. Matching on lists requires a significantly more complicated model, with a different programmatic ap- proach than that of string matching. This work presents a new automata-based approach centered on a set of functions and macros for identifying sequences of Lisp S-expressions using finite tree automata. The objective is to test that a given list is an element of a given tree language. We use a macro that takes a grammar and generates a function that reads off the leaves of a tree and tries to parse them as a string in a context-free language. The experimental results in- dicate that this approach is a viable tool for parsing Lisp lists and expressions in the abstract interpretation framework. Keywords: Computation and Automata Theory; Pattern Matching; Regular Languages 1.
    [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]
  • Automata and Formal Languages II Tree Automata
    Automata and Formal Languages II Tree Automata Peter Lammich SS 2015 1 / 161 Overview by Lecture • Apr 14: Slide 3 • Apr 21: Slide 2 • Apr 28: Slide 4 • May 5: Slide 50 • May 12: Slide 56 • May 19: Slide 64 • May 26: Holiday • Jun 02: Slide 79 • Jun 09: Slide 90 • Jun 16: Slide 106 • Jun 23: Slide 108 • Jun 30: Slide 116 • Jul 7: Slide 137 • Jul 14: Slide 148 2 / 161 Organizational Issues Lecture Tue 10:15 – 11:45, in MI 00.09.38 (Turing) Tutorial ? Wed 10:15 – 11:45, in MI 00.09.38 (Turing) • Weekly homework, will be corrected. Hand in before tutorial. Discussion during tutorial. Exam Oral, Bonus for Homework! • ≥ 50% of homework =) 0:3/0:4 better grade On first exam attempt. Only if passed w/o bonus! Material Tree Automata: Techniques and Applications (TATA) • Free download at http://tata.gforge.inria.fr/ Conflict with Equational Logic. 3 / 161 Proposed Content • Finite tree automata: Basic theory (TATA Ch. 1) • Pumping Lemma, Closure Properties, Homomorphisms, Minimization, ... • Regular tree grammars and regular expressions (TATA Ch. 2) • Hedge Automata (TATA Ch. 8) • Application: XML-Schema languages • Application: Analysis of Concurrent Programs • Dynamic Pushdown Networks (DPN) 4 / 161 Table of Contents 1 Introduction 2 Basics 3 Alternative Representations of Regular Languages 4 Model-Checking concurrent Systems 5 / 161 Tree Automata • Finite automata recognize words, e.g.: b q0 qF a q0 ! a(qF ) qF ! b(q0) • Words of alternating as and bs, ending with a, e.g., aba or abababa • Generalize to trees q0 ! a(q1; q1) q1 ! b(q0; q0) q1 ! L() • Trees with alternating „layers” of a nodes and b nodes.
    [Show full text]
  • A Weighted Tree Transducer Toolkit for Syntactic Natural Language Processing Models
    A Weighted Tree Transducer Toolkit for Syntactic Natural Language Processing Models Jonathan May June 2008 Abstract Solutions for many natural language processing problems such as speech recognition, transliteration, and translation have been described as weighted finite-state transducer cascades. The transducer formalism is very useful for researchers, not only for its ability to expose the deep similarities between seemingly disparate models, but also because expressing models in this formalism allows for rapid implementation of real, data-driven systems. Finite-state toolkits can interpret and process transducer chains using generic algorithms and many real-world systems have been built using these toolkits. Current research in NLP makes use of syntax-rich models that are poorly suited to extant transducer toolkits, which process linear input and output. Tree transducers can handle these models, and a weighted tree transducer toolkit with appropriate generic algorithms will lead to the sort of gains in syntax-based modeling that were achieved with string transducer toolkits. This thesis presents Tiburon, a weighted tree transducer toolkit that is highly suited for the processing of syntactic NLP models. Tiburon contains implementations of novel determinization, minimization, and training algorithms that are extensions of classical algorithms suitable for the processing of weighted tree transducers and automata. Tiburon also contains algorithms reflecting previously known results for generation, composition, and projection. We show Tiburon’s effectiveness at rapid reproduction of previously presented syntax-based machine translation and parsing models as well as its utility in constructing and evaluating novel models. Chapter 1 Introduction: Models and Transducers I can’t work without a model.
    [Show full text]
  • Tree Pushdown Automata
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector JOURNAL OF COMPUTER AND SYSTEM SCIENCES 30, 25-40 (1985) Tree Pushdown Automata KARL M. SCHIMPF Department of Computer and Information Sciences, University of California, Santa Cruz, California AND JEAN H. GALLIER Department of Computer and Information Science, University of Pennsylvania, Philadelphia, Pennsylvania 19104 Received March 5, 1983; revised June 1, 1984 This paper presents a new type of automaton called a tree pushdown automaton (a bottom- up tree automaton augmented with internal memory in the form of a tree, similar to the way a stack is added to a finite state machine to produce a pushdown automaton) and shows that the class of languages recognized by such automata is identical to the class of context-free tree languages. 0 1985 Academic Press, Inc. I. INTRODUCTION Tree languages are frequently used to model computations based on tree (or hierarchical) structures. For example, one can use tree structures to model the call- ing structure of a set of procedures and functions such as in derivation trees, syntax directed translation, and recursive schemes [30, 2, 15, 16, 8, 32, 6, 7, 17, 251. These applications of tree language theory frequently use the methods and results of for- mal language theory [27, 28, 9, 10, 311. In particular, these applications can be characterized using context-free tree languages [27, 28, 12, 11, 71. Other applications include the class of macro (or indexed) languages since the class of languages generated by the yield of context-free tree languages is the class of macro (context-sensitive) string languages [l, 13, 14, 2.5, 9, 11, 26, 271.
    [Show full text]