Linguaggi e Traduttori
Anno Accademico 2017/2018
Corso di Laurea in Informatica - Milano
Home page Linguaggi e Traduttori
Home page 2017/2018
Parser bottom-up
CUP
Constructor of Useful Parsers
Note relative all'installazione.
Esempio: espressioni aritmetiche
Per gli esempi presentati è stata utilizzata la versione 11b di CUP
(1 ottobre 2015).
- Un riconoscitore di espressioni:
versione base (con costruttore deprecato)
altra versione
(utilizzando Symbol Factory)
- Un convertitore da notazione infissa a
notazione postfissa.
- Una calcolatrice.
- Una calcolatrice, con
gli identificatori. La calcolatrice è realizzata
come un interprete di espressioni
identificatori: l'interpretazione viene effettuata a partire da zero
ogni volta che si deve rivalutare l'espressione in ingresso.
- Ancora la calcolatrice
con gli identificatori, implementata mediante la costruzione di abstract syntax tree.
A partire dall'espressione viene costruito un albero che la rappresenta,
insieme a una symbol table. Ogni volta che si deve rivalutare
l'espressione in ingresso si utilizza la rappresentazione ad albero,
senza ripetere l'analisi dell'espressione.
- Un esempio
di rappresentazione più flessibile per gli AST (non presentato a
lezione - non è stata sviluppata la gestione degli
identificatori, che vengono valutati 0).
- Un compilatore per le espressioni
aritmetiche.
Il compilatore genera codice per la macchina a stack.