Desarrollo de un intérprete de Python en C con límite de 1024 bytes

Un desarrollador ha creado un intérprete minimalista del lenguaje Python escrito en C, limitado estrictamente a 1024 bytes de código fuente. El proyecto, publicado en GitHub bajo el nombre python1024, no utiliza macros ni bibliotecas externas, buscando maximizar la eficiencia mediante técnicas de co

SLED: un LISP simbólico para DOS inspirado en Scheme

SLED (Schemy LISP en DOS) es un intérprete de LISP puramente simbólico inspirado en Scheme y derivado del proyecto Kilo LISP. Funciona como aplicación nativa de DOS, por lo que puede ejecutarse en FreeDOS, MS-DOS y en emuladores como DOSBox, DOSBox-X y DOSBox-Staging. Se concibe como un "Ur-Lisp": p

Añadir compilación JIT a un intérprete de juguete con libgccjit

En el mundo de los lenguajes de programación, la compilación en tiempo de ejecución (JIT) permite que un programa se traduzca a código máquina mientras se ejecuta, lo que puede mejorar notablemente el rendimiento. Este tutorial, cuarta parte de una serie, explica cómo añadir esta capacidad a un inté

Thoreau BASIC llega a bare metal con compatibilidad GW-BASIC

Thoreau BASIC, un intérprete mayormente compatible con GW-BASIC, puede ejecutarse directamente sobre bare metal mediante UEFI y también está disponible para Windows, sin depender de un sistema operativo en la versión de arranque. La herramienta utiliza un segmento de memoria dimensionado con el mayo

Optimización del recolector de basura de Plush: de 117 ms a 7 ms

El autor retoma Plush, un lenguaje de juguete inspirado en Lox con paralelismo basado en actores y un recolector de basura (GC) por actor sin bloqueos globales, cuyo rendimiento quedaba lejos de su objetivo personal: recolectar un millón de objetos vivos en menos de 20 ms. En un MacBook Air M5, el G

Construyamos un intérprete sencillo de APL en Python (parte 1)

El programador Rodrigo Girão Serrão inicia una serie de artículos en los que documenta paso a paso la construcción de un intérprete para el lenguaje APL escrito en Python. El proyecto, inspirado en la serie «Let's build a simple interpreter» de Ruslan Spivak (centrada en Pascal), nace como un ejerci

tiny-c: un lenguaje educativo inspirado en BASIC y estructurado como C

tiny-c es un lenguaje de programación estructurado creado con una vocación formativa que combina la sencillez de BASIC con la arquitectura de C. Diseñado como una herramienta pensada para el aprendizaje, ofrece if-then-else, bucles while, funciones, variables globales y locales, punteros, arrays y d

EndBASIC 0.14 incorpora gráficos avanzados, sonido y consola retro VGA

EndBASIC, el intérprete BASIC retro de código abierto creado por Julio Merino, alcanza la versión 0.14 con un paquete de novedades que abre el camino hacia una eventual 1.0. La release añade primitivas gráficas para dibujar triángulos, polígonos y rellenar áreas, e incluye un demo de círculos animad

Lithp: un intérprete en Python del Lisp original de McCarthy

Lithp es un intérprete educativo escrito en Python (2.6.1 o superior) que reimplementa el Lisp descrito por John McCarthy en su trabajo fundacional. Su autor, Fogus, publica el código en GitHub con un nivel de documentación inusual: cada bloque incluye comentarios extensos que explican el razonamien

Un «plan» reutilizable acelera las llamadas de libffi hasta seis veces

libffi es un intérprete de convenciones de llamada: en tiempo de ejecución recibe la descripción de la signatura de una función y, sobre la marcha, decide cómo colocar cada argumento y ejecutar la llamada. Esa interpretación se repite en cada invocación, lo que cuesta alrededor de 650 instrucciones

LispE: el intérprete de objetos compilados

LispE es un intérprete de Lisp implementado en C++ que resuelve la vieja tensión entre interprete y compilador mediante una idea central: cada instrucción del lenguaje se modela como una subclase de una clase raíz llamada Element, y la evaluación se reduce a un único método virtual eval(), uniforme

Cómo escribir un intérprete de Lisp en Python

Este artículo es un tutorial paso a paso para construir un intérprete de Scheme (un dialecto de Lisp) utilizando Python. El texto parte de la premisa de Steve Yegge según la cual, si no se sabe cómo funcionan los compiladores, no se entiende de verdad cómo funcionan los ordenadores, y aplica esa ide

Glojure: un intérprete de Clojure sobre Go con interoperabilidad extensible

Glojure es un intérprete de Clojure desarrollado sobre Go que facilita el acceso a las bibliotecas del lenguaje anfitrión, del mismo modo que Clojure permite aprovechar el ecosistema Java sobre la JVM. Se trata de un proyecto en fase inicial (versión 0.3.0), sin garantías de retrocompatibilidad hast

Crea tu intérprete Forth: un reto de programación

Este artículo presenta un desafío de programación: construir tu propio intérprete de Forth, un lenguaje de programación inusual pero poderoso. Forth, creado por Charles H. Moore en la década de 1970, es un lenguaje orientado a pila (stack-oriented) que ha encontrado aplicaciones en áreas como videoj

Picol: intérprete Tcl en C de solo 500 líneas

Picol es un intérprete de lenguaje similar a Tcl, escrito en C por Antirez (conocido por su trabajo en Redis), que se distingue por su tamaño increíblemente pequeño: solo 500 líneas de código. Originalmente creado en 2007, Antirez lo ha puesto a disposición en GitHub como un ejemplo de código C bien