CBMC
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
expr2cppt Class Reference
+ Inheritance diagram for expr2cppt:
+ Collaboration diagram for expr2cppt:

Public Member Functions

 
- Public Member Functions inherited from expr2ct
 
 
virtual std::string  convert (const typet &src)
 
virtual std::string  convert (const exprt &src)
 
 
std::string  convert_with_identifier (const typet &src, const std::string &identifier)
  Build a declaration string, which requires converting both a type and putting an identifier in the syntactically correct position.
 

Protected Member Functions

 
std::string  convert_cpp_this ()
 
std::string  convert_cpp_new (const exprt &src)
 
std::string  convert_extractbit (const exprt &src)
 
std::string  convert_code_cpp_delete (const exprt &src, unsigned indent)
 
std::string  convert_code_cpp_new (const exprt &src, unsigned indent)
 
 
std::string  convert_code (const codet &src, unsigned indent) override
 
 
std::string  convert_rec (const typet &src, const c_qualifierst &qualifiers, const std::string &declarator) override
 
- Protected Member Functions inherited from expr2ct
virtual std::string  convert_struct_type (const typet &src, const std::string &qualifiers_str, const std::string &declarator_str)
  To generate C-like string for defining the given struct.
 
  To generate C-like string for declaring (or defining) the given struct.
 
  To generate a C-like type declaration of an array.
 
  To generate a C-like type declaration of an array.
 
 
 
 
 
 
std::string  convert_multi_ary (const exprt &src, const std::string &symbol, unsigned precedence, bool full_parentheses)
 
std::string  convert_cond (const exprt &src, unsigned precedence)
 
 
 
 
 
std::string  convert_trinary (const ternary_exprt &src, const std::string &symbol1, const std::string &symbol2, unsigned precedence)
 
  Conversion function from rol/ror expressions to C code strings Note that this constructs a complex expression to do bit twiddling since rol/ror operations are not native to ANSI-C.
 
 
std::string  convert_binding (const binding_exprt &, const std::string &symbol, unsigned precedence)
 
std::string  convert_with (const exprt &src, unsigned precedence)
 
 
std::string  convert_member_designator (const exprt &src)
 
std::string  convert_index_designator (const exprt &src)
 
 
 
 
 
 
std::string  convert_unary (const unary_exprt &, const std::string &symbol, unsigned precedence)
 
std::string  convert_unary_post (const exprt &src, const std::string &symbol, unsigned precedence)
 
std::optional< std::string >  convert_function (const exprt &src)
  Returns a string if src is a function with a known conversion, else returns nullopt.
 
std::string  convert_function (const exprt &src, const std::string &symbol)
 
 
 
std::string  convert_Hoare (const exprt &src)
 
std::string  convert_code (const codet &src)
 
std::string  convert_code_label (const code_labelt &src, unsigned indent)
 
 
std::string  convert_code_asm (const code_asmt &src, unsigned indent)
 
 
 
std::string  convert_code_for (const code_fort &src, unsigned indent)
 
std::string  convert_code_while (const code_whilet &src, unsigned indent)
 
std::string  convert_code_dowhile (const code_dowhilet &src, unsigned indent)
 
std::string  convert_code_block (const code_blockt &src, unsigned indent)
 
std::string  convert_code_expression (const codet &src, unsigned indent)
 
std::string  convert_code_return (const codet &src, unsigned indent)
 
std::string  convert_code_goto (const codet &src, unsigned indent)
 
std::string  convert_code_assume (const codet &src, unsigned indent)
 
std::string  convert_code_assert (const codet &src, unsigned indent)
 
std::string  convert_code_break (unsigned indent)
 
std::string  convert_code_switch (const codet &src, unsigned indent)
 
std::string  convert_code_continue (unsigned indent)
 
std::string  convert_code_frontend_decl (const codet &, unsigned indent)
 
std::string  convert_code_decl_block (const codet &src, unsigned indent)
 
std::string  convert_code_dead (const codet &src, unsigned indent)
 
 
std::string  convert_code_lock (const codet &src, unsigned indent)
 
std::string  convert_code_unlock (const codet &src, unsigned indent)
 
std::string  convert_code_printf (const codet &src, unsigned indent)
 
