Thread:Randomouscrap98/@comment-14486980-20140410193207/@comment-9531161-20140412035350

That's even more complicated than just running the interpreter in the background.

http://www.dreamincode.net/forums/topic/112547-using-the-backgroundworker-in-c%23/

Read that, then let me know what questions you have. Basically, a background worker is a new thread of execution that you start so that you can run code in parallel to the window code (so the window doesn't lock up). The interpretation would go in the "DoWork" section, and any time the interpreter needs to update the window (like for display), it would go in the "ReportProgress" section.