Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }