Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub

Viene utilizzata una grammatica Contxt-Free (CF).

E' descritta da:

  • Simboli terminali (sono i tokens dello scanner)
  • Simboli non terminali (servono per definire la sintassi da ripettare)
  • Simbolo di start
  • Regole di produzione

Si utilizza uno stack inizialmente vuoto per memorizzare i simboli richiesti dal parser allo scanner.

I simboli terminali vengono messi sullo stack (shift) fino a che la cima dello stack non contiene la parte destra della regola, se ciò avviene si fa una rifuzione alla parte sinistra della regola quindi al simbolo non terminale.

Si ha successo se esaminati tutti i simboli in ingresso, lo stack contiene solo il simbolo distintivo della grammatica cioè il simbolo di start.

Quindi, Cup è un generatore di analizzatori sintattici che trasforma la descrizione di una grammatica context-free in un programma Java che riconosce ed analizza la grammatica stessa.

Oltre alle regole sintattiche, è possibile specificare quali azioni devono essere eseguite in corrispondenza del riconoscimento dei vari simboli della grammatica.

Il file di ingresso di CUP ha una sintassi molto simile a quella di un programma Java.

Può essere diviso nelle seguenti sezioni:

  • Setup
  • Terminali e Non terminali
  • Precedenze
  • Regole

Possono essere introdotti anche dei commenti.

Average (1 Vote)
The average rating is 5.0 stars out of 5.