Beispiel #1
0
        public void AST_If_Else_test()
        {
            string   text             = @"a <- 0; if a = 1 then { a <- 2; } else {a <- 3} fi; a * 2;";
            AST_Root r                = BuildAST_Cool.BUILD(text);
            AST_Execute_Interpreter v = new AST_Execute_Interpreter();

            Assert.IsNotNull(r);
            Assert.AreEqual(v.Visit(r), 6);
        }
Beispiel #2
0
        public void AST_Asignation_test()
        {
            string   text             = @"b <- 11; a <- b + 2; b <- 1; a + b + 1;";
            AST_Root r                = BuildAST_Cool.BUILD(text);
            AST_Execute_Interpreter v = new AST_Execute_Interpreter();

            Assert.IsNotNull(r);
            Assert.AreEqual(v.Visit(r), 15);
        }
Beispiel #3
0
        public void AST_While_Fib_test()
        {
            string   text             = @"
                                a <- 0; 
                                b <- 1;
                                n <- 2; 
                                while n < 9 loop { 
                                    c <- a + b;
                                    a <- b;
                                    b <- c;
                                    n <- n + 1;
                                    } pool;
                                b;
                                ";
            AST_Root r                = BuildAST_Cool.BUILD(text);
            AST_Execute_Interpreter v = new AST_Execute_Interpreter();

            Assert.IsNotNull(r);
            Assert.AreEqual(v.Visit(r), 21);
        }