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.