public void AlternateTerms() { BnfTerm a = new Terminal("a"); BnfTerm b = new Terminal("b"); RuleAlternation c = a | b; Assert.IsNotNull(c); }
public void StringOrConcatenationRule() { string a = "..."; ConcatenationRule b = "b"; RuleAlternation c = a | b; Assert.IsNotNull(c); Assert.AreEqual(@"\.\.\.", (c.First().First() as Terminal).Regex.ToString()); }
public void ConcatenationOfUntypedTerminals() { string a = "a"; string b = "b"; RuleAlternation c = a.AsTerminal() | b; Assert.IsNotNull(c); Assert.AreEqual(2, c.Count); }
public void ConcatenateConcatenationRuleWithNonTerminal() { RuleAlternation a = "a"; var c = a | new NonTerminal("b"); Assert.IsNotNull(c); Assert.AreEqual(2, c.Count); Assert.IsInstanceOfType(c, typeof(RuleAlternation)); }
public void ConcatenateConcatenationRuleWithString() { RuleAlternation a = "a"; var c = a | "b"; Assert.IsNotNull(c); Assert.AreEqual(2, c.Count); Assert.IsInstanceOfType(c, typeof(RuleAlternation)); }
public NonTerminal(string name, ConcatenationRule rule = null) : base(name) { Rules = rule; }
public void ImplicitCastFromStringToRuleAlternation() { RuleAlternation foo = "..."; Assert.AreEqual(@"\.\.\.", (foo.First().First() as Terminal).Regex.ToString()); }