COSC 3340: Introduction to Theory of Computation - PowerPoint PPT Presentation

About This Presentation
Title:

COSC 3340: Introduction to Theory of Computation

Description:

UofH - COSC 3340 - Dr. Verma. 2. Context Free Languages. Strictly bigger class than regular languages. regular languages ... object apple | orange | mango ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 16
Provided by: Duke9
Learn more at: https://www2.cs.uh.edu
Category:

less

Transcript and Presenter's Notes

Title: COSC 3340: Introduction to Theory of Computation


1
COSC 3340 Introduction to Theory of Computation
  • University of Houston
  • Dr. Verma
  • Lecture 9

2
Context Free Languages
  • Strictly bigger class than regular languages

anbn n gt 0
context-free languages
regular languages
?
?
?
wwR w in a,b
arithmetic expressions
3
A simple grammar for some sentences
  • ltSentencegt ? ltnoungt ltverbgt ltobjectgt
  • ltnoungt ? Alice John
  • ltverbgt ? eats eat ate
  • ltobjectgt ? apple orange mango
  • The goal is to generate sentences in English over
    the English alphabet. Example
  • ltSentencegt ? ltnoungtltverbgtltobjectgt ? Alice
    ltverbgtltobjectgt ?
  • Alice eatsltobjectgt ? Alice eats apple

4
Context-free grammars (CFGs)
  • Informally, a CFG is a finite set of rules.
  • Each rule is of the form
  • ltnonterminal symbolgt ? string over terminals and
    nonterminals.
  • Terminals- symbols that the desired strings
    should contain.
  • Example a...z, ' ',...
  • Nonterminals- symbols to which rules can be
    applied.
  • Example ltnoungt, ltverbgt, ...
  • A special nonterminal is called start symbol.
  • Example ltSentencegt

5
A grammar for arithmetic expressions
  • E ? E E E E (E) x y
  • Start symbol - E.
  • Terminals?
  • Ans x, y, , , (, ), ' '
  • Nonterminals?
  • Ans E
  • A derivation
  • E ? E E ? E E E ? x E E ? x x E ? x
    x y

6
Another grammar for arithmetic exprs
  • E ? E T T
  • T ? T F F
  • F ? (E) x y
  • A derivation for x x y ?
  • E ?E T ?T T ?F T ?x T ?
  • x T F ?x F F ?x x F ?x x y
  • Why two different grammars for arithmetic
    expressions?

7
Context Free Grammar Definition
  • A CFG G (V, T, P, S) where V ? T ?,
  • V -- A finite set of symbols called nonterminals
  • T -- A finite set of symbols called terminals
  • P is a finite subset of V X (V ? T) called
    productions or rules
  • We write A ? w whenever (A, w) ? P.
  • S ? V -- start symbol

8
Derivations and L(G)
  • One step derivation
  • u ? v if u xAy, v xwy and A ? w in P
  • 0 or more steps derivation
  • u ? v if u u0 ? u1 ? .... ? un v (n ? 0)
  • L(G) w in T S ? w .
  • A language L is context-free if there is a CFG G
    with L(G) L

9
Example
  • S ? aSb ?
  • Derivation
  • S ? aSb ? aaSbb ? aabb.
  • L(G) ?
  • Ans anbn n ? 0

10
Parse trees
  • All derivations can be shown in the form of
    trees.
  • Order of rule application is lost.

S
a
b
S
a
b
S
?
11
Parse trees contd.
  • In general, if we apply rule
  • A ? w0w1...wn, then we add nodes for wi as
    children of node labeled A

A
w0
w1
w2
wn
? ? ?
12
E ? E E ? E E E ? x E E ? x x E ? x
x y
E
E
E

x
E

E
x
y
13
E ?E T ?T T ?F T ?x T ?x T F ?x F
F ?x x F ?x x y
E
E
T

F
T

T
F
y
F
x
x
14
Leftmost and Rightmost Derivations
  • Derivation is leftmost if the nonterminal
    replaced in every step is the leftmost
    nonterminal.
  • Consider E ? E E ? E x.
  • Is it leftmost derivation?
  • Derivation is rightmost if the nonterminal
    replaced in every step is the rightmost
    nonterminal.
  • Consider E ? E E ? x E.
  • Is it rightmost derivation?

15
Ambiguity
  • A CFG is ambiguous if there is a string with at
    least two leftmost derivations
  • Example
  • E ? E E E E (E) x y is
    ambiguous
  • A CFL is inherently ambiguous if every CFG that
    generates it is ambiguous.
  • Example
  • anbncm n, m ? 0 ? ambncn n, m ?
    0
Write a Comment
User Comments (0)
About PowerShow.com