1. Examen de Compiladores I Parcial
Complete la estructura del compilador
Programa fuente, Análisis sintáctico, Generación
de código intermedio, Generación de código.
Programa fuente, Optimizador sintáctico,
Generación de código intermedio, Generación de
código.
Programa fuente, Análisis sintáctico, Generación
de código intermedio, Preparación de código.
Programa fuente, Análisis sintáctico, Código
intermedio, Generación de código.
De la siguiente lista de lenguajes subraye el de más bajo nivel:
Español
Flex
C++
Ensamblador
1
2. Examen de Compiladores I Parcial
Dado el siguiente código en c++, haga una tabla que contenga: Token, Lexema y Patrón:
int x = y*15;
Token
Lexema Patrón
reservada
int
int
identificador
x
letra (letra|numero) *
operador
=
=
identificador
y
letra (letra|numero) *
operador
*
*
entero
15
(+|-|e)numero numero*
fin de instrucción ;
;
Token
Lexema Patrón
reservada
int
int
identificador
x
letra (letra|numero) *
operador
=
=
identificador
y
letra (letra|numero)
operador
*
*
entero
15
(+|-|e)numero numero*
fin de instrucción ;
;
Token
Lexema Patrón
reservada
int
int
identificador
x
letra (letra|numero)
operador
=
=
identificador
y
letra (letra|numero) *
operador
*
*
entero
15
(+|-|e)numero numero
fin de instrucción ;
;
Token
Lexema Patrón
identificador
x
letra (letra|numero) *
operador
=
=
identificador
y
letra (letra|numero) *
operador
*
*
entero
15
(+|-|e)numero numero*
fin de instrucción ;
;
Qué es un compilador?
cuando se produce la traducción de un lenguaje de alto nivel en otro del mismo nivel
cuando el leguaje ovjeto es un lenguaje de alto nivel y se comvierte en otro llamado fuente de alto nivel
Cuando el lenguaje fuente es lenguaje de alto nivel y el lenguajo objeto es un lenguaje de bajo nivel
cuando el se comvierte un lenguaje fuente en otro llamado objeto
2
3. Examen de Compiladores I Parcial
seleccione los elementos de la etapa Front End (Análisis)
Análisis semántico
Generación de código
Análisis sintáctico (jerárquico)
Análisis léxico (lineal)
Optimización de código
Dados los conjuntos a = {1,2,3} y b = {4,5,6} defina: a U b y ab
{1,2,3,5,6}
{14,16,24,25,26,34,35,36}
{14,15,16,24,25,26,34,35,36}
{1,2,3,4,5,6}
Seleccione las funciones del Análisis sintáctico (parser)
Aceptar lo que es válido sintácticamente y rechazar lo que no lo es
Guiar el proceso de traducción (traducción dirigida por sintaxis)
Hacer explícito el orden jerárquico que tienen los operadores en el lenguaje de que se trate
Hacer implícito el orden jerárquico que tienen los operadores en el lenguaje de que se trate
Cuales don las dos grandes fases de un compilador.
Sintaxis
Inicial
Síntesis
Análisis
3
4. Examen de Compiladores I Parcial
Seleccione cual afirmación es verdadera?
Un Análisis semántico, es más difícil de formalizar que el sintáctico. Este trata de encontrar errores semánticos
y reunir información sobre los tipos para la fase de generación de código, realizar verificación de tipos. En
definitiva comprobará que el significado de lo que va leyendo es válido.
Un Análisis semántico, es más facil de formalizar que el sintáctico. Este trata de encontrar errores semánticos y
reunir información sobre los tipos para la fase de generación de código, realizar verificación de tipos. En
definitiva comprobará que el significado de lo que va leyendo es válido.
Dado el siguiente código realize su optimización:
Repeat
x:=3;
y:=y-x*2;
until y<0;
Repeat
x:=3;
y:=y-x*2;
until y<0;
x:=3;
Repeat
y:=y-x*2;
until y<0;
4