public Conditional<LexerResult> run(final ILexerOptions options, boolean returnTokenList) throws LexerException, IOException {
return run(new VALexer.LexerFactory() {
@Override
public VALexer create(FeatureModel featureModel) {
if (options.useXtcLexer())
return new XtcPreprocessor(options.getMacroFilter(), featureModel);
return new Preprocessor(options.getMacroFilter(), featureModel);
}
}, options, returnTokenList);
}