lunes, 22 de junio de 2009

COMPILADORES E INTERPRETES

1. En el cuadro siguiente escriba dos tareas para cada analizador:
LEXICO
· Recibe como entrada el código fuente de otro programa (secuencia de caracteres) y produce una salida compuesta de tokens (componentes léxicos) o símbolos
· Revisa y controla que las "tokens" estén bien escritos, para una posterior etapa del proceso de traducción.
SINTACTICO
· Comprueba si los tokens van llegando en el orden correcto (orden permitido por el lenguaje). La salida "teórica" de la fase de análisis sintáctico sería un árbol sintáctico.
· Guía el proceso de traducción (traducción dirigida por la sintaxis).
SEMANTICO
· Se encarga de revisar que cada agrupación o conjunto de tokens tenga sentido, y no sea un absurdo
· Detecta si las variables, constantes y funciones han sido declaradas antes de ser utilizadas.

2. Transformar las siguientes expresiones a notación postfija y prefijo.

a) a * b % c – d * a – d % e

NOTACION POSFIJA: a b * c % d – a * d – e %

NOTACION PREFIJA: % - * - % * a b c d a d e

b) (a + c) – (d * e) / x % y

NOTACION POSFIJA: a b + d e * - x / y %

NOTACION PREFIJA: % / - + a b * d e x y

c) (h – i – j * k) % m / x / y

NOTACION POSFIJA: h i – j – k * m % x / y /

NOTACION PREFIJA: / / % * - - h i j k m x y
3. Dado el árbol de derivación, obtener la expresión en notación infija, postfija y prefija.


NOTACION INFIJA: (((a + b) % c)-d) * ((h - f) % e)

NOTACION POSTFIJA: a b * c % d – h f – e % *

NOTACION PREFIJA: * - % * a b c d % - h f e


No hay comentarios:

Publicar un comentario