예제 #1
0
        private SymbolicRegexBuilder()
        {
            this.epsilon = SymbolicRegexNode <S> .MkEpsilon(this);

            this.startAnchor = SymbolicRegexNode <S> .MkStartAnchor(this);

            this.endAnchor = SymbolicRegexNode <S> .MkEndAnchor(this);

            this.eolAnchor = SymbolicRegexNode <S> .MkEolAnchor(this);

            this.bolAnchor = SymbolicRegexNode <S> .MkBolAnchor(this);

            //----------
            this.nodeCache[this.epsilon]     = this.epsilon;
            this.nodeCache[this.startAnchor] = this.startAnchor;
            this.nodeCache[this.endAnchor]   = this.endAnchor;
            this.nodeCache[this.eolAnchor]   = this.eolAnchor;
            this.nodeCache[this.bolAnchor]   = this.bolAnchor;
            //---
            this.fullSet = SymbolicRegexSet <S> .MkFullSet(this);

            this.emptySet = SymbolicRegexSet <S> .MkEmptySet(this);
        }