Added first version of DebugManager. Implemented draft of the rule engine

This commit is contained in:
2020-11-20 13:41:45 +01:00
parent cd066881b4
commit 315f8ea09b
156 changed files with 8388 additions and 2852 deletions
+6 -6
View File
@@ -8,7 +8,7 @@ from parsers.BaseParser import UnexpectedTokenErrorNode
from parsers.BnfNodeParser import StrMatch, Optional, ZeroOrMore, OrderedChoice, Sequence, \
OneOrMore, ConceptExpression
from parsers.BnfNodeParser import BnfNodeParser
from parsers.BnfParser import BnfParser, UnexpectedEndOfFileError
from parsers.BnfDefinitionParser import BnfDefinitionParser, UnexpectedEndOfFileError
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
@@ -27,7 +27,7 @@ def update_concepts_ids(sheerka, parsing_expression):
if isinstance(parsing_expression, ConceptExpression):
if not parsing_expression.concept.id:
concept = sheerka.get_by_key(parsing_expression.concept.key)
parsing_expression.concept.metadata.id = concept.id
parsing_expression.concept.get_metadata().id = concept.id
for pe in parsing_expression.elements:
update_concepts_ids(sheerka, pe)
@@ -40,7 +40,7 @@ class TestBnfParser(TestUsingMemoryBasedSheerka):
def init_parser(self, *concepts):
sheerka, context, *updated = self.init_concepts(*concepts, singleton=True)
parser = BnfParser()
parser = BnfDefinitionParser()
return sheerka, context, parser, *updated
@@ -177,10 +177,10 @@ class TestBnfParser(TestUsingMemoryBasedSheerka):
sheerka, context, regex_parser, foo, bar = self.init_parser("foo", "bar")
for concept in [foo, bar]:
concept.metadata.definition_type = DEFINITION_TYPE_BNF
concept.get_metadata().definition_type = DEFINITION_TYPE_BNF
foo.bnf = regex_parser.parse(context, "'twenty' | 'thirty'").value.value
bar.bnf = regex_parser.parse(context, "foo ('one' | 'two')").value.value
foo.set_bnf(regex_parser.parse(context, "'twenty' | 'thirty'").value.value)
bar.set_bnf(regex_parser.parse(context, "foo ('one' | 'two')").value.value)
bnf_parser = BnfNodeParser()
bnf_parser.init_from_concepts(context, [foo, bar])