OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 16 Апрель, 2024 06:56

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




Начать новую тему Ответить на тему  [ Сообщений: 75 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Четверг, 08 Ноябрь, 2007 19:13 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Борис Рюмшин писал(а):
Тем не менее, прошу с нами немного координироваться, если Вы будете этим заниматься, так как мы в этом деле сильно заинтересованы...
Приятно слышать.А кто это мы? Сколько эта тема ранее ни поднималась, никогда никто сильной заинтересованности ни проявлял. Можете убедиться сами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 10:31 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Владимир Лось писал(а):
С, одновременным, написанием варианта загрузчика/бэк-энда? - Одобрям-с!!!

Собственно говоря, смысла делать слимы без бэк-энда нету. Разве что разобраться с форматом надо до написания фронт и бэк эндов.
Сейчас у меня скорее общее впечатление о способе хранения предложенном Францем. И медленно ползущее штудирование книжки Compiler Construction Вирта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 11:42 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Илья Ермаков писал(а):
"Обычный DLL" не может экспортировать ничего, кроме точек входа в процедуры.

Это не совсем верно.

ScrollLock писал(а):
Кстати, какие причины помешали использовать стандартные DLL формата PE32 или PE64 (или в случае LINUX - SO), которые может сделать любой адекватный ассемблер и компилятор? Это было бы даже проще - т.к. можно использовать загрузчик операционной системы.

Наверное, можно было бы и стандартные. Есть в этом определённые достоинства. Но и недостатки тоже.
Вот несколько навскидку.
  • Для каждой ОС надо поддерживать свой объектный формат.
  • Степень стандартности DLL у разных ОС разная: в Windows - встроенная в ядро, в Linux это уже надстройка, а, скажем, в Minix их вообще нет.
  • Линковать стандартные DLL трудно.
Правда, обероноские объектники тоже не очень удобно линковать из-за того, что их стуктура сильно отличается от бинарников ОС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 12:09 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Trurl писал(а):
Илья Ермаков писал(а):
"Обычный DLL" не может экспортировать ничего, кроме точек входа в процедуры.

Это не совсем верно.

Согласен.
Есть ещё вариант, как с bpl (или как там бибилиотеки компонент Delphi называются):
когда используется DLL, но имеющая определённый интерфейс - через вызовы функций этого интерфейса можно получать доступ к описаниям сущностей в спец. формате...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 12:18 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Я о том, что экпортируются не только "точки входа в процедуры", но "точки входа в данные". :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 12:21 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
batyrmastyr писал(а):
На мой взгляд, лучше OCF перелопатить в сторону SlimBinary Франца (с минимальной модификацией)

С минимальной не пойдет. У Франца слишком жесткая привязка к языку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 12:22 
Модератор
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 09 Ноябрь, 2007 15:45 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Trurl писал(а):
С минимальной не пойдет. У Франца слишком жесткая привязка к языку.

Разве? Я пока из принципиального только связанные процедуры заметил. Ограничения же (типа экспорта для реализации), думаю, можно хранить в файле отдельно от самого sde придставления.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Вторник, 13 Ноябрь, 2007 05:09 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
Имхо на slim свет клином не сошелся... Можно и классическими четверками организовать нечто похожее. ВМ инферно похожа на этот подход, там
трехадресная система команд используется как переносимое представление.
Тем более что (снова имхо) крутых оптимизаций от компилятора не надо,
надо лишь самый минимум базовых. Главное - простота и предсказуемость.
Так что в навороченных современных подходах типа SSA формы особого
смысла нет, хватит и четверок...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Вторник, 13 Ноябрь, 2007 09:21 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
CheshireCat писал(а):
Имхо на slim свет клином не сошелся... Можно и классическими четверками организовать нечто похожее. ВМ инферно похожа на этот подход, там
трехадресная система команд используется как переносимое представление.
Тем более что (снова имхо) крутых оптимизаций от компилятора не надо,
надо лишь самый минимум базовых. Главное - простота и предсказуемость.
Так что в навороченных современных подходах типа SSA формы особого
смысла нет, хватит и четверок...

А можно кратко просветить что есть "четверки" и SSA? Да и slim явно предполагают отсутствие виртуальной машины.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Вторник, 13 Ноябрь, 2007 13:22 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
GUEST писал(а):
Борис Рюмшин писал(а):
Тем не менее, прошу с нами немного координироваться, если Вы будете этим заниматься, так как мы в этом деле сильно заинтересованы...
Приятно слышать.А кто это мы? Сколько эта тема ранее ни поднималась, никогда никто сильной заинтересованности ни проявлял. Можете убедиться сами.

Мы, это те, кто занимается модернизацией ББ. В частности Метасистемы.
Да, тема раньше поднималась, но мы не можем всё охватить сразу. Проблемы решаются постепенно. К этим задачам постепенно подходим вплотную, поэтому если кто-то выполнит хотя бы часть работы, это уже будет очень хорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Вторник, 13 Ноябрь, 2007 14:18 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
CheshireCat писал(а):
Имхо на slim свет клином не сошелся... Можно и классическими четверками организовать нечто похожее.

Нельзя. Слимы сохраняют полную информацию об исходном тексте. Того же самого можно добится разьве только используя zip или rar :D.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Вторник, 13 Ноябрь, 2007 20:48 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
В слиме даже комментарии и отступы хранятся?

А разве слим и "четвёрки" вещи взаимозаменяемые? То есть, "четвёрки" нельзя использовать в слимах?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Вторник, 13 Ноябрь, 2007 23:43 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Моё ИМХО: лучше пока ничего не менять, а просто нормально документировать формат OCF (хотя бы в неофициальном стиле PE-дока от Hard Wisdow - без формальной нотации, но с таблицами и подробными пояснениями). Может быть, поучаствую даже в распутывании этой "криптограммы".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 00:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Valery Solovey писал(а):
В слиме даже комментарии и отступы хранятся?

Нет. Комментарии и форматирование теряется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Среда, 14 Ноябрь, 2007 05:31 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
Сергей Губанов писал(а):
Нельзя. Слимы сохраняют полную информацию об исходном тексте. Того же самого можно добится разьве только используя zip или rar :D.

вовсе не полную...
вообще. чем хуже четверки? меньше возможностей для оптимизации да
и может быть места побольше займут? ну и пофиг. зато четверки проще.
оптимизации не так уж и важны, по крайней мере для меня.
...к тому-же xds по слухам и четверками обходился нормально...
а вот портабельность представления смысл имеет.
и внутреннее представление четверками потенциально ничуть не менее
портабельно чем семантический словарь))
полагаю всем легко представить порезанный как у Франца на две части компилятор, только промежуточным форматом не словарь а четверки?
про это и говорил. Откуда ноги у слим растут - ясно.
От Форта которым Франц занимался на флоте))

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

