Tokenizador de expresiones matemáticas en JavaScript

Tokeniza expresiones matemáticas en JavaScript: convierte cadenas en tokens (números, operadores, paréntesis y funciones) y habilita evaluadores y DSL seguros.

31 ago 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Crear un tokenizador de expresiones matemáticas en JavaScript es un paso clave para construir intérpretes y compiladores sencillos que luego pueden crecer en complejidad. En esta guía aprenderás a descomponer una cadena que contiene una operación numérica en una secuencia de tokens bien definidos, la base para evaluar, transformar o analizar cualquier fórmula.

Qué es tokenizar Una expresión como 3.5*(2+x)-sin(0.5) se recorre de izquierda a derecha y se convierte en piezas atómicas llamadas tokens. Cada token tiene un tipo y un valor, por ejemplo Numero 3.5, Operador *, Parentesis (, Identificador sin. Con esta secuencia es mucho más fácil construir un analizador sintáctico y, más adelante, un evaluador seguro y extensible.

Tipos de token habituales Numero enteros y decimales con punto. Operador símbolos como + - * / ^ %. Parentesis apertura y cierre. Identificador nombres de variables y funciones como x o sin. Coma separador de argumentos. Espacio en blanco se ignora. Opcionalmente puedes añadir Constante para pi o e.

Patrones recomendados Numero ^(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+). Identificador ^[A-Za-z_][A-Za-z0-9_]*. Operador ^[+\-*/^%]. Parentesis ^[()]. Coma ^,. Espacio ^\s+. Estos patrones se prueban en el orden adecuado para evitar ambigüedades, por ejemplo probar Numero antes que Operador para no confundir el signo decimal con otro símbolo.

Algoritmo paso a paso 1 inicializa indice i en 0 y una lista vacía. 2 mientras i sea menor que la longitud de la cadena, intenta casar un patrón en la posición i. 3 si casa Espacio avanza la longitud del espacio y no generes token. 4 si casa Numero crea token Numero con el lexema leído. 5 si casa Identificador crea token Identificador. 6 si casa Parentesis u Operador o Coma crea el token correspondiente. 7 si no casa nada lanza un error indicando el carácter y la posición. 8 complejidad lineal O(n) si se consume cada lexema una sola vez.

Ejemplo de salida para 3.5*(2+x)-sin(0.5) seria Numero 3.5, Operador *, Parentesis (, Numero 2, Operador +, Identificador x, Parentesis ), Operador -, Identificador sin, Parentesis (, Numero 0.5, Parentesis ). Con estos tokens ya puedes construir un analizador descendente o usar la clásica conversión a notación polaca inversa con el algoritmo del patio de maniobras.

Extensiones útiles Soporte de notación científica como 1.2e-3. Detección de signos unarios para manejar -x y +x como operadores de aridad uno. Tabla de funciones y constantes configurables. Mensajes de error con contexto mostrando rango de caracteres. Normalización regional para usar siempre punto como separador decimal.

Por qué importa Un buen tokenizador separa responsabilidades y facilita pruebas unitarias, validación de entrada y seguridad. Es la puerta de entrada a evaluadores rápidos, motores de reglas, generadores de código y hasta pequeñas DSL que puedes integrar en tus productos de software.

En Q2BSTUDIO desarrollamos soluciones de alto rendimiento y calidad profesional, desde aplicaciones a medida y software a medida hasta plataformas con inteligencia artificial, agentes IA e IA para empresas. También ofrecemos ciberseguridad y pentesting, servicios cloud aws y azure, automatización de procesos, servicios inteligencia de negocio y analítica con power bi, todo integrado de extremo a extremo para acelerar tu hoja de ruta tecnológica.

Si quieres convertir este tokenizador de JavaScript en un evaluador robusto, o integrarlo en un motor de reglas, un sistema de reporting o una API segura, nuestro equipo puede ayudarte con arquitectura, pruebas, despliegue y observabilidad, llevando tu idea desde el prototipo hasta producción con prácticas modernas y foco en escalabilidad y mantenimiento.

¿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