diff options
Diffstat (limited to 'odb/odb/parser.hxx')
-rw-r--r-- | odb/odb/parser.hxx | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/odb/odb/parser.hxx b/odb/odb/parser.hxx new file mode 100644 index 0000000..b26c8f1 --- /dev/null +++ b/odb/odb/parser.hxx @@ -0,0 +1,37 @@ +// file : odb/parser.hxx +// license : GNU GPL v3; see accompanying LICENSE file + +#ifndef ODB_PARSER_HXX +#define ODB_PARSER_HXX + +#include <odb/gcc.hxx> + +#include <memory> // std::unique_ptr + +#include <odb/pragma.hxx> +#include <odb/options.hxx> +#include <odb/semantics/unit.hxx> + +class parser +{ +public: + class failed {}; + + ~parser (); + parser (options const&, loc_pragmas&, ns_loc_pragmas&, decl_pragmas&); + + std::unique_ptr<semantics::unit> + parse (tree global_scope, semantics::path const& main_file); + +private: + parser (parser const&); + + parser& + operator= (parser const&); + +private: + class impl; + std::unique_ptr<impl> impl_; +}; + +#endif // ODB_PARSER_HXX |