cprover
languaget Class Referenceabstract

#include <language.h>

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

Public Member Functions

virtual void get_language_options (const cmdlinet &)
 
virtual bool preprocess (std::istream &instream, const std::string &path, std::ostream &outstream)
 
virtual bool parse (std::istream &instream, const std::string &path)=0
 
virtual void dependencies (const std::string &module, std::set< std::string > &modules)
 
virtual void modules_provided (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 final (symbol_tablet &symbol_table)
 
virtual bool interfaces (symbol_tablet &symbol_table)
 
virtual bool typecheck (symbol_tablet &symbol_table, const std::string &module)=0
 
virtual std::string id () const
 
virtual std::string description () const
 
virtual std::set< std::string > extensions () const
 
virtual void show_parse (std::ostream &out)=0
 
virtual bool from_expr (const exprt &expr, std::string &code, const namespacet &ns)
 
virtual bool from_type (const typet &type, std::string &code, const namespacet &ns)
 
virtual bool type_to_name (const typet &type, std::string &name, const namespacet &ns)
 
virtual bool to_expr (const std::string &code, const std::string &module, exprt &expr, const namespacet &ns)=0
 
virtual languagetnew_language ()=0
 
 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 ()
 

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)
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Detailed Description

Definition at line 27 of file language.h.

Constructor & Destructor Documentation

◆ languaget()

languaget::languaget ( )
inline

Definition at line 118 of file language.h.

◆ ~languaget()

virtual languaget::~languaget ( )
inlinevirtual

Definition at line 119 of file language.h.

Member Function Documentation

◆ convert_lazy_method()

virtual void languaget::convert_lazy_method ( const irep_idt id,
symbol_tablet  
)
inlinevirtual

Reimplemented in java_bytecode_languaget.

Definition at line 61 of file language.h.

Referenced by language_filet::convert_lazy_method().

◆ dependencies()

void languaget::dependencies ( const std::string &  module,
std::set< std::string > &  modules 
)
virtual

Definition at line 26 of file language.cpp.

Referenced by language_filest::typecheck_module().

◆ description()

virtual std::string languaget::description ( ) const
inlinevirtual

Reimplemented in java_bytecode_languaget, cpp_languaget, ansi_c_languaget, and jsil_languaget.

Definition at line 83 of file language.h.

◆ extensions()

virtual std::set<std::string> languaget::extensions ( ) const
inlinevirtual

Reimplemented in java_bytecode_languaget, cpp_languaget, ansi_c_languaget, and jsil_languaget.

Definition at line 84 of file language.h.

Referenced by register_language().

◆ final()

bool languaget::final ( symbol_tablet symbol_table)
virtual

Reimplemented in java_bytecode_languaget, cpp_languaget, jsil_languaget, and ansi_c_languaget.

Definition at line 16 of file language.cpp.

◆ from_expr()

bool languaget::from_expr ( const exprt expr,
std::string &  code,
const namespacet ns 
)
virtual

◆ from_type()

bool languaget::from_type ( const typet type,
std::string &  code,
const namespacet ns 
)
virtual

◆ get_language_options()

virtual void languaget::get_language_options ( const cmdlinet )
inlinevirtual

Reimplemented in java_bytecode_languaget.

Definition at line 31 of file language.h.

Referenced by initialize_goto_model(), and language_uit::parse().

◆ id()

virtual std::string languaget::id ( ) const
inlinevirtual

◆ interfaces()

bool languaget::interfaces ( symbol_tablet symbol_table)
virtual

Reimplemented in jsil_languaget.

Definition at line 21 of file language.cpp.

◆ lazy_methods_provided()

virtual void languaget::lazy_methods_provided ( std::set< irep_idt > &  methods) const
inlinevirtual

Reimplemented in java_bytecode_languaget.

Definition at line 57 of file language.h.

◆ modules_provided()

virtual void languaget::modules_provided ( std::set< std::string > &  modules)
inlinevirtual

Reimplemented in java_bytecode_languaget, cpp_languaget, ansi_c_languaget, and jsil_languaget.

Definition at line 52 of file language.h.

Referenced by language_filet::get_modules().

◆ new_language()

virtual languaget* languaget::new_language ( )
pure virtual

◆ parse()

virtual bool languaget::parse ( std::istream &  instream,
const std::string &  path 
)
pure virtual

◆ preprocess()

virtual bool languaget::preprocess ( std::istream &  instream,
const std::string &  path,
std::ostream &  outstream 
)
inlinevirtual

◆ show_parse()

virtual void languaget::show_parse ( std::ostream &  out)
pure virtual

◆ to_expr()

virtual bool languaget::to_expr ( const std::string &  code,
const std::string &  module,
exprt expr,
const namespacet ns 
)
pure virtual

◆ type_to_name()

bool languaget::type_to_name ( const typet type,
std::string &  name,
const namespacet ns 
)
virtual

Reimplemented in cpp_languaget, and ansi_c_languaget.

Definition at line 50 of file language.cpp.

References irept::pretty().

Referenced by type_to_name().

◆ typecheck()

virtual bool languaget::typecheck ( symbol_tablet symbol_table,
const std::string &  module 
)
pure virtual

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