Implemented a first and basic version of a Rete rule engine

This commit is contained in:
2021-02-09 16:06:32 +01:00
parent 821dbed189
commit a2a8d5c5e5
110 changed files with 7301 additions and 1654 deletions
+5 -12
View File
@@ -1,5 +1,4 @@
import logging
import os
import pprint
import time
@@ -87,9 +86,6 @@ class ExecutionContext:
self.obj = obj
self.concepts = concepts
self_debug, self.debug_mode = sheerka.get_context_debug_mode(self.id)
self.debug_enabled = self_debug is not None
@property
def elapsed(self):
if self._start == 0:
@@ -184,10 +180,6 @@ class ExecutionContext:
new.preprocess_evaluators = self.preprocess_evaluators
new.protected_hints.update(self.protected_hints)
if new.debug_mode is None and self.debug_mode == "protected":
new.debug_mode = "protected"
new.debug_enabled = True
self._children.append(new)
return new
@@ -315,9 +307,10 @@ class ExecutionContext:
to_str = self.return_value_to_str(r)
self._logger.debug(f"[{self._id:2}]" + self._tab + "-> " + to_str)
def get_debugger(self, who, method_name):
return self.sheerka.get_debugger(self, who, method_name)
def get_debugger(self, who, method_name, new_debug_id=True):
return self.sheerka.get_debugger(self, who, method_name, new_debug_id)
# TODO: TO REMOVE
def debug(self, who, method_name, variable_name, text, is_error=False):
activated = self.sheerka.debug_activated_for(who)
if activated:
@@ -330,6 +323,7 @@ class ExecutionContext:
self.sheerka.debug(f"[{self._id:3}] {CCM[color]}{who}.{method_name}.{variable_name}: {CCM['reset']}")
self.sheerka.debug(str_text)
# TODO: TO REMOVE
def debug_entering(self, who, method_name, **kwargs):
if self.sheerka.debug_activated_for(who):
str_text = pp.pformat(kwargs)
@@ -340,6 +334,7 @@ class ExecutionContext:
self.sheerka.debug(f"[{self._id:3}] {CCM['blue']}Entering {who}.{method_name}:{CCM['reset']}")
self.sheerka.debug(f"[{self._id:3}] {str_text}")
# TODO: TO REMOVE
def debug_log(self, who, text):
if self.sheerka.debug_activated_for(who):
self.sheerka.debug(f"[{self._id:3}] {CCM['blue']}{text}{CCM['reset']}")
@@ -493,5 +488,3 @@ class ExecutionContext:
return False
return False