Implemented some enhancement request and fixed some bugs

Fixed #2 : Variables are not recognized when inside a rule token
Fixed #15 : Rule: rete attributes are lost when a new ontology is created
Fixed #14 : ReteNetwork: Format rules must not be added to Rete network
Fixed #16 : DefConcept: Variables are not recognized when they are keyword arguments
Fixed #4 : Comparison are not correctly set when comparison property is a concept
Fixed #14 : Parser: merge FunctionParser.NamesNode and ExpressionParser.NamesNode
Fixed #18 : Parser: Add SourceCodeNode test to UnrecognizedNodeParser
Fixed #20 : At startup Number concept is saved in db a numerous number of time
Fixed #21 : CacheManager: I can remove all elements from a ListIfNeededCache and fill it again
Fixed #22 : CacheManager: I can remove all elements from a SetCache and fill it again
Fixed #23 : HistoryManager: history() no longer works
Fixed #24 : HistoryManager: history() no longer works after creating an exec rule
Fixed #25 : SheerkaMemory: Use MemoryObject instead of sheerka.local
Fixed #26 : Debugger: add the list all available services..
Fixed #27 : CONCEPTS_GRAMMARS_ENTRY does not seems to be in use any more
Fixed #28 : Give order to services
This commit is contained in:
2021-02-12 15:15:31 +01:00
parent 3a12ea58df
commit cac2dad17f
62 changed files with 1182 additions and 480 deletions
+13 -2
View File
@@ -231,8 +231,7 @@ class ConceptNode(LexerNode):
def clone(self):
# do we need to clone the concept as well ?
clone = ConceptNode(self.concept, self.start, self.end, self.tokens, self.source, self.underlying)
return clone
return ConceptNode(self.concept, self.start, self.end, self.tokens, self.source, self.underlying)
def as_bag(self):
"""
@@ -305,6 +304,16 @@ class SourceCodeNode(LexerNode):
def get_source_to_parse(self):
return self.python_node.source
def clone(self):
clone = SourceCodeNode(
self.start,
self.end,
self.tokens,
self.source,
self.python_node,
self.return_value)
return clone
class SourceCodeWithConceptNode(LexerNode):
"""
@@ -413,6 +422,8 @@ class SourceCodeWithConceptNode(LexerNode):
def clone(self):
clone = SourceCodeWithConceptNode(self.first, self.last, self.nodes.copy(), self.has_unrecognized)
clone.python_node = self.python_node
clone.return_value = self.return_value
return clone
def to_short_str(self):