ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
jimple-language.h
Go to the documentation of this file.
1#pragma once
2
3#include <langapi/mode.h>
6
8{
9public:
10 bool parse(const std::string &path) override;
11
12 bool final(contextt &context) override;
13
14 // AST -> GOTO
15 bool typecheck(contextt &context, const std::string &module) override;
16
17 std::string id() const override
18 {
19 return "jimple_lang";
20 }
21
22 void add_intrinsics(contextt &context);
23
24 void setup_main(contextt &context);
25
26 void show_parse(std::ostream &out) override;
27
28 // conversion from expression into string
29 bool from_expr(
30 const exprt &expr,
31 std::string &code,
32 const namespacet &ns,
33 unsigned flags) override;
34
35 // conversion from type into string
36 bool from_type(
37 const typet &type,
38 std::string &code,
39 const namespacet &ns,
40 unsigned flags) override;
41
42 unsigned default_flags(presentationt target) const override;
43
44 virtual languaget *new_language() const override
45 {
46 return new jimple_languaget;
47 }
48
50};
Definition context.h:57
Definition expr.h:34
Main AST for Class/Interface.
Definition jimple_file.h:27
Definition jimple-language.h:8
bool typecheck(contextt &context, const std::string &module) override
Definition jimple-typecheck.cpp:4
bool from_expr(const exprt &expr, std::string &code, const namespacet &ns, unsigned flags) override
Definition jimple-language.cpp:33
void show_parse(std::ostream &out) override
Definition jimple-parser.cpp:5
void add_intrinsics(contextt &context)
Definition jimple-language.cpp:114
void setup_main(contextt &context)
Definition jimple-language.cpp:126
virtual languaget * new_language() const override
Definition jimple-language.h:44
bool from_type(const typet &type, std::string &code, const namespacet &ns, unsigned flags) override
Definition jimple-language.cpp:22
unsigned default_flags(presentationt target) const override
Definition jimple-language.cpp:44
bool parse(const std::string &path) override
Definition jimple-parser.cpp:10
std::string id() const override
Definition jimple-language.h:17
jimple_file root
Definition jimple-language.h:49
Definition language.h:16
Definition module.h:60
Definition namespace.h:10
Definition type.h:9
presentationt
Definition language.h:10
Definition path.py:1