ContextFree Languages - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

ContextFree Languages

Description:

Ambiguity. A context-free grammar G is said to be ambiguous if ... Ambiguity. If L is a context-free language for which there exists an ... – PowerPoint PPT presentation

Number of Views:142
Avg rating:3.0/5.0
Slides: 43
Provided by: TruHoa3
Category:

less

Transcript and Presenter's Notes

Title: ContextFree Languages


1
Context-Free Languages
  • Not all languages are regular.
  • L1 anbn n ? 0 is not regular.
  • L2 (), (()), ((())), ... is not regular.
  • ?
  • some properties of programming languages

2
Context-Free Grammars
  • G (V, T, S, P)
  • Productions are of the form
  • A ? x
  • A ? V and x ? (V ? T)

3
Context-Free Grammars
  • A regular language is also a context-free
    language.

4
Context-Free Grammars
  • A regular language is also a context-free
    language.
  • Why the name?

5
Example
  • G (S, a, b, S, P)
  • P S ? aSa
  • S ? bSb
  • S ? ?
  • S ? aSa ? aaSaa ? aabSbaa ? aabbaa

6
Example
  • G (S, a, b, S, P)
  • P S ? aSa
  • S ? bSb
  • S ? ?
  • S ? aSa ? aaSaa ? aabSbaa ? aabbaa
  • L(G) wwR w ? a, b

7
Example
  • G (S, A, B, a, b, S, P)
  • P S ? abB
  • A ? aaBb
  • B ? bbAa
  • A ? ?
  • S ? abB ? abbbAa ? abbbaaBba ? abbbaabbAaba ?
    abbbaabbaba

8
Example
  • L anbm n ? m is context-free.
  • G (?, a, b, S, ?)

9
Example
  • L anbm n ? m is context-free.
  • G (?, a, b, S, ?)
  • P S ? AS1 S1B
  • S1 ? aS1b ?
  • A ? aA a
  • B ? bB b

10
Example
  • G (S, a, b, S, P)
  • P S ? aSb SS ?
  • S ? aSb ? aaSbb ? aaSSbb ? aaabSbb ?
    aaababbb

11
Example
  • G (S, a, b, S, P)
  • P S ? aSb SS ?
  • S ? aSb ? aaSbb ? aaSSbb ? aaabSbb ?
    aaababbb
  • L(G) ?

12
Derivations
  • G (S, A, B, a, b, S, S ? AB, A ? aaA, A ?
    ?, B ? Bb, B ? ?) 1 2 3 4
    5
  • S ? AB ? aaAB ? aaB ? aaBb ? aab
  • S ? AB ? ABb ? aaABb ? aaAb ? aab

1
2
3
4
5
1
4
2
5
3
13
Derivations
  • Leftmost in each step the leftmost variable in
    the sentential form is replaced.
  • Rightmost in each step the rightmost variable in
    the sentential form is replaced.

14
Example
  • G (S, A, B, a, b, S, S ? AB, A ? aaA, A ?
    ?, B ? Bb, B ? ?) 1 2 3 4
    5
  • S ? AB ? aaAB ? aaB ? aaBb ? aab
    leftmost
  • S ? AB ? ABb ? aaABb ? aaAb ? aab

1
2
3
4
5
1
4
2
5
3
15
Derivation Trees
  • A ? abABc

ordered tree
16
Derivation Trees
  • Let G (V, T, S, P) be a context-free grammar.
  • An ordered tree is a derivation tree iff
  • The root is labeled S.
  • Every leaf has a label from T ? ?.
  • Every interior vertex has a label from V.
  • A vertex has label A?V and its children are
    labeled a1, a2, ..., an iff
  • P contains the production A ? a1 a2 ... an.
  • A leaf labeled ? has no siblings.

17
Derivation Trees
  • Let G (V, T, S, P) be a context-free grammar.
  • An ordered tree is a partial derivation tree
    iff
  • The root is labeled S.
  • Every leaf has a label from T ? ?.
  • Every leaf has a label from V ? T ? ?.
  • Every interior vertex has a label from V.
  • A vertex has label A?V and its children are
    labeled a1, a2, ..., an iff
  • P contains the production A ? a1 a2 ... an.
  • A leaf labeled ? has no siblings.

