# Compiler directives

Compiler directives control how a program is compiled. D3 supports a number of
 compiler directives to affect how a program is compiled.

Any line that begins with a dollar sign character ($) is considered to be a compiler
 directive.

 The BASIC compiler stores the object code for a BASIC program in the dictionary of
 the same file as the source code, using the same item-ID.

## Remarks

Remarks or comments can be embedded anywhere in the program without affecting program
 execution. These remarks can be used to document or explain the logic of the
 program.

 Remark statements are specified by the letters REM, or an asterisk (*), or an
 exclamation point (!) at the beginning of a program statement. Any characters that
 follow (up to the end of the line) are ignored by the compiler. Note that the
 compiler comments out the whole attribute and does not honor semicolons (;). An
 example of remark statements is as
 follows:
```
REM THESE BASIC STATEMENTS
! DO NOT AFFECT
* PROGRAM EXECUTION
```

Refer to the following sections for details regarding available directives:

- $DEFINE directive

- $IFDEF directive

- $IFNDEF directive

- $UNDEFINE directive

---
Source: https://d3codex.com/pickbasic-flashbasic/compiler-directives/ - part of the D3Codex reference.
