public void Add(CharRange inputRange, CharFA <TAccept> fa) { _rangeTransitions.Add(new RangeWithFa(inputRange, fa)); if (!_charactersByState.TryGetValue(fa, out var chars)) { chars = new CharactersAndRanges(new List <char>(), new List <CharRange>()); _charactersByState[fa] = chars; } chars.ranges.Add(inputRange); }
public void Add(char input, CharFA <TAccept> fa) { _charactersTransitions.Add(input, fa); if (!_charactersByState.TryGetValue(fa, out var chars)) { chars = new CharactersAndRanges(new List <char>(), new List <CharRange>()); _charactersByState[fa] = chars; } chars.characters.Add(input); }
public void Add(CharFA <TAccept> fa, CharactersAndRanges inputs) { foreach (var input in inputs.characters) { Add(input, fa); } foreach (var inputsRange in inputs.ranges) { Add(inputsRange, fa); } }