public void CastBnfTermIntoConcatenationRule() { BnfTerm a = new Terminal("a"); ConcatenationRule c = a; Assert.IsNotNull(c); }
public void ConcatenateTerms() { BnfTerm a = new Terminal("a"); BnfTerm b = new Terminal("b"); ConcatenationRule c = a + b; Assert.IsNotNull(c); }
public void ConcatenateConcatenationRules() { ConcatenationRule a = new ConcatenationRule(new Terminal("aaa")); ConcatenationRule b = new ConcatenationRule(new Terminal("aaa")); ConcatenationRule 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"; ConcatenationRule c = a + b; Assert.IsNotNull(c); Assert.AreEqual(1, c.Count); }
public void ConcatenateConcatenationRuleWithNonTerminal() { ConcatenationRule a = "a"; var c = a + new NonTerminal("b"); Assert.IsNotNull(c); Assert.AreEqual(2, c.Count); Assert.IsInstanceOfType(c, typeof(ConcatenationRule)); }
public void ConcatenateConcatenationRuleWithString() { ConcatenationRule a = "a"; var c = a + "b"; Assert.IsNotNull(c); Assert.AreEqual(2, c.Count); Assert.IsInstanceOfType(c, typeof(ConcatenationRule)); }
public void AlternationOfConcatenations() { ConcatenationRule a = "a"; ConcatenationRule b = "b"; var c = a | b; Assert.IsNotNull(c); Assert.AreEqual(2, c.Count); Assert.IsInstanceOfType(c, typeof(RuleAlternation)); }
public void TerminalPlusTerminalReturnsRule() { Terminal a = new Terminal("a"); Terminal b = new Terminal("b"); ConcatenationRule operatorResult = a + b; ConcatenationRule methodResult = Terminal.Plus(a, b); Assert.IsNotNull(operatorResult); Assert.IsNotNull(methodResult); Assert.AreEqual(operatorResult, methodResult); }
public void CastConcatenationRuleIntoAlternationRule() { RuleAlternation a = new ConcatenationRule(new Terminal("aaa")); Assert.IsNotNull(a); }
public NonTerminal(string name, ConcatenationRule rule = null) : base(name) { Rules = rule; }
public void CastStringIntoConcatenationRule() { ConcatenationRule a = "aaa"; Assert.IsNotNull(a); }
public Production(NonTerminal head, ConcatenationRule body) { Body = body.ToArray(); Head = head; }