Beispiel #1
0
 protected bool Equals(MatchArrayRule other)
 {
     return(ElementRules.SequenceEqual(other.ElementRules));
 }
Beispiel #2
0
        /// <summary>
        /// rule_array                                  = "[" [ rule_array_item { ";" rule_array_item } ] "]"
        /// </summary>
        private MatchRuleBase parseRuleArray()
        {
            if (!check(LexemType.SquareOpen))
                return null;

            var node = new MatchArrayRule();
            if (!check(LexemType.SquareClose))
            {
                node.ElementRules.Add(ensure(parseRuleArrayItem, ParserMessages.MatchRuleExpected));

                while (check(LexemType.Semicolon))
                    node.ElementRules.Add(ensure(parseRuleArrayItem, ParserMessages.MatchRuleExpected));

                ensure(LexemType.SquareClose, ParserMessages.SymbolExpected, "]");
            }

            return node;
        }