In Example 6.1, show a derivation tree for the string ababbac, using both the original and the modified grammar. EXAMPLE 6.1 Consider G = ({A, B}, {a, b, c}, A, P) with productions A→a|aaA|abBc,B→abbA|b.A→a|aaA|abBc,B→abbA|b. Using the suggested substitution for the variable B, we get the grammar Ĝ with productions A→a|aaA|ababbAc|abbc,B→abbA|b.A→a|aaA|ababbAc|abbc,B→abbA|b. The new grammar Ĝ is equivalent to G. The string aaabbc has the derivation A ⇒ aaA ⇒ aaabBc ⇒ aaabbc in G, and the corresponding derivation A ⇒ aaA ⇒ aaabbc in Ĝ. Notice that, in this case, the variable B and its associated productions are still in the grammar even though they can no longer play a part in any derivation. We will next show how such unnecessary productions can be removed from a grammar.
In Example 6.1, show a derivation tree for the string ababbac, using both the original and the modified grammar.
EXAMPLE 6.1
Consider G = ({A, B}, {a, b, c}, A, P) with productions
A→a|aaA|abBc,B→abbA|b.A→a|aaA|abBc,B→abbA|b.
Using the suggested substitution for the variable B, we get the grammar Ĝ with productions
A→a|aaA|ababbAc|abbc,B→abbA|b.A→a|aaA|ababbAc|abbc,B→abbA|b.
The new grammar Ĝ is equivalent to G. The string aaabbc has the derivation
A ⇒ aaA ⇒ aaabBc ⇒ aaabbc
in G, and the corresponding derivation
A ⇒ aaA ⇒ aaabbc
in Ĝ.
Notice that, in this case, the variable B and its associated productions are still in the grammar even though they can no longer play a part in any derivation. We will next show how such unnecessary productions can be removed from a grammar.
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images