void RunAstWalkerButtonClick(object sender, EventArgs e) { try { IronPython.Hosting.Python.CreateEngine(); Clear(); PythonCompilerSink sink = new PythonCompilerSink(); SourceUnit source = DefaultContext.DefaultPythonContext.CreateFileUnit(@"D:\Temp.py", codeTextBox.Text); CompilerContext context = new CompilerContext(source, new PythonCompilerOptions(), sink); Parser parser = Parser.CreateParser(context, new PythonOptions()); PythonAst ast = parser.ParseFile(false); if (sink.Errors.Count == 0) { ResolveWalker walker = new ResolveWalker(this); ast.Walk(walker); } else { walkerOutputTextBox.Text += "\r\n"; foreach (PythonCompilerError error in sink.Errors) { walkerOutputTextBox.Text += error.ToString() + "\r\n"; } } } catch (Exception ex) { walkerOutputTextBox.Text = ex.ToString(); } }