Métodos computacionales

Actividad: Análisis léxico

Objetivo

Durante esta actividad, los alumnos serán capaces de:


NOTA: Este es un ejercicio para realizar en clase. No se tiene que entregar nada.

Descripción

Escribir en Clojure un programa que reciba como entrada un archivo de texto que contenga expresiones aritméticas y comentarios, y nos regrese una tabla con cada uno de sus tokens encontrados, en el orden en que fueron encontrados e indicando de qué tipo son. El programa se debe implementar utilizando el API de expresiones regulares.

Tipos de tokens

Las expresiones aritméticas sólo podrán contener los siguientes tipos de tokens:

Entrada

Por ejemplo:

b=7

a = 32.4 *(-8.6 - b)/       6.1E-8

d = a ^ b // Esto es un comentario

Salida

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
========================================================

Reglas de formación de algunos tokens