Direktiva (programování)

Direktiva slouží v programování k řízení překladu překladačem (nebo assemblerem či interpretem). Direktivy nejsou součástí programovacího jazyka – přesněji nejsou součástí formální gramatiky a mohou se lišit kompilátor od kompilátoru. V některých případech direktivy specifikují globální chování, v jiných případech ovlivňují jen lokální sekce, tedy bloky programového kódu. V každém případě direktivy neprovádí žádnou akci v programovacím jazyce ale jen mění chování překladače.

Preprocesor jazyka C

V programovacím jazyce C a C++ je podporován jednoduchý preprocesor jazyka C. Řádky zdrojového kódu mohou být manipulovány preprocesrem, pomocí direktiv #define a #include.

V jazyce C je další direktiva #pragma, která je použita k poskytnutí dodatečných informací pro kompilátor k využití pragmatických nebo implementačně závislých funkcích.

Všechny preprocesorové příkazy začínají znakem mřížky (#).

Jiné jazyky

V programovacím jazyku Ada jsou direktivy kompilátoru nazývány pragmatismy (zkratka pro „pragmatická informace“).

V jazyce Common Lisp, jsou direktivy nazývány deklaracemi, a jsou specifikovány pomocí declare konstrukce.[1] S jednou výjimkou jsou deklarace nepovinné a nemají vliv na sémantiku programu. Jedinou výjimkou je deklarace special, která musí být specifikována tam kde je to patřičné.

Programovací jazyk Perl využívá klíčové slovo use,[1] které importuje moduly a může být také použito ke specifikování direktiv například use strict; nebo use utf8;.

Programovací jazyk Python má dvě direktivy – from __future__ import feature (která je definována v PEP 236 -- Back to the __future__), která mění chování jazyka (a používá existující syntaxi importu modulu, jako Perl), acoding directiva (v komentáři) specifikuje kódování souboru se zdrojovým kódem (definováno v PEP 263 -- Defining Python Source Code Encodings).

ECMAScript také využívá use syntaxi pro direktivy, s tím rozdílem, že pragmy jsou deklarovány jako textový řetězec (například use strict;, nebo use asm;), než volání funkce.

Reference

V tomto článku byl použit překlad textu z článku Directive (programming) na anglické Wikipedii.