예제 #1
0
 static SimpleExpressionGrammar()
 {
     var digit = new DigitTerminal();
     ProductionExpression E = "E";
     E.Rule =
         E + "+" + E
         | E + "*" + E
         | digit;
     _innerGrammar = new GrammarExpression(E, new[] { E }).ToGrammar();
 }
예제 #2
0
 public void Test_DigitTerminal_That_IsMatch_Returns_True_When_Number()
 {
     var digitTerminal = new DigitTerminal();
     Assert.IsTrue (digitTerminal.IsMatch('0'));
 }
예제 #3
0
 public void Test_DigitTerminal_That_IsMatch_Returns_False_When_Letter()
 {
     var digitTerminal = new DigitTerminal();
     Assert.IsFalse(digitTerminal.IsMatch('a'));
 }
예제 #4
0
 public void DigitTerminalGivenNumberShouldMatch()
 {
     var digitTerminal = new DigitTerminal();
     Assert.IsTrue(digitTerminal.IsMatch('0'));
 }
예제 #5
0
 public void DigitTerminalGivenLetterShouldFailMatch()
 {
     var digitTerminal = new DigitTerminal();
     Assert.IsFalse(digitTerminal.IsMatch('a'));
 }
예제 #6
0
 public ITerminalBuilder Digit()
 {
     var digitTerminal = new DigitTerminal();
     _terminals.Add(digitTerminal);
     return this;
 }