Directives control the behavior of the compiler. They apply to
the remainder of the current compilation unit. The two
directives #open and #close modify the list of opened modules,
that the compiler uses to complete unqualified identifiers, as
described in section 3.3. The directive #open string adds the
module whose name is given by the string constant string to the
list of opened modules, in first position. #close string removes
the first occurrence of the module whose name is given by the
string constant string from the list of opened modules.
Implementations can provide other directives, provided they
follow the # ident string, where ident is the name of the
directive, and the string constant string is the argument to the
directive. The behavior of these additional directives is
implementation-dependent.