2batyr Авторы расскажут лучше меня, поищите в интернет внутренние представления программ в компиляторах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Четверг, 15 Ноябрь, 2007 11:32 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
CheshireCat писал(а):
про инферно я упомянул в том смысле что его ВМ не традиционная, не стековая.
а трехадресная многорегистровая. и это очень напоминает как раз внутреннее
представление четверками в компиляторе.

2batyr Авторы расскажут лучше меня, поищите в интернет внутренние представления программ в компиляторах.

Я собственно и не требовал всю технику изложить :D , но "четверки" - это "простонародное" название, которое мне ничего не говорит о своем происхождении :( Вопрос на самом деле в компиляторах каких языков эти вещи есть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 00:52 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Valery Solovey писал(а):
В слиме даже комментарии и отступы хранятся?
А разве слим и "четвёрки" вещи взаимозаменяемые? То есть, "четвёрки" нельзя использовать в слимах?

Имеется в виду сохранение полной высокоуровневости семантики операций! Именно - сАмого высокого уровня - в понятиях исходного текста.
А - не "укращшательств".
"Четвёрки" а ля из Инферно - такой информации содержать не будут (даже если и "группировать их особым образом"). Они, как и любой "байт-код" - всего лишь оттранслированный набор операций (хотя бы и абстрактного "процессора") с более низким уровнем "смысла операций" однозначного представления 1-в-1 у вас не получится, а, значит, смысл ваших выражений на языке высокого уровня уже будет разбит и преобразован во что-то другое...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 09:42 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
CheshireCat писал(а):
вообще. чем хуже четверки? меньше возможностей для оптимизации да
и может быть места побольше займут? ну и пофиг. зато четверки проще.
оптимизации не так уж и важны, по крайней мере для меня.
slim универсален, в отличие от всяких 4-к и прочего.
- фронт-енд строит синт. дерево и это дерево фактически и есть slim. по нему загрзучик бэк-енд генерит код непосредственно под конкретную платформу. Если язык прост (Оберон), то реализовать бэк-енд с нуля надо 3-4 мес. одному человеку (прикидки Франца).
- фронт-енд строит (получает в процессе разбора) дерево, бэк-енд выдает код некоей виртуальной машины. Загрузчик должен преобразовать этот код под конкретную платформу. Всегда найдется (или появится) платформа, сильно отличная от виртуальной машины и от неё придется отказаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Бинарные модули OCF
СообщениеДобавлено: Пятница, 16 Ноябрь, 2007 11:22 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Евгений Темиргалеев писал(а):
slim универсален, в отличие от всяких 4-к и прочего.
А почему это четвёрки не универсальны? Это же элементы, из которых состоит синтаксическое дерево? Если Вы после построения дерева остановитесь и сохраните результат на диск, то и получится слим. Если продолжите дальше - получите исполняемый файл. Или я чего-то не понимаю?.


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

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


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

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


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

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