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.
· 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).
· 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.
· 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 POSTFIJA: a b * c % d – h f – e % *
NOTACION PREFIJA: * - % * a b c d % - h f e
No hay comentarios:
Publicar un comentario