Domande che se non le sai ti boccia per direttissima
- Che cosa è una macchina astratta? In cosa si differenzia da una macchina fisica?
- Che cos’è un interprete? In cosa consiste il ciclo fetch-decode-execute?
- Che cos’è un compilatore?
- Descrivere la tecnica d’implementazione pura e quella compilativa pura.
- Quando un interprete si può dire corretto? Quando un compilatore si può dire corretto?
- Che cos’è la macchina intermedia? (Come vengono implementate nella realtà le macchine astratte?)
- Quando si dice che una implementazione è di tipo interpretativo e quando di tipo compilativo?
- Quali sono i livelli di descrizione di un linguaggio?
- Definizione di grammatica libera da contesto. Come si deriva una stringa? Qual è il linguaggio generato da una grammatica libera?
- Cos’è un albero di derivazione? Cos’è una derivazione canonica destra/sinistra? Esiste una corrispondenza biunivoca tra alberi di derivazioni e derivazioni canoniche?
- Quando una grammatica è ambigua? (fare un esempio) Quando un linguaggio è ambiguo? (fare un esempio)
- Cos’è l’albero di sintassi astratta? C’è differenza fra sintassi concreta e sintassi astratta? Cos’è lo zucchero sintattico?
Domande che puoi non sapere ma ti guarda brutto
- Cos’è il linguaggio macchina?
- Possono esistere macchine diverse con lo stesso linguaggio macchina?
- In quali modi è possibile implementare una macchina astratta? Elenca vantaggi e svantaggi delle varie tecniche.
- Confrontare l’implementazione di una macchina astratta su una macchina ospite per mezzo di un interprete o di un compilatore.
- L’interprete e il compilatore si possono sempre realizzare?