Go to the documentation of this file.
12 #ifndef CPROVER_JSIL_JSIL_LANGUAGE_H
13 #define CPROVER_JSIL_JSIL_LANGUAGE_H
27 std::istream &instream,
28 const std::string &path,
29 std::ostream &outstream)
override;
32 std::istream &instream,
33 const std::string &path)
override;
40 const std::string &module)
override;
42 virtual void show_parse(std::ostream &out)
override;
58 const std::string &code,
59 const std::string &module,
64 {
return util_make_unique<jsil_languaget>(); }
66 virtual std::string
id()
const override {
return "jsil"; }
68 {
return "Javascript Intermediate Language"; }
69 virtual std::set<std::string>
extensions()
const override;
81 #endif // CPROVER_JSIL_JSIL_LANGUAGE_H
virtual bool typecheck(symbol_tablet &context, const std::string &module) override
Converting from parse tree and type checking.
The type of an expression, extends irept.
virtual void show_parse(std::ostream &out) override
virtual ~jsil_languaget()
virtual bool interfaces(symbol_tablet &symbol_table) override
Adding symbols for all procedure declarations.
Base class for all expressions.
virtual void modules_provided(std::set< std::string > &modules) override
jsil_parse_treet parse_tree
virtual bool to_expr(const std::string &code, const std::string &module, exprt &expr, const namespacet &ns) override
Parses the given string into an expression.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
virtual std::unique_ptr< languaget > new_language() override
std::unique_ptr< languaget > new_jsil_language()
virtual std::string description() const override
virtual bool from_type(const typet &type, std::string &code, const namespacet &ns) override
Formats the given type in a language-specific way.
virtual bool preprocess(std::istream &instream, const std::string &path, std::ostream &outstream) override
virtual bool generate_support_functions(symbol_tablet &symbol_table) override
Create language-specific support functions, such as __CPROVER_start, __CPROVER_initialize and languag...
virtual std::string id() const override
virtual std::set< std::string > extensions() const override
virtual bool parse(std::istream &instream, const std::string &path) override
virtual bool from_expr(const exprt &expr, std::string &code, const namespacet &ns) override
Formats the given expression in a language-specific way.