Linguaggi e Traduttori 2
Anno accademico 2008/2009 - Secondo semestre
Parser bottom-up
CUP
Constructor of Useful Parsers
Note relative all'installazione.
Esempio: espressioni aritmetiche
Gli esempi presentati svolgono compiti analoghi a quelli presentati per il
parsing top-down.
È stata utilizzata la versione 11a beta di CUP.
In alcuni esempi viene inoltre utilzzata la classe
EspressioneException del package
lt2.calc.
Nota
L'analizzatore sintattico generato da CUP utilizza token prelevati
dall'analizzatore lessicale da uno stream di input. La fine dello
stream è indicata da un particolare token EOF. Nella maggior
parte dei casi lo stream è un file di testo. Negli esempi
precedenti, invece, l'input dell'applicazione è sempre una riga
di testo a partire dalla quale, mediante l'uso di
StringReader viene creato uno strem corrispondente a essa.
Forniamo un esempio in cui la lettura avviene
da un file (lo standard input). Si tratta sempre di una calcolatrice
(senza identificatori), in cui possono
essere inserite più espressioni, una per riga. Si notino le
modifiche al file di specifica sintattica, con una nuova variabile per
trattare più righe di testo.
WebCounter
segnala
accessi a queste pagine dal 22 febbraio 2000
Ultimo
aggiornamento: 4 giugno 2009
© Giovanni Pighizzini