Ch-6 CNF and GNF
Ch-6 CNF and GNF
UNIVERSITY INSTITUTE OF
ENGINEERING
COMPUTER SCIENCE
ENGINEERING
Bachelor of Engineering
Theory of Computation (CST-353)
Outcome:
• Student will understand the
CNF
GNF
Chomsky Normal Form
• A context free grammar is said to be in Chomsky Normal
Form if all productions are in the following form:
A → BC
A→α
• A, B and C are non terminal symbols
• α is a terminal symbol
Department of Computer and Science Engineering (CSE)
Preliminary Simplifications
2 Eliminate ε productions
S → AB | a
A→b Initial CFL grammar
S → AB | a
Identify generating symbols
A→b
S→a
Remove non-generating
A→b
Department of Computer and Science Engineering (CSE)
S→a
Identify reachable symbols
A→b
S → AB | a S→a
A→b A→b
Department of Computer and Science Engineering (CSE)
We cannot use S → AB
S → AB | a because B has not been
A→b established to be generating
Department of Computer and Science Engineering (CSE)
Eliminate ε Productions
* ε
A
Nullable variable
Department of Computer and Science Engineering (CSE)
If A is a nullable variable
S → ASA | aB
A→B|S Nullable: {A, B}
B→b|ε
Department of Computer and Science Engineering (CSE)
Eliminate ε Productions
S → ASA | aB S → ASA | aB | AS | SA | S | a
A→B|S A→B|S
B→b|ε B→b
Department of Computer and Science Engineering (CSE)
Eliminate ε Productions
S → ASA | aB S → ASA | aB | AS | SA | S | a
A→B|S A→B|S
B→b|ε B→b
Department of Computer and Science Engineering (CSE)
Eliminate ε Productions
S → ASA | aB S → ASA | aB | AS | SA | S | a
A→B|S A→B|S
B→b|ε B→b
Department of Computer and Science Engineering (CSE)
* B
A
A → B, B → ω, then A → ω
Department of Computer and Science Engineering (CSE)
Example:
T = {*, +, (, ), a, b, 0, 1} Pairs Productions
( E, E ) E→E+T
I → a | b | Ia | Ib | I0 | I1 ( E, T ) E→T*F
F → I | (E) ( E, F ) E → (E)
T→F|T*F ( E, I ) E → a | b | Ia | Ib | I0 | I1
E→T|E+T ( T, T ) T→T*F
( T, F ) T → (E)
( T, I ) T → a | b | Ia |Ib | I0 | I1
Basis: (A, A) is a unit pair ( F, F ) F → (E)
of any variable A, if ( F, I ) F → a | b | Ia | Ib | I0 | I1
A * A by 0 steps. ( I, I ) I → a | b | Ia | Ib | I0 | I1
Department of Computer and Science Engineering (CSE)
Example:
Pairs Productions
… …
( T, T ) T→T*F
( T, F ) T → (E)
( T, I ) T → a | b | Ia |Ib | I0 | I1
… …
I → a | b | Ia | Ib | I0 | I1
E → E + T | T * F | (E ) | a | b | la | lb | l0 | l1
T → T * F | (E) | a | b | Ia | Ib | I0 | I1
F → (E) | a | b | Ia | Ib | I0 | I1
Department of Computer and Science Engineering (CSE)
Final Simplification
Chomsky Normal Form (CNF)
A → αX
Example:
S → XA | BB S = A1 A1 → A2A3 | A4A4
B → b | SB X = A2 A4 → b | A1A4
X→b A = A3 A2 → b
A→a
B = A4 A3 → a
Example:
A4 → A1A4
Department of Computer and Science Engineering (CSE)
Example:
Example:
A4 → A4A4A4
Department of Computer and Science Engineering (CSE)
Example:
Second Step
Eliminate Left
Recursions
Example:
A1 → A2A3 | A4A4
A4 → bA3A4 | b | bA3A4Z | bZ A → αX
Z → A4A4 | A4A4 Z
A2 → b GNF
A3 → a
Department of Computer and Science Engineering (CSE)
Example:
A1 → A2A3 | A4A4
A4 → bA3A4 | b | bA3A4Z | bZ
Z → A4A4 | A4A4 Z
A2 → b
A3 → a
Example:
FAQ :
1. Convert the following grammar to the Chomsky Normal Form.
S→P
P → aPb | ε
2. Is the following grammar context-free?
S → aBSc | abc
Ba → aB
Bb → bb
3. Prove that the language L = { anbncn | n ≥ 1 } is not context-free.
4. Convert the following grammar to the Greibach Normal Form.
S -> a | CD | CS
A -> a | b | SS
C -> a
D -> AS
Department of Computer and Science Engineering (CSE)
REFERENCES :
• Martin J.C., “Introduction to Languages and Theory of
Computation”, Tata McGraw-Hill Publising Company
Limited, 3rd Edition.
• Hopcroft J.E. and Ullman J.D., “Introduction to Automata
Theory Languages and Computation”, Narosa
Publications.
• https://www.erode-sengunthar.ac.in/wp-content/
uploads/2019/04/NORMAL-FORMS.ppt