private static int Run(string source) { Scanner scanner = new Scanner(source); Token[] tokens = scanner.ScanTokens().ToArray(); Parser parser = new Parser(tokens); Stmt[] statements = parser.Parse().ToArray(); var astPrinter = new AstPrinter(); foreach (Stmt stmt in statements) { foreach (string print in astPrinter.PrintStmt(stmt)) { Console.WriteLine(print); } } if (HadError) { Console.Read(); return(65); } Resolver resolver = new Resolver(Interpreter); resolver.Resolve(statements); if (HadError) { Console.Read(); return(65); } Interpreter.Interpret(statements); if (HadRuntimeError) { Console.Read(); return(70); } Console.Read(); return(0); }