Grammatiche Generative
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
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:
Secondo voi così può andare?
Grazie
Risposte
Chi tace acconsente?

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