Closed Robby-the-paladin closed 8 months ago
Последний фикс про производную в размеченном regex
https://github.com/StarikTenger/Chipollino/pull/250#pullrequestreview-1272048687 Оказалось, что при попытке построить префикс по автомату использовался только первый переход из состояния. Сейчас на указанных примерах не падает.
Багфикс: раньше annote не снимался после нахождения префиксов и semdet работал на аннотированном автомате.
Поправлены шаблоны
Всё упало:
N = SemDet.Thompson {a|a} !!
Логи нужно поправить.
\\
(т.е. в ваших пояснениях) не нужны, они сбивают с толку латех и всё перестаёт собираться. Смело ставьте двойной перевод строки перед каждым новым логируемым объектом.%template_
- тегами.\\xrightarrow
заменяем на метатег >->>
, и дальше всё в рендеренном варианте будет как вам хочетсяЯ поправила логи, как они должны примерно выглядеть (чтобы не потерять вашу мысль, но согласовать всё с остальными):
auto make_string_transition = [=](int from, alphabet_symbol through,
int to) {
string f = std::to_string(from);
string arrow = ">->>{" + string(through) + "}";
string t = std::to_string(to);
return f + arrow + t;
};
Без перехода в мат.режим и без его фишек. В такой версии собираются оба документа. Только ещё нужно передавать реальные имена состояний автомата, а не просто их номера, чтобы логи согласовывались друг с другом.
Так что ваша задача:
После этого опять буду смотреть.
https://github.com/StarikTenger/Chipollino/pull/250#issuecomment-1407225499 У нас почему-то в автомате Томпсона переходы по эпсилону обозначаются через symbol = 'eps', а при попытке сделать to_regex эпсилон превращается в конкатенацию символов e, p, s
Добавлены логи на semdet