Durante esta actividad, los alumnos serán capaces de:
NOTA: Este es un ejercicio para realizar en clase. No se tiene que entregar nada.
Escribir en Clojure un programa que reciba como entrada el nombre de un archivo de texto cuyo contenido sean expresiones aritméticas y comentarios, y nos imprima una tabla con cada una de las unidades léxicas (tokens) encontradas, en el orden en que fueron encontradas e indicando de qué tipo son. El programa se debe implementar utilizando el API de expresiones regulares.
Las expresiones aritméticas sólo podrán contener los siguientes tipos de tokens :
=
)+
)-
)*
)/
)^
)(
])
]//
seguido de caracteres hasta que se acabe el renglónEjemplo:
b=7 a = 32.4 *(-8.6 - b)/ 6.1E-8 d = a ^ b // Esto es un comentario
El ejemplo anterior debe producir la siguiente salida:
======================================================== Token Tipo ======================================================== b Variable = Asignación 7 Entero a Variable = Asignación 32.4 Real * Multiplicación ( Paréntesis que abre -8.6 Real - Resta b Variable ) Paréntesis que cierra / División 6.1E-8 Real d Variable = Asignación a Variable ^ Potencia b Variable // Esto es un comentario Comentario ========================================================
_
)10.
o 10.0
)E
, mayúscula o minúscula, pero después de la letra E
sólo puede ir un entero positivo o negativo (e.g. 2.3E3
, 6.345e-5
, -0.001E-3
, 0.467E9
)//
y todo lo que sigue hasta que termina el renglón es un comentario