コード例 #1
0
        public override void AddPattern(ProductionPattern pattern)
        {
            var flag = pattern.IsMatchingEmpty();

            if (flag)
            {
                throw new ParserCreationException(ParserCreationException.ErrorType.INVALID_PRODUCTION, pattern.Name,
                                                  "zero elements can be matched (minimum is one)");
            }
            var flag2 = pattern.IsLeftRecursive();

            if (flag2)
            {
                throw new ParserCreationException(ParserCreationException.ErrorType.INVALID_PRODUCTION, pattern.Name,
                                                  "left recursive patterns are not allowed");
            }
            base.AddPattern(pattern);
        }