185 похожих чатов

Кстати, подскажите, пожалуйста, где можно почитать о best practices в

плане репортинга ошибок компилятора? Может какие-то устоявшиеся приемы есть или в где-то красиво сделано

8 ответов

16 просмотров

ну. у меня код режется на строки, чтоб потом можно было воссоздать его в полном виде. У каждого токена есть Span {position, length}. Когда сообщения выводятся, находится среди массива строк кода та, что подходит под минимум span'а и принтится, а потом linePosition до position - linePosition идут пробелы, после чего подчеркивается место ^ по length. Что-то вроде того. Ну... у меня ещё есть выравнивание сообщения. Типа, если текст влезает слева от места ошибки, то будет слева, иначе справа. Не уверен, насколько это хорошая идея с хранением кода в виде строк, а особенно тот факт, что я ищу строку, перебирая их индексы для каждого span'а. Но мне как-то по удобству в голову тогда ничего не пришло. а отвечая на вопрос, да. Глобальный контекст со всеми строками нужен. Точнее, это список строк + список их начальных позиций.

С точки зрения диагностик ничего сложного, опять же, сохраняете нужную информацию и потом делаете с ней что захотите

Mar Ort
С точки зрения диагностик ничего сложного, опять ж...

не спорю, что сохранять легко. сложно это написать сложную систему вывода в консоль и не пугаться каждый раз "а вдруг в терминале у друга всё поедет"

hazer_hazer
не спорю, что сохранять легко. сложно это написать...

А, ну это опять же, вопрос того как устроен рендер диагностик

hazer_hazer
ну. у меня код режется на строки, чтоб потом можно...

Не уверен что понял о чем идет речь, но вроде перебирать позиции можно бинарным поиском - это может сильно ускорить перебор.

Ivan Kochurkin
Не уверен что понял о чем идет речь, но вроде пере...

хммм... не думал об этом. надо попробовать подогнать как-нибудь к логике поиска ближайшего элемента слева. спасибо

Shumaf- Автор вопроса
hazer_hazer
хммм... не думал об этом. надо попробовать подогна...

это как раз то, что умеют ropes! (извините, не удержался от рекламы)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта