Beispiel #1
0
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;
}
Beispiel #2
0
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;
}