18
Derivation Trees
  • The string of symbols obtained by reading the
    leaves of a tree from left to
  • right (omitting any ?'s encountered) is called
    the yield of the tree.

19
Derivation Trees
S
  • S ? aAB
  • A ? bBb
  • B ? A ?
  • yield abbbb

a
A
B
b
b
B
A
?
b
b
B
?
20
Derivation Trees
S
  • S ? aAB
  • A ? bBb
  • B ? A ?

a
A
B
b
b
B
A
?
b
b
B
partial derivation tree
?
21
Sentential Forms Derivation Trees
  • Let G (V, T, S, P) be a context-free grammar.
  • w?L(G) iff there exists a derivation tree of G
    whose yield is w.
  • If tG is a partial derivation tree of G whose
    root label is S,
  • then the yield of tG is a sentential form of G.

22
Membership and Parsing
  • Membership algorithm tells if w?L(G).
  • Parsing finding a sequence of productions by
    which
  • w?L(G) is derived.

23
Membership and Parsing
  • S ? SS aSb bSa ? w aabb

24
Exhaustive Search Parsing
  • Top-down parsing.
  • S ? SS aSb bSa ? w aabb
  • 1. S ? SS S ? SS ? SSS S ? aSb ? aSSb
  • 2. S ? aSb S ? SS ? aSbS S ? aSb ? aaSbb
  • 3. S ? bSa S ? SS ? bSaS S ? aSb ? abSab
  • 4. S ? ? S ? SS ? S S ? aSb ? ab
  • S ? aSb ? aaSbb ? aabb

25
Exhaustive Search Parsing
  • It is not efficient.
  • If w ? L(G) then it may never terminate, due to
  • A ? B
  • A ? ?

26
Exhaustive Search Parsing
  • Suppose G (V, T, S, P) is a context-free
    grammar which
  • does not have any rule of the form A ? B or A ?
    ?.
  • Then the exhaustive search parsing method can
    decide if
  • w?L(G) or not.

27
Exhaustive Search Parsing
  • Suppose G (V, T, S, P) is a context-free
    grammar which
  • does not have any rule of the form A ? B or A ?
    ?.
  • Then the exhaustive search parsing method can
    decide if
  • w?L(G) or not.
  • Proof no more than w rounds are involved.

28
Exhaustive Search Parsing
  • Suppose G (V, T, S, P) is a context-free
    grammar which
  • does not have any rule of the form A ? B or A ?
    ?.
  • Then the exhaustive search parsing method can
    decide if
  • w?L(G) or not.
  • Proof no more than w rounds are involved.
  • Complexity Pw.

29
Theorem
  • For every context-free grammar G, there exists an
  • algorithm that parses any w?L(G) in a number of
    steps
  • proportional to w3.
  • Not satisfactory as linear time parsing algorithm
    (proportional
  • to the length of a string)

30
Simple Grammars (S-Grammars)
  • G (V, T, S, P)
  • Productions are of the form
  • A ? ax
  • A ? V, a ? T, and x ? V, and any pair (A,a) can
    occur
  • in at most one rule.

31
Simple Grammars (S-Grammars)
  • Any w?L(G) can be parsed in at most w steps.
  • w a1a2 ... an
  • S ? a1A1A2 ... Am ? a1a2B1B2 ... BkA1A2 ... Am

32
Simple Grammars (S-Grammars)
  • Many features of Pascal-like programming
    languages can
  • be expressed with s-grammars.

33
Ambiguity
  • A context-free grammar G is said to be ambiguous
    if
  • there exits some w?L(G) that has at least two
    distinct
  • derivation trees.

34
Ambiguity
  • S ? aSb SS ?
  • w aabb

S
S
S
S
a
b
a
b
S
S
?
a
b
a
b
S
S
?
?
35
Ambiguity
  • G (E, I, a, b, c, , , (, ), E, P) w a
    b c
  • E ? I
  • E ? E E
  • E ? E E
  • E ? (E)
  • I ? a b c

36
Ambiguity
  • G (E, T, F, I, a, b, c, , , (, ), E, P)
    w a b c
  • E ? T E T
  • T ? F T F
  • E ? E E
  • F ? I (E)
  • I ? a b c

37
Ambiguity
  • If L is a context-free language for which there
    exists an
  • unambiguous grammar, then L is said to be
    unambiguous.

38
Ambiguity
  • If L is a context-free language for which there
    exists an
  • unambiguous grammar, then L is said to be
    unambiguous.
  • If every grammar that generates L is ambiguous,
    then L is
  • called inherently ambiguous.

39
Ambiguity
  • L anbncm ? anbmcm is inherently
    ambiguous.
  • L L1 ? L2
  • S ? S1 S2
  • S1 ? S1c A S2 ? aS2 B
  • A ? aAb ? B ? bBc ?

40
CFGs and Programming Languages
  • Important uses of formal languages
  • to define precisely a programming language.
  • to construct an efficient translator for it.
  • RLs are used for simple patterns, while CFLs for
    more complicated aspects.

41
CFGs and Programming Languages
  • S-grammars
  • ltif-statementgt if ltexpressiongt ltthen_clausegt
    ltelse_clausegt
  • ltthen_clausegt then ltstatementgt
  • ltelse_clausegt else ltstatementgt

42
Homework
  • Exercises 2, 3, 4, 6, 7, 9, 15, 17, 22 of
    Section 5.1 - Linzs book.
  • Exercises 1, 2, 5, 6, 8, 10, 11, 12, 13, 15 of
    Section 5.2 - Linzs book.
  • Exercises 1, 2, 3 of Section 5.3 - Linzs book.
Write a Comment
User Comments (0)
About PowerShow.com