12 #ifndef CPROVER_CPP_CPP_LANGUAGE_H 13 #define CPROVER_CPP_CPP_LANGUAGE_H 23 std::istream &instream,
24 const std::string &path,
25 std::ostream &outstream)
override;
28 std::istream &instream,
29 const std::string &path)
override;
33 const std::string &module)
override;
38 const std::string &module,
69 const std::string &code,
70 const std::string &module,
77 std::string
id()
const override {
return "cpp"; }
79 std::set<std::string>
extensions()
const override;
97 #endif // CPROVER_CPP_CPP_LANGUAGE_H The type of an expression.
bool merge_symbol_table(symbol_tablet &dest, symbol_tablet &src, const std::string &module, class replace_symbolt &replace_symbol) const
std::string description() const override
languaget * new_language() override
~cpp_languaget() override
bool from_type(const typet &type, std::string &code, const namespacet &ns) override
void modules_provided(std::set< std::string > &modules) override
cpp_parse_treet cpp_parse_tree
void show_parse(std::ostream &out) override
std::string main_symbol()
bool preprocess(std::istream &instream, const std::string &path, std::ostream &outstream) override
ANSI-C preprocessing.
Abstract interface to support a programming language.
bool from_expr(const exprt &expr, std::string &code, const namespacet &ns) override
bool to_expr(const std::string &code, const std::string &module, exprt &expr, const namespacet &ns) override
bool parse(std::istream &instream, const std::string &path) override
languaget * new_cpp_language()
std::set< std::string > extensions() const override
Base class for all expressions.
bool type_to_name(const typet &type, std::string &name, const namespacet &ns) override
std::string id() const override
bool typecheck(symbol_tablet &symbol_table, const std::string &module) override