""" Инструменты языка и вспомогательные инструменты. """ from lev0 import Logger from lev1 import Context class Lang: """ Главный класс языка """ def __init__(self) -> None: self.__log = Logger("Lang") self.__log("start") self.__src: str = "" self.__lst_ctx: list[Context] = [] def step(self) -> None: """ Шаг выполнения """ self.__log("step!") @property def start_file(self) -> str: """ Содержимое стартового файла """ try: f = open("./plt/main.plt", "r", encoding="utf-8") self.__src = f.read() f.close() except Exception as e: self.__log.error(msg=f"Ошибка при чтении файла, ош=\n\t{e}") return self.__src def parse_ctx(self) -> None: """ Парсинг контекстов программы """ self.__log("") src = self.__src while src != "": lit = src[0] if lit == "(": ctx = Context(src) self.__lst_ctx.append(ctx)