Download presentation
Presentation is loading. Please wait.
Published byDebra Harmon Modified over 9 years ago
1
1 Context-Free Languages
2
2 Regular Languages
3
3 Context-Free Languages
4
4 Pushdown Automata Context-Free Grammars stack automaton
5
5 Context-Free Grammars
6
6 Grammars Grammars express languages Example: the English language
7
7
8
8 A derivation of “the dog walks”:
9
9 A derivation of “a cat runs”:
10
10 Language of the grammar: L = { “a cat runs”, “a cat walks”, “the cat runs”, “the cat walks”, “a dog runs”, “a dog walks”, “the dog runs”, “the dog walks” }
11
11 Notation VariableTerminal Production Rules
12
12 Another Example Grammar: Derivation of sentence :
13
13 Grammar: Derivation of sentence :
14
14 Other derivations:
15
15 Language of the grammar
16
16 More Notation Grammar Set of variables Set of terminal symbols Start variable Set of Production rules
17
17 Example Grammar :
18
18 More Notation Sentential Form: A sentence that contains variables and terminals Example: Sentential Formssentence
19
19 We write: Instead of:
20
20 In general we write: If:
21
21 By default:
22
22 Example Grammar Derivations
23
23 Grammar Example Derivations
24
24 Another Grammar Example Grammar : Derivations:
25
25 More Derivations
26
26 Language of a Grammar For a grammar with start variable : String of terminals
27
27 Example For grammar : Since:
28
28 A Convenient Notation
29
29 Example A context-free grammar : A derivation:
30
30 A context-free grammar : Another derivation:
31
31 (((( )))) Describes parentheses:
32
32 A context-free grammar : A derivation: Example
33
33 A context-free grammar : Another derivation:
34
34
35
35 A context-free grammar : A derivation: Example
36
36 A context-free grammar : A derivation:
37
37 () ((( ))) (( )) Describes matched parentheses:
38
38 Definition: Context-Free Grammars Grammar Productions of the form: String of variables and terminals VariablesTerminal symbols Start variable Variable
39
39 Definition: Context-Free Languages A language is context-free if and only if there is a context-free grammar with
40
40 Derivation Order Leftmost derivation: Rightmost derivation:
41
41 Leftmost derivation: Rightmost derivation:
42
42 Derivation Trees
43
43
44
44
45
45
46
46
47
47 Derivation Tree
48
48 yield Derivation Tree
49
49 Partial Derivation Trees Partial derivation tree
50
50 Partial derivation tree
51
51 Partial derivation tree sentential form yield
52
52 Same derivation tree Sometimes, derivation order doesn’t matter Leftmost: Rightmost:
53
53 Ambiguity
54
54 leftmost derivation
55
55 Rightmost derivation
56
56 Two derivation trees
57
57 The grammar is ambiguous: stringhas two derivation trees
58
58 stringhas two leftmost derivations The grammar is ambiguous:
59
59 Definition: A context-free grammar is ambiguous if some string has: two or more derivation trees
60
60 In other words: A context-free grammar is ambiguous if some string has: two or more leftmost derivations (or rightmost)
61
61 Why do we care about ambiguity? take
62
62
63
63
64
64 Correct result:
65
65 We want to remove ambiguity Ambiguity is bad for programming languages
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.