cprover
ansi_c_languaget Class Reference

#include <ansi_c_language.h>

Inheritance diagram for ansi_c_languaget:
[legend]
Collaboration diagram for ansi_c_languaget:
[legend]

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 final (symbol_tablet &symbol_table) override
 
void show_parse (std::ostream &out) override
 
 ~ansi_c_languaget () override
 
 ansi_c_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
 
languagetnew_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
 
- Public Member Functions inherited from languaget
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 ()
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level)
 
mstreamterror ()
 
mstreamtwarning ()
 
mstreamtresult ()
 
mstreamtstatus ()
 
mstreamtstatistics ()
 
mstreamtprogress ()
 
mstreamtdebug ()
 

Protected Attributes

ansi_c_parse_treet parse_tree
 
std::string parse_path
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from messaget
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 

Detailed Description

Definition at line 17 of file ansi_c_language.h.

Constructor & Destructor Documentation

§ ~ansi_c_languaget()

ansi_c_languaget::~ansi_c_languaget ( )
override

Definition at line 218 of file ansi_c_language.cpp.

§ ansi_c_languaget()

ansi_c_languaget::ansi_c_languaget ( )
inline

Definition at line 39 of file ansi_c_language.h.

References from_expr(), from_type(), to_expr(), and type_to_name().

Referenced by new_ansi_c_language(), and new_language().

Member Function Documentation

§ description()

std::string ansi_c_languaget::description ( ) const
inlineoverridevirtual

Reimplemented from languaget.

Definition at line 66 of file ansi_c_language.h.

References extensions(), and modules_provided().

§ extensions()

std::set< std::string > ansi_c_languaget::extensions ( ) const
overridevirtual

Reimplemented from languaget.

Definition at line 29 of file ansi_c_language.cpp.

Referenced by description().

§ final()

bool ansi_c_languaget::final ( symbol_tablet symbol_table)
overridevirtual

Reimplemented from languaget.

Definition at line 127 of file ansi_c_language.cpp.

References ansi_c_entry_point(), and messaget::get_message_handler().

§ from_expr()

bool ansi_c_languaget::from_expr ( const exprt expr,
std::string &  code,
const namespacet ns 
)
overridevirtual

Reimplemented from languaget.

Definition at line 145 of file ansi_c_language.cpp.

References expr2c().

Referenced by ansi_c_languaget().

§ from_type()

bool ansi_c_languaget::from_type ( const typet type,
std::string &  code,
const namespacet ns 
)
overridevirtual

Reimplemented from languaget.

Definition at line 154 of file ansi_c_language.cpp.

References type2c().

Referenced by ansi_c_languaget().

§ id()

std::string ansi_c_languaget::id ( ) const
inlineoverridevirtual

Reimplemented from languaget.

Definition at line 65 of file ansi_c_language.h.

§ modules_provided()

void ansi_c_languaget::modules_provided ( std::set< std::string > &  modules)
overridevirtual

Reimplemented from languaget.

Definition at line 34 of file ansi_c_language.cpp.

References get_base_name(), and parse_path.

Referenced by description().

§ new_language()

languaget* ansi_c_languaget::new_language ( )
inlineoverridevirtual

Implements languaget.

Definition at line 62 of file ansi_c_language.h.

References ansi_c_languaget().

§ parse()

§ preprocess()

bool ansi_c_languaget::preprocess ( std::istream &  instream,
const std::string &  path,
std::ostream &  outstream 
)
overridevirtual

ANSI-C preprocessing.

Reimplemented from languaget.

Definition at line 40 of file ansi_c_language.cpp.

References c_preprocess(), and messaget::get_message_handler().

Referenced by parse(), and compilet::parse_stdin().

§ show_parse()

void ansi_c_languaget::show_parse ( std::ostream &  out)
overridevirtual

Implements languaget.

Definition at line 135 of file ansi_c_language.cpp.

References ansi_c_parse_treet::output(), and parse_tree.

§ to_expr()

§ type_to_name()

bool ansi_c_languaget::type_to_name ( const typet type,
std::string &  name,
const namespacet ns 
)
overridevirtual

Reimplemented from languaget.

Definition at line 163 of file ansi_c_language.cpp.

References type2name().

Referenced by ansi_c_languaget().

§ typecheck()

bool ansi_c_languaget::typecheck ( symbol_tablet symbol_table,
const std::string &  module 
)
overridevirtual

Member Data Documentation

§ parse_path

std::string ansi_c_languaget::parse_path
protected

Definition at line 73 of file ansi_c_language.h.

Referenced by modules_provided(), and parse().

§ parse_tree

ansi_c_parse_treet ansi_c_languaget::parse_tree
protected

Definition at line 72 of file ansi_c_language.h.

Referenced by parse(), show_parse(), and typecheck().


The documentation for this class was generated from the following files: