← Indietro
Altro

Raccolta vecchi temi

Altro di Formal Languages and Compilers per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Formal Languages and CompilersAltro

Informazioni sul documento

Cosa trovi in questo materiale

Altro di Formal Languages and Compilers per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

Linguaggi Formali e Compilatori Proff. Breveglieri, Crespi Reghizzi, Morzenti Prova scritta 1: Domanda relativa alle esercitazioni 05/02/2008 COGNOME: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . NOME: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matricola: . . . . . . . . . . . . . Iscritto a: ◦Laurea Specialistica ◦V. O. ◦Laurea Triennale ◦Al- tro:..... Sezione: ◦Prof. Breveglieri ◦Prof. Crespi ◦Prof.Morzenti Per la risoluzione della domanda relativa alle esercitazioni si deve utilizzare l’implementazione del compilatore Acse che viene fornita insieme al compito. Si richiede di modificare la specifica dell’analizzatore lessicale da fornire a flex , quella dell’analizzatore sintattico da fornire a bison ed i file sorgenti per cui si ritengono necessarie delle modifiche in modo da estendere ilcompilatore Acse con la possibilit` a di gestire un costrutto iterativo di tipo per ogni , del quale viene qui fornito un esempio. int a[100]; int x; int y; ... for(x:a){ y = y + x; } write( y ); ... Questo tipo di costrutto for non eplicita l’indice del vettore. Alla prima itera- zione la variabile xvale a[0] , alla seconda a[1] e cos ` ı via per tutti gli elementi di a. Nell’esempio sopra, il frammento calcola e stampa la sommadi tutti gli elementi di a. Le modifiche devono mettere il compilatore Acse in condizione di analizzare la correttezza sintattica dei costrutti sopra descritti e di generare una traduzione corretta nel linguaggio assembler della macchina Mace . Per risolvere il problema si consiglia di utilizzare la funzione getNewRegister di axe engine.[h,c] , la quale restituisce il numero di un registro (del banco di registri infinito) non ancora assegnato. /* get…

Anteprima

Prima pagina del documento.

Prima pagina: Raccolta vecchi temi