Saltar al contenido principal

Sintaxis y semántica

Escribir un programa es como componer una obra: no basta con tener buenas ideas, también hay que saber plasmarlas de manera que la máquina pueda entenderlas. Cada instrucción, cada símbolo y cada estructura forman parte de un lenguaje con reglas propias, y dominar estas reglas marca la diferencia entre un código que funciona y otro que genera caos. Entre todas estas reglas, dos conceptos clave gobiernan cómo se construye y se interpreta un programa: la sintaxis y la semántica.

Sintaxis

La sintaxis de un lenguaje de programación (syntax) es el conjunto de reglas y estructuras que determinan cómo deben ser escritos los programas en un determinado lenguaje.

Estas reglas especifican la forma correcta de organizar y combinar palabras, símbolos y otros elementos léxicos para crear instrucciones válidas que un compilador o intérprete pueda entender y procesar. La sintaxis define la forma externa del código, sin entrar en su significado (que es tratado por la semántica).

La sintaxis se centra en la estructura y forma del código.

Por ejemplo, en el lenguaje C:

  • Sintaxis correcta: int x = 5;
  • Sintaxis incorrecta: int x 5;. Falta el = y el ;.

Semántica

La semántica de un lenguaje de programación (semantics) se refiere al significado de las instrucciones escritas en el lenguaje. Mientras que la sintaxis se encarga de la estructura y la forma correcta de escribir el código, la semántica describe lo que hace ese código cuando es ejecutado. La semántica define el comportamiento del programa, los efectos de las instrucciones y las relaciones entre diferentes elementos del código.

Por ejemplo, en el lenguaje C:

  • Sintaxis: int x = 5 / 0; cumple la sintaxis (no contiene errores de gramática)
  • Semántica: divide 5 entre 0, lo cual es problemático porque dividir entre cero no tiene un resultado definido.

Por ejemplo, en el lenguaje Python:

  • Sintaxis: print("Hola") está escrito de forma válida.
  • Semántica: el ordenador muestra en pantalla el texto Hola.