Grammatica di un linguaggio

hee136
Mi è stato dato da implementare la grammatica di un linguaggio che prevede alcune operazioni.
Non posterò il testo perchè la mia domanda è più sul generale (indipendente dalle operazioni da implementare).

Nella prima regola sintattica devo mettere in OR tutte le possibili operazioni (che saranno scomposte in parola chiave ed eventuali parametri) o c'è qualcosa di meglio?

PS Se proponete soluzioni, potreste per favore usare la funzione per nascondere?

Grazie

Risposte
Rggb1
"hee136":
Nella prima regola sintattica devo mettere in OR tutte le possibili operazioni (che saranno scomposte in parola chiave ed eventuali parametri) o c'è qualcosa di meglio?

La seconda che hai detto ;) almeno in generale.

Per ora non metto soluzioni, ma una traccia: raggruppa le operazioni.

PS. Stiamo parlando - spero - di una grammatica context-free.

hee136
"Rggb":
[quote="hee136"]Nella prima regola sintattica devo mettere in OR tutte le possibili operazioni (che saranno scomposte in parola chiave ed eventuali parametri) o c'è qualcosa di meglio?

La seconda che hai detto ;) almeno in generale.

Per ora non metto soluzioni, ma una traccia: raggruppa le operazioni.

PS. Stiamo parlando - spero - di una grammatica context-free.[/quote]

Stiamo parlando di CFG.

Per vedere se ho capito il tuo suggerimento ti propongo un esempio.
Nel linguaggio ho due istruzioni
PRINT <int>
e
PRINT <char>

Nella mia grammatica scriverò:
S -> 'PRINT' (int or char);
int -> (0,9)*;
char -> (a,z);

Intendi raggruppare in questo modo?

Grazie.

Rggb1
Certo, è un buon criterio. Ogni regola deve essere abbastanza semplice, di modo da evitare errori, o per poter essere estesa più facilmente.

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