Entradas

Construyendo un Tokenizador para un subconjunto de Python

 Introducción El front-end de un compilador o intérprete es el Tokenizer también llamado Scanner o analizador léxico . La mayoría de los libros de compiladores muestran un procedimiento basado en la teoría de las ciencias computacionales (específicamente la teoría de autómatas finitos) para el diseño y la implementación de un scanner. Aunque de hecho implementar un Scanner a mano no es difícil como ya lo verás más adelante. Interfaz del Scanner La entrada de datos de un Scanner en un compilador o intérprete es el código fuente del programa a compilar o interpretar. El Scanner separa todo el código y durante el proceso va formando pequeñas unidades que mantienen una secuencia lógica, estas unidades se conocen como Tokens que más tarde serán pasados como entrada para el analizador sintáctico o Parser . Un Tokenizer (Scanner) puede implementarse usando 2 enfoques: Analizar todo el código fuente y proveerle al Parser toda la lista de Tokens encontrados. En otras pala...