Page 90 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 90
90
En este punto el analizador puede reemplazar estos símbolos con el no terminal que se encuentra
en el lado izquierdo de la regla de reescritura antes de transferir otros símbolos de la entrada de
la pila. Esto debe garantizar que la pila guarde terminales y no terminales que poco a poco serán
reemplazados por no terminales, subiendo hasta el símbolo inicial de la gramática.
Por ende los LR son analizadores ascendentes y los LR son descendentes.
Los analizadores del tipo LR, son más potentes que los LL, pero revisten más complejidad. Este
tema de los analizadores corresponde más a la teoría de compiladores que a la de lenguajes
formales. Como quiera que el curso hace referencia a los tres temas: lenguajes formales,
autómatas y compiladores, he tratado de introducir la forma en que se construyen los
compiladores, su teoría y funcionamiento como autómatas que son y el tipo de lenguajes y
gramática de que tratan.
Los analizadores LR, se basan en una rutina de desplazamiento, que busca desplazar un símbolo
de la cadena de entrada a la pila y luego realizar una operación de reducción, en la cual se
transforma el contenido de la pila a una forma más simple; que al final permite extraer el símbolo
inicial S de la pila.
Todo se reduce a una verificación y recorrido de la pila y a la elección de opciones, de reemplazo,
que igual que los LL deben o requieren también cierta cantidad de símbolos de entrada para el pre
análisis.