Fixed #125: SheerkaErrorManager

Fixed #135: Change services service priorities
Fixed #136: ErrorManager: Implement recognize_error
Fixed #137: BNFNodeParser : Error when parsing regex with sub parsers
Fixed #138: get_last_errors(): real errors sources are lost
Fixed #139: OneError return value removes the origin of the error
Fixed #140: Concept variables are not correctly handled when parsing sub expression
Fixed #143: Implement has_unknown_concepts()
This commit is contained in:
2021-10-28 14:04:41 +02:00
parent 48ab72fd9c
commit 87cab44fb8
56 changed files with 1391 additions and 1286 deletions
+1 -17
View File
@@ -3,7 +3,7 @@ from itertools import product
from core.builtin_concepts_ids import BuiltinConcepts
from core.sheerka.services.sheerka_service import FailedToCompileError
from core.tokenizer import TokenKind
from parsers.BaseExpressionParser import AndNode, FunctionNodeOld, ListComprehensionNode, NameExprNode, VariableNode, \
from parsers.BaseExpressionParser import AndNode, ListComprehensionNode, NameExprNode, VariableNode, \
end_parenthesis_mapping, open_parenthesis_mapping
from sheerkapython.BaseExprTransform import BaseExprTransform, ExprTransformHints, do_not_eval_source_hint, \
is_a_question_hint, not_a_question_hint, wrap_concept_call_hint
@@ -128,19 +128,3 @@ class PythonExprVisitor(BaseExprTransform):
:return:
"""
return self.visit_or_or_and_node("or", expr_node, hint)
def visit_FunctionNodeOld(self, expr_node: FunctionNodeOld, hint: ExprTransformHints):
visitor_objects = []
source = expr_node.get_source()
parameters_objects = []
for parameter in expr_node.parameters:
parameters_objects.append(self.visit(parameter.value, hint))
for parameters in product(*parameters_objects):
visitor_objects.append(self.create_function_old(source,
expr_node.first.get_source(),
expr_node.last.get_source(),
parameters))
return visitor_objects