OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 09 Май, 2021 11:22

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




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Вторник, 21 Июль, 2020 18:58 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 556
Откуда: Москва
Хочется закончить пока на мажорной ноте. Навязывать свое мнение или убеждать кого-то и тем более подрезать крылья я не хочу, это нормально иметь свое мнение и ходить своим путем, пусть и конкурирующим с моим. Мне, помнится, все Гуткнехт в последний день все говорил про "Competition in everything".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Вторник, 21 Июль, 2020 19:14 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 556
Откуда: Москва
Иван Денисов писал(а):
Дмитрий Викрович, уточню на всякий случай, вы готовы принять участие в разработке Omb-64? Вы ведь ясно выразились, что хотите продолжить доработку своих начинаний по LLVM. Это вполне правильно и рационально. Поэтому тут никакого негативного оттенка. Я бы даже удивился, если вы вдруг занялись нативным компилятором.

Давайте продолжим в русле конструктивной дискуссии и обмена опытом.

Иван Андреевич, я не занимаюсь BlackBox1.8. Я занимаюсь МультиОбероном. Мультиоберон включает в себя 3 бэкенда: Omb нативный, Omf на базе OFront, Oml на базе LLVM. А еще рантаймы, загрузчики, средства разработки. Каждая новая версия включает в себя Omb, Omf, Oml. Это везде написано, а Вы как-то трактуете по своему. И когда мы обсуждали, я говорил об этом, что можно брать инфраструктуру МультиОберона для написания других бэкендов. И даже Вам конкретно предлагал выше по тексту. Так что, если хотите делать Omb64 и есть пассионарность, полный вперед. Я помогу.

А Вы и Антон мне предлагали какую-то конкурирующую разработку, мимо МультиОберона. Естественно, в ней я участвовать не буду.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Вторник, 21 Июль, 2020 19:21 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3070
Давайте не будем делать поспешных выводов про конкуренцию. Вижу, что есть недопонимание какое-то. Антон ведь вам чётко выше написал, что его символьная таблица может быть странслирована на вход мультиоберону в перспективе и наоборот. И вы тоже на встрече сказали, что какие-то хорошие наработки можете включить в МультиОберон. Считаю, что эти два проекта объединятся в лучшем виде. Но это потом, когда будет всё отлажено и согласовано. Нужно время. Я просто даже не могу нормально сесть и разобраться с вашими наработками пока.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Вторник, 21 Июль, 2020 19:57 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 556
Откуда: Москва
Вот теперь правильные слова. Успехов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Среда, 22 Июль, 2020 07:53 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1370
Дмитрий Дагаев писал(а):
Еще раз упомяну, что в МультиОбероне 3 бэкенда: нативный Omb, Omf на базе ofront'a, Oml на базе LLVM. И, понятно дело, нативный компилится быстро, а оптимизирующие медленнее. И понятно, что оптимизирующие будут быстрее по скоростным параметрам.

Но пока Oml не быстрее Omb. А мне кажется, некоторые ожидают, что LLVM автоматически даст прирост производительности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Среда, 22 Июль, 2020 17:32 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3070
Оберон всегда тяготел к железу. Хочется сохранить эту приверженность традиции.

