← Indietro
Altro

Tema 050314

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, Morzenti Prova scritta 1: Domanda relativa alle esercitazioni 05/03/2014 COGNOME: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NOME: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Matricola: . . . . . . . . . . . . . . . . Corso: ◦ Laurea Specialistica ◦ V. O. ◦ Laurea Triennale ◦ Altro: . . . Sezione: ◦ Prof. Breveglieri ◦ Prof.Morzenti Per la risoluzione della domanda relativa alle esercitazioni si deve utilizzare l’imple- mentazione 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 il compilatore Acse con la possibilit` a di gestire i costrutti map e reduce. Si consideri il seguente snippet di codice come esempio dell’utilizzo dei costrutti map e reduce: int vett[100]; int elem, t, sum; map elem on vett as { t = elem * elem; t = t + 2 * elem; elem = t - 9; } read(t); sum = 0; reduce elem into sum as [[ sum + t * elem ]] on vett; write(sum); Il costrutto map ` e utilizzato per applicare una trasformazione inplace degli elementi di un array (es. vett). Per ogni elemento (es. elem) dell’array, viene eseguito il blocco di istruzioni rappresentante la trasformazione e alla fine l’elemento viene riscritto nell’array. Il costrutto reduce ` e utilizzato per applicare una funzione di riduzione a scalare degli elementi di un array (es. vett). Il risultato della riduzione (es. sum) viene aggiornato 1Tempo 60’. Libri e appunti personali possono essere…

Anteprima

Prima pagina del documento.

Prima pagina: Tema 050314