Funcionalidades limitadas en Lexer
Debido a que tuve que adaptar el lexer para poder evitar el consumo de whitespaces al parsear un token, modifiqué la implementación provista por la librería Parsec. En consecuencia, solo conservé las funcionalidades básicas y fundamentales para poder continuar con el desarrollo del parser. A continuación enumero los distintos features de Parsec que no incorporé en nuestro parser:
- Algunos de los campos de la definición del lenguaje perdieron su propósito ya que no son utilizados.
- Para comprobar si un identificador es válido se hace un chequeo de las palabras claves del lenguaje. En nuestro caso, es una implementación ingenua utilizando
elem
. - Los números naturales/enteros solo pueden ser especificados en notación decimal.
- Los números flotantes solo poseen una parte entera, y una fraccional. No se permiten exponentes.
- Los caracteres literales no soportan códigos de escape.