Fixed #48 : RelationalExpressionParser: Implement relational operator parser
Fixed #49 : ExpressionParser: Implement ExpressionParser Fixed #50 : Implement ReteConditionExprVisitor Fixed #51 : Implement PythonConditionExprVisitor Fixed #52 : SheerkaConceptManager: I can get and set concept property
This commit is contained in:
@@ -6,20 +6,20 @@ from core.builtin_concepts import ReturnValueConcept
|
||||
from core.builtin_concepts_ids import BuiltinConcepts
|
||||
from core.global_symbols import NotInit
|
||||
from core.sheerka.services.SheerkaExecute import ParserInput
|
||||
from core.sheerka.services.SheerkaRuleManager import SheerkaRuleManager, FormatAstNode, RuleCompiledPredicate
|
||||
from core.sheerka.services.SheerkaRuleManager import SheerkaRuleManager, FormatAstNode, CompiledCondition
|
||||
from core.sheerka.services.sheerka_service import FailedToCompileError
|
||||
from core.tokenizer import Keywords, TokenKind
|
||||
from parsers.BaseCustomGrammarParser import BaseCustomGrammarParser, NameNode, KeywordNotFound, SyntaxErrorNode
|
||||
from parsers.BaseParser import Node, UnexpectedEofParsingError
|
||||
from sheerkarete.conditions import Condition
|
||||
from sheerkarete.conditions import AndConditions
|
||||
|
||||
|
||||
@dataclass()
|
||||
class DefRuleNode(Node):
|
||||
tokens: dict
|
||||
name: NameNode = NotInit
|
||||
when: List[RuleCompiledPredicate] = NotInit
|
||||
rete: List[List[Condition]] = NotInit
|
||||
python: List[CompiledCondition] = NotInit
|
||||
rete: List[AndConditions] = NotInit
|
||||
|
||||
|
||||
@dataclass()
|
||||
@@ -143,8 +143,8 @@ class DefRuleParser(BaseCustomGrammarParser):
|
||||
compiled_result = self.get_when(parts[Keywords.WHEN])
|
||||
if compiled_result is None:
|
||||
return node
|
||||
node.when = compiled_result.compiled_predicates
|
||||
node.rete = compiled_result.rete_disjunctions
|
||||
node.python = compiled_result.python_conditions
|
||||
node.rete = compiled_result.rete_conditions
|
||||
|
||||
parsed = self.get_then(parts[Keywords.THEN])
|
||||
if parsed is None:
|
||||
@@ -162,8 +162,8 @@ class DefRuleParser(BaseCustomGrammarParser):
|
||||
compiled_result = self.get_when(parts[Keywords.WHEN])
|
||||
if compiled_result is None:
|
||||
return node
|
||||
node.when = compiled_result.compiled_predicates
|
||||
node.rete = compiled_result.rete_disjunctions
|
||||
node.python = compiled_result.python_conditions
|
||||
node.rete = compiled_result.rete_conditions
|
||||
|
||||
parsed = self.get_print(parts[Keywords.PRINT])
|
||||
if parsed is None:
|
||||
|
||||
Reference in New Issue
Block a user