25 class ConstraintEntry;
35 explicit Checker(std::vector<ModuleGeneric *> *_modules);
40 void set_modules(std::vector<ModuleGeneric *> *_modules);
69 std::map<std::string, variable_type::type> *vm_init =
nullptr);
72 void check_members(
ModuleGroup *m, std::string name);
75 void add_constraints_to_graph(
78 std::vector<Expression*>* constraints,
80 std::set<ModuleGeneric*>*> *graph);
81 void check_parameters(
85 std::vector<Domain*> *vd,
86 std::vector<Value*> *_vv,
87 std::map<std::string,variable_type::type> *map = 0,
88 std::set<std::string> *vars = 0);
89 void check_constraints(
92 std::vector<Expression*>* constraints,
93 std::vector<Domain*>* domains);
95 std::string current_module,
97 std::set<std::string> *head_variables,
98 std::map<std::string, variable_type::type> *vm,
100 void check_bel_recursively(
101 std::string curent_module,
105 std::set<std::string> *head_variables,
106 std::map<std::string, variable_type::type> *vm);
107 void add_constraints_to_graph_recursive(
112 void check_constraints_recursive(
114 std::map<std::string, variable_type::type> *vm,
117 std::vector<Domain*>* domains,
118 bool check_quantify =
false);
120 ModuleGeneric *get_pointer_to_module(std::string _module_name,
bool outer =
false);
121 std::vector<ModuleGeneric *> *modules;
Checker class - class that validates 4QL programs.
Definition: Checker.h:29
class that implements a fact
Definition: Fact.h:14
Implementation of ModuleAction for modules with reasoning.
Definition: ModuleAction.h:21
void set_modules(std::vector< ModuleGeneric *> *_modules)
function to set the modules pointer
Definition: Checker.cc:30
Definition: Expression.h:10
void check(Program *p)
function that validates 4QL program, throws exception on failure
Definition: Checker.cc:34
Implementation of ModuleAction for modules with reasoning.
Definition: ModuleProblem.h:161
void check_expression(Expression *expr)
function that validates expression
Definition: Checker.cc:1001
Definition: Application.cc:37
Definition: Functions.h:17
Domain class - class that points to a data type.
Definition: Domain.h:12
Generic class of module (only virtual methods)
Definition: ModuleGeneric.h:21
Implementation of ModuleGeneric for modules with reasoning.
Definition: ModuleLocal.h:24
Implementation of ModuleGeneric for modules with reasoning.
Definition: ModuleGroup.h:20
class that handles rules in ModuleLocal
Definition: Rule.h:14
Checker(std::vector< ModuleGeneric *> *_modules)
constructor
Definition: Checker.cc:25
void check_query(Fact *r)
function that validates query
Definition: Checker.cc:972
Implementation of ModuleGeneric for modules with reasoning.
Definition: ModuleBelief.h:22
class that handles 4QL programs
Definition: Program.h:13
class that handles relation instance inside modules
Definition: Relation.h:13