cprover
jsil_languaget Class Reference

#include <jsil_language.h>

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

Public Member Functions

virtual bool preprocess (std::istream &instream, const std::string &path, std::ostream &outstream)
 
virtual bool parse (std::istream &instream, const std::string &path)
 
virtual bool typecheck (symbol_tablet &context, const std::string &module)
 Converting from parse tree and type checking. More...
 
virtual bool final (symbol_tablet &context)
 
virtual void show_parse (std::ostream &out)
 
virtual ~jsil_languaget ()
 
 jsil_languaget ()
 
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 to_expr (const std::string &code, const std::string &module, exprt &expr, const namespacet &ns)
 
virtual languagetnew_language ()
 
virtual std::string id () const
 
virtual std::string description () const
 
virtual std::set< std::string > extensions () const
 
virtual void modules_provided (std::set< std::string > &modules)
 
virtual bool interfaces (symbol_tablet &symbol_table)
 Adding symbols for all procedure declarations. More...
 
- 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 type_to_name (const typet &type, std::string &name, const namespacet &ns)
 
 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

jsil_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 19 of file jsil_language.h.

Constructor & Destructor Documentation

◆ ~jsil_languaget()

jsil_languaget::~jsil_languaget ( )
virtual

Definition at line 171 of file jsil_language.cpp.

◆ jsil_languaget()

jsil_languaget::jsil_languaget ( )
inline

Definition at line 41 of file jsil_language.h.

Referenced by new_language().

Member Function Documentation

◆ description()

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

Reimplemented from languaget.

Definition at line 63 of file jsil_language.h.

◆ extensions()

std::set< std::string > jsil_languaget::extensions ( ) const
virtual

Reimplemented from languaget.

Definition at line 24 of file jsil_language.cpp.

◆ final()

bool jsil_languaget::final ( symbol_tablet context)
virtual

Reimplemented from languaget.

Definition at line 89 of file jsil_language.cpp.

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

◆ from_expr()

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

Reimplemented from languaget.

Definition at line 109 of file jsil_language.cpp.

References expr2jsil().

◆ from_type()

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

Reimplemented from languaget.

Definition at line 118 of file jsil_language.cpp.

References type2jsil().

◆ id()

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

Reimplemented from languaget.

Definition at line 62 of file jsil_language.h.

◆ interfaces()

bool jsil_languaget::interfaces ( symbol_tablet symbol_table)
virtual

Adding symbols for all procedure declarations.

Reimplemented from languaget.

Definition at line 35 of file jsil_language.cpp.

References messaget::get_message_handler(), jsil_convert(), jsil_internal_additions(), and parse_tree.

◆ modules_provided()

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

Reimplemented from languaget.

Definition at line 29 of file jsil_language.cpp.

References get_base_name(), and parse_path.

◆ new_language()

virtual languaget* jsil_languaget::new_language ( )
inlinevirtual

Implements languaget.

Definition at line 59 of file jsil_language.h.

References jsil_languaget().

◆ parse()

◆ preprocess()

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

Reimplemented from languaget.

Definition at line 44 of file jsil_language.cpp.

◆ show_parse()

void jsil_languaget::show_parse ( std::ostream &  out)
virtual

Implements languaget.

Definition at line 99 of file jsil_language.cpp.

References jsil_parse_treet::output(), and parse_tree.

◆ to_expr()

◆ typecheck()

bool jsil_languaget::typecheck ( symbol_tablet context,
const std::string &  module 
)
virtual

Converting from parse tree and type checking.

Implements languaget.

Definition at line 79 of file jsil_language.cpp.

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

Member Data Documentation

◆ parse_path

std::string jsil_languaget::parse_path
protected

Definition at line 72 of file jsil_language.h.

Referenced by modules_provided(), and parse().

◆ parse_tree

jsil_parse_treet jsil_languaget::parse_tree
protected

Definition at line 71 of file jsil_language.h.

Referenced by interfaces(), parse(), show_parse(), and to_expr().


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