Files
Sheerka-Old/parsers/BaseParser.py
T
2019-10-29 18:39:51 +01:00

42 lines
762 B
Python

from dataclasses import dataclass, field
from parsers.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, text):
self.name = name
self.text = text
self.has_error = False
self.error_sink = []
def parse(self):
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