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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat