Crea un parser de expresiones matemáticas en JavaScript

Descubre cómo construir un parser de expresiones matemáticas en JavaScript con Earley: maneja precedencia, paréntesis, funciones y evaluación segura y extensible.

31 ago 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Crear un analizador de expresiones matemáticas en JavaScript es un ejercicio ideal para dominar gramáticas y evaluación segura. Sobre todo lo explorado en artículos previos, aquí damos un salto cualitativo usando el algoritmo Earley para analizar y evaluar expresiones con precisión, soportando precedencia, asociatividad, paréntesis y signos unarios. En Q2BSTUDIO, empresa de desarrollo de software, combinamos rigor académico con entrega industrial para construir aplicaciones a medida y software a medida robusto, listos para integrarse en tu plataforma web o backend.

Por qué Earley para un parser matemático en JavaScript

El algoritmo Earley es generalista y eficiente para gramáticas libres de contexto, maneja ambigüedades y se adapta bien cuando la gramática crece con nuevas funciones o operadores. A diferencia de enfoques recursivo descendentes, reduce el trabajo manual de backtracking y permite añadir reglas sin reescribir todo el analizador.

Gramática base de expresiones

Usaremos una gramática clásica con precedencia y asociatividad correcta

Expr -> Expr + Term | Expr - Term | Term

Term -> Term * Factor | Term / Factor | Factor

Factor -> Base ^ Factor | Base

Base -> numero | ( Expr ) | - Base

Esta forma captura el exponente como asociativo a la derecha, respeta el signo unario y permite anidar paréntesis sin límites. Añadir funciones como sin, cos o max resulta tan simple como extender Base a nombre ( listaArgs ).

Fase de tokenización

Antes de alimentar el algoritmo, dividimos la entrada en tokens numero, operador y paréntesis. Un tokenizador simple identifica secuencias de dígitos con punto decimal opcional, ignora espacios y produce símbolos para + - * / ^ ( ). Separar tokenización del parseo evita ambigüedades y simplifica errores.

Cómo trabaja Earley paso a paso

El algoritmo mantiene un chart, una lista de columnas, una por posición del input. Cada columna almacena estados con regla, punto de progreso y origen

Predicción añade estados cuando el punto espera un no terminal

Escaneo avanza si el token coincide con el terminal esperado

Completado propaga avances a los estados que esperaban el no terminal recién completado

Para evaluación, cada estado guarda también nodos del AST. Cuando completamos una regla, construimos un nodo con sus hijos. Así, al terminar con Expr desde la posición cero hasta el final, ya tenemos un árbol evaluable incluso si hubo varias derivaciones posibles. En gramáticas matemáticas bien definidas, la derivación es única.

Construcción y evaluación del AST

El AST usa nodos para operadores binarios y unarios, números y agrupaciones. La evaluación es una pasada postorden que aplica operaciones con control de errores y límites de precisión. Mejoras prácticas

Plegado de constantes para optimizar subárboles numéricos

Detección de división entre cero y rangos seguros

Soporte de variables a través de un entorno clave valor

Funciones con tabla de símbolos, por ejemplo sin, cos, pow y extensibles

Manejo de errores claro

Si no existe un estado completo Expr que cubra toda la entrada, reportamos el token y la posición esperada, sugiriendo por ejemplo falta de paréntesis o operador duplicado. Con el chart es sencillo proponer correcciones cercanas.

Extensiones útiles

Soporte de separadores de miles y locales

Funciones personalizadas con validación de aridad

Operadores personalizados como mod o operador ternario con gramática extendida

Integración en UI con resaltado de errores en tiempo real

Rendimiento y buenas prácticas

Earley rinde muy bien en gramáticas no ambiguas como esta. Aun así, limita retrocesos con memorización de nodos, reusa objetos y corta evaluación cuando detectes errores tempranos. Para cargas intensivas, encapsula el parser en un worker y añade caché por expresión normalizada.

Cómo integrarlo en tu arquitectura

En frontend, encapsula el analizador en un módulo con una API parse y evaluate. En backend Node, expón un microservicio que reciba expresiones, variables y devuelva el resultado con trazas del AST si se requiere auditoría. Donde haya necesidad de cálculos seguros, desde hojas de cálculo web hasta reglas de negocio, este enfoque elimina vulnerabilidades por eval y asegura precisión.

Q2BSTUDIO, tu partner tecnológico

En Q2BSTUDIO diseñamos e implantamos aplicaciones a medida y software a medida que incluyen componentes críticos como parsers, motores de reglas y validadores. Nuestro equipo también impulsa inteligencia artificial, ia para empresas y agentes IA, fortalece la ciberseguridad con auditorías y pentesting, y despliega plataformas escalables con servicios cloud aws y azure. Integramos analítica avanzada mediante servicios inteligencia de negocio y cuadros de mando con power bi para convertir datos en decisiones.

Si buscas un equipo que construya soluciones sólidas de extremo a extremo, desde el parser hasta la interfaz y el despliegue, visita nuestra página de aplicaciones a medida y descubre cómo aceleramos tu roadmap con calidad y velocidad.

Conclusión

Crear un parser de expresiones matemáticas en JavaScript con Earley te da una base extensible, segura y mantenible. Es perfecto para motores de cálculo, validación de reglas y escenarios donde la confiabilidad es clave. En Q2BSTUDIO podemos integrarlo en tu producto, optimizarlo para producción y conectarlo con analítica, seguridad y nube, todo dentro de una solución de software a medida lista para escalar.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat