Download presentation

Presentation is loading. Please wait.

Published byAbel Snow Modified over 3 years ago

1
About Grammars CS 130 Theory of Computation HMU Textbook: Sec 7.1, 6.3, 5.4

2
About grammars Simplifying grammars Normal forms for grammars Grammar Ambiguity

3
Grammar Productions Formal definition of a grammar provides much leeway Productions can be simplified or restricted to make proofs about CFGs simpler

4
Simplifications Removing useless symbols Those that cannot be derived from S and those that cannot reduce to a terminal string Removing є-productions A є Removing unit productions A B Normal forms e.g., Chomsky Normal Form

5
Useless symbols We want to ensure all productions in the grammar have no useless symbols, i.e., all symbols are generating and reachable Generating symbols All variables that could eventually derive a string of terminals; i.e., all A in V, such that there exists a string w of terminals where A * w Reachable symbols All variables that can be reached from the start symbol; i.e., all A in V, such that S * uAw, for some u and w

6
Removing useless productions Remove productions with non-generating symbols Requires identifying generating symbols recursively: right hand side of production contains only terminals and generating symbols Remove productions with non-reachable symbols Requires identifying reachable symbols recursively: S is reachable, and so are symbols that exist on the right hand side of productions with reachable symbols on the left hand side

7
Epsilon Productions є-productions: productions of the form A є Nullable symbols: symbols A where A є or A B 1 B 2 …B n such that each B i is nullable For each production that has a nullable symbol on the right hand side, add a production without that symbol; apply rule iteratively on resulting productions After this step, all є-productions can be removed Note, if the language L generated by the original grammar includes є, then the language generated by the resulting grammar will be L – {є}

8
Unit Productions Unit productions: all productions of the form A B Removing unit productions Identify unit pairs: pairs of variables (A, B) such that A * B, and the derivation involves only unit productions For each unit pair (A, B), add the production A w, whenever B w and w is not a variable Unit productions may now be removed

9
Chomsky Normal Form CNF: all productions are of the form A BC(B, C are variables) A a(a is a terminal) How do we convert a grammar to an equivalent CNF grammar?

10
Greibach Normal Form GNF: all productions are of the form A aB 1 B 2 …B n Note that A a is allowed Note that if the grammar is GNF, each step in a derivation of a string adds a terminal How do we convert a grammar to an equivalent GNF grammar?

11
Recall CFG to PDA conversion Transition function is based on the variables, productions and terminals of the grammar: (q 0, є, A) includes (q 0, w) whenever A w (q 0, a, a) = (q 0, є ) for each a in T Easier and more intuitive if the grammar is of GNF (q 0, a, A) = (q 0, B 1 B 2 …B n ) for each production A aB 1 B 2 …B n

12
Ambiguous grammar A grammar G is ambiguous if there exists a string for which two different parse trees exist (two different leftmost derivations) Example: S i = E E n E i E E + E E E * E Parse tree for i = n + n * n ?

13
Two leftmost derivations S i = E i = E + E i = n + E i = n + E * E i = n + n * E i = n + n * n S i = E i = E * E i = E + E * E i = n + E * E i = n + n * E i = n + n * n

14
Grammar and precedence S i = E E E + T E T T T * F T F F n F i Parse tree for i = n + n * n ? S i = E i = E + T i = T + T i = F + T i = n + T i = n + T * F i = n + F * F i = n + n * F i = n + n * n

15
Chomsky hierarchy Relaxing or adding restrictions to productions in a grammar leads towards a hierarchy of languages Note: Context-free grammar definition imposes that a production should take the form A w, where A T and w is a string over T V

16
Chomsky hierarchy Regular languages (type 3) A sB, A s (A, B V, s T) Context-free languages (type 2) A w (w is a string over T V) Context-sensitive languages (type 1) uAw uvw (u,v,w are strings over T V) Recursively enumerable languages (type 0) v w (productions are unrestricted)

17
Chomsky hierarchy regular recursive recursively enumerable context-free context-sensitive type 0 type 1 type 2 type 3

Similar presentations

OK

CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.

CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To ensure the functioning of the site, we use **cookies**. We share information about your activities on the site with our partners and Google partners: social networks and companies engaged in advertising and web analytics. For more information, see the Privacy Policy and Google Privacy & Terms.
Your consent to our cookies if you continue to use this website.

Ads by Google

Ppt on shell structures Ppt on object-oriented concepts in c++ Ppt on leadership quotes Converter pub to ppt online maker Download ppt on cell organelles and their functions Ppt on business plan in india Ppt on forest society and colonialism in india Ppt on cartesian product matlab Ppt on statistics in maths what does the range Free download ppt on resources and development