Esempio n. 1
0
        public Client()
        {
            _context = new Context("Test Context");

            _root = new NonTerminalExpression
            {
                FirstExpression  = new TerminalExpression(),
                SecondExpression = new TerminalExpression()
            };
        }
    public static void Main(string[] args)
    {
        Context context = new Context();

        NonTerminalExpression expression = new NonTerminalExpression();

        expression.AddSubExpression(new TerminalExpression());
        expression.AddSubExpression(new TerminalExpression());

        Console.WriteLine(expression.Interpret(context));
    }
        public void Interpereter_Test()
        {
            var context = new Context("hello");

            var terminalA = new TerminalExpression();
            var terminalB = new TerminalExpression();

            var nonTerminal = new NonTerminalExpression();

            nonTerminal.SubExpressionA = terminalA;
            nonTerminal.SubExpressionB = terminalB;

            var result = nonTerminal.Interpret(context);

            Assert.IsTrue(result.Contains(context.Name));
        }
        static void InterpreterExample()
        {
            var context = new Context();

            context.Source     = "aaa";
            context.Vocabulary = 'a';

            var expression = new NonTerminalExpression();

            expression.Interpret(context);

            Console.WriteLine(context.Result);

            context.Source     = "aab";
            context.Vocabulary = 'a';
            context.Position   = 0;

            expression.Interpret(context);

            Console.WriteLine(context.Result);
        }