Граф: адаптироваться к изменению формата userinscription
Originally reported on Google Code with ID 129
Это необходимо для инструментов авторинга и корректной работы функции tohr. Особенно
касается символьных классов, но применимо и к другим узлам тоже.
Для начала неплохо сохранить исходные данные в специальном поле preg_node или preg_leaf.
Причем, если это чарсет, то его отдельные элементы: перечисления, диапазоны, POSIX-классы
и т.д. - в массиве.
Сделать надо побыстрее, чтобы 2-й курс на практике мог этим пользоваться.
Ваши предложения - кто возьмется? Там не очень большая доработка лексера и тестов на
него...
Reported by oasychev
on 2012-07-10 08:27:05
Comments (14)
-
-
reporter ``` Не лучше ли сохранять отдельными элементами массива диапазоны символов? Сейчас, насколько я понимаю, в userinscription все диапазоны и одиночные символы хранятся одной строкой. Что несколько неудобно для инструментов авторинга.... ```
Reported by `oasychev` on 2012-07-19 15:44:42 - Status changed: `InProgress`
-
reporter Reported by `oasychev` on 2012-07-19 15:45:01
-
``` Поправил. ```
Reported by `vostreltsov` on 2012-07-19 19:46:34 - Status changed: `Fixed`
-
reporter ``` Нам бы по хорошему нужна еще функция, которая определяла бы печатаемую форму символа...
Есть символы непечатные, пробел например или кодами может быть всякое задано, не факт что отображаемое на экране. Надо уметь разбираться, печатать ли сам символ, надпись "символ с кодом таким-то" или специфическое название (пробел, табуляция)... ```
Reported by `oasychev` on 2012-07-25 11:48:40 - Status changed: `InProgress`
-
reporter ``` После обсуждения со 2-м курсом было решено немножко улучшить формат userinscription
Сделать в символьном классе его элементы объектами или массивами, чтобы они хранили две вещи: надпись пользователя и флажок. Тогда при отображении студенты могут выводить наборы символов и диапазоны ориентируясь на надпись, а последовательности типа \w , POSIX-классы и юникод-свойства - на флажок.
Попытка выводить без этого приводит к дублированию кода - либо выделения диапазонов, либо парсинга последовательностей \w , POSIX-классов и юникод-свойств для их отображения названием. ```
Reported by `oasychev` on 2012-07-30 13:50:50
-
``` Написал отдельный класс для этого, в нем есть поле data - собственно строка, и addinfo которое по умолчанию null. Для флагов чарсета оно устанавливается в true. 2й курс, вроде бы, доволен. ```
Reported by `vostreltsov` on 2012-08-07 07:04:32 - Status changed: `Fixed`
-
reporter ``` Мне не очень нравится addinfo для чарсета в истину. Или надо поле назвать так, чтобы было ясно что чарсет - или значение сделать константой что чарсет... А то потом запутаемся когда и что оно обозначает...
P.S. Я вот думаю, когда мы имеем диапазон в чарсете через минус, не эффективнее ли его сразу сделать интервалом чем добавлять как перечисление всех символов? ```
Reported by `oasychev` on 2012-08-07 10:33:26
-
``` Константы и type вместо addinfo сделал. Сразу диапазоны выделять-то эффективнее, но запутанно будет. Хоть новый подтип флага SUBTPE_RANGE вводить. ```
Reported by `vostreltsov` on 2012-08-28 11:41:51
-
reporter ``` Issue 45 has been merged into this issue. ```
Reported by `oasychev` on 2012-09-23 21:36:06
-
reporter userinscription теперь всегда массив; графу надо к этому адаптироваться - и побыстрее, а то нарушена работоспособность...
Reported by
oasychev
on 2013-09-23 20:47:01 - Status changed:InProgress
-
Account Deleted Исправлена работа графа.
Reported by
ZluMYO
on 2013-09-25 17:07:55 -
reporter Валерий, есть претензии к работе графа сейчас? Или done?
Reported by
oasychev
on 2013-10-01 19:17:54 - Status changed:Fixed
-
Reported by
vostreltsov
on 2013-10-01 22:50:05 - Status changed:Done
- Log in to comment
Reported by `vostreltsov` on 2012-07-10 16:49:49 - Status changed: `Fixed`