std::string  convert_code_fence (const codet &src, unsigned indent)
 
std::string  convert_code_input (const codet &src, unsigned indent)
 
std::string  convert_code_output (const codet &src, unsigned indent)
 
std::string  convert_code_array_set (const codet &src, unsigned indent)
 
std::string  convert_code_array_copy (const codet &src, unsigned indent)
 
std::string  convert_code_array_replace (const codet &src, unsigned indent)
 
 
 
 
std::string  convert_nondet (const exprt &src, unsigned &precedence)
 
 
 
 
virtual std::string  convert_symbol (const exprt &src)
 
std::string  convert_predicate_symbol (const exprt &src)
 
 
 
 
std::string  convert_quantified_symbol (const exprt &src)
 
std::string  convert_nondet_bool ()
 
 
std::string  convert_literal (const exprt &src)
 
  To get the C-like representation of a given boolean value.
 
 
std::string  convert_norep (const exprt &src, unsigned &precedence)
 
std::string  convert_union (const exprt &src, unsigned &precedence)
 
std::string  convert_vector (const exprt &src, unsigned &precedence)
 
std::string  convert_array (const exprt &src)
 
 
std::string  convert_initializer_list (const exprt &src)
 
 
 
std::string  convert_sizeof (const exprt &src, unsigned &precedence)
 
 
  To generate a C-like string representing a struct.
 
 
 
 
 
 
 

Additional Inherited Members

- Static Protected Member Functions inherited from expr2ct
static std::string  indent_str (unsigned indent)
 
- Protected Attributes inherited from expr2ct
 
 
std::unordered_map< irep_idt, std::unordered_set< irep_idt > >  ns_collision
 
std::unordered_map< irep_idt, irep_idtshorthands
 
 

Detailed Description

Definition at line 25 of file expr2cpp.cpp.

Constructor & Destructor Documentation

◆  expr2cppt()

expr2cppt::expr2cppt ( const namespacet_ns )
inlineexplicit

Definition at line 28 of file expr2cpp.cpp.

Member Function Documentation

◆  convert_code()

std::string expr2cppt::convert_code ( const codetsrc,
unsigned  indent 
)
overrideprotectedvirtual

Reimplemented from expr2ct.

Definition at line 462 of file expr2cpp.cpp.

◆  convert_code_cpp_delete()

std::string expr2cppt::convert_code_cpp_delete ( const exprtsrc,
unsigned  indent 
)
protected

Definition at line 402 of file expr2cpp.cpp.

◆  convert_code_cpp_new()

std::string expr2cppt::convert_code_cpp_new ( const exprtsrc,
unsigned  indent 
)
protected

Definition at line 397 of file expr2cpp.cpp.

◆  convert_constant()

std::string expr2cppt::convert_constant ( const constant_exprtsrc,
unsignedprecedence 
)
overrideprotectedvirtual

Reimplemented from expr2ct.

Definition at line 115 of file expr2cpp.cpp.

◆  convert_cpp_new()

std::string expr2cppt::convert_cpp_new ( const exprtsrc )
protected

Definition at line 374 of file expr2cpp.cpp.

◆  convert_cpp_this()

std::string expr2cppt::convert_cpp_this ( )
protected

Definition at line 369 of file expr2cpp.cpp.

◆  convert_extractbit()

std::string expr2cppt::convert_extractbit ( const exprtsrc )
protected

Definition at line 479 of file expr2cpp.cpp.

◆  convert_rec()

std::string expr2cppt::convert_rec ( const typetsrc,
const c_qualifierstqualifiers,
const std::string &  declarator 
)
overrideprotectedvirtual

Reimplemented from expr2ct.

Definition at line 131 of file expr2cpp.cpp.

◆  convert_struct()

std::string expr2cppt::convert_struct ( const exprtsrc,
unsignedprecedence 
)
overrideprotectedvirtual

Reimplemented from expr2ct.

Definition at line 49 of file expr2cpp.cpp.

◆  convert_with_precedence()

std::string expr2cppt::convert_with_precedence ( const exprtsrc,
unsignedprecedence 
)
overrideprotectedvirtual

Reimplemented from expr2ct.

Definition at line 421 of file expr2cpp.cpp.


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

AltStyle によって変換されたページ (->オリジナル) /