Closed GoogleCodeExporter closed 9 years ago
Баги отрисовки на следующих тестах:
1) (q)(^$^^^^$$$$$$)+
http://prntscr.com/1wuut4
2) (q)(^$^^^^$$$$$$)+33
http://prntscr.com/1wuvjx
остальные квантификаторы показали
ситуацию, аналогичную первым двум тестам.
3) не баг, но оставлю здесь, ибо на мой взгляд
это является непонятным в графе, а наша
задача - избежать подобных случаев
(a+(b+c)+)?
http://prntscr.com/1wuxea
4) 3+++++++++++
http://prntscr.com/1wuzen
5) [;;]
в описании получил следующее:
one of the following characters: ;, ;;
на мой взгляд, последняя ; лишняя
6) [<]
оставлю здесь, что бы не забыть исправить
дерево и протестировать ещё раз в будущем
7) при выделении часть ассертов слева
исчезла... в не выделенном состоянии точки
попали в прямоугольник квантификатора...
33\b$\b^_+^\b$5
http://prntscr.com/1wv751
8) при выделении граничных а ассертом узлов,
точка попадает под выделение
33ab^_+c$5
http://prntscr.com/1wv7ux
9) выделении символа "_" сервер вернул
ошибку. тест:
33ab^(_|)+c$5
Original comment by grvl...@gmail.com
on 12 Oct 2013 at 5:23
10) плюс захватил лишний узел слева
a(\G\\\1)+
http://prntscr.com/1wvb4r
11) порождаются лишние точки при выделении
"b|", которых не было на исходном графе
a(bc|(b|)+x)cc
http://prntscr.com/1wvcl1
12) визуально нет разницы в графе между
следующими выражениями:
a(?:bc|b|x)cc
a(?>bc|b|x)cc
13) (?i)
http://prntscr.com/1wvhar
14) визуально не отличаются модификаторы в
графе
3(?s)3(?-s)3(?m)3(?-m)3(?x)3(?-x)3
http://prntscr.com/1wvifp
15) стрелка должна идти по идее от "иначе", а
не от и + плохо понятная визуальная
конструкция, на мой взгляд
(?(?=если)то|иначе)
http://prntscr.com/1wvmpn
Original comment by grvl...@gmail.com
on 12 Oct 2013 at 6:32
1 и 2 - серьезная проблема
3 - с (a+(b+c)+)? серьезные проблемы - при обычном
режиме налазиет прямоугольники на begin/end,
при exact вообще падает...
4 - подтверждаю, проблема в том что надпись
на квантификаторы залазит
5 - ну это строку надо с Пахомовым обсудить,
разница в цвете на точке с запятой заметна
слабо конечно
6 - странно, вроде это все на двойные кавычки
переводили вчера/позавчера - с Валерием
надо эту ситуацию проверить....
7 - при выделении 5 ошибку подтверждаю; у нас
Иванов вообще жив или нам опять со
Стрельцовым граф отлаживать?
8 - ну и пусть ее попадает, худшие бы
проблемы подправить
9 - не смог воспроизвести, все вроде
работает...
Original comment by oasyc...@gmail.com
on 12 Oct 2013 at 6:33
10 - да, причем при выделении ассерта
проблема исчезает; возможно результат
наших вчерашних попыток поправить
последний $ - но уж серьезно решать проблему
в осьминоге process_asserts надо Иванову
11 - лишние точки они всегда так в пустоте
появляются; некрасиво - но не проблема - при
наличии стольких ошибок это только недочет
12 - здесь достаточно надпись добавить для
once-checked subexpression
13 - ну а чего вы хотели? там действительно ни
с чем не проверяется - совпадет с чем
хочешь, работа регекспа отображена верно;
граф - не дерево...
14 - опять же, здесь все нормально; во-первых
на поведение 3-ки эти модификаторы не
влияют вообще - они на точку, на ассерты
начала/конца строки влияют; во-вторых пока
у нас нет ввода многострочного текста от
студента они у нас вообще не влияют ни на
что...
а вот при .^(?s).(?-s).(?m)^.(?-m)^.(?x)^.(?-x)^. почему то
все ассерты кроме первого в графе
отсутствуют
15 - согласен что отображается кривовато, но
проблема не самая острая - можно в принципе
пока в аццептинге графа условные подмаски
вообще зафейлить....
Original comment by oasyc...@gmail.com
on 12 Oct 2013 at 6:49
16 - в графе исчезают ассерты, стоящие сразу
после модификаторов
ab(?i)\b\scd
Original comment by oasyc...@gmail.com
on 12 Oct 2013 at 7:09
1 и 2 исправлены
Original comment by ZluMYO@gmail.com
on 13 Oct 2013 at 9:58
По поводу 3 и 4.
3 это издержки дота... Если есть предложения
как это сделать лучше, то выслушаю.
4 это уже баг дота. Тут, к сожалению, я не
знаю, что делать.
Original comment by ZluMYO@gmail.com
on 13 Oct 2013 at 10:05
8 и 9 работают нормально. Затяните,
пожалуйста, последние изменения и
проверьте ещё раз.
Original comment by ZluMYO@gmail.com
on 13 Oct 2013 at 10:08
По поводу 13 согласен с Олегом
Александровичем.
Original comment by ZluMYO@gmail.com
on 13 Oct 2013 at 10:14
7 исправлено
Original comment by ZluMYO@gmail.com
on 13 Oct 2013 at 1:31
11 исправлено
Original comment by ZluMYO@gmail.com
on 13 Oct 2013 at 2:05
3 - ну если издержки дота доходят до того,
что он падает - надо написать его авторам на
трекер с приложением графа; предварительно
проверив на самой последней версии,
разумеется.... кстати, ошибка останется если
из выражения удалить ? и букву c
минимальный тест в exact
(a+(b+c)+)
4 - а что тут делать? Точку (псевдоузел)
конечно ставить, чтобы через границы
кластеров шло без надписи....
Иванов - а 16?
Original comment by oasyc...@gmail.com
on 13 Oct 2013 at 7:38
17 ab(?i)cd - выделить модификатор (?i) - в дереве
выделяется, в описании - нет...
Пахомов - исправляйте...
Original comment by oasyc...@gmail.com
on 18 Oct 2013 at 4:18
16 исправлен.
Original comment by ZluMYO@gmail.com
on 19 Oct 2013 at 1:19
по поводу 3 бага. Я поставил новую версию
графвиза. Всё равно падает дот при экзакт
матчинге. Я посмотрел на баг трэккер
ГрафВиза и нашёл похожий случай, которой
тянется ещё с версии 5 летней давности
http://www.graphviz.org/mantisbt/view.php?id=2117 . К сожалению, на
этот баг ответа от разработчиков не было.
Original comment by ZluMYO@gmail.com
on 19 Oct 2013 at 1:31
6 - сделал вардамп дот-кода, запустил через
gvedit
результаты gvedit:
http://prntscr.com/1yjug3
результаты, полученные через moodle:
http://prntscr.com/1yjunb
дот код:
digraph qtype_preg_graph {
rankdir = LR;1[id = "1,0,5", label = "[<] ", tooltip = "символьный
класс
&
l
t
; ", shape = "rectangle", color = "black", fontcolor = "black", style =
"solid"];
1;
subgraph cluster_user { color=invis; bgcolor=white;
1;
}}
не знаю, как это исправить...
Original comment by grvl...@gmail.com
on 20 Oct 2013 at 2:34
Терехов - я же говорил, посмотрите какую
строку генерирует граф в этом случае - она
несколько отличается от вашей и работает
под moodle
Иванов - рад слышать про 16, но 4 тоже вполне
можно исправить - ждем-с
Original comment by oasyc...@gmail.com
on 20 Oct 2013 at 2:45
Баг № 6 появляется чисто из-за svg. При
рендеринге в Png всё нормально.
Original comment by vostreltsov@gmail.com
on 20 Oct 2013 at 4:02
Ну у Иванова же ситуация 6 работает. Почему
дерево не может аналогичным образом
поступить?! Или граф не в svg?
Original comment by oasyc...@gmail.com
on 20 Oct 2013 at 4:03
У него лишний раз вызывается string_to_html - по
идее это неправильно. Ищу, как решить
проблему более чистым образом
Original comment by vostreltsov@gmail.com
on 20 Oct 2013 at 4:04
На 20 - Значит сейчас для релиза делаем и в
дереве "по идее это неправильно" - зато
работает...
А дальше посмотрим на реакцию от Графвиз -
даже если исправят, проверять и требовать
его версию не так уж легко.
Иванов, что там за странный "рефакторинг"?
Рефакторинг после релиза будете делать, и я
сказал какого рода... А сейчас - только
мелкие изменения, улучшающие конкретные
ситуации для пользователей...
Пахомов - все еще жду новой строки для back
reference в описании, исправления 17 (выделение
модификаторов в описании) и доделки
скрипта под блок (к скрипту кто может -
подключайтесь...)
Original comment by oasyc...@gmail.com
on 20 Oct 2013 at 7:49
Ээ, простите, а о каком рефакторинге шла
речь? Наверно, я что перепутал...
Original comment by ZluMYO@gmail.com
on 21 Oct 2013 at 6:48
Revision: 0d129b1cbd54 Проведён рефакторинг кода
инструмента визулизации графов.
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 9:28
Кто тестировал этот "рефакторинг" графа -
отпишитесь об объеме тестирования -
приведите список всех регексов и настроек,
на которых он тестировался...
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 10:30
18 a(?i)b
выделяю a(
в тексте и дереве все нормально
в графе выделено аж b
в описании только a - без caseless
выделяю ?i - в описании не выделено ничего
вообще
Правим срочно!
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 7:45
19 a\bb выделяем bb - в описании выделено только
b
20 (a)\bb выделяем bb - в графе и описании
выделено только b
21 (a)(\b)b в таких условиях в описании не
выделяется ассерт и его подвыражение
выделяем закрывающую скобку слева от а - в
описании не выделено подвыражение!
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 7:58
Фон выделения в графе всегда белый - это
создает проблемы при exact когда выделяешь
корневую конкатенацию - весь фон
становится белым, серые участки не видны
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 7:59
23 (предыдущее считаем 22) На тесте 3+++++++++++ при
выделении ^ вылетает dot с ошибкой.
24 \b3+*+*+*+*\b (без exact) при выделении последнего
ассерта в графе выделяется только точка
25 ^(^(^(^(a)$)$)$)$ - при выделении $ в графе
выделяется только точка, а не надпись
ассерта
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 8:11
26 a(bc)c выделите a(b - в описании выделение
распалось на два участка...
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 8:26
Описание исправлено, а вот граф нуждается в
срочных фиксах - см. 18, 20 и 25 в первую очередь.
Original comment by oasyc...@gmail.com
on 21 Oct 2013 at 9:48
Хм. Из всего перечисленного у меня
подтверждается только 18. 20, 24 и 25 адекватно
себя ведут.
Original comment by ZluMYO@gmail.com
on 22 Oct 2013 at 11:47
18 исправлено.
Original comment by ZluMYO@gmail.com
on 22 Oct 2013 at 2:13
Значит надо 20 24 и 25 проверить еще у кого-то.
Вы уже рассказывали что доллар последний
нормально выделяется - а оказалось код
править надо.
Терехов, Стрельцов - что у вас с этими
ситуациями?
Original comment by oasyc...@gmail.com
on 22 Oct 2013 at 4:11
20 работает
24 - выделяется ещё и "3"
25 - не выделяется внутренний $, остальные
выделяются
Original comment by vostreltsov@gmail.com
on 22 Oct 2013 at 4:53
27. при выделении ассертов появляются
лишние точки, причём при выделении более
одного ассерта лишних точек нет
(^$^^$$)+
http://prntscr.com/1z15u7
28. ассерты, заключённые в подмаску,
находятся снаружи подмаски
(q)($$)+
http://prntscr.com/1z174a
29. отрисовывает граф, но не может
отрисовать выделение, почему то пишет
ошибку. так же могу привести ещё тесты на
подобную ситуацию, если нужно.
($+)
30. отрисовка. теперь лезет на узлы самого
графа
3(((3+-+-+)+)*)*3
http://prntscr.com/1z1bag
31. опять отрисовка. случай когда
квантификатор лезет на квантификатор,
когда посередине подмасок с
квантификаторами есть квантификатор
((((3+-+-+)+)*)*)*3*((((3+-+-+)+)*)*)*3
http://prntscr.com/1z1bvs
и случай, когда его нет
((((3+-+-+)+)*)*)*((3333(3+)*|)|)*((((3+-+-+)+)*)*)*3
http://prntscr.com/1z1cqb
и когда вообще не понятно, что отрисовано
((3(((?:33)*)3+)*| |(3)+| |(\1| )|)|)*
http://prntscr.com/1z1e9b
32. ближний справа к квантификатору ассерт
выделяется не правильно
3\b\b\b^_+^$5
http://prntscr.com/1z1exy
33. непонятно, к чему относятся ассерты (к
какой стрелке)
(&|$|&$$^|)
http://prntscr.com/1z1g67
34. название последнего ассерта вылежает за
пределы кластера подмаски
(&|$|&?$$$$$$$$^|)
http://prntscr.com/1z1gxe
35. случай с множеством пустых адбтернатив
(3|3|$?$$$$$$$$^||||||||||||3)
http://prntscr.com/1z1htg
сюда же запишу случай, когда выделены все
ассерты
http://prntscr.com/1z1ic6
36. опять отрисока дота. ассерт проходит
сквозь кластер с квантификатором при
выделении
^|^|&((3*))?|^|^
http://prntscr.com/1z1kb8
37. опять узлы лезут друг на друга
(([^_^](((1+)*)+)(a))*)|
http://prntscr.com/1z1n5t
Original comment by grvl...@gmail.com
on 22 Oct 2013 at 7:44
28 и 32 - серьезно, собственно аналогично 24 и 25
Иванов - возьмите таки код из репозитория и
решите эту конкретную проблему
30 как-то странно, что там со стрелками
происходит? тоже надо бы решить
Дот мы фиксить пока не будем (по крайней
мере не к этому релизу ;), а вот проблемы
структурного рода - типа 28,32,24,25 - надо
решить сейчас
и с 30 разобраться
Original comment by oasyc...@gmail.com
on 22 Oct 2013 at 8:11
24 и 25 я настаиваю, что они работают. я всё
проверил. и кэши чистил/пурджил. и чистый
репозиторий устанавливал на Мудл.
<< 24 - выделяется ещё и "3"
25 - не выделяется внутренний $, остальные
выделяются >>
Не подтверждаю.
Original comment by ZluMYO@gmail.com
on 22 Oct 2013 at 8:18
24 похоже исправилось при последних правок
в 25 в exact режиме у меня все $ криво выделяются
Original comment by oasyc...@gmail.com
on 22 Oct 2013 at 8:22
в 25 надо выделять только доллар - без
скобок; выделяется только точка а не дуга
Original comment by oasyc...@gmail.com
on 22 Oct 2013 at 8:23
25 в exact режиме подтверждаю. Хотя странно,
что он может оказывать такое влияние...
Original comment by ZluMYO@gmail.com
on 22 Oct 2013 at 8:26
по 28 моё изображение http://prntscr.com/1z20v5 .
Видимо имеет место различие используемых
версий.
аналогично с 32 http://prntscr.com/1z21f9
Original comment by ZluMYO@gmail.com
on 22 Oct 2013 at 8:31
28 и 32 на последнем коде у меня работают с
ошибками, как у Терехова
Значит вы чего-то недокоммитили...
Original comment by oasyc...@gmail.com
on 22 Oct 2013 at 8:41
28 работает при учитывании регистра букв.
Коллизия возникает только в ином случае...
Original comment by ZluMYO@gmail.com
on 23 Oct 2013 at 4:03
Похоже в 28 по вам бьют ваши же проверки по
стилям узлов. Пока надо пофиксить баг самым
мелким изменением, насколько возможно,
после релиза - исправить причину.
Original comment by oasyc...@gmail.com
on 23 Oct 2013 at 2:57
У меня сложилась странная ситуация с 25. Все
доллары выделяются как надо, но осталась
проблема с ^. Берём ^(^(^(^(А)$)$)$)$ . Включаем exact
matching. И выделяем 2-ую от А крышку. Выделится
только 1 точка вместо 2-х (http://prntscr.com/1z8f87).
Делаю пошаговую отладку. Дохожу до
генерации dot-инструкций. Получаются такие
(https://gist.github.com/zlumyo/7124008). Я ради интереса дал
их скушать графвизу напрямую. И вот что
получилось (http://prntscr.com/1z8ft1).
Что с этим делать?
Original comment by ZluMYO@gmail.com
on 23 Oct 2013 at 6:37
Дать скушать через командную строку. И
распечатать инструкции, сгенерированные
юнит-тестом при таком регексе на входе...
Original comment by oasyc...@gmail.com
on 24 Oct 2013 at 7:55
Иванов - вы вообще собираетесь фиксить
граф? Главным образом ваши проблемы
остались.
Пахомов - вам осталось подумать над строкой
в описании для обратных ссылок, она должна
быть отдельной от названия в дереве и графе.
К обеду в воскресенье должна быть готова
окончательная версия для проверки с
исправленными существующими проблемами.
Иначе наша встреча во вторник опять будет
отложена....
Original comment by oasyc...@gmail.com
on 25 Oct 2013 at 3:00
Вытолкнул код по 28 и 32. Проверьте
пожалуйста.
Original comment by ZluMYO@gmail.com
on 28 Oct 2013 at 1:46
А 25?
У меня сегодня занятия заканчиваются в
21-20....
Original comment by oasyc...@gmail.com
on 28 Oct 2013 at 1:50
Похоже изменения сделанные для 28 и 32
исправили 25. По крайней мере описанные выше
баги в отрисовке пропали.
Original comment by ZluMYO@gmail.com
on 28 Oct 2013 at 2:28
Original issue reported on code.google.com by
grvl...@gmail.com
on 12 Oct 2013 at 4:57