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