cprover
|
#include <cpp_language.h>
Public Member Functions | |
bool | preprocess (std::istream &instream, const std::string &path, std::ostream &outstream) override |
ANSI-C preprocessing. More... | |
bool | parse (std::istream &instream, const std::string &path) override |
bool | typecheck (symbol_tablet &symbol_table, const std::string &module) override |
bool | merge_symbol_table (symbol_tablet &dest, symbol_tablet &src, const std::string &module, class replace_symbolt &replace_symbol) const |
bool | final (symbol_tablet &symbol_table) override |
void | show_parse (std::ostream &out) override |
~cpp_languaget () override | |
cpp_languaget () | |
bool | from_expr (const exprt &expr, std::string &code, const namespacet &ns) override |
bool | from_type (const typet &type, std::string &code, const namespacet &ns) override |
bool | type_to_name (const typet &type, std::string &name, const namespacet &ns) override |
bool | to_expr (const std::string &code, const std::string &module, exprt &expr, const namespacet &ns) override |
languaget * | new_language () override |
std::string | id () const override |
std::string | description () const override |
std::set< std::string > | extensions () const override |
void | modules_provided (std::set< std::string > &modules) override |
![]() | |
virtual void | get_language_options (const cmdlinet &) |
virtual void | dependencies (const std::string &module, std::set< std::string > &modules) |
virtual void | lazy_methods_provided (std::set< irep_idt > &methods) const |
virtual void | convert_lazy_method (const irep_idt &id, symbol_tablet &) |
virtual bool | interfaces (symbol_tablet &symbol_table) |
languaget () | |
virtual | ~languaget () |
Protected Member Functions | |
void | show_parse (std::ostream &out, const cpp_itemt &item) |
std::string | main_symbol () |
Protected Attributes | |
cpp_parse_treet | cpp_parse_tree |
std::string | parse_path |
Additional Inherited Members |
Definition at line 19 of file cpp_language.h.
|
override |
Definition at line 278 of file cpp_language.cpp.
|
inline |
Definition at line 48 of file cpp_language.h.
References from_expr(), from_type(), to_expr(), and type_to_name().
Referenced by new_cpp_language(), and new_language().
|
inlineoverridevirtual |
Reimplemented from languaget.
Definition at line 78 of file cpp_language.h.
References extensions(), and modules_provided().
|
overridevirtual |
Reimplemented from languaget.
Definition at line 33 of file cpp_language.cpp.
Referenced by description().
|
overridevirtual |
Reimplemented from languaget.
Definition at line 137 of file cpp_language.cpp.
References ansi_c_entry_point(), and messaget::get_message_handler().
|
overridevirtual |
Reimplemented from languaget.
Definition at line 213 of file cpp_language.cpp.
References expr2cpp().
Referenced by cpp_languaget().
|
overridevirtual |
Reimplemented from languaget.
Definition at line 222 of file cpp_language.cpp.
References type2cpp().
Referenced by cpp_languaget().
|
inlineoverridevirtual |
Reimplemented from languaget.
Definition at line 77 of file cpp_language.h.
|
inlineprotected |
Definition at line 89 of file cpp_language.h.
References new_cpp_language().
bool cpp_languaget::merge_symbol_table | ( | symbol_tablet & | dest, |
symbol_tablet & | src, | ||
const std::string & | module, | ||
class replace_symbolt & | replace_symbol | ||
) | const |
|
overridevirtual |
Reimplemented from languaget.
Definition at line 51 of file cpp_language.cpp.
References get_base_name(), and parse_path.
Referenced by description().
|
inlineoverridevirtual |
|
overridevirtual |
Implements languaget.
Definition at line 83 of file cpp_language.cpp.
References configt::ansi_c, cpp_parsert::clear(), config, cpp_internal_additions(), cpp_parse_tree, cpp_parser, messaget::get_message_handler(), parsert::in, cpp_parsert::mode, configt::ansi_ct::mode, cpp_parsert::parse(), parse_path, cpp_parsert::parse_tree, preprocess(), messaget::result(), parsert::set_file(), messaget::set_message_handler(), and cpp_parse_treet::swap().
|
overridevirtual |
ANSI-C preprocessing.
Reimplemented from languaget.
Definition at line 57 of file cpp_language.cpp.
References c_preprocess(), and messaget::get_message_handler().
Referenced by parse().
|
overridevirtual |
Implements languaget.
Definition at line 145 of file cpp_language.cpp.
References cpp_parse_tree, and cpp_parse_treet::items.
Referenced by show_parse().
|
protected |
Definition at line 154 of file cpp_language.cpp.
References irept::get(), cpp_itemt::get_declaration(), cpp_itemt::get_linkage_spec(), cpp_usingt::get_namespace(), cpp_namespace_spect::get_namespace(), cpp_itemt::get_namespace_spec(), cpp_itemt::get_using(), cpp_itemt::is_declaration(), cpp_itemt::is_linkage_spec(), cpp_itemt::is_namespace_spec(), cpp_itemt::is_using(), cpp_linkage_spect::items(), cpp_namespace_spect::items(), cpp_linkage_spect::linkage(), cpp_usingt::name(), cpp_declarationt::output(), irept::pretty(), and show_parse().
|
overridevirtual |
Implements languaget.
Definition at line 240 of file cpp_language.cpp.
References cpp_parsert::clear(), cpp_parser, cpp_typecheck(), messaget::get_message_handler(), parsert::in, cpp_parse_treet::items, irept::make_nil(), cpp_parsert::parse(), cpp_parsert::parse_tree, messaget::result(), parsert::set_file(), and messaget::set_message_handler().
Referenced by cpp_languaget().
|
overridevirtual |
Reimplemented from languaget.
Definition at line 231 of file cpp_language.cpp.
References cpp_type2name().
Referenced by cpp_languaget().
|
overridevirtual |
Implements languaget.
Definition at line 121 of file cpp_language.cpp.
References cpp_parse_tree, cpp_typecheck(), messaget::get_message_handler(), and linking().
|
protected |
Definition at line 84 of file cpp_language.h.
Referenced by parse(), show_parse(), and typecheck().
|
protected |
Definition at line 85 of file cpp_language.h.
Referenced by modules_provided(), and parse().