Professional Documents
Culture Documents
Lea los temas 1.1 a 1.3 del archivo A7.pdf proporcionado en el material del
curso
Preguntas:
1. Cul es el objetivo de un compilador?
R: bsicamente es traducir un programa (o texto) escrito en un lenguaje
fuente, que llamaremos programa fuente, en un equivalente en otro
lenguaje denominado objeto, al que llamaremos programa o cdigo
objeto.
2. Cuntas fases componen un compilador? Cules son?
R:
Analisis lxico
Analisis sintctico
Analisis semntico
Generacion de cdigo
Optimizacion de cdigo
Generalizacion de codigo
3. Cul es la funcin de cada una de ellas?
R:
Anlisis lxico La cadena de entrada se recibe como una sucesin de
caracteres. El anlisis lxico agrupa los caracteres en secuencias con
significado colectivo y mnimo en el lenguaje, llamadas componentes
lxicos (palabras o token), con ciertos atributos lxicos.
Anlisis sintctico Los componentes lxicos se agrupan para formar
frases. El valor lxico de los componentes es en este momento
irrelevante. Normalmente las frases se representan mediante una
estructura de rbol sintctico, siguiendo reglas que describen el
lenguaje.
Anlisis semntico En esta etapa se revisa el resultado del anlisis
sintctico, recopilando por ejemplo informacin de tipos y construyendo
una representacin an ms abstracta.
7. Qu es el cdigo objeto?
Cdigo generado por un compilador o un ensamblador traducido por un
cdigo fuente de un programa.
Casi siempre este trmino se refiere al cdigo mquina que puede
ejecutarse directamente en la unidad central de proceso (CPU) del
sistema, pero tambin puede ser cdigo fuente de lenguaje ensamblador
o una variante de cdigo mquina.
#include <stdio.h> > para usar alternativas de entrda salida como printf , scanf
float vector [12];
instrucciones de asignacion:
Ejemplo:
Sirven para dar valores a las variables, y llevan ste formato:
nombre_variable = expresin ;
instrucciones selectivas
Ejemplo:
if ( expresin a evaluar )
else > Pero si sa expresin era falsa, se ejecutarn las acciones 3 y 4.
switch ( expresion a evaluar )
{
case 1 : accion 1 ;
case 2 : accion 2 ;
case 3 : accion 3 ;
}
instrucciones repetitivas
Ejemplo:
While ( expresin )
Do
{
accin 1;
accin 2;
} While ( expresin )
instrucciones de bifurcacin:
Ejemplo:
Switch ( expresin que estamos evaluando )
{
case 1 : cout << Hola! ; break ;
case 2 : cout << amig@s ;
}
R:
Ese vector que se ha declarado arriba, al ser un arreglo quiere decir que hay 12 variables con el mismo
nombre
y son del mismo tipo, pero diferenciadas unicamente en su posicion, asi:
vector[0],vector[1],vector[2],vector[3],vector[4],vector[5],vector[6], .. ,vector[10],vector[11].
Nota: los arreglos siempre comienzan en la posicion cero ( 0 ) por eso llegan hasta una unidad menos, en
ste caso como declaramos un arreglo de 12 , su tope ser de 11; puesto a que desde cero ( 0 ) hasta once
( 11 ) hay doce ( 12 ) variables