Ciao a tutti,
sto preparando l'esame di Fondamenti di Programmazione e ho cominciato a fare alcuni esercizi sulle grammatiche fuori contesto.
Non so se data la seguente traccia la sequenza di operazioni che ho fatto è corretta.

Traccia:

Dare una grammatica per definire la categoria sintattica <Identificatore>, che corrisponde a tutte le stringhe che costituiscono gli identificatori in Pascal. Può essere d’aiuto definire alcune categorie sintattiche ausiliarie come <Cifra>.

Io ho fatto:


<Lettera>::= a|A….z|Z;
<Cifra>::= 0|....|9;

<stringa>::= <lettera>;
<stringa>::= <cifra>;
<Stringa>::= <Lettera> + <Cifra>;
<Stringa>::= <Stringa>+ <Lettera>;
<Stringa>::= <Stringa>+<Cifra>;

<Identificatore>::= <Lettera> + <Stringa>;


Grazie infinite in anticipo!