Understanding the Go Compiler

Entendiendo el Compilador de Go

8 artículos en esta serie

Artículos

  1. 1

    El Scanner

    Esta es parte de una serie donde te guiaré a través del compilador completo de Go, cubriendo cada fase desde código fuente hasta ejecutable. Si alguna vez te preguntaste qué sucede cuando ejecutas go …

  2. 2

    El Parser

    En el artículo anterior del blog , exploramos el scanner—el componente que convierte tu código fuente de un flujo de caracteres en un flujo de tokens.

    Ahora estamos listos para el siguiente paso: el …

  3. 3

    El Comprobador de Tipos

    En los artículos anteriores , exploramos el scanner—que convierte código fuente en tokens—y el parser —que toma esos tokens y construye un Árbol de Sintaxis Abstracta.

    En artículos futuros, cubriré la …

  4. 4

    El Formato Unified IR

    En el artículo anterior , exploramos cómo el comprobador de tipos del compilador de Go analiza tu código. Vimos cómo resuelve identificadores, verifica la compatibilidad de tipos y asegura que tu …

  5. 5

    El IR

    En los artículos anteriores , hemos explorado cómo el compilador de Go procesa tu código: el scanner lo divide en tokens, el parser construye un Abstract Syntax Tree, el comprobador de tipos lo valida …

  6. 6

    La Fase SSA

    En el artículo anterior , exploramos el IR—el formato de trabajo del compilador donde ocurren la desvirtualización, el inlining y el análisis de escape. El IR optimiza tu código a alto nivel, tomando …

  7. 7

    De SSA a Código Máquina

    En el artículo anterior , exploramos cómo el compiler transforma IR en SSA—una representación donde cada variable se asigna exactamente una vez. Vimos cómo el compiler construye SSA usando Values y …

  8. 8

    El Linker

    En el post anterior , vimos cómo el compilador transforma SSA optimizado en bytes de código máquina y los empaqueta en archivos objeto. Cada archivo .o contiene el código compilado de un paquete—con …