Guía de estudio Segundo parcial compiladores

4
Nombre: Allan Federico González Barrueto Carnet: 0900-10-1 Catedrático: Ingeniero Héctor Samuel Recinos Agustín Compiladores Sección “A” Guía de estudio 2do parcial 1. Basado en su investigación o proyecto definir: a. Que es un autómata Del griego automatos que significa espontáneo o con movimiento propio, puede referirse con otras definiciones tales como una máquina que imita la figura y los movimientos de un ser animado. En ocasiones también se puede programar y su definición seria la siguiente, equipo electrónico programable en lenguaje no informático y diseñado para controlar, en tiempo real y en ambiente industrial, procesos secuenciales. Y la teoría de autómatas que se refiere al estudio matemático de máquinas abstractas. b. Que es un autómata finito determinista Un autómata finito es un modelo matemático de una máquina que acepta cadenas de un lenguaje definido sobre un alfabeto A. Consiste en un conjunto finito de estados y un conjunto de transiciones entre esos estados, que dependen de los símbolos de la cadena de entrada. c. Que es un autómata finito no determinista Un autómata finito no determinista (abreviado, AFN) es un modelo formado por: 1. Un conjunto de estados denotados como: estados S. 2. Un conjunto de símbolos de entrada S (el alfabeto símbolos de entrada). 3. Una función de transición mover que transforma pares estado-símbolo en conjuntos de estados. 4. Un estado S0 que se considera el estado de inicio (o inicial). 5. Un conjunto de estados F considerados como estados de aceptación (o finales). d. Mencione como puede convertir un AFND a AFD Primero se redefine el conjunto de estados Q N = {q 0 , q 1 , ..., q m } original, como uno conformado por todos los subconjuntos deQ N . Los nuevos estados finales serán todos aquellos estados que contengan a alguno de los estados finales originales. Posteriormente, se redefine el conjunto de transiciones original, por transiciones del tipo δ D (S,a), donde aΣ, y S es la unión de todos los estados q de Q N para los cuales existía la transición δ N (q,a). Por último, se eliminan los estados inaccesibles o inalcanzables (junto con sus transiciones de salida), es decir, aquellos a los que no se puede acceder a partir del estado inicial. Luego de esta depuración, se obtiene el AFD final. 2. Indique con ejemplos a. Como se diferencia un análisis sintáctico del léxico Léxico: lee el token busca si es una palabra reservada o valida o símbolo esencial int 11sep; // una variable no puede empezar con numero error léxico. Sintáctico: verifica el orden en el cual se escriben las palabras private int testing( int par1, in par2) // la palabra subrayada nos indica un error de sintaxis ya que está mal escrito. b. Cuál es el propósito del análisis sintáctico Verificar el orden en el cual se deben escribir las palabras c. Indique porque es inconveniente que una expresión pueda ser analizada u organizada en dos formas diferentes por el analizador sintáctico Porque forma ambigüedad, y puede contener errores en el momento de mostrar el resultado, ya que puede elegir más de un camino valido con el cual es válido el resultado. d. Indique que está mal en la siguiente oración: “intentar nunca hazlo o no lo hagas, intentarlo nunca” El orden de las palabras la oración correcta es “Nunca intentarlo, hazlo o no lo hagas, nunca intentar” oración de la guerra de las galaxias e. Indicar en que consiste la ambigüedad y como puede ser eliminada de las gramáticas en que se basa el análisis sintáctico

Transcript of Guía de estudio Segundo parcial compiladores

Page 1: Guía de estudio Segundo parcial compiladores

Nombre: Allan Federico González Barrueto Carnet: 0900-10-1

Catedrático: Ingeniero Héctor Samuel Recinos Agustín

Compiladores Sección “A”

Guía de estudio 2do parcial

1. Basado en su investigación o proyecto definir: a. Que es un autómata

� Del griego automatos que significa espontáneo o con movimiento propio, puede referirse con otras definiciones tales como una máquina que imita la figura y los movimientos de un ser animado. En ocasiones también se puede programar y su definición seria la siguiente, equipo electrónico programable en lenguaje no informático y diseñado para controlar, en tiempo real y en ambiente industrial, procesos secuenciales. Y la teoría de autómatas que se refiere al estudio matemático de máquinas abstractas.

