Context-Sensitive Grammars and Linear- Bounded Automata
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Formal Languages and Automata Theory Géza Horváth, Benedek Nagy Szerzői Jog © 2014 Géza Horváth, Benedek Nagy, University of Debrecen
Formal Languages and Automata Theory Géza Horváth, Benedek Nagy Created by XMLmind XSL-FO Converter. Formal Languages and Automata Theory Géza Horváth, Benedek Nagy Szerzői jog © 2014 Géza Horváth, Benedek Nagy, University of Debrecen Created by XMLmind XSL-FO Converter. Tartalom Formal Languages and Automata Theory .......................................................................................... vi Introduction ...................................................................................................................................... vii 1. Elements of Formal Languages ...................................................................................................... 1 1. 1.1. Basic Terms .................................................................................................................... 1 2. 1.2. Formal Systems .............................................................................................................. 2 3. 1.3. Generative Grammars .................................................................................................... 5 4. 1.4. Chomsky Hierarchy ....................................................................................................... 6 2. Regular Languages and Finite Automata ...................................................................................... 12 1. 2.1. Regular Grammars ....................................................................................................... 12 2. 2.2. Regular Expressions .................................................................................................... -
INF2080 Context-Sensitive Langugaes
INF2080 Context-Sensitive Langugaes Daniel Lupp Universitetet i Oslo 15th February 2017 Department of University of Informatics Oslo INF2080 Lecture :: 15th February 1 / 20 Context-Free Grammar Definition (Context-Free Grammar) A context-free grammar is a 4-tuple (V ; Σ; R; S) where 1 V is a finite set of variables 2 Σ is a finite set disjoint from V of terminals 3 R is a finite set of rules, each consisting of a variable and of a string of variables and terminals 4 and S is the start variable Rules are of the form A ! B1B2B3 ::: Bm, where A 2 V and each Bi 2 V [ Σ. INF2080 Lecture :: 15th February 2 / 20 consider the following toy programming language, where you can “declare” and “assign” a variable a value. S ! declare v; S j assign v : x; S this is context-free... but what if we only want to allow assignment after declaration and an infinite amount of variable names? ! context-sensitive! Why Context-Sensitive? Many building blocks of programming languages are context-free, but not all! INF2080 Lecture :: 15th February 3 / 20 this is context-free... but what if we only want to allow assignment after declaration and an infinite amount of variable names? ! context-sensitive! Why Context-Sensitive? Many building blocks of programming languages are context-free, but not all! consider the following toy programming language, where you can “declare” and “assign” a variable a value. S ! declare v; S j assign v : x; S INF2080 Lecture :: 15th February 3 / 20 but what if we only want to allow assignment after declaration and an infinite amount of variable names? ! context-sensitive! Why Context-Sensitive? Many building blocks of programming languages are context-free, but not all! consider the following toy programming language, where you can “declare” and “assign” a variable a value. -
Automata and Grammars
Automata and Grammars Prof. Dr. Friedrich Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: [email protected] SS 2018 Prof. Dr. F. Otto (Universität Kassel) Automata and Grammars 1 / 294 Lectures and Seminary SS 2018 Lectures: Thursday 9:00 - 10:30, Room S 11 Start: Thursday, February 22, 2018, 9:00. Seminary: Thursday 10:40 - 12:10, Room S 11 Start: Thursday, February 22, 2018, 10:40. Prof. Dr. F. Otto (Universität Kassel) Automata and Grammars 2 / 294 Exercises: From Thursday to Thursday next week! To pass seminary: At least two successful presentations in class (10 %) and passing of midtem exam on April 5 (10:40 - 11:40) (20 %) Final Exam: (dates have been fixed!) Written exam (2 hours) on May 31 (9:00 - 11:30) in S 11 Oral exam (30 minutes per student) on June 14 (9:00 - 12:30) in S 10 Written exam (2. try) on June 21 (9:00 - 11:30) in S 11 Oral exam (2. try) on June 28 (9:00 - 12:30) in S 11 The written exam accounts for 50 % of the final grade, while the oral exam accounts for 20 % of the final grade. Moodle: Course ”Automata and Grammars” NTIN071. Prof. Dr. F. Otto (Universität Kassel) Automata and Grammars 3 / 294 Literature: P.J. Denning, J.E. Dennis, J.E. Qualitz; Machines, Languages, and Computation. Prentice-Hall, Englewood Cliffs, N.J., 1978. M. Harrison; Introduction to Formal Language Theory. Addison-Wesley, Reading, M.A., 1978. J.E. Hopcroft, R. Motwani, J.D. Ullman; Introduction to Automata Theory, Languages, and Computation. -
CDM Context-Sensitive Grammars
CDM Context-Sensitive Grammars 1 Context-Sensitive Grammars Klaus Sutner Carnegie Mellon Universality Linear Bounded Automata 70-cont-sens 2017/12/15 23:17 LBA and Counting Where Are We? 3 Postfix Calculators 4 Hewlett-Packard figured out 40 years ago the reverse Polish notation is by far the best way to perform lengthy arithmetic calculations. Very easy to implement with a stack. Context-free languages based on grammars with productions A α are very → important since they describe many aspects of programming languages and The old warhorse dc also uses RPN. admit very efficient parsers. 10 20 30 + * n CFLs have a natural machine model (PDA) that is useful e.g. to evaluate 500 arithmetic expressions. 10 20 30 f Properties of CFLs are mostly undecidable, Emptiness and Finiteness being 30 notable exceptions. 20 10 ^ n 1073741824000000000000000000000000000000 Languages versus Machines 5 Languages versus Machines 6 Why the hedging about “aspects of programming languages”? To deal with problems like this one we need to strengthen our grammars. The Because some properties of programming language lie beyond the power of key is to remove the constraint of being “context-free.” CFLs. Here is a classical example: variables must be declared before they can be used. This leads to another important grammar based class of languages: context-sensitive languages. As it turns out, CSL are plenty strong enough to begin describe programming languages—but in the real world it does not matter, it is int x; better to think of programming language as being context-free, plus a few ... extra constraints. x = 17; .. -
Languages Generated by Context-Free and Type AB → BA Rules
Magyar Kutatók 8. Nemzetközi Szimpóziuma 8th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Languages Generated by Context-Free and Type AB → BA Rules Benedek Nagy Faculty of Informatics, University of Debrecen, H-4010 PO Box 12, Hungary, Research Group on Mathematical Linguistics, Rovira i Virgili University, Tarragona, Spain [email protected] Abstract: Derivations using branch-interchanging and language family obtained by context-free and interchange (AB → BA) rules are analysed. This language family is between the context-free and context-sensitive families helping to fill the gap between them. Closure properties are analysed. Only semi-linear languages can be generated in this way. Keywords: formal languages, Chomsky hierarchy, derivation trees, interchange (permutation) rule, semi-linear languages, mildly context-sensitivity 1 Introduction The Chomsky type grammars and the generated language families are one of the most basic and most important fields of theoretical computer science. The field is fairly old, the basic concepts and results are from the middle of the last century (see, for instance, [2, 6, 7]). The context-free grammars (and languages) are widely used due to their generating power and simple way of derivation. The derivation trees represent the context-free derivations. There is a big gap between the efficiency of context-free and context-sensitive grammars. There are very ‘simple’ non-context-free languages, for instance {an^2 |n ∈ N}, {anbncn|n ∈ N}, etc. It was known in the early 70’s that every context-sensitive language can be generated by rules only of the following types AB → AC, AB → BA, A → BC, A → B and A → a (where A,B,C are nonterminals and a is a terminal symbol). -
Theory of Computation
Theory of Computation Todd Gaugler December 14, 2011 2 Contents 1 Mathematical Background 5 1.1 Overview . .5 1.2 Number System . .5 1.3 Functions . .6 1.4 Relations . .6 1.5 Recursive Definitions . .8 1.6 Mathematical Induction . .9 2 Languages and Context-Free Grammars 11 2.1 Languages . 11 2.2 Counting the Rational Numbers . 13 2.3 Grammars . 14 2.4 Regular Grammar . 15 3 Normal Forms and Finite Automata 17 3.1 Review of Grammars . 17 3.2 Normal Forms . 18 3.3 Machines . 20 3.3.1 An NFA λ ..................................... 22 4 Regular Languages 23 4.1 Computation . 24 4.2 The Extended Transition Function . 24 4.3 Algorithms . 26 4.3.1 Removing Non-Determinism . 26 4.3.2 State Minimization . 26 4.3.3 Expression Graph . 26 4.4 The Relationship between a Regular Grammar and the Finite Automaton . 26 4.4.1 Building an NFA corresponding to a Regular Grammar . 27 4.4.2 Closure . 27 4.5 Review for the First Exam . 28 4.6 The Pumping Lemma . 28 5 Pushdown Automata and Context-Free Languages 31 5.1 Pushdown Automata . 31 5.2 Variations on the PDA Theme . 34 5.3 Acceptance of Context-Free Languages . 36 3 CONTENTS CONTENTS 5.4 The Pumping Lemma for Context-Free Languages . 36 5.5 Closure Properties of Context- Free Languages . 37 6 Turing Machines 39 6.1 The Standard Turing Machine . 39 6.2 Turing Machines as Language Acceptors . 40 6.3 Alternative Acceptance Criteria . 41 6.4 Multitrack Machines . 42 6.5 Two-Way Tape Machines . -
CDM [1Ex]Context-Sensitive Grammars
CDM Context-Sensitive Grammars Klaus Sutner Carnegie Mellon Universality 70-cont-sens 2017/12/15 23:17 1 Context-Sensitive Grammars Linear Bounded Automata LBA and Counting Where Are We? 3 Context-free languages based on grammars with productions A ! α are very important since they describe many aspects of programming languages and admit very efficient parsers. CFLs have a natural machine model (PDA) that is useful e.g. to evaluate arithmetic expressions. Properties of CFLs are mostly undecidable, Emptiness and Finiteness being notable exceptions. Postfix Calculators 4 Hewlett-Packard figured out 40 years ago the reverse Polish notation is by far the best way to perform lengthy arithmetic calculations. Very easy to implement with a stack. The old warhorse dc also uses RPN. 10 20 30 + * n 500 10 20 30 f 30 20 10 ^ n 1073741824000000000000000000000000000000 Languages versus Machines 5 Why the hedging about \aspects of programming languages"? Because some properties of programming language lie beyond the power of CFLs. Here is a classical example: variables must be declared before they can be used. begin int x; ... x = 17; ... end Obviously, we would want the compiler to address this kind of situation. Languages versus Machines 6 To deal with problems like this one we need to strengthen our grammars. The key is to remove the constraint of being \context-free." This leads to another important grammar based class of languages: context-sensitive languages. As it turns out, CSL are plenty strong enough to describe programming languages|but in the real world it does not matter, it is better to think of programming language as being context-free, plus a few extra constraints. -
Automata Theory and Formal Languages
Alberto Pettorossi Automata Theory and Formal Languages Third Edition ARACNE Contents Preface 7 Chapter 1. Formal Grammars and Languages 9 1.1. Free Monoids 9 1.2. Formal Grammars 10 1.3. The Chomsky Hierarchy 13 1.4. Chomsky Normal Form and Greibach Normal Form 19 1.5. Epsilon Productions 20 1.6. Derivations in Context-Free Grammars 24 1.7. Substitutions and Homomorphisms 27 Chapter 2. Finite Automata and Regular Grammars 29 2.1. Deterministic and Nondeterministic Finite Automata 29 2.2. Nondeterministic Finite Automata and S-extended Type 3 Grammars 33 2.3. Finite Automata and Transition Graphs 35 2.4. Left Linear and Right Linear Regular Grammars 39 2.5. Finite Automata and Regular Expressions 44 2.6. Arden Rule 56 2.7. Equations Between Regular Expressions 57 2.8. Minimization of Finite Automata 59 2.9. Pumping Lemma for Regular Languages 72 2.10. A Parser for Regular Languages 74 2.10.1. A Java Program for Parsing Regular Languages 82 2.11. Generalizations of Finite Automata 90 2.11.1. Moore Machines 91 2.11.2. Mealy Machines 91 2.11.3. Generalized Sequential Machines 92 2.12. Closure Properties of Regular Languages 94 2.13. Decidability Properties of Regular Languages 96 Chapter 3. Pushdown Automata and Context-Free Grammars 99 3.1. Pushdown Automata and Context-Free Languages 99 3.2. From PDA’s to Context-Free Grammars and Back: Some Examples 111 3.3. Deterministic PDA’s and Deterministic Context-Free Languages 117 3.4. Deterministic PDA’s and Grammars in Greibach Normal Form 121 3.5. -
Appendix8 Shape Grammars in Chapter 9 There Is a Reference to Possible Applications of Shape Grammars. One Such Application Conc
Appendix8 Shape Grammars In Chapter 9 there is a reference to possible applications of shape grammars. One such application concerns artificial biological materials constructed from a finite number of specially created (stable) Holliday type moleculesb. Shape grammars might be of practical value in a number of other applications as well. A shape grammar is defined as follows. SG = (VM, VT, %, I), where VT is a finite set of terminal symbols VM is a finite set of marker symbols (that act like non-terminals) I e Vj V^ VJ is the start symbol. The production rules of the shape grammar % are phrase structured, and the rules may be applied serially, or in parallel (the same as with Lindenmeyer systems). % is composed of rules of the form u => v, where u is a mix of Vf with V^ , and v is a mix of Vj with V^. Objects in VT and VM may have any location, orientation, or scaling (think in terms of location in a Cartesian grid or some other coordinate system, rotation, and size), in two or more dimensions. As an example, VM The marker disks may be at any one of the four branches, and marks an active area. In the example that follows, these marked active areas are where ligases may act. In the following rule for /£, the four cruciform symbols on the right of the production rule are of the same size, none are rotated, and all four have the locations indicated. J. Gips, Shape Grammars and Their Uses: Artificial Perception, Shape Generation and Computer Aesthetics, 1975, Birkhftuser. -
Formal Languages and Automata
Formal Languages and Automata Stephan Schulz & Jan Hladik [email protected] [email protected] L ⌃⇤ ✓ with contributions from David Suendermann 1 Table of Contents Formal Grammars and Context-Free Introduction Languages Basics of formal languages Formal Grammars The Chomsky Hierarchy Regular Languages and Finite Automata Right-linear Grammars Regular Expressions Context-free Grammars Finite Automata Push-Down Automata Non-Determinism Properties of Context-free Regular expressions and Finite Languages Automata Turing Machines and Languages of Type Minimisation 1 and 0 Equivalence Turing Machines The Pumping Lemma Unrestricted Grammars Properties of regular languages Linear Bounded Automata Scanners and Flex Properties of Type-0-languages 2 Outline Introduction Basics of formal languages Regular Languages and Finite Automata Scanners and Flex Formal Grammars and Context-Free Languages Turing Machines and Languages of Type 1 and 0 3 Introduction I Stephan Schulz I Dipl.-Inform., U. Kaiserslautern, 1995 I Dr. rer. nat., TU Munchen,¨ 2000 I Visiting professor, U. Miami, 2002 I Visiting professor, U. West Indies, 2005 I Lecturer (Hildesheim, Offenburg, . ) since 2009 I Industry experience: Building Air Traffic Control systems I System engineer, 2005 I Project manager, 2007 I Product Manager, 2013 I Professor, DHBW Stuttgart, 2014 Research: Logic & Automated Reasoning 4 Introduction I Jan Hladik I Dipl.-Inform.: RWTH Aachen, 2001 I Dr. rer. nat.: TU Dresden, 2007 I Industry experience: SAP Research I Work in publicly funded research projects I Collaboration with SAP product groups I Supervision of Bachelor, Master, and PhD students I Professor: DHBW Stuttgart, 2014 Research: Semantic Web, Semantic Technologies, Automated Reasoning 5 Literature I Scripts I The most up-to-date version of this document as well as auxiliary material will be made available online at http://wwwlehre.dhbw-stuttgart.de/ ˜sschulz/fla2015.html and http://wwwlehre.dhbw-stuttgart.de/ ˜hladik/FLA I Books I John E. -
Csci 311, Models of Computation Chapter 11 a Hierarchy of Formal Languages and Automata
CSci 311, Models of Computation Chapter 11 A Hierarchy of Formal Languages and Automata H. Conrad Cunningham 29 December 2015 Contents Introduction . 1 11.1 Recursive and Recursively Enumerable Languages . 2 11.1.1 Aside: Countability . 2 11.1.2 Definition of Recursively Enumerable Language . 2 11.1.3 Definition of Recursive Language . 2 11.1.4 Enumeration Procedure for Recursive Languages . 3 11.1.5 Enumeration Procedure for Recursively Enumerable Lan- guages . 3 11.1.6 Languages That are Not Recursively Enumerable . 4 11.1.7 A Language That is Not Recursively Enumerable . 5 11.1.8 A Language That is Recursively Enumerable but Not Recursive . 6 11.2 Unrestricted Grammars . 6 11.3 Context-Sensitive Grammars and Languages . 6 11.3.1 Linz Example 11.2 . 7 11.3.2 Linear Bounded Automata (lba) . 8 11.3.3 Relation Between Recursive and Context-Sensitive Lan- guages . 8 11.4 The Chomsky Hierarchy . 9 1 Copyright (C) 2015, H. Conrad Cunningham Acknowledgements: MS student Eli Allen assisted in preparation of these notes. These lecture notes are for use with Chapter 11 of the textbook: Peter Linz. Introduction to Formal Languages and Automata, Fifth Edition, Jones and Bartlett Learning, 2012.The terminology and notation used in these notes are similar to those used in the Linz textbook.This document uses several figures from the Linz textbook. Advisory: The HTML version of this document requires use of a browser that supports the display of MathML. A good choice as of December 2015 seems to be a recent version of Firefox from Mozilla. -
INF2080 Context-Sensitive Langugaes
INF2080 Context-Sensitive Langugaes Daniel Lupp Universitetet i Oslo 24th February 2016 Department of University of Informatics Oslo INF2080 Lecture :: 24th February 1 / 20 Context-Free Grammar Definition (Context-Free Grammar) A context-free grammar is a 4-tuple (V ; Σ; R; S) where 1 V is a finite set of variables 2 Σ is a finite set disjoint from V of terminals 3 R is a finite set of rules, each consisting of a variable and of a string of variables and terminals 4 and S is the start variable Rules are of the form A ! B1B2B3 ::: Bm, where A 2 V and each Bi 2 V [ Σ. INF2080 Lecture :: 24th February 2 / 20 Why Context-Sensitive? Many building blocks of programming languages are context-free, but not all! consider the following toy programming language, where you can “declare” and “assign” a variable a value. S ! declare v; S j assign v : x; S this is context-free... but what if we only want to allow assignment after declaration and an infinite amount of variable names? ! context-sensitive! INF2080 Lecture :: 24th February 3 / 20 Context-Sensitive Languages Some believe natural languages reside in the class of context-sensitive languages, though this is a controversial topic amongst linguists. But many characteristics of natural languages (e.g., verb-noun agreement) are context-sensitive! INF2080 Lecture :: 24th February 4 / 20 Context-Sensitive Grammars So, instead of allowing for a single variable on the left-hand side of a rule, we allow for a context: αBγ ! αβγ (1) with α; β; γ 2 (V [ Σ)∗, but β 6= ".