Almost all modern languages have a means of controlling how code gets parsed at compile-time. This usually involves defining constants, testing these constants for a particular value (or just their existence), and possibly generating code or aborting a compile.
VF, so far, can parse the following directives:
- @define constant - defines a constant
- @if constant - compiles the following code if constant is defined
- @elseif constant - when the preceding @if failed, tests alternative constants
- @else - when all preceding @if and @elseif fail, compile the following
- @endif - ends a conditional