Sintaxis #
- Se conoce como sintaxis a la parte visible de un lenguaje de programación.
- Se define como el conjunto de reglas que deben seguirse al escribir el código fuente de los programas para considerarse como correctos para ese lenguaje de programación.
La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y signos de puntuación, de manera similar a los lenguajes naturales escritos.
Por otra parte, hay algunos lenguajes de programación que son más gráficos en su naturaleza y utilizan relaciones visuales entre símbolos para especificar un programa.
La sintaxis de un lenguaje de programación describe además las combinaciones posibles de los símbolos que forman un programa sintácticamente correcto.
El significado que se le da a una combinación de símbolos es manejado por su semántica.
La sintaxis de los lenguajes de programación se define mediante la utilización de una combinación de expresiones. Veamos como caso esta gramática simple, tomada de Lisp, una familia de lenguajes de programación de computadora de tipo funcional con una larga historia y una sintaxis desarrollada completamente entre paréntesis.
Desarrollado originalmente en 1958, es el segundo más viejo lenguaje de programación de alto nivel (el primero es el Fortran).

Con esta gramática se especifica lo siguiente: #
📌 Una expresión puede ser un átomo o una lista.
📌 Un átomo puede ser un número o un símbolo.
📌 Un número es una secuencia continua de uno o más dígitos decimales, precedido opcionalmente por un signo (+) o un signo (-).
📌 Un símbolo es una letra seguida de cero o más caracteres (excluyendo espacios).
📌 Una lista es un par de paréntesis que abren y cierran. (con cero o más expresiones en medio).
Las reglas que determinan el significado de los programas constituyen la semántica de los lenguajes de programación.
📌 No todos los programas sintácticamente correctos ➾ son semánticamente correctos.
- Muchos programas sintácticamente correctos tienen inconsistencias respecto de las reglas del lenguaje y pueden resultar en un error de traducción o de ejecución.
- Puede tener un significado que no se estaba tratando de construir.
Ejemplo: Manuel es un soltero casado también.
📌 Está bien formada gramaticalmente, pero expresa un significado inválido, contradictorio.

En síntesis, los lenguajes de programación constan de: #
- 📌 Un conjunto finito de símbolos, a partir del cual se define el léxico o vocabulario del lenguaje.
- 📌 Un conjunto finito de reglas (la gramática del lenguaje), para la construcción de las sentencias correctas del lenguaje (sintaxis).
- 📌 Semántica, que asocia un significado (la acción que debe llevarse a cabo) a cada posible construcción del lenguaje.