public CharRangeAttribute(params string[] ranges) { var r = ranges.Select(s => { if (s.Length != 2) { throw new ArgumentException($"Argument `{s}` in CharRange is not 2 characters"); } return(s[0], s[1]); }); set = new CharIntervalSet(); foreach (var(begin, end) in r) { set.Include(begin, end); } }
public CharSet(CharIntervalSet set, IConfig config, ParserFlags flags) : base(config, flags) { _ranges = set.Intervals.ToArray(); }