OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 18 Январь, 2018 22:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Пятница, 02 Декабрь, 2016 15:58 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1058
Откуда: СССР v2.0 rc 1
Александр Ильин писал(а):
prospero78 писал(а):
... Поле динамических состояний множества констант равно нулю. В рамках предложенного мною методического предположения))
Во втором коде одна из констант содержит такую ошибку, которая невозможна в первом.


Для первого варианта -- поле динамических состояний множества констант равно нулю. В рамках предложенного мною методического предположения))
Приведённая ошибка -- это дисциплина программирования. С методикой, частично, пересекается, но всё же во втором варианте -- это примат "человеческого фактора", а не методики. Методика сужает поле ошибок человека, но не обнуляет. За человеком последнее слово. Методику и человека надо разделять ))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 02 Декабрь, 2016 16:04 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Comdiv писал(а):
Вообще невозможна?
Это другая ошибка.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Декабрь, 2016 17:16 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Илья Ермаков писал(а):
Вообще, одно из напрягающих мест КП - это когда определение целостной абстракции (тип данных, константы, операции - методы и просто процедуры) разорваны "географически".


Ты хочешь писать на Go. Просто еще не осознал :lol: :wink:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Декабрь, 2016 17:54 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2000
Откуда: Красноярск
Илья Ермаков писал(а):
Не-не, я про Оминк упомянул то, что они в ББ в Соглашениях об оформлении кода не рекомендовали даже CONST-TYPE-VAR перемешивать.
Ну, например, разумно объявлять константы перечислений рядом с типом или переменной, для которой они заводятся.
А у них оно всё одной секцией CONST.

Илья, никто не запрещает константы объявлять внутри процедуры...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Декабрь, 2016 18:48 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1058
Откуда: СССР v2.0 rc 1
ilovb писал(а):
Ты хочешь писать на Go. Просто еще не осознал

Заклинаю, изыди!!! :twisted:

Порядок объявления надо оставить как есть. Привязка методов к типам делать через размещение типа в том же модуле, что и процедуры для работы с типом. Надеюсь, указание типа первым параметром в процедуре это не извращение?)))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Декабрь, 2016 19:28 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 171
Откуда: Украина, Днепропетровская обл.
Александр Ильин писал(а):
Код:
CONST MaxNum = 15;
TYPE Elements: ARRAY MaxNum OF INTEGER;
Да, Саша, благодарю.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Декабрь, 2016 21:19 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8913
Откуда: Россия, Орёл
Иван Денисов писал(а):
Илья, никто не запрещает константы объявлять внутри процедуры...


Так речь не про внутри процедуры...

А есть про константы, которые предназначены для использования с конкретным типом... И т.п.

Кстати, связанный момент.
В ББ напрягает то, что символьный файл не сохраняет порядок объявлений.
И тупо сортирует по алфавиту.
Это делает DEFINITION малоприменимым в куче случаев.
Т.е. он становится применимым только после ручного упорядочивания и группировки и вставки в таком виде в документацию.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Декабрь, 2016 08:44 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1058
Откуда: СССР v2.0 rc 1
Хм. Мне кажется вопрос об алфавитности меркнет, если вспомнить, что среда сама формирует файл определений, следит за согласованность и т. п.

По крайней мере я не замечал, чтобы меня это как-то отвлекало...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Декабрь, 2016 11:09 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8913
Откуда: Россия, Орёл
Порядок определений в модуле всегда несёт некую семантику.

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

А дальше уже при показе DEFINITION можно переключаться между алфавитным порядком и исходным семантическим порядком.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Декабрь, 2016 11:48 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Илья Ермаков писал(а):
А дальше уже при показе DEFINITION можно переключаться между алфавитным порядком и исходным семантическим порядком.
А там разве не сохраняется позиция объявления в исходном файле? Насколько я понимаю, для процедур точно сохраняется (см. переход к исходному тексту в trap viewer). Можно сортировать по этому полю.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Декабрь, 2016 16:46 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8913
Откуда: Россия, Орёл
Так это не в символьном, а в кодовом, даже не в метаинформации, а в отладочной информации (Ref-функции Kernel).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Декабрь, 2016 18:30 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Илья Ермаков писал(а):
Так это не в символьном, а в кодовом, даже не в метаинформации, а в отладочной информации (Ref-функции Kernel).
А, ну тогда понятно.
В символьный файл не сложно добавить при желании - хоть бы и отдельной таблицей.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 13 Декабрь, 2017 12:45 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1041
Илья Ермаков писал(а):
Порядок определений в модуле всегда несёт некую семантику.

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


Тут фишка в том, что символьный файл не должен меняться, если интерфейс модуля не изменился. А изменение порядка определений не меняет интерфейс.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Декабрь, 2017 13:40 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8913
Откуда: Россия, Орёл
Ну у нас фингерпринты в символьном файле есть для этого для каждой сущности. Они не меняются. А сам файл физически пусть меняется - ничего страшного.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Декабрь, 2017 11:53 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1041
Да, но время создания симфайла может быть единственным критерием необходимости перекомпиляции импортирующих модулей.
(Это я не про ББ, а про системы, в которых есть аналог make).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Декабрь, 2017 14:45 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8913
Откуда: Россия, Орёл
Ну тогда перемена местами деклараций даст такой же эффект, как, например, добавление новой процедуры (без ломки старых).
Нормально. Я поработал с исходником, не ломая обратную совместимость - что новое добавил, что старое местами поменял.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Декабрь, 2017 14:53 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1041
А потом скопилировал и символьный файл обновился. Теперь надо все зависимые модули перекомпилировать. На самом деле не надо, но как система об этом узнает?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Декабрь, 2017 17:39 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8913
Откуда: Россия, Орёл
Стоп, ну общий-то отпечаток модуля не меняется.
На дату ориентироваться, как бы, ненадёжно в принципе.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 17 Декабрь, 2017 21:24 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1041
Сейчас отпечаток модуля не меняется благодаря тому, что все объекты отсортированы. Можно, конечно, сортировать отдельно, специально для расчета отпечатка.
Но главное, система сборки должна искать эти отпечатки и сравнивать. Пока таких, вроде, не существует.
Ну, то есть, в принципе все решаемо, но поработать придется.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB