Closed GoogleCodeExporter closed 9 years ago
1.1 - надо бы сделать, это недолго - Валерий?
2.1 - это отдельное issue - 114
2.2 - это вообще на баг смахивает... - отладить
СРОЧНО
Original comment by oasyc...@gmail.com
on 10 Jul 2014 at 6:31
2.2 пофикшено. срочность на релиз не
повлияла, ошибка никак не проявлялась на
элементарных днф, какие были.
Original comment by vostreltsov@gmail.com
on 12 Sep 2014 at 6:15
2.1 вроде как сделал, оказалось просто. Надо
теперь чтобы Лена пробовала свою часть.
Original comment by vostreltsov@gmail.com
on 12 Sep 2014 at 6:40
2.1 и 2.2 у меня не работают, ссылки на тесты
есть тут
https://code.google.com/p/oasychev-moodle-plugins/issues/detail?id=232#c6
Original comment by eklepilkina@gmail.com
on 16 Nov 2014 at 11:41
Так, нам нужно четко определиться какие
классы за какую генерацию отвечают и какие
параметры идут в какие методы.
Сейчас метод next_character добавился и в класс
перехода. Если главный лист перехода не
чарсет, он перенаправляет вызов в узлы и
всё хорошо, иначе начинается дикая
заморочка с проверкой ассертов и в
переходе, и в листе - это необходимо
упростить.
Я сейчас выделил метод next_character_ranges в листе
чарсета. Просто чтобы работало. Он на себя
берет генерацию "желаемого символа". В
порядке приоритета это 1) оригинальный
символ, если таковой был в первоначальной
строке на этом же месте 2) ascii-буква
латинского алфавита 3) пробел для случаев \s
- он красивее табуляции. Как мне кажется,
придётся перенести эту логику на уровень
перехода, потому что переходу нужно знать
отрезки для проверки ассертов, а
манипуляции с желаемыми отрезками в
чарсете могут выкинуть часть оригинальных
отрезков. Согласны?
Как мне кажется, нужно
1) сделать next_character чарсета максимально
тупой заглушкой, он все равно не нужен
2) убрать из чарсета next_character_ranges, который
занимался логикой желаемого символа. в
чарсете по-прежнему остается обычный метод
ranges.
3) переход теперь берет на себя
ответственность за желаемый символ и
проверку всех(!) ассертов, а не как сейчас: ^
и $ на уровне чарсета, остальные на уровне
перехода.
Остается вопрос с обратной ссылкой, но там
вроде просто. Она всегда возвращает кусок
строки какой ей нужен, а ассерты проверятся
на уровне переходов. Итого, вся логика
ассертов будет только в транзишене.
Original comment by vostreltsov@gmail.com
on 16 Nov 2014 at 9:32
Честно говоря не уверен в таком подходе.
Во-первых, главным листом должен быть
именно чарсет, это нормальная ситуация -
именно к нему мержаться ассерты.
Во-вторых, при генерации нет ничего
странного сначала обратится к ассертам
(которые вполне себе в состоянии
сгенерировать допустимые диапазоны
символов (либо же невозможность генерации,
либо ends_there) - для ^ или $ это вообще будет
либо невозможность, либо перевод строки. А
потом он пересекается с тем, что
сгенерировано обычным чарсетом.
Original comment by oasyc...@gmail.com
on 16 Nov 2014 at 9:37
1) понятно, но есть всякие обратные ссылки
или ассерты по краям. вообще, этот пункт - не
суть
2) ок, я про то, что нужно это делать в методе
транзишена. вызвать генерацию и для
ассертов, и для главного перехода, а потом
пересечь. в конце попробовать пересечь с
желаемыми диапазонами.
собственно вопрос в том, что не нужно
параметризовать next_character листов булевыми
значениями $dollar и $circumflex как это сейчас
делается
Original comment by vostreltsov@gmail.com
on 16 Nov 2014 at 9:41
Решили что генерация в листьях должна
возвращать диапазоны, а переход уже их
пересекает и генерирует конкретный символ.
Original comment by oasyc...@gmail.com
on 16 Nov 2014 at 9:46
Это сделано? Или проблемы еще остались?
Original comment by oasyc...@gmail.com
on 3 Dec 2014 at 12:38
Issue 286 has been merged into this issue.
Original comment by oasyc...@gmail.com
on 3 Dec 2014 at 12:39
Original comment by vostreltsov@gmail.com
on 3 Dec 2014 at 8:40
Original issue reported on code.google.com by
eklepilkina@gmail.com
on 6 May 2014 at 5:01