Esecuzione immediata di frammenti di codice sorgente C# tramite l’utilizzo della .NET Compiler Platform


Autoria(s): Rambelli, Giorgio
Contribuinte(s)

Bellavia, Giuseppe

Data(s)

16/03/2016

Resumo

.NET Compiler Platform è un compilatore per i linguaggi C# e Visual Basic realizzato da Microsoft. L’innovazione apportata da tale strumento è l’introduzione di API che permettono di accedere al compilatore; in particolare, è possibile accedere alle strutture dati utilizzate al suo interno, quali simboli o AST, e controllare e/o modificare il processo di compilazione. Una parte di questo progetto, chiamato anche progetto Roslyn, è focalizzata sull’introduzione dello scripting per il linguaggio C#. In questa trattazione si è interessati a sperimentare le possibilità offerte da tale strumento nel campo dell’esecuzione dinamica di frammenti di codice. Gli obiettivi imposti si collocano nell’ambito della re-ingegnerizzazione e dello sviluppo di software. Tali obiettivi sono la re-implementazione dei filtri di selezione contenuti nel framework Phoenix, utilizzando le API di Roslyn per migliorarne le prestazioni, e la progettazione di un componente che realizzi una console per lo scripting C# dotata della possibilità di riferire dinamicamente librerie. Le API di compilazione si rivelano essere non propriamente adatte all’esecuzione immediata di frammenti di codice, nonostante ciò, è possibile, appoggiandosi alla reflection, utilizzarle per giungere a questo risultato. Lo scripting, invece, si rivela uno strumento dalle grandi potenzialità nel suddetto ambito.

Formato

application/pdf

Identificador

http://amslaurea.unibo.it/10460/1/Esecuzione_immediata_di_f.pdf

Rambelli, Giorgio (2016) Esecuzione immediata di frammenti di codice sorgente C# tramite l’utilizzo della .NET Compiler Platform. [Laurea], Università di Bologna, Corso di Studio in Ingegneria informatica [L-DM270] <http://amslaurea.unibo.it/view/cds/CDS0926/>

Relação

http://amslaurea.unibo.it/10460/

Direitos

info:eu-repo/semantics/restrictedAccess

Palavras-Chave #roslyn C# scripting compilatore AST #scuola :: 843884 :: Ingegneria e Architettura #cds :: 0926 :: Ingegneria informatica [L-DM270] #sessione :: terza
Tipo

PeerReviewed