Re: [Nitra] Первые впечатления и вопросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.10.14 00:16
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:

ДА>Проблем при инсталляции никаких не было что уже хорошо, правда чтобы заработала подсветка пришлось перезагружаться (как я понял причина была в том что нужна была переменная окружения NitraPath, которую инсталятор хотя и создал, но была почему-то не видна до перезагрузки, может хватило бы и перелогиниться).


Видимо ты не закрыл Студию или приложение из которого ее запускал. Процессы виндовс наследуют окружение. При открытой студии вообще не следует производить инсталляцию, так как она может заблокировать файлы которые нужно обновлять.

ДА>* [Nitra] Хотелось бы увидеть свежий Roadmap, нашел какой-то здесь, но он старый от мая 2013 (я уже спрашивал, но ответа не получил)


Постараюсь обновить в ближайшее время. В двух словах: в ближайших планах работа над символами и связванием. Работы уже идут. Уже реализованы декларации, которые уже задействованы в проекте нового форматера для РСДН. Это внутренняя фича, но ее уже можно использовать как средство создания AST с требуемой структурой.

ДА>* [VS] Зачем обновлять кеш в UI потоке?


Это UI-кэш который обновляется синхронно. Вкратце: у нас нет лексера по этому пока мы не получим результат парсинга, то не может даже подсвечивать ключевые слова. Чтобы текст не чернел на время парсинга в UI-потоке содержится кэш прошлой отрисовки. Он обновляется так чтобы внесенное изменение сдвигало элементы подсветки соответствующим образом. За одно, это позволяет определить какую часть текста нужно перерисовать.

ДА>Вызывать OnClassificationChanged может и надо в UI потоке но обновлять кеш то зачем (смотри выделенное)?


Затем, что он синхронный. Изменения там плевые. Они спокойно делаются на каждый чих.

ДА>* [VS] Почему в диалоге About версия 1.0?


Версия пакета указана явно. В принципе она может быть любой, так как она ни на что не влияет. Если это напрягает, можно подумать как сделать ее обновляемой в процессе сборки.

ДА>* [Nitra] Сложилось впечатление что в парсере при восстановлении после ошибок есть ошибки


У меня тоже. Вольфхаунд сейчас работает над этим вопросом. К сожалению, в безлексерном парсере допускающем неоднозначности это очень не простая задача.

Мы добились весьма неплохих результатов, но иногда вылезает экспонента в обходчиках и парсере.

Если появилась такая ситуация, нужно прислать нам код парсера и/или набор действий приводящих к ошибке. Лучше создать issue в багтрекер, или прислать по скайпу (vc.rsdn.ru). Но лучше, конечно, issue создать, а по скайпу дать на него ссылку.

ДА>Я не рискну сюда постить, потому что файл занимает почти 11 мегабайт.


Обходчик втыкаем на комбинаторном взрыве. Постараемся пофиксить в ближайшее время.

ДА>

Выводы

ДА>Пока рано...

Дык, если не пробовать, то мы так никогда о некоторых проблемах не узнаем. Проще пробовать и сразу же обращаться на нам, если что-то не работает как надо.

Я вот уже несколько проектов создал и на эти проблемы не нарвался. Видимо пишу с меньшим количеством грамматических ошибок, так что на экспоненту не нарывался.

ДА>PS. За Nitra.Visualizer спасибо прикольный инструмент, AST получены как раз им. По крайней мере в отличие от VS он не падает при попытке вставить весь файлик (13 Кб) с грамматикой, а пытается его разобрать и сожрав 1,5 Гб за 30 секунд бросает это занятие и говорит Unexpected token.


Там тоже обходчик втыкает. Мы с ними постараемся разобраться. Студия вылетает, так как результат полученный от обходчика передается дифу, который не линейный, к сожалению.

ДА>PS2. При попытке скопировать ошибку (с помощью контекстного меню) падает уже Nitra.Visualizer.

ДА>System.NullReferenceException was unhandled

Было бы признателен, если бы ты завел на каждый баг issue на youtrack.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 13.10.2014 2:15 VladD2 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.