Ciao a tutti,
l’esercizio chiede di definire la categoria sintattica <Identificatore> che corrisponde a tutte le stringhe costituenti gli identificatori in Pascal.
Ho tenuto conto del fatto che gli identificatori possono essere espressioni che contengono, sia identificatori sia numeri sia espressioni.
Ho dei dubbi sulla soluzione:
<Lettera>::=a|A|.....z|Z
<Cifra>::=0|…|9
<Numero>::=<Numero><Cifra>|<Cifra>
<Identificatore>::=<Identificatore><Lettera>|<Identificatore><Numero>|<Lettera>
<Identificatore>::=<Identificatore>=<Espressione>
<Espressione>::=<Identificatore>|<Numero>
<Espressione>::=(<Espressione>)
<Espressione>::=<Espressione>+<Espressione>
<Espressione>::=<Espressione>-<Espressione>
<Espressione>::=<Espressione>*<Espressione>
<Espressione::=<Espressione >/<Espressione>
Grazie in anticipo per l’aiuto.