Download presentation
Presentation is loading. Please wait.
Published byAnis Andrews Modified over 9 years ago
1
CS 3240: Languages and Computation Context-Free Languages
2
A single step derivation “ ” consist of the substitution of a variable by a string according to a substitution rule in R Note that rules use single arrows “ ”, while derivations themselves use double arrows “ ” A sequence of several derivations (or none) is indicated by “ * ” Previous example: “S * aabbaa” L is a Context Free Language if and only if there is a context free grammar G=(V, Σ, P, S) such that L = L(G) = { w | w Σ * and S * w }
3
The language generated by a grammar
4
Some Remarks The language L(G) = { w | w Σ* and S * w } contains only strings of terminals, not variables. Notation: We can agglomerate several rules for one variable: A B A 01 by A B | 01 | AA A AA What is the CFG ({S},{(,)},P, S) that produces the language of correct parentheses like (), (()), or ()(())? Answer: S→ (S) | SS |
5
Parse trees
6
Yield of a parse tree
8
From tree to derivation
10
From derivations to recursive inference
11
ambiguity
12
Removing ambiguity
13
Ambiguity and leftmost derivations
14
Inherent ambiguity
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.