/// <summary> /// Compiles and runs /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CompileAndRunItem_Click(object sender, RoutedEventArgs e) { try { // create a source module from the text SourceModule sourceModule = new SourceModule(programText.Text); // compile it SunaCompiler compiler = new SunaCompiler(); LinkedModule linkedModule = compiler.Compile(sourceModule); // Show the simulator if it's not AppleWinThread.Show(true); // enter monitor so that the Apple ][ is not using memory that we want // not used Machine.ExecuteProgram(linkedModule.GetImage(), linkedModule.BaseAddress); } catch (NotImplementedException niX) { MessageBox.Show("Feature not implemented: " + niX.Message); } catch (CompileException cX) { MessageBox.Show("Compile exception: " + cX.Message); } }
/// <summary> /// Compiles the named resource /// </summary> /// <param name="resourceName"></param> private LinkedModule CompileResource(string resourceName) { // get the resource stream Assembly assembly = Assembly.GetExecutingAssembly(); Stream stream = assembly.GetManifestResourceStream("SunaTest." + resourceName); // create a source module SourceModule sourceModule = new SourceModule(stream); // compile it SunaCompiler compiler = new SunaCompiler(); return(compiler.Compile(sourceModule)); }