Added directive interface implementation

Directive is the interface that all preprocessor
directives must implement in order to be used
by the preprocessor.