← Back
OtherItalian

Tema 020714

Study material for Formal Languages and Compilers, shared by the Studwiz community and reviewed by moderators.

Formal Languages and CompilersOther

Document information

What's included in this study material

Study material for Formal Languages and Compilers, shared by the Studwiz community and reviewed by moderators.

Import quality: text was extracted directly from the original document.

Extracted content from the document

Representative passages recognised in different parts of the material. The full extracted text remains available to search, while this compact preview makes the page easier to read.

Page 1

Linguaggi Formali e Compilatori Proff. Breveglieri, Morzenti Prova scritta 1: Domanda relativa alle esercitazioni 02/07/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’analizza- tore 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 l’ope- ratore ternario splice che, date due espressioni e1 ed e2 ed un’ espressione costante ec, ` e definito sintatticamente come e1 $ e2 @ ec. L’ espressione risultante si ottiene combinan- do ec bit pi` u significativi die1 con 32− ec meno significativi di e2. L’implementazione int a, b, splice; read(a); read(b); // a = 32768; b = 65536 // a = 00000000000000010000000000000000 // b = 00000000000000001000000000000000 splice = a $ b @ 16; // splice = 98304 // splice = 00000000000000011000000000000000 write(splice); Figura 1: Esempio dell’operatore deve verificare che il terzo operando sia una costante e che il suo valore sia compreso tra 0 e 32. Se il valore di ec ` e superiore a 32 allora lo splice viene realizzato su 32 bit. 1Tempo 60’. Libri e appunti personali possono essere consultati. `E consentito scrivere…

Preview

First page of the document.

First page: Tema 020714