Files
Sheerka-Old/parsers/BaseParser.py
T
2019-11-09 17:29:50 +01:00

41 lines
736 B
Python

from dataclasses import dataclass
from core.tokenizer import TokenKind, Keywords
@dataclass()
class Node:
pass
@dataclass()
class NopNode(Node):
pass
def __repr__(self):
return "nop"
@dataclass()
class ErrorNode(Node):
pass
class BaseParser:
def __init__(self, name):
self.name = name
self.has_error = False
self.error_sink = []
def parse(self, context, text):
pass
@staticmethod
def get_text_from_tokens(tokens):
if tokens is None:
return ""
res = ""
for token in tokens:
value = Keywords(token.value).value if token.type == TokenKind.KEYWORD else token.value
res += value
return res