Directive (programming)

This is an old revision of this page, as edited by Flewis (talk | contribs) at 13:57, 30 November 2008 (Reverted edits by 70.126.144.107 to last version by LAAFan (HG)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer programming, the term directive is applied in a variety of ways that are similar to the term command, it is also used to describe some programming language constructs (e.g. those specifying how a compiler or assembler should process its input).

Assembly language

In assembly language, directives generally specify such information as the target platform, mark the separations between sections, and so on. For instance, the commonly seen directive "ALIGN", which inserts in the current section as many bytes as needed to preserve word-alignment, is generally referred to as a "directive", despite the fact that it does correspond to a particular construct in the generated code.

The C preprocessor

In C and C++, the language supports a simple macro preprocessor. Source lines that should be handled by the preprocessor, such as #define and #include are referred to as preprocessor directives.

Syntactic constructs similar to C's preprocessor directives, such as C#'s #if, are also typically called "directives", although in these cases there may not be any real preprocessing phase involved.

In other high-level languages

In Ada, compiler directives are called pragmas (short for "pragmatic information").

In Turbo Pascal, directives are called significant comments, because in the language grammar they follow the same syntax as comments. In Turbo Pascal, a significant comment is a comment whose first character is a dollar sign and whose second character is a letter; for example, the equivalent of C's #include "file" directive is the significant comment {$I "file"}.

In Perl, the keyword "use" can introduce a "pragma", such as use strict; or use utf8;.