Una sobre teoría de lenguajes de programación

Mayro
28 de Abril del 2006
Perdonen que ponga este mensaje en este foro, pero no sabía muy bien donde encuadrarlo.

El caso es que mañana tengo un examen de la asignatura de teoría de traductores y procesadores de lenguajes, y presumiblemente una de las preguntas que pondrán será algo así como ésta:

"¿Por qué es necesario usar delimitadores en los lenguajes de programación?"

Parece sencilla, pero habría que contestarla desde el punto de vista del funcionamiento de los traductores, y no sé muy bien como encuadrarla. Espero que alguien me pueda ayudar. Un saludo y gracias.

hiei
28 de Abril del 2006
Me parece que es un poco tarde para contestar, pero yo tb. tenia parciales estos dias asi que estaba hasta las manos...

Un leguaje onda C o Pascal necesita delimitadores porque es "libre de forma". Es decir, que las expreciones necesitan algun caracter que indique su terminacion porque en un lenguaje libre de forma se puede desparramar una exprecion por varias lineas.
Esto no pasa en lenguajes como Basic que la linea entera es la exprecion y se usa el fin de linea como sepàrador de expreciones.
Bueno, extrictamente hablando Basic usa el \':\' como separador de expreciones para poner dsos expreciones en una misma linea...

La idea es que los primeros dos pasos (el analisis lexico y sintactico) necesitan un "Token" (; en C y pascal) para dejar de analizar la exprecion y armar el arbol sintactico correctamente...

Saludos.