public static DnsZoneFile Parse(IDnsSource source) { var tokenizer = new Tokenizer(); var fileSource = new FileSource { Content = source.LoadContent(null) }; var tokens = tokenizer.Read(fileSource).ToArray(); var context = new DnsZoneParseContext(tokens, source); Process(context); return(context.Zone); }
public DnsZoneParseContext(IEnumerable <Token> tokens, IDnsSource source) { Source = source; Zone = new DnsZoneFile(); Tokens = new Queue <Token>(tokens); }