Regular Grammars

Post on 21-Jan-2016

31 views 1 download

description

Regular Grammars. Lecture 11 Naveen Z Quazilbash. Overview. Examples Definition Language defined by the grammar Linearity of grammar Equivalence with NFAs. Examples. Example 1: S  aAb AcA A ε The corresponding language is ac*b Example 2: S  aA A bB BaA B  ε - PowerPoint PPT Presentation

Transcript of Regular Grammars

Regular Grammars

Lecture 11Naveen Z Quazilbash

Overview

• Examples• Definition• Language defined by the grammar• Linearity of grammar• Equivalence with NFAs

Examples

• Example 1:S aAbAcAAε– The corresponding language is ac*b

• Example 2:S aAAbBBaABε– The corresponding language is (ab)+

S=>aAb=>acAb=>accAb=>accbS=>aAb=>ab

S=>aA=>abB=>abS=>aA=>abB=>abaA=>ababB=>abab

Some Definitions

• The substitution rules that form a grammar are called “Productions”.

• The left side of a rule is a “variable”.• The right side is a mixture of variables and

symbols of the alphabet (a.k.a “Terminal symbols”).

Some Definitions Contd. (2)

• A grammar defines the language of all strings that can be derived from the “Start variable, S”, by successive applications of productions.

• Note that the strings of this language do not contain variables.

Some Definitions Contd. (3)

• A sequence of substitutions that leads from S to some string of the language is called a “Derivation”.

• Example:– S=>aA=>abB=>ab is a derivation; we may write it

in a shorter form as S=>*ab, – where “=>*” means “several steps”.

Formal Definition of Grammar

• Formally, a grammar is a four tuple:G= {V, T, S, P}, where

– V= set of variables, e.g. V={S, A, B}– T= set of terminal symbols, e.g. T={a, b}– S= start variable (analogous to the start state in

automaton).– P= set of productions, e.g. P={SaA, AbB, BaA, Bε}

• Note that V and T must be non-empty and disjoint.

Language defined by the Grammar

• The set of all strings derivable from S is the “language defined (or generated) by the grammar”.

Linearity of Grammar

• A Grammar is “Linear” if all productions are of the form Aw1Bw2 or Aw3, where A and B are variables and w1, w2

and w3 are strings (with no variables in them).• Example of a linear grammar:

SaBSεBSb– Shorter notation: Sab | ε– Language: L={an bn: n≥0}, (not a regular language)

• Thus, a linear grammar may generate a language that is not accepted by any finite automaton.

S=>εS=>aB=>aSb=>abS=>aB=>aSb=>aaBb=>aaSbb=>aabb

NON-LINEAR ???

Linearity of Grammar-Contd..

• Right linear grammar: VT*V VT*

• Left linear grammar: VVT* VT*

ASSIGNMENT NO.2

1. For each of the following three languages on ∑={a,b}, draw a DFA that accepts it: (6 points)– All strings that have no b’s (note that it includes ε).– All strings with atleast two a’s and any number of

b’s.– All strings with atmost two a’s and any number of

b’s.

• Due Date: 28th March 2013.