sosimple

nee mientras haya algo de ke opinar ... que se abra el espacio

Como se observará en estos diagramas (también llamados diagramas de Conway) son grafos dirigidos que tienen dos componentes esenciales:

El ‘rectángulo’ que indica que en ese punto hay un elemento del vocabulario que es no-terminal, es decir que tendrá otro diagrama de Conway para definirle.

El ‘círculo’ para indicar que en ese punto hay un símbolo terminal, es decir que es un elemento perteneciente al vocabulario para la formación de expresiones aritméticas.

-En estos diagramas se acostumbrará a comenzar el recorrido por la izquierda, por la rama que suele llevar muy cercano el nombre del elemento que vamos a definir, se sigue el recorrido, en el sentido de las flechas, y cada elemento (rectángulo o círculo) que se va encontrando se concatena a lo que ya se tuviera.

- Quedan por definir Identf., Constante y Función, que por la brevedad de su definición utilizaré lenguaje natural para ello:

· Identif. : los identificadores se utilizarán para designar las variables que aparezcan en la expresión aritmética. Un identificador se formará empezando siempre por una letra seguido de 0 o más letras o dígitos numéricos.

· Constante : una constante es, simplemente, un número real (notación IEEE 754-1985) compuesto por una parte entera, una parte decimal y una parte exponencial (no deben aparecer todas necesariamente). Igual que en el lenguaje Java.

· Función : se refiere a funciones matemáticas de un único parámetro. Las incluidas en este caso son:

o Sqrt : calcula la raíz cuadrada de un número (positivo).
o Exp : eleva el número e a un número.
o Log : calcula el logaritmo neperiano de un número.

Ejemplo de validación de una expresión aritmética


8 + (a3 * 5)

Término -> Factor -> Constante (8) -> (+) -> Término -> Factor -> (() -> Expresión -> ()) -> Fin

Hasta aquí, tenemos reconocido, según los diagramas sintácticos, lo siguiente : 8 + ( Expresión )
Aquí, Expresión se encargará de validar a3 * 5, con la siguiente secuencia:

Término -> Factor -> Identif. (a3) -> (*) -> Factor -> Constante (5)

Ejemplos, igualmente válidos, que se pueden verificar con los diagramas sintácticos, serían:

1. 2 + 3^(-3) * sqrt(79 / exp(1*a)) * (-5)
2. ( -( -( -( -( -8)))))

0 comentarios:

Publicar un comentario