bool Anitomy::Parse(string_t filename) { elements_.clear(); tokens_.clear(); if (options_.parse_file_extension) { string_t extension; if (RemoveExtensionFromFilename(filename, extension)) elements_.insert(kElementFileExtension, extension); } if (!options_.ignored_strings.empty()) RemoveIgnoredStrings(filename); if (filename.empty()) return false; elements_.insert(kElementFileName, filename); Tokenizer tokenizer(filename, elements_, options_, tokens_); if (!tokenizer.Tokenize()) return false; Parser parser(elements_, options_, tokens_); if (!parser.Parse()) return false; return true; }
bool Anitomy::Parse(string_t filename) { elements_.clear(); tokens_.clear(); string_t extension; if (RemoveExtensionFromFilename(filename, extension)) elements_.insert(kElementFileExtension, extension); if (filename.empty()) return false; elements_.insert(kElementFileName, filename); Tokenizer tokenizer(filename, tokens_); if (!tokenizer.Tokenize()) return false; Parser parser(elements_, tokens_); if (!parser.Parse()) return false; return true; }