public Driver(Consumer consumer, CompilationContext compilationContext) { if(consumer == null) { throw new ArgumentNullException("consumer"); } else if(compilationContext == null) { throw new ArgumentNullException("compilationContext"); } this.compilationContext = compilationContext; this.syntaxifier = new Syntaxifier( syntax => consumer(indentation, syntax), e => compilationContext.HandleSyntaxError(e)); }