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); }