I can define and eval BNF definitions
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
from core.ast.nodes import python_to_concept
|
||||
from core.builtin_concepts import ParserResultConcept, ReturnValueConcept, BuiltinConcepts
|
||||
from core.builtin_concepts import ParserResultConcept, ReturnValueConcept
|
||||
from core.builtin_helpers import get_names
|
||||
from core.concept import Concept
|
||||
from evaluators.BaseEvaluator import OneReturnValueEvaluator
|
||||
from parsers.ConceptLexerParser import ParsingExpression, ParsingExpressionVisitor
|
||||
from parsers.DefaultParser import DefConceptNode
|
||||
import functools
|
||||
import logging
|
||||
|
||||
from parsers.PythonParser import PythonGetNamesVisitor, PythonNode
|
||||
from parsers.PythonParser import PythonNode
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -23,7 +22,12 @@ class ConceptOrRuleNameVisitor(ParsingExpressionVisitor):
|
||||
self.names = set()
|
||||
|
||||
def visit_ConceptMatch(self, node):
|
||||
self.names.add(node.rule_name or node.concept_name)
|
||||
if node.rule_name:
|
||||
self.names.add(node.rule_name)
|
||||
elif isinstance(node.concept, Concept):
|
||||
self.names.add(node.concept.name)
|
||||
else:
|
||||
self.names.add(node.concept)
|
||||
|
||||
def visit_all(self, node):
|
||||
if node.rule_name:
|
||||
|
||||
Reference in New Issue
Block a user