(Most textbook authors also allow the production S![]()
so long as S does not appear on the right hand side of any production.)
Chomsky Normal Form is particularly useful for programs that have to manipulate grammars.
Grammars in Greibach Normal Form are typically ugly and much longer than the cfg from which they were derived. Greibach Normal Form is useful for proving the equivalence of cfgs and npdas. When we discuss converting a cfg to an npda, or vice versa, we will use Greibach Normal Form.