You are on page 1of 5

NOMBRE: VERA BOCANEGRA FRANCISCO JAVIER NL:23

1. ¿Cuáles son los requisitos previos que se requieren para usar este tutorial?

-No requiere conocimientos previos en diseño de compiladores, únicamente requiere


conocimientos básicos en algún lenguaje de programación por ejemplo java, c, etc.
2. Elabore el diagrama de la arquitectura de un compilador y Explique cada parte

ARQUITECTURA

FASE DE ANALISIS FASE DE SINTESIS

Esta fase lee el Conocido como el back-end del


programa fuente, lo
compilador, la fase de síntesis
divide en partes
fundamentales y, a genera al programa de destino
continuación, verifica la con la ayuda de código fuente
existencia de léxico, representación intermedia y tabla
gramática y errores de de símbolos.
sintaxis.La fase de
análisis genera una
representación
intermedia del PASS FASE
programa fuente y
tabla de símbolos, que
deberían ser Una fase de un
alimentados a la fase Un pase se refiere a la
compilador es una etapa
de síntesis como travesía de un
distinguible, que toma la
entrada. compilador a través de
entrada de la etapa
todo el programa.
anterior, los procesos y
los rendimientos de
salida que puede ser
utilizado como entrada
para la siguiente etapa.
Un pase puede tener
más de una fase.
NOMBRE: VERA BOCANEGRA FRANCISCO JAVIER NL:23

3. Elabore un esquema de las fases de un compilador y Explique cada parte

Toma el token de análisis comprueba si el análisis árbol


léxico como entrada y construido sigue las reglas del
Funciona como un texto genera un árbol analizar. En idioma. Además, el analizador
escáner. Esta fase busca en esta fase, token arreglos se semántico realiza un
el código fuente como una contrastan con el código seguimiento de los
secuencia de caracteres y la fuente gramática, es decir, identificadores, sus tipos y
convierte en un lexema el analizador comprueba si expresiones; si los
resultante-. Analizador Léxico la expresión de los tokens identificadores se declaran
representa estos lexema es sintácticamente correcto. antes de su uso, o no, etc. El
resultante- en forma de analizador semántico produce
fichas un árbol de sintaxis anotado
como una salida.
ANALISIS SINTACTICO

ANALISIS LEXICO
ANALISIS SEMANTICO

FASES DE UN COMPILADOR
GENERACION DE GENERACION DE
CODIGO INTERMEDIO CODIGO
OPTIMIZACION DE
CODIGO
Tras análisis semántico el En esta fase, el
compilador genera un código La optimización puede ser generador de código
intermedio del código fuente asumida como algo que optimizado la
para el equipo de destino. elimina código innecesario, representación del código
Está entre el lenguaje de alto y organiza la secuencia de intermedio y la asigna a
nivel y el lenguaje de declaraciones con el fin de la máquina de destino. El
máquina. Este código acelerar la ejecución del generador de código se
intermedio debe ser generado programa sin desperdicio traduce el código
de tal manera que hace que de recursos (CPU, intermedio en una
sea más fácil de traducir en la memoria). secuencia de reubicables
máquina de destino. código máquina.

TABLA DE SIMBOLOS
Es una estructura de datos
mantendrá en todas las
fases de un compilador. La
tabla de símbolos hace
que sea más fácil para que
el compilador pueda
buscar con rapidez el
registro de código y
recuperarla. La tabla de
símbolos se utiliza también
para el campo.
NOMBRE: VERA BOCANEGRA FRANCISCO JAVIER NL:23

4. Qué procedimientos deben realizar los elementos que integran el analizador léxico.
expliqué

Fichas
Lexema resultante- se dice que son una secuencia de caracteres
(alfanumérico) en un token. Hay algunas reglas predefinidas para cada lexeme
a ser identificado como un token válido. En lenguaje de programación,
palabras clave, constantes, identificadores, cadenas, números, operadores y
puntuaciones los símbolos pueden ser considerados como testigos.
Las especificaciones de tokens
Nos permiten comprender de qué modo la teoría del lenguaje se compromete
los siguientes términos:
Alfabetos
Cualquier conjunto finito de símbolos {0,1 } es un conjunto de caracteres
binarios, {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} es un conjunto de valores
hexadecimales alfabetos, {a-z, A-Z} es un conjunto de idioma Inglés alfabetos.
Cadenas
Cualquier secuencia finita de alfabetos se llama una cadena. Longitud de la
cadena es el número total de ocurrencia de los alfabetos. Una cadena que no
alfabetos, es decir, una cadena de longitud cero se conoce como una cadena
vacía, y se denota por ε (épsilon).
Símbolos especiales
Son todos aquellos símbolos reservados por el compilador para la
elaboración de operaciones aritméticos u otras funciones tales como
comentar el código, puntaciones, etc.
Idioma
Un idioma es considerado como un conjunto finito de cadenas en algunos
conjunto finito de los alfabetos. Lenguajes de programación son considerados
como conjuntos finitos, y matemáticamente conjunto de operaciones que se
pueden llevar a cabo en ellos.
Regla de coincidencia más larga
Cuando el analizador léxico leer el código fuente, explora el código letra por
letra; y cuando se encuentra un espacio en blanco, símbolo de operador, o
símbolos especiales, decide que una palabra se ha completado.
NOMBRE: VERA BOCANEGRA FRANCISCO JAVIER NL:23

Mientras se realiza la exploración tanto lexema resultante- hasta 'int', el


analizador léxico no puede determinar si se trata de una palabra clave int o
las iniciales del identificador valor int.
El analizador léxico también sigue prioridad de regla donde una palabra
reservada, por ejemplo, una palabra clave, de un idioma se da prioridad a
entrada de usuario. Es decir, si el analizador léxico encuentra un lexeme que
coincide con cualquier palabra reservada, deberá generar un error.

5. Qué es una expresión regular y cuales son las leyes algebraicas que son obedecidas
por las expresiones regulares, Explique y de un ejemplo.

6. Cómo se aplican los autómatas finitos en la construcción de un compilador

Sea L(r) es un idioma reconocido por regular algunos autómatas finitos


(FA).

 Estados: Estados de FA están representados por círculos. De los nombres


se escriben dentro de los círculos.

 Estado de inicio: El estado desde donde los autómatas se inicia, se conoce


como el estado de inicio. Estado de inicio tiene una flecha apuntando hacia
ella.

 Los estados intermedios: Todos los estados intermedios tienen al menos


dos flechas, una apuntando a y otro que salen de ellos.

 Estado final: Si la cadena de entrada se analiza correctamente, el autómata


se espera que esté en este estado. Estado final está representado por dos
círculos. Puede haber cualquier número impar de flechas apuntando a ella e,
incluso, número de flechas que apuntan hacia fuera de ella. El número impar
de flechas son incluso más quees decir,extraño = incluso+1.

 Transición: La transición de un estado a otro estado ocurre cuando un


símbolo deseado en la entrada se encuentra. Autómatas de la transición,
puede pasar al siguiente estado o permanecer en el mismo estado.
Movimiento de un estado a otro se muestra como una flecha dirigida, en
donde las flechas puntos para el estado de destino. Si autómatas permanece
en el mismo estado, una flecha que apunta a un estado que se dibuja.
NOMBRE: VERA BOCANEGRA FRANCISCO JAVIER NL:23

7. Qué procedimientos deben realizar los elementos que integran el analizador


SINTAXIS. expliqué
8. ELABORE UN CUADRO SINOPTICO DE LOS TIPOS DE SINTAXIS

You might also like