コード例 #1
0
        // ReSharper disable once UnusedParameter.Local
        static void Main(string[] args)
        {
            Variable    variable    = new Variable();
            TextWriter  text        = new StringWriter();
            Interpreter interpreter = new Interpreter(text);

            interpreter.ExecuteLine("set a 5");
            interpreter.ExecuteLine("sub a 3");
            interpreter.ExecuteLine("sub a 8");
            interpreter.ExecuteLine("print a");
        }
コード例 #2
0
 public void ExampleFunction()
 {
     pult.ExecuteLine("set code");
     pult.ExecuteLine("def test " +
                      "set a 5 " +
                      "sub a 3 " +
                      "print b " +
                      "set b 7 " +
                      "call test");
     pult.ExecuteLine("end code");
     pult.ExecuteLine("run");
 }
コード例 #3
0
        void TestInterpreter(string[] commands, string[] expectedOutput)
        {
            string[] actualOutput;
            using (var sw = new StringWriter())
            {
                var interpreter = new Interpreter(sw);

                foreach (var command in commands)
                {
                    interpreter.ExecuteLine(command);
                }

                actualOutput = sw.ToString().Split(_commandsSeparator, StringSplitOptions.RemoveEmptyEntries);
            }

            Assert.AreEqual(expectedOutput.Length, actualOutput.Length);
            Assert.AreEqual(expectedOutput, actualOutput);
        }