Você está na página 1de 2

Anlisis Sintctico Todo lenguaje de programacin tiene reglas que describen la estructura sintctica de programas bien formados.

Las gramticas ofrecen ventajas significativas a los diseadores de lenguajes y a los desarrolladores de compiladores.

Las gramticas son especificaciones sintcticas y precisas de lenguajes de programacin. A partir de una gramtica se puede generar automticamente un analizador sintctico. El proceso de construccin puede llevar a descubrir ambigedades. Una gramtica proporciona una estructura a un lenguaje de programacin, siendo ms fcil generar cdigo y detectar errores. Es ms fcil ampliar/modificar el lenguaje si est descrito con una gramtica.

Qu es el analizador sintctico? Es la fase del analizador que se encarga de chequear el texto de entrada en base a una gramtica dada. Y en caso de que el programa de entrada sea vlido, suministra el rbol sintctico que lo reconoce. En teora, se supone que la salida del analizador sintctico es alguna representacin del rbol sintctico que reconoce la secuencia de tokens suministrada por el analizador lxico. En la prctica, el analizador sintctico tambin hace:

Acceder a la tabla de smbolos (para hacer parte del trabajo del analizador semntico). Chequeo de tipos ( del analizador semntico). Generar cdigo intermedio. Generar errores cuando se producen.

En definitiva, realiza casi todas las operaciones de la compilacin. Este mtodo de trabajo da lugar a los mtodos de compilacin dirigidos por sintaxis. Tipos de Anlisis De la forma de construir el rbol sintctico se desprenden dos tipos o clases de analizadores sintcticos. Pueden ser descendentes o ascendentes.

Descendentes : Parten del axioma inicial, y van efectuando derivaciones a izquierda hasta obtener la secuencia de derivaciones que reconoce a la sentencia.

Pueden ser: 1. Con retroceso. 2. Con recursin. 3. LL(1)

Ascendentes: Parten de la sentencia de entrada, y van aplicando reglas de produccin hacia atrs (desde el consecuente hasta el antecedente), hasta llegar al axioma inicial.

Pueden ser: 1. Con retroceso. 2. LR(1)

Você também pode gostar