OnionGrief / Chipollino

преобразования регулярных выражений и конечных автоматов
Other
20 stars 4 forks source link

Ночь с логгером #218

Open mathhyyn opened 1 year ago

mathhyyn commented 1 year ago

оставляю пометки (дисклеймер: здесь ничего важного, не обращайте внимания(см. только комментарии)) сейчас функции всегда логируются, !! игнорируется

image

image у Алины 4:26 утра, у меня пока 2:26

image

мне не дали создать группу image вместо этого сидим в дс image план обсужден, все разошлись image

ambiguity заменить потом на что-то короткое image

почему библиотеки не в .h image

log не передается image

image

в интерпретаторе эти функции не логируются image

день: втф зачем для каждой строчки пробегать по всем параметрам и смотреть не нашелся ли он в строке. Логичнее находить все вхождения template_ и находить в мапе параметров нужный. Мало ли в строке два одинаковых template_regex (вряд ли но вдруг). image

а еще нужен логгер логгера :))) (как у интерпретатора)

этой ночью (07.01) я буду в поезде поэтому продуктивность в проекте отменяется (ура функан ✌️)

производные в антимирове сделать +mathmode к ним image

слайды с линеаризацией и first end мн-ва у глушкова

перенести из старой ветки таблицы в общем виде и применить их к test (узнать что по М.Н. и Г.Ш)

добавить в интерпретатор алгебру над автоматами (или что это) сделать операцию set [flagname] [value]

надо придумать как не захламлять корень кучей логов от создания pdf, а убирать хотя бы в папку resources (можно создать pdf не в корне, а потом скопировать в корень, но у винды и линукса разные команды cp и copy) image

добавлять динамически если картинка автомата большая и две не влезают в слайд \end{frame} \begin{frame}

нужно или нет делать для 2х картинок справа-слева \begin{minipage}{0.45\textwidth} \vspace*{-6pt} \begin{center} \end{center} \end{minipage}

xendalm commented 1 year ago

Библиотеки не в .h, чтобы не было перекрестных включений

mathhyyn commented 1 year ago

сливать все ветки в новый логгер будет больно (((

alina8031 commented 1 year ago

Короче, получается довольно логичная система сортировки по развёрнутости логов (от наименьшей к наибольшей):

  1. ничего не логгируем
  2. логгируем только фреймы с template (для некоторых операций таких фреймов может быть несколько)
  3. логгируем фреймы c template и фреймы, которые находятся с ними в одной секции
  4. логгируем все фреймы Промежуточные шаги логгируются на 1 степень менее развёрнуто, чем главные (то есть те, которые явно прописаны в функциональной последовательности). Так, например, для IlieYu промежуточным будет Glushkov, для эквивалентности — обращение к минимальному автомату, а для равенства автоматов — бисимуляция.

Да, если логгируется какая-то операция много раз (например, Arden в PumpLength), то средне и более развёрнуто она должна логгироваться лишь однажды, иначе много раз будет повторяться одна и та же теория. Далее — не больше, чем кратко, а в средне-подробном варианте я предлагаю вообще логгировать все повторные промежуточные операции, кроме самой первой (залоггированной кратко, фреймами с template-объектами) одной строкой (то есть печатать только их результат).

По-хорошему, в IlieYu нужно логгировать в template не только Глушкова, а ещё follow-множество (и узлы с одним и тем же follow помечать одним стилем), а в Антимирове написать документацию (отдельным файлом) по производным.

(Антонина Николаевна)

mathhyyn commented 1 year ago

итак, к чему мы пришли: (я могу что-то забыть или передавать не ту версию (не правильно поняла или выбрали другой вариант)) остановились для начала на 2х степенях логирования: подробный (с теорией) и краткий (только содержащие template) их установка: Set log_mode [true/false] (название может поменяться) (аналогично флагам set trim t/f) пока true/false (тк сейчас проще так) По умолчанию - краткий

восклицательные знаки "!!" отвечают за то, будет ли логироваться посл-ть (хотя есть мысль отказаться от них)

помимо флага степени логирования добавим флаг логирования вложенных функций (условно Set log_nested_funcs true)

теория появляется лишь единожды на всю презентацию (вне зависимости от того появилась она во вложенной функции или при вызове из интерпретатора), дальше только краткие логи

(автоматическая нарезка в процессе)

P.s. от меня: Вложенные функции логируются на 1 степень менее развернуто главной Т.е. IlieYu -подробно Glushkov - кратко Linearize и мн-ва first, last - тоже кратко Каждая логируется подробно, если она встречается в первый раз (до этого момента в презентации не было по ней теории)

mathhyyn commented 1 year ago

минигайд по созданию шаблона: наследуемся от ветки logger-pain, после создаем PR для вливания в нее же logger-pain <- your-branch

в папке сойдаем файл для каждой ф/и image

в ф/и имя параметра и то что после %template_ должно совпадать image image имя можно поменять на то, что считаете более подходящим (мы их добавляли не глядя)

добавить имя файла в интерпретатор log_template.load_tex_template("determinize"); где determinize.tex - файл с шаблоном image

TonitaN commented 1 year ago
TonitaN commented 1 year ago

@xtoter , @alina8031 и @mathhyyn я бы уже отправила готовиться к функану, с учётом потраченного на проект времени в новогодние праздники. Туда же и @xendalm с компанией остальных, хотя капитана хотелось бы больше видеть в горячее время. Мне вообще не выгодно, чтобы вы завалили экзамен: меньше потом останется времени на добивание проекта перед конфой. И очень надеюсь, что хоть кто-нибудь уже закончил курсач :(

Автоматы пока что сама отрендерю прототипом для вставки в тезисы. А может, и нарезку первых версий шаблонов удастся сделать. Набросок тезисов планирую закончить к 8 января (сегодня и завтра будут ночи с тфя X_X). Желательно всё-таки 8 января кратко подвести промежуточные итоги, утвердить тезисы, и до завершения экзамена по БД я не буду вас дёргать ~а то другие студенты следят за активностью преподов и подмечают все дни, в которые им не ответили, а другим ответили~.

EDIT: А ещё @xtoter должен мне ооочень сложные задачи 2 и 3 из РК-2 вариант эпсилон.