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

Sezione Setup

Vengono specificate tutte le direttive utili ad un corretto funzionamento del parser.
Inclusione della libreria di Cup e di altre librerie:
    
        import java_cup.runtime.*;

In più può essere presente anche del codice utent.


Sezione dei Terminali e Non terminali

terminal <simbolo>,<simbolo>;

I simboli terminali vengono passati da Jflex o da un altro scanner quando richiesti dal parser

non terminal <simbolo>,<simbolo>;

I simboli non terminali combinano tra loro altri simboli non terminali con simboli terminali, questa viene chiamata regola.

start with <nome_non_terminale>;

Sezione delle precedenze

Qui vengono specificate le precedenze tra simboli terminli. Sono uitli nel caso in cui siamo presenti operazioni matematiche.

precedence left <simbolo_terminale>, ...;
precedence right <simbolo_terminale>, ...;

Sezione delle regole

La sezione delle regole è costituita da una o più regole del tipo:
<simbolo_non_terminale> ::= CorpoDellaRegola ;

CorpoDellaRegola  contiene una sequenza di 0 o più simboli.
Ad ogni regola grammaticale può essere associata un'azione racchiusa tra simboli {:      :}. L'azione viene esguita subito prima dell'operazione di reduce.

Se per un dato non terminale esistono più produzioni, queste
possono essere raggruppate tra loro e separate dal carattere ‘|'.

Dare un occhiata alla sezione "Esempi CUP".

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