private RuleOr(RuleOr a_other) : base(a_other) { foreach (var rule in a_other.m_rules) { m_rules.Add(rule.Clone()); } m_nextOrPart = a_other.m_nextOrPart; }
public static Rule Create(string a_line, RuleSystem a_system) { var rule = new RuleOr(a_system); if (!rule.TryParse(a_line)) { return(null); } return(rule); }
public bool TryAddRule(string a_line) { Rule rule = RuleCheckChar.Create(a_line, this); if (null == rule) { rule = RuleSequence.Create(a_line, this); } if (null == rule) { rule = RuleOr.Create(a_line, this); } if (null == rule) { return(false); } if (m_rules.ContainsKey(rule.Number)) { m_rules.Remove(rule.Number); } m_rules.Add(rule.Number, rule); return(true); }