Благодарим первого крупного спонсора — компанию Mobatec! Сегодня они сделали первый благотворительный взнос 250 евро на развитие Гершеля.
https://mobatec.nl
Мобатек разрабатывают и продают программное обеспечение для моделирования производственных процессов и обучения персонала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Вторник, 28 Июль, 2020 08:24 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3070
Опубликована длинная заметка с обоснованием проводимых изменений в части фронтенда
https://vk.com/@herschelcompiler-zachem ... i-simvolov


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Суббота, 12 Сентябрь, 2020 22:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Денисов писал(а):
Опубликована длинная заметка с обоснованием проводимых изменений в части фронтенда
https://vk.com/@herschelcompiler-zachem ... i-simvolov
Хорошая заметка. Если не ошибаюсь, проходит по рубрике "вылизывание грязи" -- а это полезное дело.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Суббота, 12 Сентябрь, 2020 22:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Trurl писал(а):
Дмитрий Дагаев писал(а):
в МультиОбероне 3 бэкенда: нативный Omb, Omf на базе ofront'a, Oml на базе LLVM.
И, понятно дело, нативный компилится быстро, а оптимизирующие медленнее.
И понятно, что оптимизирующие будут быстрее по скоростным параметрам.
Но пока Oml не быстрее Omb. А мне кажется, некоторые ожидают, что LLVM автоматически даст прирост производительности.
Продолжение истории вызывает интерес.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Воскресенье, 13 Сентябрь, 2020 03:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3070
По состоянию на 10 сентября:
Цитата:
* Работает адресация глобальных переменных
* Компилируется тело модуля (секция BEGIN)
* Поддерживаются типы переменных: BYTE SHORTINT INTEGER LONGINT CHAR SHORTCHAR BOOLEAN SET
* Работает оператор присваивания вида переменная := литерал/переменная для указанных типов, при условии совпадения типов справа и слева от :=
* Для целочисленных и литерных типов сделаны безопасные (CHR/ORD) и небезопасные (SYSTEM.VAL) приведения типов
* Все вышеперечисленное покрыто тестами
* Два вида испытаний по каждому тесту (тестовому модулю) для синтезатора (генератора кода): тест на синтезированный машинный текст и тест на результат полевых испытаний. Соответственно для каждого вида можно задать стандартный результат.
* Сделан "тестовый полигон" для "полевых испытаний": для запуска синтезированного машкода в 64-битной среде. Полигон сделан в А2, связь с ББ - по HTTP.
* Тестовая база насчитывает порядка 100 тестов

https://vk.com/herschelcompiler?w=wall-196590190_47
http://herschel.oberon.org/2020/09/09/post/
https://twitter.com/HerschelCP64


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Воскресенье, 13 Сентябрь, 2020 11:59 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1286
Откуда: Киев
Иван Денисов писал(а):
* Тестовая база насчитывает порядка 100 тестов

Не нашёл и в репозитории. Их можно хранить вместе с основным кодом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Воскресенье, 13 Сентябрь, 2020 12:41 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3070
Comdiv писал(а):
Иван Денисов писал(а):
* Тестовая база насчитывает порядка 100 тестов

Не нашёл и в репозитории. Их можно хранить вместе с основным кодом.

Они в файле:
Hr/Rsrc/TesterPanel.odc

Думаю, что мы с Антоном как-нибудь запишем видео-встречу, как этим добром пользоваться. Там он создал некоторую инфраструктуру для тестирования, так что сразу и не "въедешь".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Воскресенье, 13 Сентябрь, 2020 12:44 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1286
Откуда: Киев
Как насчёт того, чтобы наоборот, делать тесты не завязанными на инфраструктуру? Чтобы их было проще задействовать вне зависимости от проекта?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Понедельник, 14 Сентябрь, 2020 00:53 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 466
Тесты находятся в документе Hr/Rsrc/TesterPanel, каждый тест - в отдельной складке, пронумерован и снабжен названием. Эталонные результаты следуют за текстом модуля.

+>Test99: Unresolved forward type references<+
->MODULE M;
...
END M.
+>Эталон<+
<-
+>Test97: String selectors<+

Часть тестов предназначена только для фазы анализа (фронт-энд), а другие - еще и для фазы синтеза (генерация кода) и фазы исполнения программы. Для каждой фазы - свой эталон.

PS
Тексты ББ мощны, красивы и лёгки;
им где найдешь ты подобных?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2020 13:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3070
По состоянию на 16-е октября Антоном реализовано:
Цитата:
На сегодня реализовано:
* компиляция тела глобальной процедуры
* вызов процедуры (по имени; процедурные переменные еще не реализованы)
* локальные переменные всех ранее реализованных типов, в т.ч. структурных
* все режимы передачи параметров: параметры-значения, параметры-переменные IN, VAR, OUT
* все ранее реализованные типы для параметров, в т.ч. структурные
* параметры открытых и фиксированных массивных типов

