cprover
language_filest Class Reference

#include <language_file.h>

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

Public Member Functions

language_filetadd_file (const std::string &filename)
 
void remove_file (const std::string &filename)
 
void clear_files ()
 
void set_should_generate_opaque_method_stubs (bool stubs_enabled)
 Turn on or off stub generation for all the languages. More...
 
bool parse ()
 
void show_parse (std::ostream &out)
 
bool generate_support_functions (symbol_tablet &symbol_table)
 
bool typecheck (symbol_tablet &symbol_table)
 
bool final (symbol_table_baset &symbol_table)
 
bool interfaces (symbol_tablet &symbol_table)
 
void convert_lazy_method (const irep_idt &id, symbol_table_baset &symbol_table)
 
bool can_convert_lazy_method (const irep_idt &id) const
 
void clear ()
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Protected Member Functions

bool typecheck_module (symbol_tablet &symbol_table, language_modulet &module)
 
bool typecheck_module (symbol_tablet &symbol_table, const std::string &module)
 

Private Types

typedef std::map< std::string, language_filetfile_mapt
 
typedef std::map< std::string, language_moduletmodule_mapt
 
typedef std::map< irep_idt, language_filet * > lazy_method_mapt
 

Private Attributes

file_mapt file_map
 
module_mapt module_map
 
lazy_method_mapt lazy_method_map
 

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 unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Detailed Description

Definition at line 61 of file language_file.h.

Member Typedef Documentation

◆ file_mapt

typedef std::map<std::string, language_filet> language_filest::file_mapt
private

Definition at line 64 of file language_file.h.

◆ lazy_method_mapt

Definition at line 72 of file language_file.h.

◆ module_mapt

typedef std::map<std::string, language_modulet> language_filest::module_mapt
private

Definition at line 67 of file language_file.h.

Member Function Documentation

◆ add_file()

language_filet& language_filest::add_file ( const std::string &  filename)
inline

◆ can_convert_lazy_method()

bool language_filest::can_convert_lazy_method ( const irep_idt id) const
inline

◆ clear()

void language_filest::clear ( void  )
inline

Definition at line 136 of file language_file.h.

References file_map, lazy_method_map, and module_map.

Referenced by language_uit::clear_parse(), and lazy_goto_modelt::finalize().

◆ clear_files()

void language_filest::clear_files ( )
inline

Definition at line 98 of file language_file.h.

References file_map, and lazy_method_map.

◆ convert_lazy_method()

void language_filest::convert_lazy_method ( const irep_idt id,
symbol_table_baset symbol_table 
)
inline

◆ final()

bool language_filest::final ( symbol_table_baset symbol_table)

Definition at line 180 of file language_file.cpp.

References file_map, and languages.

Referenced by language_uit::final(), lazy_goto_modelt::finalize(), and initialize_goto_model().

◆ generate_support_functions()

bool language_filest::generate_support_functions ( symbol_tablet symbol_table)

Definition at line 165 of file language_file.cpp.

References file_map, and languages.

Referenced by lazy_goto_modelt::initialize(), and initialize_goto_model().

◆ interfaces()

bool language_filest::interfaces ( symbol_tablet symbol_table)

Definition at line 194 of file language_file.cpp.

References file_map.

◆ parse()

bool language_filest::parse ( )

Definition at line 63 of file language_file.cpp.

References messaget::eom(), messaget::error(), file_map, and languaget::parse().

◆ remove_file()

void language_filest::remove_file ( const std::string &  filename)
inline

Definition at line 82 of file language_file.h.

References file_map, and lazy_method_map.

Referenced by compilet::parse_source().

◆ set_should_generate_opaque_method_stubs()

void language_filest::set_should_generate_opaque_method_stubs ( bool  stubs_enabled)

Turn on or off stub generation for all the languages.

Parameters
should_generate_stubsShould stub generation be enabled

Definition at line 53 of file language_file.cpp.

References file_map.

Referenced by language_uit::final(), lazy_goto_modelt::initialize(), and initialize_goto_model().

◆ show_parse()

void language_filest::show_parse ( std::ostream &  out)

Definition at line 45 of file language_file.cpp.

References file_map.

◆ typecheck()

◆ typecheck_module() [1/2]

bool language_filest::typecheck_module ( symbol_tablet symbol_table,
language_modulet module 
)
protected

◆ typecheck_module() [2/2]

bool language_filest::typecheck_module ( symbol_tablet symbol_table,
const std::string &  module 
)
protected

Definition at line 206 of file language_file.cpp.

References messaget::eom(), messaget::error(), module_map, and typecheck_module().

Member Data Documentation

◆ file_map

◆ lazy_method_map

lazy_method_mapt language_filest::lazy_method_map
private

◆ module_map

module_mapt language_filest::module_map
private

Definition at line 68 of file language_file.h.

Referenced by clear(), typecheck(), and typecheck_module().


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