Refactored parsers to introduce priority

This commit is contained in:
2020-01-08 19:45:54 +01:00
parent b4346b5af0
commit a62c1f0f13
13 changed files with 531 additions and 42 deletions
+7 -1
View File
@@ -38,12 +38,15 @@ class UnexpectedTokenErrorNode(ErrorNode):
class BaseParser:
PREFIX = "parsers."
def __init__(self, name):
def __init__(self, name, priority: int, enabled=True):
self.log = get_logger("parsers." + self.__class__.__name__)
self.init_log = get_logger("init." + self.PREFIX + self.__class__.__name__)
self.verbose_log = get_logger("verbose." + self.PREFIX + self.__class__.__name__)
self.name = self.PREFIX + name
self.priority = priority
self.enabled = enabled
self.has_error = False
self.error_sink = []
@@ -55,6 +58,9 @@ class BaseParser:
def __hash__(self):
return hash(self.name)
def __repr__(self):
return self.name
def parse(self, context, text):
pass