static void Main(string[] args) { Console.ForegroundColor = ConsoleColor.White; while (true) { Console.Write("> "); string expression = Console.ReadLine(); if (expression.StartsWith(">>>")) { expression += "\n"; do { expression += Console.ReadLine() + "\n"; } while (!expression.EndsWith("<<<\n")); expression = expression.Substring(3, expression.Length - 7); } if (expression == "") { break; } #if DEBUG // TODO Remove debug construct after development if (expression == "TEST") { if (LoadFile.TryLoad(@"..\..\..\..\codeExamples\load", out string content)) { Console.WriteLine(content); Code.RunConsole(content); Console.WriteLine(); } else { Console.WriteLine(content); } Code.RunConsole(LoadFile.Load(@"..\..\..\..\codeExamples\test")); continue; } Code.RunDebug(expression); #else Console.Write("= "); Values.Value result = Code.Run(expression); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(result); Console.ForegroundColor = ConsoleColor.White; #endif } }
private void compileButton_Click(object sender, EventArgs e) { accumulatorBox.Text = "000"; counterBox.Text = "00"; addressBox.Text = "00"; instructionBox.Text = "0"; inputBox.Value = 0; outputBox.Text = ""; SourceCode = sourceTextBox.Text; CurrCode = new Code(SourceCode); stepsTable.CurrentCellChanged -= stepsTable_CurrentCellChanged; highlightImportant(0, true); compileButton.Text = "Compiling..."; if (CurrCode.Compile()) { editButton.Enabled = true; sourceGroup.Enabled = false; programGroup.Enabled = true; compileButton.Text = "Recompile ->"; applyMemory(0); applyProgram(programTable, Forms.createProgramTable()); programTable.Visible = true; RunStatus = CurrCode.Run(0); if (RunStatus != 0) { getInput(RunStatus - 1); } else { afterRun(); } } else { compileButton.Text = "Compile ->"; sourceTextBox.Focus(); sourceTextBox.Select(CurrCode.ErrorSelection[0], CurrCode.ErrorSelection[1]); } }
private void sendButton_Click(object sender, EventArgs e) { sendButton.Enabled = false; if (RunStatus != 0) { CurrCode.Steps[RunStatus - 1].Accumulator = Convert.ToInt32(inputBox.Value); RunStatus = CurrCode.Run(RunStatus); } inputBox.Enabled = false; inputBox.Value = 0; if (RunStatus != 0) { getInput(RunStatus - 1); } else { afterRun(); } }
public static Value ExecuteFile(string path) { return(Code.Run(Load(path))); }
public void TestCodeRunner() { Code code = new Code(new string[0]); code.Run(); }