Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Методы Abstract Machine #360

Open
TonitaN opened this issue Jul 9, 2024 · 2 comments
Open

Методы Abstract Machine #360

TonitaN opened this issue Jul 9, 2024 · 2 comments
Labels
discussion вопрос, требующий обсуждения feature это надо сделать refactor надо улучшить качество кода

Comments

@TonitaN
Copy link
Collaborator

TonitaN commented Jul 9, 2024

Вопрос легаси: что, кроме вышеуказанных методов, имеет смысл поднять в класс Abstract Machine? Вопрос к @xendalm и @dak151449 , как к тем, кто дольше всех сидел на бэке.

  • Поиск сильно связных компонент.
  • Поиск состояний, не достижимых из начального, и достижимых из начального. Аналогично: ко-достижимых из финальных.
  • Удаление ребра (вершины) вместе со всей компонентой, достижимой только по этому ребру (из этой вершины).
  • Каноническая нумерация (переименование) вершин (относительно упорядочения меток, заданного функцией-аргументом, насколько возможно). В принципе, в этом методе логично также переупорядочивать их индексы канонически.
@TonitaN TonitaN added feature это надо сделать discussion вопрос, требующий обсуждения refactor надо улучшить качество кода labels Jul 9, 2024
@xendalm
Copy link
Collaborator

xendalm commented Jul 9, 2024

Кажется, Complement делает одно и тоже.
Deterministic и AddTrap с добавлением небольших виртуальных методов тоже получится обобщить.

Что касается других функций интерпретатора, даже не знаю, что можно поднять. Только если служебные методы, которые не делают ничего с памятью.

Аня вот в своей ветке добавила сокращение меток для логов. Больше пока не вижу.

(ну и все это, вероятно, потребует вынесения transitions в класс)

@TonitaN
Copy link
Collaborator Author

TonitaN commented Jul 9, 2024

C Complement всё сложнее (переход не по памяти или не по символу стека потребует дополнительных обвязок).
Deterministic - видимо, да.
Transitions всё равно переносить в класс рано или поздно придётся...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion вопрос, требующий обсуждения feature это надо сделать refactor надо улучшить качество кода
Projects
None yet
Development

No branches or pull requests

2 participants