Formal Languages and Automata
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Grammars (Cfls & Cfgs) Reading: Chapter 5
Context-Free Languages & Grammars (CFLs & CFGs) Reading: Chapter 5 1 Not all languages are regular So what happens to the languages which are not regular? Can we still come up with a language recognizer? i.e., something that will accept (or reject) strings that belong (or do not belong) to the language? 2 Context-Free Languages A language class larger than the class of regular languages Supports natural, recursive notation called “context- free grammar” Applications: Context- Parse trees, compilers Regular free XML (FA/RE) (PDA/CFG) 3 An Example A palindrome is a word that reads identical from both ends E.g., madam, redivider, malayalam, 010010010 Let L = { w | w is a binary palindrome} Is L regular? No. Proof: N N (assuming N to be the p/l constant) Let w=0 10 k By Pumping lemma, w can be rewritten as xyz, such that xy z is also L (for any k≥0) But |xy|≤N and y≠ + ==> y=0 k ==> xy z will NOT be in L for k=0 ==> Contradiction 4 But the language of palindromes… is a CFL, because it supports recursive substitution (in the form of a CFG) This is because we can construct a “grammar” like this: Same as: 1. A ==> A => 0A0 | 1A1 | 0 | 1 | Terminal 2. A ==> 0 3. A ==> 1 Variable or non-terminal Productions 4. A ==> 0A0 5. A ==> 1A1 How does this grammar work? 5 How does the CFG for palindromes work? An input string belongs to the language (i.e., accepted) iff it can be generated by the CFG G: Example: w=01110 A => 0A0 | 1A1 | 0 | 1 | G can generate w as follows: Generating a string from a grammar: 1. -
Formal Language and Automata Theory (CS21004)
Context Free Grammar Normal Forms Derivations and Ambiguities Pumping lemma for CFLs PDA Parsing CFL Properties Formal Language and Automata Theory (CS21004) Soumyajit Dey CSE, IIT Kharagpur Context Free Formal Language and Automata Theory Grammar (CS21004) Normal Forms Derivations and Ambiguities Pumping lemma Soumyajit Dey for CFLs CSE, IIT Kharagpur PDA Parsing CFL Properties DPDA, DCFL Membership CSL Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004) Context Free Grammar Normal Forms Derivations and Ambiguities Pumping lemma for CFLs PDA Parsing CFL Properties Formal Language and Automata Announcements Theory (CS21004) Soumyajit Dey CSE, IIT Kharagpur Context Free Grammar Normal Forms Derivations and The slide is just a short summary Ambiguities Follow the discussion and the boardwork Pumping lemma for CFLs Solve problems (apart from those we dish out in class) PDA Parsing CFL Properties DPDA, DCFL Membership CSL Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004) Context Free Grammar Normal Forms Derivations and Ambiguities Pumping lemma for CFLs PDA Parsing CFL Properties Formal Language and Automata Table of Contents Theory (CS21004) Soumyajit Dey 1 Context Free Grammar CSE, IIT Kharagpur 2 Normal Forms Context Free Grammar 3 Derivations and Ambiguities Normal Forms 4 Derivations and Pumping lemma for CFLs Ambiguities 5 Pumping lemma PDA for CFLs 6 Parsing PDA Parsing 7 CFL Properties CFL Properties DPDA, DCFL 8 DPDA, DCFL Membership 9 Membership CSL 10 CSL Soumyajit Dey CSE, -
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; .. -
(Or Simply a Grammar) Is (V, T, P, S), Where (I) V Is a Finite Nonempty Set Whose Elements Are Called Variables
UNIT - III GRAMMARS FORMALISM Definition of Grammar: A phrase-Structure grammar (or Simply a grammar) is (V, T, P, S), Where (i) V is a finite nonempty set whose elements are called variables. (ii) T is finite nonempty set, whose elements are called terminals. (iii) S is a special variable (i.e an element of V ) called the start symbol, and (iv) P is a finite set whose elements are ,where and are strings on V T, has at least one symbol from V. Elements of P are called Productions or production rules or rewriting rules. 1. Regular Grammar: A grammar G=(V,T,P,S) is said to be Regular grammar if the productions are in either right-linear grammar or left-linear grammar. ABx|xB|x 1.1 Right –Linear Grammar: A grammar G=(V,T,P,S) is said to be right-linear if all productions are of the form AxB or Ax. Where A,B V and x T*. 1.2 Left –Linear Grammar: A grammar G=(V,T,P,S) is said to be Left-linear grammar if all productions are of the form ABx or Ax Example: 1. Construct the regular grammar for regular expression r=0(10)*. Sol: Right-Linear Grammar: S0A A10A| Computer Science & Engineering Formal Languages and Automata Theory Left-Linear Grammar: SS10|0 2. Equivalence of NFAs and Regular Grammar 2.1 Construction of -NFA from a right –linear grammar: Let G=(V,T,P,S) be a right-linear grammar .we construct an NFA with -moves, M=(Q,T, ,[S],[ ]) that simulates deviation in ‘G’ Q consists of the symbols [ ] such that is S or a(not necessarily proper)suffix of some Right-hand side of a production in P. -
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 . -
A Complex Measure for Linear Grammars‡
1 Demonstratio Mathematica, Vol. 38, No. 3, 2005, pp 761-775 A Complex Measure for Linear Grammars‡ Ishanu Chattopadhyay Asok Ray [email protected] [email protected] The Pennsylvania State University University Park, PA 16802, USA Keywords: Language Measure; Discrete Event Supervisory Control; Linear Grammars Abstract— The signed real measure of regular languages, introduced supervisors that satisfy their own respective specifications. Such and validated in recent literature, has been the driving force for a partially ordered set of sublanguages requires a quantitative quantitative analysis and synthesis of discrete-event supervisory (DES) measure for total ordering of their respective performance. To control systems dealing with finite state automata (equivalently, regular languages). However, this approach relies on memoryless address this issue, a signed real measures of regular languages state-based tools for supervisory control synthesis and may become has been reported in literature [7] to provide a mathematical inadequate if the transitions in the plant dynamics cannot be captured framework for quantitative comparison of controlled sublanguages by finitely many states. From this perspective, the measure of regular of the unsupervised plant language. This measure provides a languages needs to be extended to that of non-regular languages, total ordering of the sublanguages of the unsupervised plant such as Petri nets or other higher level languages in the Chomsky hierarchy. Measures for non-regular languages has not apparently and formalizes a procedure for synthesis of DES controllers for been reported in open literature and is an open area of research. finite state automaton plants, as an alternative to the procedure This paper introduces a complex measure of linear context free of Ramadge and Wonham [5]. -
Automaty a Gramatiky
Context-Free Grammars and Languages More powerful than finite automata. Used to describe document formats, via DTD - document-type definition used in XML (extensible markup language) We introduce context-free grammar notation parse tree. There exist an ’pushdown automaton’ that describes all and only the context-free languages. Will be described later. Automata and Grammars Grammars 6 March 30, 2017 1 / 39 Palindrome example A string the same forward and backward, like otto or Madam, I’m Adam. w is a palindrome iff w = w R . The language Lpal of palindromes is not a regular language. A context-free grammar for We use the pumping lemma. palindromes If Lpal is a regular language, let n be the 1. P → λ asssociated constant, and consider: 2. P → 0 w = 0n10n. 3. P → 1 For regular L, we can break w = xyz such that y consists of one or more 0’s from the 4. P → 0P0 5. P → 1P1 first group. Thus, xz would be also in Lpal if Lpal were regular. A context-free grammar (right) consists of one or more variables, that represent classes of strings, i.e., languages. Automata and Grammars Grammars 6 March 30, 2017 2 / 39 Definition (Grammar) A Grammar G = (V , T , P, S) consists of Finite set of terminal symbols (terminals) T , like {0, 1} in the previous example. Finite set of variables V (nonterminals,syntactic categories), like {P} in the previous example. Start symbol S is a variable that represents the language being defined. P in the previous example. Finite set of rules (productions) P that represent the recursive definition of the language. -
A Turing Machine
1/45 Turing Machines and General Grammars Alan Turing (1912 – 1954) 2/45 Turing Machines (TM) Gist: The most powerful computational model. Finite State Control Tape: Read-write head a1 a2 … ai … an … moves Note: = blank 3/45 Turing Machines: Definition Definition: A Turing machine (TM) is a 6-tuple M = (Q, , , R, s, F), where • Q is a finite set of states • is an input alphabet • is a tape alphabet; ; • R is a finite set of rules of the form: pa qbt, where p, q Q, a, b , t {S, R, L} • s Q is the start state • F Q is a set of final states Mathematical note: • Mathematically, R is a relation from Q to Q {S, R, L} • Instead of (pa, qbt), we write pa qbt 4/45 Interpretation of Rules • pa qbS: If the current state and tape symbol are p and a, respectively, then replace a with b, change p to q, and keep the head Stationary. p q x a y x b y • pa qbR: If the current state and tape symbol are p and a, respectively, then replace a with b, shift the head a square Right, and change p to q. p q x a y x b y • pa qbL: If the current state and tape symbol are p and a, respectively, then replace a with b, shift the head a square Left, and change p to q. p q x a y x b y 5/45 Graphical Representation q represents q Q s represents the initial state s Q f represents a final state f F p a/b, S q denotes pa qbS R p a/b, R q denotes pa qbR R p a/b, L q denotes pa qbL R 6/45 Turing Machine: Example 1/2 M = (Q, , , R, s, F) where: 6/45 Turing Machine: Example 1/2 M = (Q, , , R, s, F) where: • Q = {s, p, q, f}; s f p q 6/45 Turing -
Context-Free Languages & Grammars (Cfls & Cfgs)
Context-Free Languages & Grammars (CFLs & CFGs) Reading: Chapter 5 1 Not all languages are regular n So what happens to the languages which are not regular? n Can we still come up with a language recognizer? n i.e., something that will accept (or reject) strings that belong (or do not belong) to the language? 2 Context-Free Languages n A language class larger than the class of regular languages n Supports natural, recursive notation called “context- free grammar” n Applications: Context- n Parse trees, compilers Regular free n XML (FA/RE) (PDA/CFG) 3 An Example n A palindrome is a word that reads identical from both ends n E.g., madam, redivider, malayalam, 010010010 n Let L = { w | w is a binary palindrome} n Is L regular? n No. n Proof: N N (assuming N to be the p/l constant) n Let w=0 10 k n By Pumping lemma, w can be rewritten as xyz, such that xy z is also L (for any k≥0) n But |xy|≤N and y≠e + n ==> y=0 k n ==> xy z will NOT be in L for k=0 n ==> Contradiction 4 But the language of palindromes… is a CFL, because it supports recursive substitution (in the form of a CFG) n This is because we can construct a “grammar” like this: Same as: 1. A ==> e A => 0A0 | 1A1 | 0 | 1 | e Terminal 2. A ==> 0 3. A ==> 1 Variable or non-terminal Productions 4. A ==> 0A0 5. A ==> 1A1 How does this grammar work? 5 How does the CFG for palindromes work? An input string belongs to the language (i.e., accepted) iff it can be generated by the CFG G: n Example: w=01110 A => 0A0 | 1A1 | 0 | 1 | e n G can generate w as follows: Generating a string from a grammar: 1. -
Pushdown Automata 1 Formal Definition
Abstract. This chapter introduces Pushdown Au- finite tomata, and presents their basic theory. The two control δ top A language families defined by pda (acceptance by final state, resp. by empty stack) are shown to be equal. p stack The pushdown languages are shown to be equal to . the context-free languages. Closure properties of the . context-free languages are given that can be obtained ···a ··· using this characterization. Determinism is considered, input tape and it is formally shown that deterministic pda are less powerfull than the general class. Figure 1: Pushdown automaton Pushdown Automata input. Otherwise, it reaches the end of the input, which is then accepted only if the stack is empty. A pushdown automaton is like a finite state automa- ton that has a pushdown stack as additional mem- ory. Thus, it is a finite state device equipped with a 1 Formal Definition one-way input tape and a ‘last-in first-out’ external memory that can hold unbounded amounts of infor- The formal specification of a pushdown automaton mation; each individual stack element contains finite extends that of a finite state automaton by adding information. The usual stack access is respected: the an alphabet of stack symbols. For technical reasons automaton is able to see (test) only the topmost sym- the initial stack is not empty, but it contains a single bol of the stack and act based on its value, it is able symbol which is also specified. Finally the transition to pop symbols from the top of the stack, and to push relation must also account for stack inspection and symbols onto the top of the stack. -
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. -
Context-Sensitive Grammars and Linear- Bounded Automata
I. J. Computer Network and Information Security, 2016, 1, 61-66 Published Online January 2016 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijcnis.2016.01.08 Context-Sensitive Grammars and Linear- Bounded Automata Prem Nath The Patent Office, CP-2, Sector-5, Salt Lake, Kolkata-700091, India Email: [email protected] Abstract—Linear-bounded automata (LBA) accept The head moves left or right on the tape utilizing finite context-sensitive languages (CSLs) and CSLs are number of states. A finite contiguous portion of the tape generated by context-sensitive grammars (CSGs). So, for whose length is a linear function of the length of the every CSG/CSL there is a LBA. A CSG is converted into initial input can be accessed by the read/write head. This normal form like Kuroda normal form (KNF) and then limitation makes LBA a more accurate model of corresponding LBA is designed. There is no algorithm or computers that actually exists than a Turing machine in theorem for designing a linear-bounded automaton (LBA) some respects. for a context-sensitive grammar without converting the LBA are designed to use limited storage (limited tape). grammar into some kind of normal form like Kuroda So, as a safety feature, we shall employ end markers normal form (KNF). I have proposed an algorithm for ($ on the left and on the right) on tape and the head this purpose which does not require any modification or never goes past these markers. This will ensure that the normalization of a CSG. storage bound is maintained and helps to keep LBA from leaving their tape.