In
computer programming, a
directive pragma (from "pragmatic") is a
language construct that specifies how a
compiler (or
assembler or
interpreter) should process its input. Directives are not part of the language proper – they are not part of the
grammar, and may vary from compiler to compiler – but instead function either as an
in-band form of a
command-line option, specifying compiler behavior, or are processed by a
preprocessor. In some cases directives specify global behavior, while in other cases they only affect a local section, such as a block of programming code. In some cases, such as some C pragmas, directives are optional compiler hints, and may be ignored, but normally they are prescriptive, and must be followed. However, a directive does not perform any action in the language itself, but rather only a change in the behavior of the compiler.