Exemple #1
0
 public Transition(State start, State end, CharRange range, Type transitionType, int capture, int index)
 {
     Start          = start;
     End            = end;
     Range          = range;
     TransitionType = transitionType;
     Capture        = capture;
     Index          = index;
 }
Exemple #2
0
        public bool AddRangeWithConflict(char begin, char end)
        {
            var range = new CharRange(begin, end);

            //交叉
            foreach (var r in Ranges)
            {
                if (!(range < r || range > r))
                {
                    return(false);
                }
            }
            Ranges.Add(range);
            return(true);
        }
Exemple #3
0
 public Transition(State start, State end, CharRange range)
     : this(start, end, range, Type.Chars, 0, 0)
 {
 }
Exemple #4
0
 public Transition AddCharRange(State start, State end, CharRange range)
 {
     var transition = new Transition(start, end, range);
     AddInternal(start, end, transition);
     return transition;
 }
Exemple #5
0
 public bool Equals(CharRange obj)
 {
     return Begin == obj.Begin && End == obj.End;
 }
Exemple #6
0
 public bool IsOverlapped(CharRange rhs)
 {
     return !(this < rhs || this > rhs);
 }
Exemple #7
0
 public bool Equals(CharRange obj)
 {
     return(Begin == obj.Begin && End == obj.End);
 }
Exemple #8
0
 public bool IsOverlapped(CharRange rhs)
 {
     return(!(this < rhs || this > rhs));
 }
Exemple #9
0
 public bool AddRangeWithConflict(char begin,char end)
 {
     var range = new CharRange(begin, end);
     //交叉
     foreach (var r in Ranges)
     {
         if (!(range < r || range > r)) return false;
     }
     Ranges.Add(range);
     return true;
 }