blob: 5a13c60d36bf5a3413f45cac63f67d00bd011def [file] [log] [blame]
//===-- AST Yaml Reader Interface -------------------------------*- C++ -*-===//
//
// Copyright (C) 2006 Reid Spencer. All Rights Reserved.
//
// This program is open source software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License (GPL) as published by
// the Free Software Foundation; either version 2 of the License, or (at your
// option) any later version. You should have received a copy of the GPL in a
// file named COPYING that was included with this program; if not, you can
// obtain a copy of the license through the Internet at http://www.fsf.org/
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
////////////////////////////////////////////////////////////////////////////////
/// @file hlvm/Reader/YamlReader.h
/// @author Reid Spencer <rspencer@reidspencer.com> (original author)
/// @date 2006/05/04
/// @since 0.1.0
/// @brief Declares the class hlvm::YamlReader.h
////////////////////////////////////////////////////////////////////////////////
#ifndef HLVM_YAML_READER_YAMLREADER_H
#define HLVM_YAML_READER_YAMLREADER_H
#include <llvm/System/Path.h>
namespace hlvm {
/// This class provides an interface to reading HLVM's AST via a Yaml
/// document.
/// @brief Interface to Reading Yaml AST documents.
class YamlReader
{
/// @name Constructors
/// @{
public:
/// The constructor static method to create a YamlReader. This creates
/// the correct sublcass of YamlReader which is an implementation detail.
static YamlReader* create();
protected:
YamlReader() {}
/// @}
/// @name Accessors
/// @{
public:
/// @}
/// @name Mutators
/// @{
public:
void parse(const llvm::sys::Path& path);
/// @}
/// @name Data
/// @{
protected:
/// @}
};
} // hlvm
#endif