</> CodeBooks
    ← Volver a Ciencias de la computación (página 3)
    Portada de Writing An Interpreter In Go

    Writing An Interpreter In Go

    Thorsten Ball

    Editorial
    Thorsten Ball
    Año
    2016
    Páginas
    ~301
    Nivel
    Intermedio

    De qué trata

    Guía técnica de referencia en la que Thorsten Ball enseña a construir un intérprete completo desde cero para Monkey, un lenguaje de programación dinámico con sintaxis similar a C. La obra utiliza Go estándar (1.x) y está orientada a desarrolladores de nivel intermedio que conocen las bases de Go (estructuras, interfaces, punteros y mapas) y desean comprender la mecánica interna de los lenguajes de programación sin tropezar con la abrumadora teoría matemática de los manuales universitarios tradicionales.

    El núcleo del aprendizaje reside en la implementación manual de cada etapa del pipeline de interpretación: un analizador léxico (lexer) que tokeniza el código fuente carácter a carácter; un parser descendente recursivo complementado con la técnica de Pratt (Top-Down Operator Precedence) para procesar precedencia de operadores y generar el árbol de sintaxis abstracta (AST); un sistema de objetos en Go para representar los valores en tiempo de ejecución; y un evaluador recursivo tipo tree-walking. Se desarrollan desde cero tipos de datos primitivos, condicionales, funciones de primera clase, clausuras (closures), funciones integradas (como len), cadenas, arreglos y tablas hash, apoyándose únicamente en paquetes estándar como fmt, strings y testing.

    A través de un enfoque estricto de desarrollo guiado por pruebas (TDD), el lector construye una consola REPL interactiva totalmente funcional capaz de ejecutar código Monkey en tiempo real. Su gran mérito es la claridad quirúrgica con la que explica el parsing de Pratt y la gestión de entornos de variables (environment scopes), evitando dependencias como Lex, Yacc o ANTLR para que el desarrollador comprenda cada byte de código. Quedan fuera las fases de generación de bytecode y optimización en máquina virtual (tratadas en su secuela), pero es la introducción más práctica, amena y formativa disponible sobre construcción artesanal de intérpretes.

    • Go
    • Intérpretes
    • Lexer
    • Parser Pratt
    • AST (Abstract Syntax Tree)
    • Tree-walking evaluator
    • Closures
    • REPL
    • Lenguaje Monkey
    • TDD

    ¿Cómo enseña?

    TeóricoPráctico

    Con proyectos

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Intérprete y REPL interactivo del lenguaje Monkey

    Intérprete completo tipo tree-walking para Monkey que incluye tokenizador, parser de Pratt para generar el AST, entorno de evaluación de variables, funciones de primera clase con clausuras y una consola REPL, creado íntegramente en Go estándar.

    Más de Ciencias de la computación con nivel Intermedio