Grammatica lineare per l'espressione: R = b* + (ab)* , ho svolto correttamente?

s.capone7
Salve ragazzi, vorrei chiedervi se ho svolto bene il seguente esercizio:

Scrivere una grammatica lineare destra per l'espressione regolare R = b* + (ab)*

Posto questa domanda perchè il mio prof ha utilizzato un metodo molto lungo, mentre rifacendo l'esercizio da solo mi viene molto più breve.

Inanzitutto osservo che l'espressione data equivale a ${b}^** uu {a*b}^**$

1) Individuo una grammatica per ${b}^**$

Prima determinato una grammatica per ${b}$
che sarebbe $S1\tob$ e aggiungo $S1\to\lambda | bS1$ per ottenere chiusura riflessiva e transitiva.

Perciò la grammatica per ${b}^**$ è la seguente:

$G1 = (X={b}, V= {S1}, S1, P1 = {S1\tobS1 | \lambda})$

2) Individuo grammatica per ${ab}^**$

Per prima individuo grammatica per ${ab}$ che è la seguente:
$S2\toab$ e aggiungo $S2\tolambda | abS2$ per ottenere chiusura riflessiva e transitiva.

Perciò $G2 = (X = {a, b}, V = {S2}, S2, P2 = {S2\toabS2 | \lambda}$

3) Adesso posso costruire una nuova grammatica G3 aggiungendo l'assioma S che indirizza alla prima e alla seconda grammatica

$G3 = (X={X1} uu {X2} = {a, b} , V= V1 uu V2 uu {S} = {S1, S2, S}, S, P)$
dove l'insieme delle produzioni è il seguente:

$P= {S\toS1|S2, S1\tobS1 | \lambda, S2\toabS2 | \lambda}$

E' corretto o sono stato troppo sintetico non giustificando delle cose? Grazie in anticipo

Risposte
apatriarca
Secondo me va bene.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.