Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
 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);
         }
     }
 }
Exemplo n.º 4
0
 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);
         }
     }
 }