ANÁLISIS DESCENDENTE Parte de las hojas del correspondiente árbol de derivación derecho (cadena de entrada)
El análisis sintáctico descendente (ASD) intenta encontrar entre las producciones de la gramática la derivación por la izquierda del símbolo inicial para una cadena de entrada.
• Ejemplo:
– analizar la cadena de entrada “cad” dada la gramática siguiente:

Gramática
S = c A d
A = a b
A = a

S
/ | \
c A d
|
a
Análisis ascendente: se construye el árbol de análisis sintáctico de la cadena de entrada desde las hojas hasta la raíz. En las hojas tenemos la cadena a analizar (los símbolos terminales) que se intentan reducir al axioma, que se encontrará en la raíz, si la cadena es correcta sintácticamente.
¿Como construir el árbol?
Se trata de desplazarse en la entrada hasta encontrar una subcadena de
símbolos que represente la parte derecha de una producción, en ese momento sustituimos esa subcadena por el no-terminal de la parte izquierda
correspondiente de la producción, la reducimos.
Ejemplo: Supongamos la siguiente gramática que permite generar expresiones aritméticas donde aparece el operador suma y potencia y combinar números e identificadores.
E = E + E
E =E ^E
E =id
E =num
Para la entrada id + id + id

E
/ | \
E | E
/ | \ | |
E | E| |
| | | | |
id + id + id

Los métodos ascendentes se caracterizan porque analizan la cadena d componentes léxicos de izquierda a derecha, obtienen la derivación más a la derecha y el árbol de derivación se construye desde la raíz hasta las hojas.

Para ampliar este tema puede visitar los siguientes LINKS:

http://www2.uah.es/jcaceres/uploaded/teoria/LenguajesProgramacion/tema4.pdf

http://informatica.uv.es/docencia/iiguia/asignatu/2000/PL/2007/tema4.pdf

http://ants.dif.um.es/staff/juanbot/traductores/files/20022003/tema4.pdf