12 #ifndef CPROVER_STATEMENT_LIST_STATEMENT_LIST_LANGUAGE_H
13 #define CPROVER_STATEMENT_LIST_STATEMENT_LIST_LANGUAGE_H
41 std::istream &instream,
42 const std::string &path,
61 const std::string &module,
63 const bool keep_file_local)
override;
67 const std::string &module,
111 const std::string &code,
112 const std::string &module,
120 std::string
id()
const override;
122 std::set<std::string>
extensions()
const override;
Base class for all expressions.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Implements the language interface for the Statement List language.
void modules_provided(std::set< std::string > &modules) override
object_factory_parameterst params
void set_language_options(const optionst &options, message_handlert &message_handler) override
Sets language specific options.
bool to_expr(const std::string &code, const std::string &module, exprt &expr, const namespacet &ns, message_handlert &message_handler) override
Parses the given string into an expression.
std::set< std::string > extensions() const override
void show_parse(std::ostream &out, message_handlert &) override
Prints the parse tree to the given output stream.
bool typecheck(symbol_table_baset &symbol_table, const std::string &module, message_handlert &message_handler, const bool keep_file_local) override
Converts the current parse tree into a symbol table.
std::unique_ptr< languaget > new_language() override
statement_list_languaget()
std::string id() const override
bool generate_support_functions(symbol_table_baset &symbol_table, message_handlert &) override
Currently unused.
bool from_type(const typet &type, std::string &code, const namespacet &ns) override
Formats the given type in a language-specific way.
~statement_list_languaget() override
statement_list_parse_treet parse_tree
bool from_expr(const exprt &expr, std::string &code, const namespacet &ns) override
Formats the given expression in a language-specific way.
std::string description() const override
bool can_keep_file_local() override
Is it possible to call three-argument typecheck() on this object?
bool type_to_name(const typet &type, std::string &name, const namespacet &ns) override
Encodes the given type in a language-specific way.
bool parse(std::istream &instream, const std::string &path, message_handlert &message_handler) override
Parses input given by instream and saves this result to this instance's parse tree.
Intermediate representation of a parsed Statement List file before converting it into a goto program.
The symbol table base class interface.
The type of an expression, extends irept.
Abstract interface to support a programming language.
std::unique_ptr< languaget > new_statement_list_language()
Statement List Language Parse Tree.