コード例 #1
0
        public void TestSuperEasyLang()
        {
            List <Token> tokens = EasyLexerLang.SearchTokens(StringToStream("a=2"));

            tokens.RemoveAll((s) => s.Type.Name.Contains("CH_"));
            tokens.WriteAll();
            Console.WriteLine(SuperEasyParserLang.Check(tokens).Compile);
            List <string> StackCode = SuperEasyParserLang.Compile(tokens);

            StackCode.WriteAll();
            CollectionAssert.AreEqual(new string[] { "a", "2", "=" }, StackCode);
            EasyStackLang.Execute(StackCode);
            Assert.AreEqual(2, EasyStackLang.Variables["a"], double.Epsilon);
        }
コード例 #2
0
        public void TestMethod1()
        {
            List <Token> tokens = EasyLexerLang.SearchTokens(StringToStream(Resources.Stack_var_print));

            tokens.RemoveAll((s) => s.Type.Name.Contains("CH_"));
            tokens.WriteAll();
            Console.WriteLine(EasyParserLang.Check(tokens).Compile);
            List <string> StackCode = EasyParserLang.Compile(tokens);

            StackCode.WriteAll();
            CollectionAssert.AreEqual(new string[] { "a", "2", "=", "print" }, StackCode);
            Console.WriteLine("Выполнение стековой машины...");
            EasyStackLang.Execute(StackCode);
            Console.WriteLine("Выполнение стековой машины завершено.");
            Assert.AreEqual(1, EasyStackLang.Variables.Count);
        }