Académique Documents
Professionnel Documents
Culture Documents
Lenguajes y Autmatas II
Cuestionario de Repaso.-
Proceso de compilacin:
1. Cuando un cdigo es ledo por un compilador este entra al anlisis lxico donde se verifica
dnde empieza y termina cada instruccin, esto se hace tomando como referencia los espacios en
blanco.
2. Una vez hecho esto el analizador sintctico llama de manera repetida al analizador lxico para
que este le envi cada lnea de cdigo para ser verificada si est bien escrita en el lenguaje. Para
realizar esta verificacin se realiza por medio de un estructura llamada rbol gramatical. Ejemplo:
1. Despus entra en la etapa del analizador semntico, esta se encarga de la construccin de las
instrucciones del lenguaje, revisando que sean iguales a las definidas.
2. Luego entramos al proceso de sntesis, donde se generas el cdigo intermedio, este para ser
utilizado en la memoria de forma temporal.
3. Ahora este cdigo generado pasa por el optimizador para ser ejecutado de forma ms rpida.
4. En esta ltima etapa se genera un cdigo que sea entendible por la mquina para ser ejecutado
por la computadora.
3.- Cules son las fases del anlisis del programa fuente y en qu consisten?
La fase de anlisis supone la divisin del programa fuente en componentes, y a cada uno de ellos le
impone una estructura gramatical. Si durante el anlisis se detecta que el programa fuente est
mal formado en cuanto a la sintaxis, o que no tiene una semntica consistente, entonces debe
proporcionar mensajes informativos para que el programador pueda corregirlo.
En la fase del anlisis tambin se recolecta informacin sobre el programa fuente y se almacena en
una estructura de datos llamada tabla de smbolos, la cual se pasa junto con la representacin
intermedia a la fase de la sntesis.
En la fase de anlisis lxico se leen los caracteres del programa fuente y se agrupan en cadenas que
representan los componentes lxicos. Cada componente lxico es una secuencia lgicamente
coherente de caracteres relativa a un identificador, una palabra reservada, un operador o un
carcter de puntuacin. A la secuencia de caracteres que representa un componente lxico se le
llama lexema (o con su nombre en ingls token). En el caso de los identificadores creados por el
programador no solo se genera un componente lxico, sino que se genera otro lexema en la tabla
de smbolos.
Tambin se le conoce como anlisis morfosintctico y consiste en: En esta fase, los componentes
lxicos se agrupan en frases gramaticales que el compilador utiliza para sintetizar la salida.
La fase de anlisis semntico se intenta detectar instrucciones que tengan la estructura sintctica
correcta, pero que no tengan significado para la operacin implicada.
La entrada es del compilador ser el cdigo de alto nivel y la salida es el cdigo mquina.
Una tabla de smbolos es una estructura de datos que usa el proceso de traduccin de un lenguaje
de programacin, por un compilador o un intrprete, donde cada smbolo en el cdigo fuente de
un programa est asociado con informacin tal como la ubicacin, el tipo de datos y el mbito de
cada variable, constante o procedimiento.
Algunos compiladores generan una representacin intermedia explcita del programa fuente, una
vez que se han realizado las fases de anlisis. Se puede considerar esta operacin intermedia como
un subprograma para una mquina abstracta. Esta representacin intermedia debe tener dos
propiedades importantes: debe ser fcil de producir y fcil de traducir al programa objeto.
10.- Cmo est constituida una gramtica de un lenguaje dado?
Para una mejor comprensin las gramticas han sido clasificadas de acuerdo a particularidades y
restricciones propias, una de ellas y la ms acertada es la formulada por Avram Noam Chomsky,
quien clasific las gramticas de acuerdo a cuatro tipos, dando origen a la Jerarqua de Chomsky en
funcin de la forma de reglas de derivacin o produccin.
La clasificacin comienza con un tipo de gramticas que pretende ser universal, aplicando
restricciones a sus reglas de derivacin, se van obteniendo los otros tres tipos de gramticas. Esta
clasificacin es jerrquica, es decir cada tipo de gramtica incluye a todos los tipos siguientes.
Los lenguajes que resultan de dichas gramticas tambin se identifican con lenguajes de tipo cero,
uno, dos y tres.
El diseo descendente es una tcnica que permite disear la solucin de un problema con base en
la modularizacin o segmentacin dndole un enfoque de arriba hacia abajo (Top Down Design).
Esta solucin se divide en mdulos que se estructuran e integran jerrquicamente, como si fuera el
organigrama de una empresa.
Es usado para traducir sentencias del lenguaje ensamblador al cdigo de mquina del computador
objetivo. El ensamblador realiza una traduccin ms o menos isomorfa (un mapeo de uno a uno)
desde las sentencias mnemnicas a las instrucciones y datos de mquina. Esto est en contraste
con los lenguajes de alto nivel, en los cuales una sola declaracin generalmente da lugar a muchas
instrucciones de mquina.
En esta fase se trata de mejorar el cdigo intermedio, de modo que resulte un cdigo de mquina
ms rpido de ejecutar.
17.- Qu es el backtracking?
Es una tcnica de programacin para hacer bsqueda sistemtica a travs de todas las
configuraciones posibles dentro de un espacio de bsqueda.