Вывод лексических ошибок в форме редактирования
Originally reported on Google Code with ID 175
При тестировании выяснились баги - похоже, что в некоторых случаях позиции лексем заполняются
некорректно.
Так если 'abc' написать в самом начале строки, оно не выделяется. Если в конце написано
"abc тоже не выделяется. Проверить заполнение позиций, особенно на крайних случаях
(первая и последняя лексемы) и при возникновении ошибок лексера!
Также я бы в сообщение о незакрытой кавычке ввел саму кавычку - одинарная она или двойная.
И заменил все прямые вызовы mb_xx в блоке на статические функции textlib (см. lib/textlib.class.php)
- Moodle может работать в отсутствие MBString...
Reported by oasychev
on 2013-01-25 06:21:02
Comments (22)
-
Account Deleted -
reporter Не выделяется - значит жирностью не выделяется в форме в сообщении об ошибке, хотя код соответствующий написан в классе формы. Насколько я делал var_dump там кривые позиции токенов... В этом issue речь идет о существующих predefined лексерах и багах, которые мешают сделать релиз, парсер обсуждается отдельно....
Reported by
oasychev
on 2013-01-25 09:14:59 -
reporter Issue 156 has been merged into this issue.
Reported by
oasychev
on 2013-01-27 15:29:11 -
reporter Ну когда я вас научу не экономить на тестах? Кавычки вы отладили, а мультисимвольные литералы - нет, хотя я же вам выше писал 'abc' - полюбуйтесь на colend в вытолкнутых мной тестах. И его эффект на форму.
Reported by
oasychev
on 2013-01-30 08:36:04 -
reporter Обычные ошибки выводятся нормально, но вот при вводе русской буквы в язык Си оно подвесило чуть не весь сайт, и сама страница повисла (да еще держала открытыми SQL-соединения)....
Reported by
oasychev
on 2013-02-05 12:09:12 -
Account Deleted Очень странно, падает сам класс языка на yy_advance() с undefined offset.
Reported by
mamontov.dp
on 2013-02-05 13:15:41 -
Account Deleted Уточнил (PHP неверно указал место ошибки). Падает где-то на выборе нового состояния DFA. Такое ощущение, что %unicode отчего-то не сработал.
Reported by
mamontov.dp
on 2013-02-05 13:22:04 -
Account Deleted Оказалось, что для символа U+0430 реально не генерируются переходы, хотя я указал %unicode в директивах. Все остальное сработало, а вот это - нет
Reported by
mamontov.dp
on 2013-02-05 14:27:13 -
reporter У меня на русской букве "ч" была проблема... А это 0447
Reported by
oasychev
on 2013-02-05 15:21:30 -
Account Deleted Это уже не так важно. Все-таки оказалось, что в файле присутствовало две директивы. То ли при merge залезла, то ли еще каким-то образом. Ну и еще пара проблем. Сейчас протестировал - заработало, правда картинка ответа строится некорректно, что-то с символами происходит. Сейчас буду исправлять.
Reported by
mamontov.dp
on 2013-02-05 15:25:12 -
reporter Вряд-ли при мерже - эти файлы я не трогал, их мержить не с кем...
Reported by
oasychev
on 2013-02-05 15:28:18 -
Account Deleted В любом случае, это уже не важно. Сейчас скорее надо найти какой-нибудь хороший свободный шрифт TTF, ибо imagetext о существовании других алфавитов кроме английского даже не подозревает.
Reported by
mamontov.dp
on 2013-02-05 15:29:57 -
Account Deleted Рефакторинг для работы с TTF шрифтами вытолкнут, пока будет использоваться открытый шрифт из Google Web Fonts. Без него нельзя - imagestring никакого алфавита, кроме английского не поддерживает.
Reported by
mamontov.dp
on 2013-02-05 17:00:05 -
reporter Вытолкнул исправление очередной ошибки в $a-> в lang файлах.... Остальное вроде в форме редактирования работает...
Reported by
oasychev
on 2013-02-21 09:55:09 - Status changed:Verified
-
reporter В форме редактирования работает, а вот студенту если он сделал такое не выдается - выдается только отсутствующие/лишние лексемы. Как думаете, это правильно или нет?
-
reporter - edited description
- changed component to CorrectWriting
-
А вы как считаете? По идее, это все равно превращается в синтаксическую ошибку. Если критично - исправим.
-
reporter Ну студент то должен получить сообщение об ошибке синтаксиса (или лексера), а не кривой вариант с лексемами. А сейчас он получает нечто странное, что не так легко интерпретировать...
-
Ок, попробую реализовать. Но предлагаю всё же отложить до пост-релиза, не уверен, что смогу правильно и быстро реализовать.
-
-
Предлагаю в связи с релизом закрыть - изменение сделано.
-
reporter - edited description
- changed status to resolved
Закрыто в связи с релизом.
- Log in to comment
Reported by
mamontov.dp
on 2013-01-25 06:55:58