OberonCore https://forum.oberoncore.ru/ |
|
Находить все ошибки vs Прерывать компиляцию на первой https://forum.oberoncore.ru/viewtopic.php?f=61&t=2707 |
Страница 1 из 1 |
Автор: | Сергей Губанов [ Понедельник, 21 Июнь, 2010 13:24 ] |
Заголовок сообщения: | Находить все ошибки vs Прерывать компиляцию на первой |
Если компилятор работает быстро (за секунду или за две), то есть ли вообще смысл находить как можно больше ошибок вместо того чтобы остановить компиляцию при нахождении первой? |
Автор: | igor [ Понедельник, 21 Июнь, 2010 14:02 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
После неудачной компиляции хотелось бы иметь общее представление о количестве ошибок. |
Автор: | Сергей Губанов [ Понедельник, 21 Июнь, 2010 14:16 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
А, дошло, в том случае если это чужой модуль... |
Автор: | Alexey Veselovsky [ Понедельник, 21 Июнь, 2010 16:04 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
igor писал(а): После неудачной компиляции хотелось бы иметь общее представление о количестве ошибок. Только вот очень часто процентов 70 ошибок являются наведенными. Т.е. реально ошибок существенно меньше чем выдал компилятор. Вопрос в том, можно ли построить такой компилятор (откуда куда?) который бы распозновал связи между ошибками? |
Автор: | Валерий Лаптев [ Понедельник, 21 Июнь, 2010 18:57 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
Alexey Veselovsky писал(а): igor писал(а): После неудачной компиляции хотелось бы иметь общее представление о количестве ошибок. Только вот очень часто процентов 70 ошибок являются наведенными. Т.е. реально ошибок существенно меньше чем выдал компилятор. Вопрос в том, можно ли построить такой компилятор (откуда куда?) который бы распознавал связи между ошибками? Можно... ![]() |
Автор: | Alexey Veselovsky [ Понедельник, 21 Июнь, 2010 22:04 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
Валерий Лаптев писал(а): Можно... ![]() А откуда компилятор будет знать, что вот ЭТО ВОТ, была попытка именно что объявления переменной? Ведь там же ошибка. Синтаксическая и хз. что там хотел сказать программист. |
Автор: | Rifat [ Вторник, 22 Июнь, 2010 08:37 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
На wikipedia есть небольшая статья об этом: http://ru.wikipedia.org/wiki/Синтаксический_анализ Еще где-то читал, что можно сделать такой анализ ошибок, когда компилятор пытается найти минимальные изменения, которые надо сделать, чтобы программа стала корректной. Однако этот способ может быть достаточно долгим и во многих случаях восстановления в режиме паники бывает достаточно. |
Автор: | Виктор О [ Четверг, 24 Июнь, 2010 11:11 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
ИМХО, вопрос актуален в двух случаях: 1. При работе из командной строки. 2. При переносе кода в другой транслятор. Если же работаешь в среде, а компилятор срабатывает по каждой точке с запятой и наборе "END", а стандартные блоки выбора и цикла вставляются целиком по началу, то и ошибок будет соизмеримо с единицей. Более того, часть из них будет типа неописанной переменной цикла, и среда тогда должна просто предложить вставить переменную в таблицу данных. |
Автор: | Валерий Лаптев [ Четверг, 24 Июнь, 2010 12:14 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
Alexey Veselovsky писал(а): Валерий Лаптев писал(а): Можно... ![]() А откуда компилятор будет знать, что вот ЭТО ВОТ, была попытка именно что объявления переменной? Ведь там же ошибка. Синтаксическая и хз. что там хотел сказать программист. Ну, в оберонском царстве вообще нет проблем с этим, ибо объявления все наверху, а действия с переменными - внизу... ![]() И ИМХО, вполне можно сделать компилятор немного интеллектуальным, чтоб он мог предположить хотя бы в типовых ошибочных случаях, то была попытка объхявить переменную, но неудалась. Например, переставлены случайно буквы - у нас есть расстояние Левенштейна (кажись, так зовут), которое помогает определить, насколько близко иссследуемая строка к другой. |
Автор: | Info21 [ Четверг, 24 Июнь, 2010 14:43 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
Валерий Лаптев писал(а): вполне можно сделать компилятор немного интеллектуальным Свят-свят-свят!
|
Автор: | Валерий Лаптев [ Четверг, 24 Июнь, 2010 17:35 ] |
Заголовок сообщения: | Re: Находить все ошибки vs Прерывать компиляцию на первой |
Info21 писал(а): Валерий Лаптев писал(а): вполне можно сделать компилятор немного интеллектуальным Свят-свят-свят!![]() Дык в семантическом редакторе и компилятора-то как такового нет... ![]() ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |