public static SolutionParser Create() { // Create the object tree without DI Framework var lexerRules = new LexerRules(); var tokenizer = new Tokenizer( lexerRules: lexerRules, newLexerReader: s => new LexerReader(s), newLinePositionCalculator: l => new LinePositionCalculator(l)); var tokenWalker = new TokenWalker( tokenizer: tokenizer, newEpsilonToken: () => new EpsilonToken(), newLinePositionCalculator: l => new LinePositionCalculator(l)); var variableParser = new VariableParser(); var headerParser = new HeaderParser(variableParser); var projectParser = new ProjectParser(); var globalSectionParser = new GlobalSectionParser(); return(new SolutionParser(tokenWalker, headerParser, projectParser, globalSectionParser)); }