Отображение в графе условных подмасок

Issue #137 closed
Oleg Sychev repo owner created an issue

Originally reported on Google Code with ID 137

Реализовать отображение в графе всех видов условных подмасок.

Сначала привести здесь примеры рисунков и получить одобрение

Reported by oasychev on 2012-07-31 14:07:11

Comments (14)

  1. Former user Account Deleted
    На данный момент реализована такая идея: сама условная подмаска представляет собой прямоугольник,
    внутри которого размещены блоки. Первый блок - условие. Оно заключено в цветной прямоугольник.
    К нему идёт стрелка от предыдущего действия. Далее идёт блок альтернатив (может быть
    1 или 2). К альтернативам параллельно идут стрелки от условия.
    Над альтернативами написано true или false. 
    

    Reported by ZluMYO on 2013-03-21 07:03:17 - Status changed: InProgress

    <hr> * Attachment: cond_subexpr.PNG<br>cond_subexpr.PNG

  2. Oleg Sychev reporter
    Мне не нравится надпись в самой альтернативе, она выводит название узла но не смысл
    альтернативы. Ее надо усовершенствовать по смыслу.
    
    И условие обычно отображается ромбиком, это возможно в dot?
    
    Опять же, по практике блок-схем истина/ложь пишется скорее над расходящимися ветками,
    чем над блоками иначе при вложенных могут быть проблемы с пониманием. Хотя обведение
    блоков пунктиром мне нравится.
    

    Reported by oasychev on 2013-03-21 15:36:22

  3. Valeriy Streltsov
    Граф стал вылетать на условных подвыражениях. Ни одного теста, кстати, с их участием...
    

    Reported by vostreltsov on 2013-09-15 19:58:18

  4. Former user Account Deleted
    Проверьте пожалуйста ещё раз - у меня всё работает.
    

    Reported by ZluMYO on 2013-09-19 11:09:31

  5. Oleg Sychev reporter
    У меня при попытке сделать регекс с условной подмаской-ассертом типа 
    a(?(?=xyz) def | ffd)dffsdf
    вообще не показывается ни граф, ни дерево, ни объяснение - только тестинг тул, который
    отдельным запросом.
    
    Скорее всего кто-то гробит запрос - возможно граф...
    Иванов, вы все виды условий пробовали? Может на обратных ссылках в условии работает,
    а на ассертах - нет?
    

    Reported by oasychev on 2013-09-19 20:47:35

  6. Former user Account Deleted
    На данный момент условные подмаски имеют следующий вид: кластер, внутри которого расположены
    2 (или 3 если есть false-ветка) подкластера для условия и возможных исходах.
    http://prntscr.com/2v21om (рекурсия и обратные ссылки)
    http://prntscr.com/2v21tt (сложные ассерты)
    

    Reported by ZluMYO on 2014-02-23 08:11:59

  7. Oleg Sychev reporter
    Надпись в рекурсии неверна, вы скорее всего попытались реюзать имеющиеся строки - и
    в данном случае зря. Посмотрите внимательно доки - условие истинно, если мы находимся
    внутри рекурсии, или что-то вроде того (т.е. рекурсия актуально сработала и выражение
    находится в процессе совпадения рекурсивного отрезка). И соответствующее предложение
    должно заканчиваться знаком вопроса и быть вопросительным. Аналогичная проблема может
    быть и с обратными ссылками (где пример?) - это не ссылки, условие истинно если было
    совпадение с подмаской с указанным номером, ложно если нет.
    
    В ситуации со сложным ассертом я бы как минимум добавил знак вопроса над дугой, ведущей
    в ассерт, чтобы показать, что это ответом на него является true/false дальше.
    
    Пахомову (Иванов - передайте, он может не читать это иссью) - у него в описании лучше,
    но тоже не совсем верно: рекурсия - if the whole pattern has been successfully recursively
    matched - на самом деле он верен если выражение сейчас находится внутри матчинга рекурсии,
    а не он был полностью сматчен. А вот его строка для условия по подмаскам верна, используйте
    или копируйте если там лишние слова if... then . И по рекурсии предпочтительно чтобы
    Пахомов поправил строку, а вы использовали.
    

    Reported by oasychev on 2014-02-23 17:48:00

  8. Former user Account Deleted
    К сожалению, в начале был сделан знак вопрос над дугой ведущей ИЗ сложного ассерта.
    Теперь данное недоразумение исправлено. http://yadi.sk/d/BEuDwKZpKxEP8
    

    Reported by ZluMYO on 2014-03-21 16:40:51

  9. Oleg Sychev reporter
    А что с надписями условий, которые не-ассерты? У меня даже после очистки кеша в чувство
    не пришли.
    

    Reported by oasychev on 2014-03-21 16:41:52

  10. Former user Account Deleted
    Теперь доделано использование строк из инструмента словесного описания и для обратных
    ссылок (если это можно так назвать) в условных подмасках.
    

    Reported by ZluMYO on 2014-03-24 14:30:07

  11. Former user Account Deleted
    Можно закрывать?
    

    Reported by ZluMYO on 2014-04-13 18:06:54 - Status changed: Fixed

  12. Oleg Sychev reporter
    Почти. Во-первых, я бы к условиям в узле графа добавил знак вопроса - иначе плохо читается,
    непонятно что это условие (в описании "если" есть, а в графе неочевидно что это условие
    по надписи.)
    Во-вторых, надписи на русский переведены, а true/false - нет. Стыдно как-то.
    

    Reported by oasychev on 2014-05-13 15:29:44 - Status changed: InProgress

  13. Former user Account Deleted
    Сделано.
    

    Reported by ZluMYO on 2014-05-16 09:35:28 - Status changed: Fixed

  14. Log in to comment