Exemplo n.º 1
0
        public void Parse_Single_A()
        {
            var input = new[]
            {
                Node.Make(new SymA())
            };

            var node = mParseTable.Parse(input);
        }
Exemplo n.º 2
0
        public void SimpleAdd()
        {
            // 1 + 1
            var input = new[]
            {
                Node.Make(new Numeric(1)),
                Node.Make(new OpAdd()),
                Node.Make(new Numeric(1))
            };
            var output = mTable.Parse(input);

            Assert.AreEqual(2, (output.Payload as Expr)?.Eval());
        }
Exemplo n.º 3
0
        public void ThreeNumbers()
        {
            var minus = new Minus();
            var node  = mTable.Parse(new[]
            {
                Node.Make(new A(1)),
                Node.Make(minus),
                Node.Make(new A(2)),
                Node.Make(minus),
                Node.Make(new A(3))
            });

            Assert.AreEqual(-4, (node.Payload as Expr)?.Eval());
        }