예제 #1
0
        private void compileMultipleComponents(int start, int lastIndex)
        {
            int index     = start;
            int tempIndex = start;

            while (index < lastIndex)
            {
                if ('<' != expr_[index])
                {
                    throw new NdnRegexMatcherBase.Error("Component expr error "
                                                        + expr_);
                }

                tempIndex = index + 1;
                index     = extractComponent(tempIndex);

                NdnRegexComponentMatcher component = new NdnRegexComponentMatcher(
                    expr_.Substring(tempIndex, (index - 1) - (tempIndex)), backrefManager_);

                ILOG.J2CsMapping.Collections.Collections.Add(components_, component);
            }

            if (index != lastIndex)
            {
                throw new NdnRegexMatcherBase.Error("Not sufficient expr to parse "
                                                    + expr_);
            }
        }
예제 #2
0
        private void compileSingleComponent()
        {
            int end = extractComponent(1);

            if (expr_.Length != end)
            {
                throw new NdnRegexMatcherBase.Error("Component expr error " + expr_);
            }
            else
            {
                NdnRegexComponentMatcher component = new NdnRegexComponentMatcher(
                    expr_.Substring(1, (end - 1) - (1)), backrefManager_);

                ILOG.J2CsMapping.Collections.Collections.Add(components_, component);
            }
        }