コード例 #1
0
ファイル: MainForm.cs プロジェクト: windcatcher/SharpDevelop
 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();
     }
 }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: Rpinski/SharpDevelop
		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();
			}
		}