-- Mar 18 In-Class Exercise
Step 1. Add new start variable
S0→ S
S → SS|(S)|a
Step 2. No empty strings so no need to apply an empty rule.
-
Step 3. Remove unit rules
S0 → SS|(S)|a
S → SS|(S)|a
Step 4. Split up rules with right-hand-side of length longer than 2
S0 → SS(A1, A2)a
A1 → (
A2 → SA3
A3 → )
S → SS(B1, B2)a
B1 → (
B2 → SB3
B3 → )
Step 5. Put each rule RHS length 2 in right format
S0 → SS | A1A2 | a
A1 → (
A2 → SA3
A3 → )
S → SS | B1B2 | a
B1 → (
B2 → SB3
B3 → )
Step 1. Add new start variable
S0→ S
S → SS|(S)|a
Step 2. No empty strings so no need to apply an empty rule.
-
Step 3. Remove unit rules
S0 → SS|(S)|a
S → SS|(S)|a
Step 4. Split up rules with right-hand-side of length longer than 2
S0 → SS(A1, A2)a
A1 → (
A2 → SA3
A3 → )
S → SS(B1, B2)a
B1 → (
B2 → SB3
B3 → )
Step 5. Put each rule RHS length 2 in right format
S0 → SS | A1A2 | a
A1 → (
A2 → SA3
A3 → )
S → SS | B1B2 | a
B1 → (
B2 → SB3
B3 → )