![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Explain the Greibach Normal Form (GNF)
Let G = (V, T, P, S) be a CFL. If every production in P is of the form as given below
A -> aa
Where A is in V, a is in T, and a is in V*, then G is said to be in Greibach Normal Form (GNF).
Example
S -> aAB | bB A -> aA | a
B -> bB | c
- Theorem − Let L be a CFL not containing {s}. Then there exists a GNF grammar G such that L = L(G).
- Lemma 1 − Let L be a CFL. Then there exists a PDA M such that L = LE(M).
- Proof − Assume without loss of generality that s is not in L. The construction can be modified to includes later.
Let G = (V, T, P, S) be a CFG, and assume without loss of generality that G is in GNF.
Construct M = (Q, E, r, 5, q, z, 0) where −
Q = {q}
E = T
r = V
z = S
5: for all a in E and A in r,
5(q, a, A) contains (q, y) if A -> ay is in P or rather −
5(q, a, A) = {(q, y) | A -> ay is in P and y is in r*}, for all a in E and A in r
For a given string x in E*, M will attempt to simulate a leftmost derivation of x with G.
Example
Consider the following CFG in GNF.
S ^ aS S a
Construct M as follows −
Q = {q}
E = T = {a} r = V = {S}
z = S
5(T a S) = {(T S) (T s)}
5(q, s, S) = 0