Azúcar sintáctico
En informática, el azúcar sintáctico es un término acuñado por Peter J. Landin en 1964 para referirse a los añadidos a la sintaxis de un lenguaje de programación diseñados para hacer algunas construcciones más fáciles de leer o expresar. Esto hace el lenguaje "más dulce" para el uso por programadores: las cosas pueden ser expresadas de una manera más clara, más concisas, o de un modo alternativo que se prefiera, sin afectar a la funcionalidad del programa.
Específicamente, una construcción en un lenguaje es llamada azúcar sintáctico si esta puede ser eliminada del lenguaje sin ningún efecto en la potencia del lenguaje: la funcionalidad y potencia de expresión será la misma.
Los procesadores de lenguajes, incluyendo compiladores, analizadores (parsers), y similares, en ocasiones expanden construcciones «azucaradas» en construcciones más fundamentales antes del procesado, un proceso a veces llamado "desazucarización".
Funcionamiento
Al estar definidos dentro del lenguaje mismo, es tarea del preprocesador, el analizador sintáctico, del compilador, o alguna otra herramienta similar, el convertirlas a algo que el procesador de la computadora pueda ejecutar. Cuando alguna de estas herramientas se encuentra con una de estas instrucciones, la transforma, en algunos casos la expande en alguna de esas construcciones básicas del lenguaje para que después sea evaluado como tal.
Ejemplos
- En COBOL, muchas de sus palabras clave son consideradas azúcar sintáctica que opcionalmente se pueden omitir. Por ejemplo, la sentencia
MOVE A B.
y la sentenciaMOVE A TO B.
hacen exactamente lo mismo, pero la segunda es más clara. - Operadores compuestos por un signo de igual: por ejemplo,
a += b
es igual aa = a + b
en C y otros lenguajes. - Operadores de incremento y decremento. Por ejemplo,
a++
es equivalente aa = a + 1