public void ShouldShowTrace() { var _interpreter = new Interpretator(); var _writer = new StringWriter(); Console.SetOut(_writer); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("def test\n" + " set a 4\n" + "set t 5\n" + "call test\n" + "sub a 3\n" + "call test\n" + "print a"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("add break 1"); _interpreter.ExecuteLine("run"); _interpreter.ExecuteLine("print trace"); _interpreter.ExecuteLine("run"); _interpreter.ExecuteLine("run"); var output = _writer.ToString(); Assert.That(output.Contains("3 test") && output.Contains("4"), Is.EqualTo(true)); }
public void ShouldStepOverWork() { var _interpreter = new Interpretator(); var _writer = new StringWriter(); Console.SetOut(_writer); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("def test\n" + " set a 4\n" + " set b 5\n" + "set t 5\n" + "call test\n" + "print a"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("add break 1"); _interpreter.ExecuteLine("add break 4"); _interpreter.ExecuteLine("run"); _interpreter.ExecuteLine("step over"); _interpreter.ExecuteLine("step"); var output = Int32.Parse(_writer.ToString()); Assert.That(output, Is.EqualTo(4)); }
static void Main(string[] args) { string t = "ArloopaScript a,c:int; void update() i:int; { i=3; if i < 4 { i=--7; write(i) } else ; } { write(\" update \"); update() }"; Interpretator inter = new Interpretator(t + "@"); inter.interpretation(); }
public void ShouldSubVariable() { var _interpreter = new Interpretator(); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("set a 5\n" + "sub a 2\n" + "print a"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("run"); }
static void Main(string[] args) { System.Console.WriteLine(args[0]); Interpretator intrpr = new Interpretator(args[0], true); //wb = new WB(fileName.FileName); System.Windows.Forms.Application.DoEvents(); try { intrpr.interpretation(null, (System.Windows.Forms.RichTextBox)null); System.Windows.Forms.Application.Run(); } catch (Exception exc) { System.IO.File.WriteAllText("error.txt", "error: " + exc.Message); } }
//--------------------------- private void initialize_browser(string prog) { //wb = new WB(prog); intrpr = new Interpretator(prog); groupBox1.Controls.Add(intrpr.wb.webBrowser); intrpr.wb.webBrowser.Dock = System.Windows.Forms.DockStyle.Fill; intrpr.wb.webBrowser.TabIndex = 1; if (intrpr.wb.webBrowser.Document == null) { intrpr.wb.go("about:blank"); } intrpr.wb.webBrowser.Document.Click += new HtmlElementEventHandler(click_handle); intrpr.wb.webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser_navigating); protocol = new Protocol_of_user_operation(history_out, intrpr); }
public void ShouldCallFunctionAndPrint() { var _interpreter = new Interpretator(); var _writer = new StringWriter(); Console.SetOut(_writer); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("def test\n" + " print a\n" + "set a 5\n" + "call test"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("run"); var output = _writer.ToString(); var a = int.Parse(output); Assert.That(a, Is.EqualTo(5)); }
public void ShouldOverrideVariable() { var _interpreter = new Interpretator(); var _writer = new StringWriter(); Console.SetOut(_writer); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("set a 5\n" + "set a 6\n" + "print a"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("run"); var output = Int32.Parse(_writer.ToString()); Assert.That(output, Is.EqualTo(6)); }
public void ShouldPostFuncDefinitionWorks() { var _interpreter = new Interpretator(); var _writer = new StringWriter(); Console.SetOut(_writer); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("call test\n" + "print a\n" + "def test\n" + " set a 5"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("run"); var output = Int32.Parse(_writer.ToString()); Assert.That(output, Is.EqualTo(5)); }
public void ShouldShowMemoryVars() { var _interpreter = new Interpretator(); var _writer = new StringWriter(); Console.SetOut(_writer); _interpreter.ExecuteLine("set code"); _interpreter.ExecuteLine("set a 5\n" + "set b 4\n" + "set c 3\n" + "set d 2\n" + "set e 1"); _interpreter.ExecuteLine("end set code"); _interpreter.ExecuteLine("add break 2"); _interpreter.ExecuteLine("run"); _interpreter.ExecuteLine("print mem"); var output = _writer.ToString(); Assert.That(output.Contains("a 5 0") && output.Contains("b 4 1"), Is.EqualTo(true)); }
public void Run() { NumberValidator checker = new NumberValidator(Number); if (!checker.IsNumber()) { consoleViewer.ShowExpression("instruction");//todod return; } if (!checker.HasRightLength()) { consoleViewer.ShowExpression("instruction");//todo return; } Context destinationPhrase = new Context(Number); Interpretator transletor = new Interpretator(); transletor.Interpret(destinationPhrase); consoleViewer.ShowExpression(destinationPhrase.Output); }
public MainForm(KompasObject kompas) { this.InitializeComponent(); this.interpretator = new Interpretator(kompas); }
/// <summary> /// Конструктор /// </summary> /// <param name="hist_output">Окно вывода</param> /// <param name="wb1">Брвузер</param> public Protocol_of_user_operation(RichTextBox hist_output, Interpretator intrpr1 = null) { intrpr = intrpr1; history = new CommandHistory(hist_output); attr = new Dictionary <string, string>(); }