Notes

Macchine Astratte

Definizione ed esempi per macchine astratte # Una macchina astratta è un qualunque insieme di algoritmi e strutture di dati che permettono di memorizzare ed eseguire il linguaggio L , quindi una macchina astratta esiste per esguire il proprio linguaggio (inteso come insieme…

Nomi e Scope

I Nomi e oggetti # Oggetti denotati e identificatori # I nomi sono sequenze di caratteri o numeri aka: token alfanumerico (anche IDENTIFICATORE (per token guardare Grammatiche Regolari ) utilizzate principalmente come Astrazione sul controllo e sui dati (quindi sono cose molto…

Semantica di un linguaggio

Vincoli sintattici contestuali # Intro: dipendenze da contesto # I vincoli sintattici non sono esprimibili tramite BNF perché dipendono dal contesto, mentre le grammatiche libere sono per definizione libere da contesto, vogliamo quindi trovare una soluzione a questo problema.…

Semplificazione grammatiche

Gestione del non determinismo # Il modo più facile per gestire il non determinsmo è semplificare le grammatiche quindi andiamo a vedere metodi per fare ciò. Semplificazione grammatiche (5) # Slide No produzioni del tipo A → ε per bottom up (altrimenti va all'infinito!) No…

Top-down Parser

Top-down # Algoritmo di parsing # Slide Questo si potrebbe considerare come algoritmo classico di parsing con non determinismo. (vado avanti, ed esploro tutto, senza look ahead). Esempio di esecuzione Commenti efficienza di sopra # È molto inefficiente, in particolare si…

Valutazione Espressioni

Espressioni, Comandi, Ricorsione # Espressioni # Con espressione intendiamo una entità sintattica, che una volta valutata ritornerà un valore , oppure non termina, in questo caso si dice che la espressione è INDEFINITA. Questa è una definizione è leggermente ambigua dato che non…

Object Orientation

Il Tipo di Dato Astratto # Introduzione # Per questi tipi di dato non ci interessa di sapere cosa ci sia sotto (storato come bit? storato come sabbia boh), ci interessa solamente che abbia quei metodi, che possiamo in un certo senso identificare come la sua capsula, opaca in…

Polimorfismo

Introduzione # Tipi Monomorfici # Quando non posso utilizzare un tipo come parametro. Ossia non possiamo definire una funzione generica. Polimorfismo # Polimorfismo, come dice il nome, significa avere tante forme, in questo caso tanti tipi. Ma avere tanti tipi non è una cosa…