Grammatica di un linguaggio
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
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
"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

Per ora non metto soluzioni, ma una traccia: raggruppa le operazioni.
PS. Stiamo parlando - spero - di una grammatica context-free.
"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

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.
Certo, è un buon criterio. Ogni regola deve essere abbastanza semplice, di modo da evitare errori, o per poter essere estesa più facilmente.