7 # include <ozulis/parser.hh>
9 # define EXPORT_PLUGIN(Class) \
22 virtual PluginType
type() const { return Abstract
; }
23 virtual const std::string
& name() const = 0;
24 virtual const std::string
& version() const = 0;
27 class LanguagePlugin
: public Plugin
30 virtual PluginType
type() const { return Language
; }
31 virtual const std::string
& languageName() const = 0;
32 virtual const std::vector
<std::string
> & extensions() const = 0;
33 virtual Parser
* createParser() = 0;
37 #endif /* !PLUGIN_HH */