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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat