Working on #48 : Working
This commit is contained in:
@@ -18,9 +18,9 @@ from sheerkarete.conditions import Condition, AndConditions
|
||||
class ReteConditionsEmitter:
|
||||
|
||||
def __init__(self, context):
|
||||
from parsers.ComparisonParser import ComparisonParser
|
||||
from parsers.RelationalOperatorParser import RelationalOperatorParser
|
||||
self.context = context
|
||||
self.comparison_parser = ComparisonParser()
|
||||
self.comparison_parser = RelationalOperatorParser()
|
||||
self.var_counter = 0
|
||||
self.variables = {}
|
||||
|
||||
@@ -69,8 +69,10 @@ class LogicalOperatorParser(BaseParser):
|
||||
Or to help to understand why a python expression returns True or False
|
||||
"""
|
||||
|
||||
NAME = "LogicalOperator"
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__("Expression", 50, False, yield_eof=True)
|
||||
super().__init__(self.NAME, 50, False, yield_eof=True)
|
||||
self.and_tokens = list(Tokenizer(" and ", yield_eof=False))
|
||||
self.and_not_tokens = list(Tokenizer(" and not ", yield_eof=False))
|
||||
self.not_tokens = list(Tokenizer("not ", yield_eof=False))
|
||||
@@ -111,6 +113,8 @@ class LogicalOperatorParser(BaseParser):
|
||||
if token and token.type != TokenKind.EOF:
|
||||
self.add_error(UnexpectedTokenParsingError(f"Unexpected token '{token}'", token, []))
|
||||
|
||||
if isinstance(tree, ParenthesisNode):
|
||||
tree = tree.node
|
||||
value = self.get_return_value_body(context.sheerka, self.parser_input.as_text(), tree, tree)
|
||||
|
||||
ret = self.sheerka.ret(
|
||||
|
||||
Reference in New Issue
Block a user