Grammatiche Generative

_Tipper
Ho provato a fare questo esercizio: costruire una Grammatica G=(T, N, P, S) di Tipo 2 per generare frasi di selezione del Linguaggio C della forma:
if(condizione) {................} else {................}
dove per il blocco {................} si consideri un'istruzione di assegnazione.
Con T si intende l'alfabeto dei terminali, con N l'alfabeto dei non terminali, con S l'assioma e con P l'insieme delle produzioni.
Io l'ho svolto in questo modo:

T={'if', 'else', '(', ')', '{', '}', '=', '==', '>', '<', '>=', '<=', '!=', 'a', 'b', ..., 'z', '0', '1', ..., '9', ';'}

N={'', '', '', '', '', '', '', '', '', ''}

S={''}

Questo invece è l'elenco delle produzioni:

$\to$ ifelse

$\to$ () | ()+

$\to$ |

$\to$ | | 0 | | | 0

$\to$ 1 | 2 | ... | 9

$\to$ | 0 | | 0

$\to$ == | > | < | >= | <= | !=

$\to$ =; | =;

$\to$ {} | {}


Secondo voi così può andare?

Grazie

Risposte
_Tipper
Chi tace acconsente? :-D

gigilatrottola2
chi tace nn ne ha un'idea o ha dato l'esame due anni fa :D

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