b. Que es un autómata finito determinista � Un autómata finito es un modelo matemático de una máquina que acepta

cadenas de un lenguaje definido sobre un alfabeto A. Consiste en un conjunto finito de estados y un conjunto de transiciones entre esos estados, que dependen de los símbolos de la cadena de entrada.

c. Que es un autómata finito no determinista � Un autómata finito no determinista (abreviado, AFN) es un modelo formado

por: 1. Un conjunto de estados denotados como: estados S. 2. Un conjunto de símbolos de entrada S (el alfabeto símbolos de entrada). 3. Una función de transición mover que transforma pares estado-símbolo en conjuntos de estados. 4. Un estado S0 que se considera el estado de inicio (o inicial). 5. Un conjunto de estados F considerados como estados de aceptación (o finales).

d. Mencione como puede convertir un AFND a AFD � Primero se redefine el conjunto de estados QN = {q0, q1, ..., qm} original,

como uno conformado por todos los subconjuntos deQN. Los nuevos estados finales serán todos aquellos estados que contengan a alguno de los estados finales originales. Posteriormente, se redefine el conjunto de transiciones original, por transiciones del tipo δD(S,a), donde a∈Σ, y S es la unión de todos los estados q de QN para los cuales existía la transición δN(q,a). Por último, se eliminan los estados inaccesibles o inalcanzables (junto con sus transiciones de salida), es decir, aquellos a los que no se puede acceder a partir del estado inicial. Luego de esta depuración, se obtiene el AFD final.

2. Indique con ejemplos a. Como se diferencia un análisis sintáctico del léxico

� Léxico: lee el token busca si es una palabra reservada o valida o símbolo esencial int 11sep; // una variable no puede empezar con numero error léxico. Sintáctico: verifica el orden en el cual se escriben las palabras private int testing( int par1, in par2) // la palabra subrayada nos indica un error de sintaxis ya que está mal escrito.

b. Cuál es el propósito del análisis sintáctico � Verificar el orden en el cual se deben escribir las palabras

c. Indique porque es inconveniente que una expresión pueda ser analizada u organizada en dos formas diferentes por el analizador sintáctico

� Porque forma ambigüedad, y puede contener errores en el momento de mostrar el resultado, ya que puede elegir más de un camino valido con el cual es válido el resultado.

d. Indique que está mal en la siguiente oración: “intentar nunca hazlo o no lo hagas, intentarlo nunca”

� El orden de las palabras la oración correcta es “Nunca intentarlo, hazlo o no lo hagas, nunca intentar” oración de la guerra de las galaxias

e. Indicar en que consiste la ambigüedad y como puede ser eliminada de las gramáticas en que se basa el análisis sintáctico

Page 2: Guía de estudio Segundo parcial compiladores

Nombre: Allan Federico González Barrueto Carnet: 0900-10-1

Catedrático: Ingeniero Héctor Samuel Recinos Agustín

Compiladores Sección “A”

� Es cuando una palabra, sintagma u oración es susceptible de dos o mas significados o interpretaciones, la ambigüedad puede ser sintáctica o estructural, semántica o pragmática.

3. Selecciones un método de encriptación, y codifique el siguiente mensaje: a. “el próximo Iphone tendrá paneles táctiles”

� 2l6pr4x3m463ph4n26t2n4r16p1n2l2s6t1ct3l2s � Solución � A=1 � E=2 � I=3 � O=4 � U=5 � ESPACIO = 6

4. Indique en que consiste el Buisnes Continuiti Plan BCP y porque es relevante dentro de todo plan de informática