https://vk.com/herschelcompiler?w=wall-196590190_112


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2020 18:26 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Путь к славе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Среда, 21 Октябрь, 2020 12:30 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 466
Info21 писал(а):
Путь к славе.


Может, и так ). Но напомню себе, что
Цитата:
Как нехорошо есть много меду, так домогаться славы не есть слава


Коллеги, я подошел к вопросу, куда и как выводить артефакты компиляции - машкод, литералы, метаданные, поправки и проч. Вроде бы естественный путь, к которому я склоняюсь - сохранять в формат OCF; кажется, что разрядность кода этому не помешает. С другой стороны, есть ли необходимость в этом - не ясно, поскольку на него завязано три программы: компилятор, перемещающий загрузчик/компоновщик и ядро (в части метаданных), а их все придется ревизировать при переходе к АМД64.

И еще вопрос: есть ли где-то описание формата OCF? Понятно, что сам компилятор и загрузчик являются его исчерпывающими описаниями; но уж больно больно вникать в такие описания ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Среда, 21 Октябрь, 2020 13:38 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9407
Откуда: Россия, Орёл
adimetrius писал(а):

И еще вопрос: есть ли где-то описание формата OCF? Понятно, что сам компилятор и загрузчик являются его исчерпывающими описаниями; но уж больно больно вникать в такие описания ).


Так в каталоге Dev/Spec!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Среда, 21 Октябрь, 2020 14:06 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 466
Илья Ермаков писал(а):
Так в каталоге Dev/Spec!

Великолепно! Благодарю!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: x64 компилятор - проект Гершель
СообщениеДобавлено: Понедельник, 26 Октябрь, 2020 02:04 
Аватара пользователя

Зарегистрирован: Среда, 22 Апрель, 2015 23:51
Сообщения: 232
Откуда: г. Рига, Латвийская ССР
Иван Денисов писал(а):
Опубликована длинная заметка с обоснованием проводимых изменений в части фронтенда
https://vk.com/@herschelcompiler-zachem ... i-simvolov


Из заметки:
Цитата:
Моя догадка — в том, что структура ТС была разработана еще для Модулы, в которой нет расширения типов. Т.е. Сам Вирт заложил ее основы, и потом ее развил г-н Крелье в компиляторе OP2, и до нас она дошла в виде СР2.


Вирт пишет в книге «Построение компиляторов», что он не использует расширение типов потому, что это усложняет код, и в данном месте это не нужно. Т. е. чтобы не умничать. Но в Oberon-07 всё как-то проще сделано, без всяких intval'ов. Там есть поля с названиями вида «a», «r» и есть маленькая табличка, где написано, что что означает. Я делал также, лично у меня особых трудностей не возникло. Может быть, из-за других, менее значащих (и поэтому не столь сбивающих с толку) названий полей и типов.

Например, в ББ записи, которые обозначают типы, называются почему-то структурами. Хотя структурой можно назвать записевый тип, ну и, например, массив... ну и процедурный тип, допустим. А INTEGER, BOOLEAN и прочее? Зачем там слово «структура»? Оно действительно сбивает с толку. В Обероне-07 это называется просто Type. То есть есть Object (всё, что в компилируемой программе имеет имя: константа, переменная, (пред-)объявленный тип, процедура или модуль), а есть Type (не имеет имени, обозначает форму типа, включая и базовые типы, и записи, и массивы, и процедуры). А в генераторе есть ещё Item, который представляет собой вещь, которую компилятор «держит в руках» непосредственно в процессе компиляции тел процедур. То есть при объявлении переменных и т. п. у нас есть только Object'ы и Type'ы, они помещаются в так называемую таблицу символов. А при собственно компиляции, когда вот-вот придёт время уже выдавать действительный машинный код и в процессе такой выдачи, появляются Item'ы, ссылающиеся на эти Object'ы. Причём Object'ы и Type'ы — переменные динамические, а Item статические, т. к. имеют смысл только в пределах соответствующих запущенных в данный момент процедур компиляции.


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

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


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

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


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

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