En los lenguajes de programación, una palabra clave o palabra reservada es una palabra o identificador que tiene un significado particular para un lenguaje de programación. El significado de las palabras clave —y el significado específico de la noción de palabra clave— difiere ampliamente de un lenguaje de programación a otro.
En muchos lenguajes de programación, como por ejemplo C, una palabra reservada identifica una forma sintáctica. Las palabras usadas en construcciones de flujo de control, talesif, then, y else, son palabras clave. En estos lenguajes, las palabras clave no pueden usarse también como nombres de variables, constantes o funciones. En lenguajes con macros o evaluación débil, las construcciones de flujo de control se pueden implementar como macros o funciones.
Algunos lenguajes, como PostScript, son extremadamente liberales con esto, pues permiten que las palabras clave núcleo sean objeto de una redefinición para propósitos específicos.[1]
En Common Lisp, en cambio, las palabras clave son una clase especial de símbolo, es decir, un identificador. Al contrario que otros símbolos, los cuales normalmente sirven a variables o funciones, las palabras clave están auto-comilladas y se evalúan a sí mismas. Se usan palabras clave normalmente para etiquetar argumentos nombrados para funciones, y para representar valores simbólicos.
Entre lenguajes varía qué es suministrado como palabra clave y qué es una rutina de biblioteca. Algunos lenguajes, por ejemplo, suministran palabras clave para operaciones de entrada/salida mientras que en otras estas operaciones son rutinas de biblioteca. En muchos dialectos de BASIC print
es una palabra clave. En cambio, los equivalentes C y Lisp —printf