Будущий рефакторинг CorrectWriting

Issue #237 new
Oleg Sychev repo owner created an issue

Originally reported on Google Code with ID 237

Предыдущий рефакторинг (после 2.5) сделал анализаторы легко настраиваемыми в цепочку.
Однако осталось 2 зоны, в которых оказывается смешан код по всем анализаторам вместе:
1) определение видимого пользователю описания узла
2) генерация большой картинки (а также некоторых малых).

При текущей структуре данных разбить его невозможно.

Чтобы это сделать, необходимо  стандартизовать данные, записываемые каждым анализатором
в string_pair. В принципе их можно представить в виде набора команд, либо набора пар
соответствий: слияние, разбиение, изменение текста, удаление лексемы, вставка лексемы,
перемещение лексемы - выполняемых над правильной, либо проверяемой строкой. LCS это
тоже по сути набор команд удаления, который может быть представлен для обеих строк.

Тогда каждый анализатор давал бы свой массив команд-соответствий (или два - для правильной
и проверяемой строк) и стало бы возможно написать универсальный алгоритм их обработки
и отображения.

Прежде всего надо продумать хорошую структуру данных. Я думаю, неплохой отправной точкой
будет класс block_formal_langs_matched_tokens_pair - он уже может описывать соответствия
неплохо; но его скорее всего понадобится снабдить дополнительной информацией.

Все позитивные продуманные предложения приветствуются.

Reported by oasychev on 2013-10-18 18:56:41

Comments (1)

  1. Log in to comment