� Plan de Continuidad del Negocio (BCP) es el resultado de la aplicación de una metodología interdisciplinaria, llamada Cultura BCM, usada para crear y validar planes logísticos para la práctica de cómo una organización debe recuperar y restaurar sus funciones críticas parcial o totalmente interrumpidas dentro de un tiempo predeterminado después de una interrupción no deseada o desastre. Estos planes son llamados Planes de Continuidad del Negocio. El plan logístico que se denomina un Plan de Continuidad de Negocios. En lenguaje sencillo, BCP es el cómo una organización se prepara para futuros incidentes que puedan poner en peligro la organización y su misión básica a largo plazo. Los incidentes incluidos en la construcción de incidentes como incendios, terremotos incidentes como regional, nacional o incidentes como pandemia de enfermedades.

5. En que consiste un plan de resguardo de los datos contenidos en un sistema de información

� Una copia de seguridad o backup en tecnología de la información o informática es una copia de seguridad o el proceso de copia de seguridad con el fin de que estas copias adicionales puedan utilizarse para restaurar el original después de una eventual pérdida de datos. El verbo es copia de seguridad en dos palabras, mientras que el sustantivo es respaldo. Fundamentalmente son útiles para dos cosas: Primero: recuperarse de una catástrofe informática, Segundo: recuperar una pequeña cantidad de archivos que pueden haberse eliminado accidentalmente o corrompido. La pérdida de datos es muy común: El 66% de los usuarios de internet han sufrido una seria pérdida de datos

6. Proponga 2 gramáticas diferentes, construyendo sus respectivos arboles sintácticos.

a. Gramática independiente del contexto que genere nombres de personas mínimo

un nombre un apellido, máximo 2 nombres 2 apellidos comenzando con

mayúsculas:

� <nombre_completo> ���� <nombres><apellidos>

� <nombres>����<nombre 1>

� | <nombre 1><nombre 2>

� <nombre 2>����<nombre 1>

� <nombre 1>����<nombre>

� <nombre> ���� <Letra Mayúscula><letra minúscula>

� <Letra Mayúscula> ���� [A - Z]

� <letra minúscula> ���� <letra minúscula> <letras_minusculas>

Page 3: Guía de estudio Segundo parcial compiladores

Nombre: Allan Federico González Barrueto Carnet: 0900-10-1

Catedrático: Ingeniero Héctor Samuel Recinos Agustín

Compiladores Sección “A”

� <letra minúscula> ���� [a - z]

� <Apellidos> ���� <Nombres>

b. Gramatica independiente de que empiece frases con vocal mayúscula y termine

con consonante minúscula

� <Frase> ����<Palabra>

� |<Frases>

� |€

� <Palabra> ����<letra vocal mayúscula><letras minúsculas><consonante

minúscula>

� <letra vocal mayúscula> |A

� |E

� |I

� |O

� |U

� <consonante minúscula> ���� b|c|d|f|g|h|j|k|l|m|n|ñ|p|q|r|s|t|v|w|

x|y|z

7. Indique como se diferencia un símbolo terminal de uno no terminal en el análisis de las gramáticas

� Los símbolos "terminales" son los que ya no tienen una derivación más, hasta ese símbolo terminas tu derivación (normalmente se expresan con letras minúsculas), y los "no terminales" son con los que puedes continuar derivando tu lenguaje (mayúsculas).

� Un ejemplo: � S-->aSA, S-->b, A-->a � Esto permite derivar de la siguiente forma: � S-->aSA (aqui queda un símbolo terminal y 2 no terminales, lo que

significa que puedes continuar derivando solo: 'S' y 'A') � S-->aSA-->aaSA(aqui tomamos la derivación de 'S-->aSA'), � S-->aSA-->aaSA-->aabA(ahora para terminar de derivar 'S' elegimos la

segunda derivación, la que deriva en un símbolo terminal 'S-->b') � S-->aSA-->aaSA-->aabA-->aaba (terminamos por derivar el último símbolo

'no terminal') 8. Cuáles son las 2 escuelas clásicas de mitigación de desastres razón de ser de las

gramáticas en el análisis sintáctico,

Page 4: Guía de estudio Segundo parcial compiladores

Nombre: Allan Federico González Barrueto Carnet: 0900-10-1

Catedrático: Ingeniero Héctor Samuel Recinos Agustín

Compiladores Sección “A”