10#ifndef CPROVER_LANGAPI_LANGUAGE_FILE_H
11#define CPROVER_LANGAPI_LANGUAGE_FILE_H
18#include <unordered_set>
65 typedef std::map<std::string, language_filet>
file_mapt;
117 const bool keep_file_local,
122 return typecheck(symbol_table,
false, message_handler);
142 it->second->convert_lazy_method(
id, symbol_table, message_handler);
161 const bool keep_file_local,
166 const std::string &
module,
167 const bool keep_file_local,
virtual void clear()
Reset the abstract state.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
bool interfaces(symbol_table_baset &symbol_table, message_handlert &message_handler)
bool parse(message_handlert &message_handler)
bool typecheck_module(symbol_table_baset &symbol_table, language_modulet &module, const bool keep_file_local, message_handlert &message_handler)
std::map< std::string, language_modulet > module_mapt
void convert_lazy_method(const irep_idt &id, symbol_table_baset &symbol_table, message_handlert &message_handler)
bool typecheck(symbol_table_baset &symbol_table, const bool keep_file_local, message_handlert &message_handler)
std::map< std::string, language_filet > file_mapt
bool generate_support_functions(symbol_table_baset &symbol_table, message_handlert &message_handler)
bool typecheck(symbol_table_baset &symbol_table, message_handlert &message_handler)
lazy_method_mapt lazy_method_map
language_filet & add_file(const std::string &filename)
bool can_convert_lazy_method(const irep_idt &id) const
std::map< irep_idt, language_filet * > lazy_method_mapt
void remove_file(const std::string &filename)
void show_parse(std::ostream &out, message_handlert &message_handler)
~language_filet()
To avoid compiler errors, the complete definition of a pointed-to type must be visible at the point a...
void convert_lazy_method(const irep_idt &id, symbol_table_baset &symbol_table, message_handlert &message_handler)
std::set< std::string > modulest
std::unique_ptr< languaget > language
The symbol table base class interface.
bool has_symbol(const irep_idt &name) const
Check whether a symbol exists in the symbol table.
#define PRECONDITION(CONDITION)