Transformations: removal of ungenerative symbols, unreacheable symbols,
useless symbols, epsilon productions and unit productions