análisis sintáctico descendente sin retroceso - Blearning

análisis sintáctico descendente sin retroceso - Blearning análisis sintáctico descendente sin retroceso - Blearning

blearning.itmina.edu.mx
from blearning.itmina.edu.mx More from this publisher
09.05.2013 Views

Construcción de analizadores sintácticos descendentes Métodos basados directamente en la sintaxis Ejemplo 2: Expresión-simple La regla de producción A → SA | λ o A → SA | S se traduce a una sentencia repetitiva + - termino expr_simple ( ) { OR if ((token == MAS) || (token == MENOS)) { get_token( ); } termino ( ); while ((token == MAS) || (token == MENOS) || (token == OR)) { get_token( ); termino ( ); } } + - termino Página 46

Construcción de analizadores sintácticos descendentes Analizadores sintácticos descendentes recursivos La condición necesaria para que un analizador descendente recursivo opere correctamente es que la gramática del lenguaje fuente sea LL(1). Se considera a cada regla de la gramática como la definición de una función o método que reconocerá al no terminal de la parte izquierda. El lado derecho de la regla especifica la estructura del código para ese método o función. Los símbolos terminales corresponden a concordancias con la entrada. Los símbolos no terminales con llamadas a funciones o métodos. Las diferentes alternativas a casos condicionales en función de lo que se esté examinando en la entrada. Página 47

Construcción de analizadores <strong><strong>sin</strong>táctico</strong>s <strong>descendente</strong>s<br />

Analizadores <strong><strong>sin</strong>táctico</strong>s <strong>descendente</strong>s recursivos<br />

La condición necesaria para que un analizador <strong>descendente</strong> recursivo<br />

opere correctamente es que la gramática del lenguaje fuente sea LL(1).<br />

Se considera a cada regla de la gramática como la definición de una<br />

función o método que reconocerá al no terminal de la parte izquierda.<br />

El lado derecho de la regla especifica la estructura del código para ese<br />

método o función.<br />

Los símbolos terminales corresponden a concordancias con la entrada.<br />

Los símbolos no terminales con llamadas a funciones o métodos.<br />

Las diferentes alternativas a casos condicionales en función de lo que<br />

se esté examinando en la entrada.<br />

Página 47

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!