3 Pages • 582 Words • PDF • 465 KB
Uploaded at 2021-09-24 16:32
This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.
Instituto Tecnológico de Saltillo
Ingeniería en Sistemas Computacionales Lenguajes y Autómatas I Practicas.
Practica No.6 Simulación del reconocimiento de tokens en un lenguaje de prueba 1. Objetivo El alumno simulara el reconocimiento de tokens para un lenguaje de prueba utilizando un lenguaje de programación o herramienta
2. Material a utilizar
Internet Bibliografía Computadora Procesador de texto Lenguaje de programación Herramienta de software
3. Desarrollo Simular el reconocimiento de categorías léxicas (componentes léxicos) para un lenguaje de prueba en el lenguaje de programación de su elección o utilizando herramienta de software, diseñe el autómata finito determinista para cada categoría y expresión regular correspondiente, elabore la tabla de léxico correspondiente (a partir del autómata finito determinista) y obtenga la tabla de tokens para el lenguaje de prueba, considere entrada (lectura desde archivo de texto), salida (generación de archivo externo -tabla de tokens), para facilitar el diseño asigne un numero de token para cada categoría como se muestra en la siguiente descripción: Descripción informal de las categorías léxicas:
IDENTIFICADORES ( 100 )
Inicia con @ seguida de una letra y puede contener más letras
OPERADORES ARITMETICOS ( 200 )
- ( Resta )
+ ( Suma )
/ ( división ) * (multiplicación)
OPERADORES RELACIONALES ( 300 )
Ing. Karina Cabrera Chagoyan
1
Instituto Tecnológico de Saltillo < (menor que) > ( mayor que ) = (mayor igual) = (comparación)
OPERADORES LOGICOS ( 400 )
& ( AND ) | ( OR ) ~ ( NOT )
PALABRAS RESERVADAS ( 500 )
Program, begin, end, input, output, integer, real, char, string, boolean, if, else, then, while, do, repeat, until, var, true, false (
CARACTERES ESPECIALES ( 600 ) )
;
,
:=
COMENTARIOS ( 700 )
Inician y terminan con // y puede contener cualquier otro carácter o estar vacío separado al menos de un espacio // hola // , // //
NUMEROS ENTEROS ( 800 )
Cualquier cantidad entera incluya negativos
NUMEROS REALES ( 900 )
Cualquier cantidad con punto decimal puede ser positivo o negativo, no maneja notación científica ni exponencial, siempre debe manejar una parte entera y una parte decimal, puede incluir negativos .
CARACTERES ESPECIALES QUE NO GENERAN TOKEN BCO
TAB
EOLN (END OF LINE)
EOF (END OF FILE)
ENTRADA: EL programa debe leer los caracteres del programa fuente desde un archivo de texto SALIDA: Generar tabla de tokens y almacenarla en archivo considerando estructura
No. Consecutivo
Token
Lexema
No. Línea
Si es el caso, indique y genere tabla de errores
No. Consecutivo
Ing. Karina Cabrera Chagoyan
Error
No. Línea
2
Instituto Tecnológico de Saltillo
4. Reporte del alumno Documento que subirá a la plataforma de EDUCATEC, que debe incluir nombre de práctica, fecha, participantes (MAXIMO 3), CADA PARTICIPANTE DEBERA SUBIR EL REPORTE DE MANERA INDIVIDUAL A LA PLATAFORMA EDUCATEC, desarrollo, conclusiones personales y bibliografía. En caso de detectar una copia, TODOS LOS INVOLUCRADOS tendrán las sanciones (competencia no lograda – BAJA DEL CURSO) correspondientes
5. Bibliografía 1. Aho Alfred V., U. J. (2007). Compiladores. Principios, técnicas y herramientas (2da. ed.). México: Pearson Educación. 2. Alfonseca Moreno, M. (2006). Compiladores e intérpretes: teoría y práctica (1ra ed.). España: Pearson/Prentice Hall. 3. Lemone, K. A. (1996). Fundamentos de compiladores: cómo traducir al lenguaje de computadora. México D.F.: Compañía Editorial Continental 4. Ruíz, J. (2009). Compiladores-Teoría e implementación. México: Alfaomega. 5. Grune, Dick. (2007). Diseño de compiladores modernos. McGraw-Hill.
Ing. Karina Cabrera Chagoyan
3