Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[DUDA] Sintacticamente correcto vs Derivable
Autor Mensaje
Knofm Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 76
Agradecimientos dados: 26
Agradecimientos: 20 en 13 posts
Registro en: May 2011
Mensaje: #1
[DUDA] Sintacticamente correcto vs Derivable Dudas y recomendaciones Sintaxis y Semántica de los Lenguajes
Buenas,

Tengo esta duda, cual es la diferencia entre sintacticamente correcto y derivable por BNF.
En mi criterio, entiendo que algo que es derivable por bnf, deberia ser sintacticamente correcto. Es decir, el analizador sintactico no le va a detectar un error en algo que es derivable.
Por ejemplo:
2=1;, es una expresión que es derivable por BNF, pero semanticamente esta mal dado que 2 no es un valorL (es una constante), pero en lo que a mi concierne, entiendo que es una expresión sintacticamente correcta.

La cuestión es que el libro, me parece que se contradice en estos terminos, ya que dice que algo que sea derivable, no tiene porque ser sintacticamente correcto y tira ese ejemplo, pero la restricción de valorL viene dada por lenguaje coloquial y no por BNF. Entonces no me queda claro.
Ademas que en tal caso, si tomamos que algo derivable puede no ser sintacticamente correcto. Entonces que es sintacticamente correcto? porque los problemas de semántica no le competen.

En fin, espero que me puedan despejar esta duda,

ANEXO: (cuando curse con A. Bott, esposa de Muchnik, nos dijo que había muchos errores en el libro; ella trataba de darnos papeles con correcciones, pero incluso en esos papeles luego volvía a corregirse, a mi no me quedo claro. (hace 4 años que la curse, y se me vence este marzo)).

Gracias!
16-12-2014 12:12
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Knofm Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 76
Agradecimientos dados: 26
Agradecimientos: 20 en 13 posts
Registro en: May 2011
Mensaje: #2
RE: [DUDA] Sintacticamente correcto vs Derivable
En el post de http://www.utnianos.com.ar/foro/tema-apo...-corregido fue resulta la duda.
Copio la respuesta:

(16-12-2014 16:28)rihardmarius escribió:  
(16-12-2014 12:32)Zeva escribió:  
(16-12-2014 12:12).-Fede-. escribió:  
(16-12-2014 11:51)Knofm escribió:  Hola, felicitaciones!

Te hago una consulta: que sea derivable por bnf, implica que es sintacticamente correcto?
Por ejemplo 2=1, es una expresión derivable, y pero obviamente el analizador semántico lo detectaría porque 2 es una constante y no un valorL, pero es sintacticamente correcta?

Pasa que en los libros, al menos hay 4 contradicciones al respecto, y no se que creer.
A mi la lógica me indica que si es derivable, es sintacticamente correcto. Ya que el analizador sintactico no va a detectar ningún error en esa expresión.

Gracias!

Según el libro...no...hace hincapié un par de veces en que puede ser derivable y sintacticamente incorrecto, porque hay aclaraciones que son en lenguaje natural y corresponden a la sintaxis.

(16-12-2014 02:05)rihardmarius escribió:  No entiendo tu pregunta. Y no tienen que haber dos b por cada a. Tiene que haber una b más que las a.

Tenes razón, no vi bien el lenguaje, que gil.

Es sintácticamente correcto todo aquello que sea derivable de la BNF. Ocurre que el libro confunde lo que es semánticamente incorrecto y sintácticamente incorrecto. Es semánticamente incorrecto todo aquello que sea derivable y que no cumpla con las restricciones redactadas en lenguaje natural.

Tiene razón zeva.

Si es derivable de la BNF => es sintácticamente correcto
Si no cumple con las restricciones => es un error de semántica estática (error semántico)

Yo lo hable varias veces con mi profesor (zuñiga), y me dijo eso, además de que el libro tiene muchas contradicciones.

El tema con el libro es que cuando fue escrito se diferenciaban los términos sintactica/semantica-mente correcto/incorrecto para el compilador y para el usuario. Cosa que ya no se usa más. Ahora se habla unicamente del compilador.

El ejemplo que me dio para que entendiera fue el de 1 < 2 < 3, que es semanticamente correcto para el compilador pero no para el usuario.

Dejo que los mails que nos intercambiamos con el grupo yahoo.

Cita:Tengo la siguiente duda:

Si una expresión es derivable según la BNF oficial de determinado lenguaje, ¿es una expresión sintácticamente correcta?

Mi duda surge por lo siguiente, el libro dice en la pag. 48:

"La expresión obtenida es “sintácticamente correcta” porque la pudimos derivar de la BNF oficial del lenguaje Pascal. Sin embargo, esta expresión solo tiene sentido si ambas variables son Booleanas."

Haciendo referencia a la expresión A or B.


Pero luego hay un ejercicio que dice:


* Ejercicio 25 *
Las dos derivaciones del Ejemplo 20, ¿producen expresiones “sintácticamente correctas” en Pascal? Justifique su respuesta. ¿Qué podría hacer para mejorar esta situación?


Las derivaciones son:


A or <F>
A or <N>
A or 12

<E>
<ES>
<T>
<F>
not <F>
not 436


y en las respuestas dice (las oficiales que estan al final del libro):


* Ejercicio 25 *
No. Son derivables pero no sintácticamente correctas.


Lo cual me confunde ya que es contradictorio.


Gracias y saludos.

Cita:Desde el punto de vista del compilador, si una expresión es derivable, entonces es sintácticamente correcta. Las restricciones como el tipo de dato son restricciones semánticas, si no se cumplen tenemos un error semántico, no sintáctico.
Insisto, esto desde el punto de vista del compilador.
Saludos
--
Eduardo Zúñiga
18-12-2014 13:54
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.