05-autovalutazione-g.. - Dipartimento di Informatica e Automazione

Corso di Laurea Ingegneria Informatica
Fondamenti di Informatica
Dispensa A05
Autovalutazione Grammatiche
Alfonso Miola
Ottobre 2009
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
1
Grammatica per il linguaggio degli interi
con o senza segno di lunghezza qualsiasi
Dato il seguente lessico
V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}  {+,-}
Dato il seguente insieme di simboli non terminali
N = {<intero>, <intero-senza-segno>,
<cifra-non-nulla>, <cifra>}
Dato il seguente simbolo iniziale
S = <intero>
ESERCIZIO
Completare la Grammatica con l’insieme delle regole di
produzione utilizzando il formalismo EBNF e costruire
l’albero sintattico per un esempio a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
2
Grammatica per il linguaggio
degli identificatori
Dato il seguente lessico
V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}  {a, b, c, ... , y, z,
A, B, ... ,Y, Z,}  { _ }
Dato il seguente insieme di simboli non terminali
N = {<identificatore>, <sequenza-caratteri>,
<carattere-alfanumerico>,<carattere-alfabetico>,
<cifra>}
Dato il seguente simbolo iniziale
S = <identificatore>
ESERCIZIO
Completare la Grammatica con l’insieme delle regole di
produzione utilizzando il formalismo EBNF e costruire
l’albero sintattico per un esempio a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
3
Grammatica per il linguaggio
delle stringhe di sole lettere maiuscole
Dato il seguente lessico
V = {A, B, ... ,Y, Z,}
Dato il seguente insieme di simboli non terminali
N = {<stringa_maiuscola>,<lettera-maiuscola>}
Dato il seguente simbolo iniziale
S = <stringa_maiuscola>
ESERCIZIO
Completare la Grammatica con l’insieme delle
regole di produzione utilizzando il formalismo
EBNF e costruire l’albero sintattico per un
esempio a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
4
Grammatica per il linguaggio
delle stringhe con almeno una cifra
Dato il seguente lessico
V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}  {a, b, c, ... , y, z,
A, B, ... ,Y, Z,}
Dato il seguente insieme di simboli non terminali
N = {<stringa>, <carattere-alfanumerico>,
<carattere-alfabetico>, <cifra>}
Dato il seguente simbolo iniziale
S = <stringa>
ESERCIZIO
Completare la Grammatica con l’insieme delle regole di
produzione utilizzando il formalismo EBNF e costruire
l’albero sintattico per un esempio a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
5
Grammatica per il linguaggio
delle targhe automobilistiche
Dato il seguente lessico
V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}  {A, B, ... ,Y, Z,}
Dato il seguente insieme di simboli non terminali
N = {<targa>,<lettera-maiuscola>,<cifra> }
Dato il seguente simbolo iniziale
S = <targa>
ESERCIZIO
Completare la Grammatica con l’insieme delle
regole di produzione utilizzando il formalismo
EBNF e costruire l’albero sintattico per un
esempio a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
6
Grammatica per il linguaggio delle
stringhe con lettere e cifre alternate
Dato il seguente lessico
V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}  {a, b, c, ... , y, z,
A, B, ... ,Y, Z,}
Dato il seguente insieme di simboli non terminali
N = {<stringa>, <lettera>, <cifra>}
Dato il seguente simbolo iniziale
S = <stringa>
ESERCIZIO
Completare la Grammatica con l’insieme delle regole di
produzione utilizzando il formalismo EBNF e costruire
l’albero sintattico per un esempio a scelta
http://www.dia.uniroma3.it/~java/fondinf/
Autovalutazione Grammatiche
7