+ All Categories
Home > Documents > CS 3240: Languages and Computation Context-Free Languages.

CS 3240: Languages and Computation Context-Free Languages.

Date post: 02-Jan-2016
Category:
Upload: anis-andrews
View: 241 times
Download: 0 times
Share this document with a friend
Popular Tags:
14
CS 3240: Languages and Computation Context-Free Languages
Transcript
Page 1: CS 3240: Languages and Computation Context-Free Languages.

CS 3240: Languages and Computation

Context-Free Languages

Page 2: CS 3240: Languages and Computation Context-Free Languages.

Context-Free Languages

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 }

Page 3: CS 3240: Languages and Computation Context-Free Languages.

The language generated by a grammar

Page 4: CS 3240: Languages and Computation Context-Free Languages.

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 | AAA AA

What is the CFG ({S},{(,)},P, S) that produces the language of correct parentheses like (), (()), or ()(())? Answer: S→ (S) | SS |

Page 5: CS 3240: Languages and Computation Context-Free Languages.

Parse trees

Page 6: CS 3240: Languages and Computation Context-Free Languages.

Yield of a parse tree

Page 7: CS 3240: Languages and Computation Context-Free Languages.
Page 8: CS 3240: Languages and Computation Context-Free Languages.

From tree to derivation

Page 9: CS 3240: Languages and Computation Context-Free Languages.
Page 10: CS 3240: Languages and Computation Context-Free Languages.

From derivations to recursive inference

Page 11: CS 3240: Languages and Computation Context-Free Languages.

ambiguity

Page 12: CS 3240: Languages and Computation Context-Free Languages.

Removing ambiguity

Page 13: CS 3240: Languages and Computation Context-Free Languages.

Ambiguity and leftmost derivations

Page 14: CS 3240: Languages and Computation Context-Free Languages.

Inherent ambiguity


Recommended