X# e Roslyn

di | 01/05/2016

Dopo aver partecipato alla conferenza Xbase.Future a Colonia in Germania, sono tornato con tante nuove informazioni dal team di sviluppo, e qualche informazione verrà pubblicata su questo sito nelle prossime settimane.

Roslyn (link su Wikipedia inglese: https://en.wikipedia.org/wiki/.NET_Compiler_Platform) è un progetto Microsoft che pubblica le sorgenti dei loro compilatori C# e VB.NET su Github – praticamente Roslyn è il nome in codice dei compilatori Microsoft contenuti in Visual Studio 2015.

Questi compilatori non solo sono disponibili in codice sorgente su GitHub, ma sono anche realizzati in maniera molto modulare permettendo di suddividivere i vari step di compilazione.

Questo fatti ha permesso al team X# di basare il loro nuovo compilatore Xbase direttamente su queste sorgenti, sostituendo solo la prima fase della compilazione C# con una scritta da loro con l’aiuto di ANTLR per “capire” la sintassi Xbase. Inoltre hanno dovuto modificare anche una parte della seconda fase di compilazione. Ma rimane il fatto che la maggior parte della generazione del codice X# viene eseguito da codice Microsoft ampiamente testato e affermato. Questo ha permesso di implementare sin dall’inizio delle funzionalità così avanzate come LinQ, la definizione di classi generiche o il supporto al “CallerMemberName”.

Inoltre questo procedimento permette non solo un notevole progresso nello sviluppo del nuovo compilatore, ma permette da quasi subito la generazione di applicazioni da mettere in uso.

Altro vantaggio notevole: visto che anche l’integrazione in Visual Studio usa il compilatore Roslyn, anche qui X# parte avvantaggiato rispetto al suo predecessore in ambito Xbase.