Examen de compiladores i parcial

4

Click here to load reader

Transcript of Examen de compiladores i parcial

Page 1: Examen de compiladores i parcial

Examen de Compiladores I Parcial

1

Complete la estructura del compilador

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.

Programa fuente, Análisis sintáctico, Generación de código intermedio, Generación de código.

De la siguiente lista de lenguajes subraye el de más bajo nivel:

Flex

C++

Ensamblador

Español

Page 2: Examen de compiladores i parcial

Examen de Compiladores I Parcial

2

Dado el siguiente código en c++, haga una tabla que contenga: Token, Lexema y Patrón:int x = y*15;

Token Lexema Patrónreservada int intidentificador x letra (letra|numero) *operador = = identificador y letra (letra|numero) operador * *entero 15 (+|-|e)numero numero*fin de instrucción ; ;

Token Lexema Patrónreservada int intidentificador x letra (letra|numero) operador = = identificador y letra (letra|numero) *operador * *entero 15 (+|-|e)numero numerofin de instrucción ; ;

Token Lexema Patrónidentificador x letra (letra|numero) *operador = = identificador y letra (letra|numero) *operador * *entero 15 (+|-|e)numero numero*fin de instrucción ; ;

Token Lexema Patrónreservada int intidentificador 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 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

cuando se produce la traducción de un lenguaje de alto nivel en otro del mismo nivel

Page 3: Examen de compiladores i parcial

Examen de Compiladores I Parcial

3

seleccione los elementos de la etapa Front End (Análisis)

Generación de código

Análisis sintáctico (jerárquico)

Análisis léxico (lineal)

Optimización de código

Análisis semántico

Dados los conjuntos a = {1,2,3} y b = {4,5,6} defina: a U b y ab

{14,16,24,25,26,34,35,36}

{14,15,16,24,25,26,34,35,36}

{1,2,3,4,5,6}

{1,2,3,5,6}

Seleccione las funciones del Análisis sintáctico (parser)

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

Aceptar lo que es válido sintácticamente y rechazar lo que no lo es

Cuales don las dos grandes fases de un compilador.

Inicial

Síntesis

Análisis

Sintaxis

Page 4: Examen de compiladores i parcial

Examen de Compiladores I Parcial

4

Seleccione cual afirmación es verdadera?

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.

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.

Dado el siguiente código realize su optimización:Repeat x:=3; y:=y-x*2;until y<0;

x:=3;Repeat

y:=y-x*2;until y<0;

Repeat x:=3; y:=y-x*2;

until y<0;