private void DebugApp(bool DebugMode) { if (GetCurrentDocument != null) { Console.Clear(); Console.WriteLine("Starting..."); Errors.Rows.Clear(); Watcher watchdog = new Watcher(); watchdog.Show(); try { AILCompiler.Compiler SourceOutput = new AILCompiler.Compiler(GetCurrentDocument.Text + "\nKEI 2"); watchdog.Program = new Debugger(SourceOutput.Compile(), DebugMode); watchdog.Start(); } catch (ArgumentException ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = ConsoleColor.White; ErrorColours(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; Errors.Rows.Add(row); } catch (AILCompiler.BuildException ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.WriteLine("Line number: " + ex.SrcLineNumber); Console.ForegroundColor = ConsoleColor.White; ErrorColours(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; row["Line Number"] = ex.SrcLineNumber.ToString(); Errors.Rows.Add(row); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = ConsoleColor.White; ErrorColours(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; Errors.Rows.Add(row); } } }
private void ViewBinaryArrayToolStripMenuItem_Click(object sender, EventArgs e) { string cs_array = ""; this.Cursor = Cursors.WaitCursor; Errors.Clear(); try { AILCompiler.Compiler compiler = new AILCompiler.Compiler(GetCurrentDocument.Text); byte[] programMade = compiler.Compile(); if (programMade == null) { throw new AILCompiler.BuildException("Unknown Error", 0); } else { int n = 0; for (int i = 0; i < programMade.Length; i++) { n++; if (n != 6) { cs_array += (programMade[i].ToString() + ", "); } else { cs_array += (programMade[i].ToString() + ", \n"); n = 0; } } } BinaryArray ba = new BinaryArray(cs_array); ba.Show(); } catch (AILCompiler.BuildException ex) { GetCurrentDocument.BackColor = Color.Red; DataRow row = Errors.NewRow(); row["Message"] = ex.Message; row["Line Number"] = ex.SrcLineNumber.ToString(); Errors.Rows.Add(row); } this.Cursor = Cursors.Default; }
private void CheckSyntax() { if (GetCurrentDocument != null) { Console.Clear(); Errors.Rows.Clear(); try { AILCompiler.Compiler SourceOutput = new AILCompiler.Compiler(GetCurrentDocument.Text + "\nKEI 2"); SourceOutput.Compile(); } catch (ArgumentException ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = ConsoleColor.White; ErrorColours(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; Errors.Rows.Add(row); } catch (AILCompiler.BuildException ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.WriteLine("Line number: " + ex.SrcLineNumber); Console.ForegroundColor = ConsoleColor.White; ErrorColours(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; row["Line Number"] = ex.SrcLineNumber.ToString(); Errors.Rows.Add(row); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ForegroundColor = ConsoleColor.White; ErrorColours(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; Errors.Rows.Add(row); } } }
private void BuildExe() { if (GetCurrentDocument != null) { Errors.Rows.Clear(); try { AILCompiler.Compiler SourceCompiler = new AILCompiler.Compiler(GetCurrentDocument.Text); SourceCompiler.Compile(); if (saveBinaryDialog.ShowDialog() == DialogResult.OK) { try { FileStream bry = File.OpenWrite(saveBinaryDialog.FileName); bry.Write(SourceCompiler.ByteCode, 0, SourceCompiler.ByteCode.Length); bry.Close(); } catch (ArgumentException ax) { // this is from the user abandoning the save } catch (Exception ex) { MessageBox.Show(ex.Message, "File Save Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } } catch (AILCompiler.BuildException ex) { GetCurrentDocument.Styles[Style.Default].BackColor = Color.Red; GetCurrentDocument.Styles[Style.Default].ForeColor = Color.White; GetCurrentDocument.StyleClearAll(); DataRow row = Errors.NewRow(); row["Message"] = ex.Message; row["Line Number"] = ex.SrcLineNumber.ToString(); Errors.Rows.Add(row); } } }