I can define and eval BNF definitions
This commit is contained in:
@@ -2,12 +2,12 @@ from core.builtin_concepts import BuiltinConcepts, ReturnValueConcept, ParserRes
|
||||
from core.concept import ConceptParts
|
||||
import core.builtin_helpers
|
||||
import core.utils
|
||||
from parsers.BaseParser import BaseParser, Node, NopNode, ErrorNode, NotInitializedNode
|
||||
from parsers.BaseParser import BaseParser, Node, ErrorNode, NotInitializedNode
|
||||
from core.tokenizer import Tokenizer, TokenKind, Token, Keywords
|
||||
from dataclasses import dataclass, field
|
||||
import logging
|
||||
|
||||
from parsers.ConceptLexerParser import RegexParser
|
||||
from parsers.BnfParser import BnfParser
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -206,7 +206,7 @@ class DefaultParser(BaseParser):
|
||||
Parse sheerka specific grammar (like def concept)
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, **kwargs):
|
||||
BaseParser.__init__(self, "DefaultParser")
|
||||
self.lexer_iter = None
|
||||
self._current = None
|
||||
@@ -427,7 +427,7 @@ class DefaultParser(BaseParser):
|
||||
self.add_error(SyntaxErrorNode([definition_tokens[1]], "Empty declaration"), False)
|
||||
return NotInitializedNode()
|
||||
|
||||
regex_parser = RegexParser()
|
||||
regex_parser = BnfParser()
|
||||
new_context = self.context.push(self.name)
|
||||
parsing_result = regex_parser.parse(new_context, tokens)
|
||||
if not parsing_result.status:
|
||||
|
||||
Reference in New Issue
Block a user