Академический Документы
Профессиональный Документы
Культура Документы
Componentes
Anlisis
Los procesos que el analizador lxico realiza es describir a cada token y guardarlo en un
tabla de smbolo con ayuda de una maquina adems de realizar el escaneo de cada token
el analizador realiza la tarea de la eliminacin de caracteres o secuencia de caracteres no
significativos para el anlisis posterior tales como los espacios, los saltos de lnea,
comentarios, tabulaciones entre otros. Esta etapa est basada usualmente en
una mquina de estados finitos, conocida tambin como autmatas finitos, los cuales
pueden ser autmatas finitos determinista o no deterministas. Esta mquina contiene la
informacin de las posibles secuencias de caracteres que puede conformar cualquier
token que sea parte del lenguaje. Por ejemplo, un token de naturaleza entero puede
contener cualquier secuencia de caracteres numricos, pero al hablar de un decimal
puede contener un secuencia de caracteres numricos seguido de un punto seguido de
otra secuencia de caracteres numricos.
Componentes
Tareas
La tarea esencial de un analizador es determinar si una determinada entrada puede ser
derivada desde el smbolo inicial, usando las reglas de una gramtica formal, y como hacer
esto, existen esencialmente dos formas:
rboles sintcticos
La estructura sintctica de los lenguajes de programacin se especifica mediante
Gramticas Libres de Contexto (GLC). Analizar sintcticamente una cadena de tokens es
encontrar para ella un rbol sintctico, que tenga como raz el smbolo inicial de la GLC y
mediante la aplicacin sucesiva de sus reglas de derivacin se puede alcanzar dicha
cadena como hojas del rbol sintctico.
Ejemplo:
el nmero de reglas mal aplicadas con respecto al caso descendente (si hablamos del
caso con retroceso) o ampla el nmero de gramticas susceptibles de ser analizadas
(si hablamos del caso LL(1)).
Anlisis ascendente
El trabajo del analizador sobre una cadena de gramtica particular. El anlisis consiste de:
Una bfer de entrada, una cadena de gramtica
Una pila sobre la cual se almacenan los smbolos terminales y no-terminales de la
gramtica an sin analizar
Una tabla de anlisis (Bottom-Up-Parser ): un analizador puede empezar con la entrada e
intentar llegar hasta el smbolo inicial, intuitivamente el analizador intenta encontrar los
smbolos ms pequeos y progresivamente construir la jerarqua de smbolos hasta el
inicial, los analizadores LR funcionan as y un ejemplo es el Yacc. Los analizadores
sintcticos LR, tambin conocidos como Parser LR, son un tipo de analizador espara
algunas gramticas libres de contexto. Pertenece a la familia de losanalizadores
ascendentes, ya que construyen el rbol sintctico de las hojas hacia la raz. Utilizan la
tcnica de anlisis por desplazamiento reduccin. Existen tres tipos de parsers LR: SLR (K),
LALR(K) y LR (K) cannico. Un analizador LR consta de:
Un programa conductor
Una entrada
Una salida
Una tabla de anlisis sintctico, compuesta de 2 partes (ACCIN Y GOTO)
Ambigedad
Una gramtica es ambigua cuando genera ms de un rbol de derivacin. Para eliminar la
ambigedad se debe reescribir la gramtica.
Factorizacin
La factorizacin si existe una no terminal con unas producciones con el mismo smbolo inicial es
decir un terminal tales como producciones se les agrega una nueva produccin donde el smbolo
repetido es el primero y se pone otro terminal para que este tome la decisin de por cual
produccin ir.
Bibliografa
http://es.wikipedia.org/wiki/Analizador_l%C3%A9xico
http://es.wikipedia.org/wiki/Analizador_sint%C3%A1ctico
http://gramaticas.galeon.com/derivaciones.html#1.
http://sycg.wordpress.com/2010/12/14/analizador-sintactico-ascendente-y-descendente/
http://users.dsic.upv.es/~jsilva/uned/compiladores/Apuntes04.pdf
http://es.scribd.com/doc/45278943/El-analisis-sintactico-descendente-y-ascendente