static void Main(string[] args) { var input = GetInput(args); var tokenizer = new TokenizerFactory().Create(); var tokens = tokenizer.GetTokens(input).ToList(); var tokenCollection = new TokenCollection(tokens); var parser = new ParserFactory().Create(tokenCollection); var parserResult = parser.Parse(); if (parserResult.ParserErrors.Any()) { Console.WriteLine("Errors:"); parserResult.ParserErrors.ToList().ForEach(error => Console.WriteLine($"({error.LineNumber},{error.ColumnNumber}): {error.Message}")); } else { Console.WriteLine("Success!"); } Console.WriteLine("Press any key..."); if (!Debugger.IsAttached) { Console.ReadKey(); } }