Working on #48 : Working
This commit is contained in:
@@ -13,7 +13,8 @@ from parsers.BaseNodeParser import UnrecognizedTokensNode, SourceCodeNode, RuleN
|
||||
from parsers.FunctionParser import FunctionNode
|
||||
from parsers.PythonParser import PythonNode
|
||||
from parsers.SyaNodeParser import SyaConceptParserHelper
|
||||
from parsers.expressions import NameExprNode, AndNode, OrNode, NotNode, VariableNode, ComparisonNode, ComparisonType
|
||||
from parsers.expressions import NameExprNode, AndNode, OrNode, NotNode, VariableNode, ComparisonNode, ComparisonType, \
|
||||
ParenthesisNode
|
||||
from sheerkarete.common import V
|
||||
from sheerkarete.conditions import Condition, AndConditions
|
||||
|
||||
@@ -66,56 +67,62 @@ class VAR:
|
||||
class EQ:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class NEQ:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class GT:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class GTE:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class LT:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class LTE:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class IN:
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class NIN: # for NOT INT
|
||||
left: object
|
||||
right: object
|
||||
source = None
|
||||
source: str = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class PAREN: # for parenthesis node
|
||||
node: object
|
||||
source: str = None
|
||||
|
||||
|
||||
class CC:
|
||||
@@ -1010,6 +1017,12 @@ def get_expr_node_from_test_node(full_text, test_node):
|
||||
return ComparisonNode(start, end, full_text_as_tokens[start: end + 1],
|
||||
node_type, left_node, right_node)
|
||||
|
||||
if isinstance(node, PAREN):
|
||||
value_as_tokens = list(Tokenizer(node.source, yield_eof=False))
|
||||
start = tokens_index(full_text_as_tokens, value_as_tokens, 0)
|
||||
end = start + len(value_as_tokens) - 1
|
||||
return ParenthesisNode(start, end, value_as_tokens, get_expr_node(node.node))
|
||||
|
||||
return get_expr_node(test_node)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user