Preg: предрелизная подготовка 2.3
Originally reported on Google Code with ID 143
Пока кидаю списки последних замечаний: что-то исправлено, но еще непроверено. Что-то
нет. Если кто что исправлял из списка - и код вытолкул - отпишитесь пожалуйста, чтобы
мне долго не гадать...
1. Мало комментариев в новом чарсете - Колесов + Стрельцов
6. Лексер: PHPDoc-комментарии к новым функциям!!! Колесов - к функциям опций
11. Документация на docs.moodle.org по новым возможностям и страница сравнения с regex
- Сычев+Стрельцов
12. Система запуска dot: стандартные настройки, сначала пробовать расширение PHP Колесов/Стрельцов
- Сычев поискать расширение
13. Нормальная генерация след. символа; сортировка дизъюнктов. Сортировать при первом
обращении к match(next - искать мин) - Колесов
15. Лексер: воспринимать, а не игнорировать, все от PCRE - для начала testinput1 -
Стрельцов
16. Усовершенствовать ДКА под новый чарсет и решить проблемы построения - Колесов
19. Почему в charset::match параметр $cs? Разве это давно не управляется данными самого
узла - полем qtype_preg_leaf::caseinsensitive ?? Оно должно проставляться лексером
в соответствии с модификаторами....
21. Новые кросс-тесты
ab(?:cd(?i)ef)gh и ab(cd(?i)ef)gh и /ab(?:cd(?-i)ef)gh/i
покомплекснее тест на дубликаты подмасок: правильное совпадение самой дублированной
подмаски с обратной ссылкой при генерации продолжения при отказе в совпадении до дублирования,
посреди подмаски и после дублирования...
негативные юникод-свойства/POSIX-классы?? [^[^:alpha:]]
23. Документация на http://docs.moodle.org/23/en/Preg_question_type дополнить новыми
особенностями: виды описаний подмасок и обратных ссылок, posix-классы, юникод-свойства,
\Q...\E и т.д.
Сычев: дописать в документацию что такие ответы должны быть ниже hintgradeborder
и exact matching должен быть "нет"
(?!<I\s+)am(?!\s+victor) - "am" misplaced
24. Может быть перенести код создания узлов из лексера в конструкторы узлов? Обнаружение
ошибок и т.д. - Стрельцов
26. Режим совместимости лексера/парсера с PCRE через опции. - Сычев/Стрельцов
проверить и отладить одни пустые скобки внутри других (на будущее - проблемно)
- Сычев
проверить работу НКА на a()b при наличии пустого узла внутри подмаски - нотация
PCRE Strict - Стрельцов
передать опции в ДКА матчер - Колесов
доделать сканер и парсер под новые опции - Стрельцов/Сычев
Reported by oasychev
on 2012-07-31 17:02:38
Comments (13)
-
-
reporter ``` 19 надо бы отладить. И сделать надежный набор кросс-тестов или тестов на узлы с установкой опций (?i) (?-i) и самыми разными символьными классами. ```
Reported by `oasychev` on 2012-08-03 14:40:48
-
reporter ``` По 21 - Валерий, добавите новые кросс-тесты? И про (?i) как раз можно заодно и диапазоны, и юникод-свойства оттестировать ```
Reported by `oasychev` on 2012-08-03 14:55:22
-
``` 19, 21 доделал. Ошибка была в лексере, не выставлялась регистрочувствительность в состоянии CHARSET. Тесты которые вы написали добавил, и парочку своих хитрых тоже придумал.
```
Reported by `vostreltsov` on 2012-08-05 13:45:28
-
reporter ``` 23 сделано совместными усилиями. Почти готова бета.
Дмитрий, если не вытолкните в ближайшие два дня восстановление работоспособности ДКА и передачу опций, ваш матчер будет исключен из релиза! Он должен проходить кросс-тесты хотя бы не хуже, чем в прошлом релизе.... ```
Reported by `oasychev` on 2012-08-06 20:26:25
-
reporter ``` 27. Перед релизом убрать PCREStrict нотацию, т.к. она слита с обычной - Сычев ```
Reported by `oasychev` on 2012-08-14 12:58:35
-
reporter ``` 27 - реализовано... ```
Reported by `oasychev` on 2012-09-03 13:45:18
-
reporter Остаются проблемы с работоспособностью ДКА - очень серьезные. Если они в течении недели не будут решены - придется убирать ДКА из релиза. Ну и Moodle в шапке на Preg надо поправить все-таки.
Reported by
oasychev
on 2012-10-13 19:22:59 -
Account Deleted Работоспособность ДКА восстановлена, изменения вытолкнуты в мой клон. Имеются провалы на некторых тестах, но в целом матчер работоспособен, как на модульных тестах, так и проверке через мудл.
Reported by
Xapuyc7
on 2012-10-23 21:20:21 -
reporter Не так уж она и восстановлена, если при запуске кросс-тестов att_basic валятся исключения при построении матчера на многих тестах, а на тестах от PCRE оно вообще виснет! Неправильный ответ - это одно, а вот исключения/повисание - совсем другое... Разберитесь и исправьте.
Reported by
oasychev
on 2012-10-26 12:15:57 -
Исправил заголовки на preg и poasquestion
Reported by
vostreltsov
on 2012-10-28 06:30:41 -
reporter Спасибо.
Reported by
oasychev
on 2012-10-28 17:05:40 -
reporter Релиз прошел, хоть и с не до конца исправленными матчерами... :(
Reported by
oasychev
on 2013-01-06 17:03:16 - Status changed:Done
- Log in to comment
``` 12 - сделано, сейчас функция может и сохранять файл на жесткий диск, и возвращать в бинарном виде вывод дота. Под обоими осями работает через proc_open(). Расширение пхп так и не нашел. 15 - вроде бы сделано 19 - сделано 24 - было бы, конечно, правильно, но оно неудобно: индексы ошибок в строке тоже нужно заполнять, и они иногда отличаются от индексов узла, в который они вложены... в лексере это проще заполнять. ```
Reported by `vostreltsov` on 2012-08-01 16:02:08