lecture 4 context free grammars n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Lecture 4 Context-free grammars PowerPoint Presentation
Download Presentation
Lecture 4 Context-free grammars

Loading in 2 Seconds...

play fullscreen
1 / 16

Lecture 4 Context-free grammars - PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on

Lecture 4 Context-free grammars. Jan Maluszynski , IDA, 200 7 http://www.ida.liu.se/~janma janma @ ida.liu.se. Outline. (Sipser 2.1 – 2.3) Motivating example CFG Definition Parse trees, ambiguity Push-down automata Equivalence CFG – PDA Pumping lemma for CFG. Motivating example.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Lecture 4 Context-free grammars' - orpah


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
lecture 4 context free grammars

Lecture 4Context-free grammars

Jan Maluszynski, IDA, 2007

http://www.ida.liu.se/~janma

janma @ ida.liu.se

Jan Maluszynski - HT 2007

outline
Outline

(Sipser 2.1 – 2.3)

  • Motivating example
  • CFG Definition
  • Parse trees, ambiguity
  • Push-down automata
  • Equivalence CFG – PDA
  • Pumping lemma for CFG

Jan Maluszynski - HT 2007

motivating example
Motivating example

A  (A)

A  

Gramatical rules used for rewriting:

A  (A)  ()

A  (A)  ((A))  (((A)))  ((()))

L(A) : all terminal strings derivable

L(A) is not regular!

Jan Maluszynski - HT 2007

context free grammars
Context Free Grammars

A CFG : (V, , R, S)

  • V a finite set of nonterminals (variables)
  •  a finite set of terminals, disjoint with V
  • R a finite set of rules of the form

X  w

where XV and w  (V+ )*

  • SV is a start nonterminal

Jan Maluszynski - HT 2007

context free languages
Context-Free Languages

A CFG G: (V, , R, S)

L(G) denotes the language of G: the set of all terminal strings derivable in G from S

A language is a context-free language iff it is the language of a CFG

Jan Maluszynski - HT 2007

ambiguity
Ambiguity

E  E+E

E  E#E

E  (E)

E  a

Jan Maluszynski - HT 2007

chomsky normal form
Chomsky Normal Form

G is in CNF if every rule is of the form

A  BC or A  a

In addition, there may be the rule

S  

Where S is the start nonterminal

Every CFL is generated by a CNF grammar.

An application: the CYK parsing algorithm

Jan Maluszynski - HT 2007

cocke younger kasami parsing
Cocke-Younger- Kasami parsing

G CNF grammar w string

w = s1 s2 …..sn

CYK checks if w is in L(G)

by constructing a table T[i,j], 1i,j|w|

where: T[i,j] = { X | X => si si+1 …..si+j}

Thus w is in L(G) iff S is in T[1,|w|]

Jan Maluszynski - HT 2007

cyk table
CYK table

Construct T[i,1] for i = 1,…, |w|

X is in T[i,1] iff X  si

Having T[i,j] and T[i+j,k] construct T[i,j+k]:

Y is in T[i,j+k] iff

for some X in T[i,j] , Z in T[i+j,k]

Y  X Z

Jan Maluszynski - HT 2007

cyk transposed table example
CYK (transposed) table example

S  AB | BC A  BA | a B  CC | b C  AB | a

b a a b a

i = 1 2 3 4 5 substrings:

1 B A,C A,C B A,C length 1

2 S,A B S,C S,A length 2

3 - B B length 3

4 - S,A,C length 4

5 S,A,C length 5

e.g. BT[2,3] since BCC, CT[2,1] CT[2+1,2]

Jan Maluszynski - HT 2007

pushdown automaton
Pushdown Automaton

FA extended with a stack

Top stack symbol is an argument of a transition

can be accessed and replaced by a new one

Jan Maluszynski - HT 2007

nondeterministic pushdown automaton
(Nondeterministic) Pushdown Automaton

(Q, , , , q0 ,F)

Q states

 Input alphabet

  • Stack alphabet
  • : (Q  ({})  ({}))  P(Q  ({})

q0Q initial state

FQ final states

Jan Maluszynski - HT 2007

pda vs cfg s
PDA vs. CFG’s

Theorem: A language is context-free iff it is recognized by a pushdown automaton. (p.117)

CFG  PDA :

Idea: simulate derivations on the stack

(see example)

PDA  CFG

Idea: Nonterminals Xpq derive all strings that bring PDA from p to q starting and ending with empty stack (details see pp121-124).

Jan Maluszynski - HT 2007

regular languages are context free
Regular Languages are Context-free

Every Regular Language is Context-free:

FA is a special case of PDA

Regular grammar:

Each rule of the form:

A  aB, A a or A  

A CF language L is regular iff there exists a regular CFG G such that L = L(G).

Jan Maluszynski - HT 2007

pumping lemma for cfl
Pumping lemma for CFL

a +a# a

a+…a+a# a…# a

Jan Maluszynski - HT 2007

pumping lemma for cfl1
Pumping Lemma for CFL

For any CFL L there is p such that

If s  L and |s|  p then

s=uvxyz for some u,v,x,y,z satisfying:

  • For each i 0 uvixyiz L
  • |vy|>0
  • |vxy|  p

Used for proving that a language is not a CFL

Jan Maluszynski - HT 2007