stringtranslate.com

Directiva (programación)

En programación de computadoras , una directiva o pragma (de "pragmático") es una construcción del lenguaje que especifica cómo un compilador (u otro traductor ) debe procesar su entrada. Dependiendo del lenguaje de programación , las directivas pueden o no ser parte de la gramática del lenguaje y pueden variar de un compilador a otro. Pueden ser procesados ​​por un preprocesador para especificar el comportamiento del compilador o funcionar como una forma de parametrización dentro de banda.

En algunos casos, las directivas especifican un comportamiento global, mientras que en otros casos sólo afectan a una sección local, como un bloque de código de programación. En algunos casos, como algunos programas en C, las directivas son sugerencias opcionales del compilador y pueden ignorarse, pero normalmente son prescriptivas y deben seguirse. Sin embargo, una directiva no realiza ninguna acción en el lenguaje en sí, sino sólo un cambio en el comportamiento del compilador.

Este término podría usarse para referirse a etiquetas y comandos (o marcado) patentados de terceros incrustados en el código que dan como resultado un procesamiento ejecutable adicional que amplía las construcciones de lenguaje, ensamblador y compilador existentes presentes en el entorno de desarrollo. El término "directiva" también se aplica de diversas formas que son similares al término comando .

El preprocesador C

En C y C++ , el lenguaje admite un preprocesador de macros simple . Las líneas fuente que debe manejar el preprocesador, como y, se denominan directivas de preprocesador .#define#include

Otra construcción de C, la #pragmadirectiva, se utiliza para indicar al compilador que utilice características pragmáticas o dependientes de la implementación. Dos usuarios notables de esta directiva son OpenMP y OpenACC .

Las construcciones sintácticas similares a las directivas de preprocesador de C, como las de C##if , también suelen denominarse "directivas", aunque en estos casos puede que no haya ninguna fase de preprocesamiento real involucrada.

Todos los comandos del preprocesador comienzan con un símbolo de almohadilla (#) con la excepción de las directivas import y module en C++ . [1]

Historia

Directivas datan de JOVIAL . [2]

COBOL Tenía una directiva COPY.

En ALGOL 68 , las directivas se conocen como pragmats (de "pragmático"), y se denotan pragmat o pr ; en lenguajes más nuevos, especialmente C, esto se ha abreviado como "pragma" (sin 't').

Un uso común de pragmáticos en ALGOL 68 es especificar un régimen de limitación , es decir, "cómo se indican las palabras clave". A continuación siguen varias directivas de este tipo, que especifican los regímenes PUNTO, SUPERIOR, RES (reservado) o cotización. Tenga en cuenta el uso de la palabra clave pragmat (abreviada pr ), ya sea en el régimen de PUNTOS o de comillas:

.PR PUNTO .PR.PR SUPERIOR .PR.PR RES .PR'pr' cita 'pr'

Hoy en día, las directivas son más conocidas en el lenguaje C, de principios de la década de 1970, y continúan hasta el actual estándar C99 , donde son instrucciones para el preprocesador de C o, en forma de #pragmadirectivas para el compilador mismo. También se utilizan hasta cierto punto en idiomas más modernos; vea abajo.

Otros idiomas

lenguaje ensamblador

PL/SQL

Ver también

Notas a pie de página

  1. ^ "P1857R1 - Descubrimiento de dependencias de módulos".
  2. ^ "Capítulo 17 - Directivas" (PDF) . Manual de programación informática para el lenguaje JOVIAL (J73) (PDF) (Reporte técnico). Junio ​​de 1981. págs. 243–263. RADC-TR-81-143 . Consultado el 28 de mayo de 2023 .
  3. ^ Steele 1990, Capítulo 9: Declaraciones, p. 215–237.
  4. ^ "7.20. Pragmas". Documentación de GHC 7.8.3 . Consultado el 18 de julio de 2014 .
  5. ^ dotnet-bot. "Estructura léxica: especificación del lenguaje C#". docs.microsoft.com . Consultado el 1 de noviembre de 2019 .
  6. ^ Bill Wagner. "#pragma - Referencia de C#". docs.microsoft.com . Consultado el 1 de noviembre de 2019 .
  7. ^ "Declaraciones Pragma compatibles con SQLite". www.sqlite.org .
  8. ^ Feuerstein, Steven ; Pribyl, Bill (23 de enero de 2014). Programación Oracle PL/SQL (6 ed.). O'Reilly Media, Inc. (publicado en 2014). ISBN 9781449324414. Consultado el 16 de junio de 2016 . PL/SQL tiene una palabra clave PRAGMA con la siguiente sintaxis: PRAGMA instrucción_a_compiler ; [...] PL/SQL ofrece varios pragmas [...]

Referencias

enlaces externos