| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- """
- Инструменты языка и вспомогательные инструменты.
- """
- 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)
|