Capítulo 27. El compilador Roslyn

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El propio compilador de C# está escrito en C# y está disponible como un conjunto de bibliotecas modulares conocidas como Roslyn. Al hacer referencia a estas bibliotecas, puedes utilizar la funcionalidad del compilador de muchas formas, además de compilar el código fuente en un ensamblado. Por ejemplo, puedes escribir herramientas de análisis y refactorización de código estático, editores con resaltado de sintaxis y completado de código, y complementos de Visual Studio que entiendan el código C#.

Puedes descargar las bibliotecas Roslyn desde NuGet, y hay paquetes tanto para C# como para Visual Basic. Dado que ambos lenguajes comparten cierta arquitectura, existen dependencias comunes. El ID del paquete NuGet para las bibliotecas del compilador de C# es Microsoft.CodeAnalysis.CSharp.

El sitio GitHub de Roslyn también incluye documentación, ejemplos y guías que demuestran el análisis y la refactorización del código.

Arquitectura Roslyn

La arquitectura Roslyn separa la compilación en tres fases:

  1. Análisis sintáctico del código en árboles sintácticos (la capa sintáctica )

  2. Vinculación de identificadores a símbolos (capa semántica )

  3. Emisión de Lenguaje Intermedio (IL)

En la primera fase, un analizador lee el código C# y produce árboles sintácticos. Un árbol sintáctico es un Modelo de Objetos de Documento (DOM) que describe el código ...

Get C# 8.0 en pocas palabras now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.