Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт окт 16, 2018 01:07

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: обсуждение оптимизатора
СообщениеДобавлено: Чт май 17, 2007 18:09 
Не в сети

Зарегистрирован: Сб янв 27, 2007 22:00
Сообщения: 106
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Mihail писал(а):
Кому понятного? Что значит понятного? Всем понятно быть не может.

Можно сформулировать требования более четко, например, так:

1) Структурированность
2) Легкость добавления новых правил и замены старых
3) Общность правил
4) Легкость замены таблицы с целью оптимизации по различным критериям (по скорости, по объему, позиционно-независимый код)

Mihail писал(а):
Еще нужен компромис с простотой реализации.

Я думаю, что это уже критерий оценки результата. Все-таки это учебный конкурс.
На реализацию можно объявлять отдельный :-)
Разработка удобного языка - достаточно сложная задача.

Кстати, Михаил, пользуясь моментом. Вы не могли бы описать формальный интерфейс с реальным оптимизатором SPF?

Я его отключил в целевом компиляторе, заменив MCOMPILE, на TC-CALL,
но не уверен, что сделал правильно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 17, 2007 19:14 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
yz писал(а):
Можно сформулировать требования более четко, например, так


Тоже давольно обстрактно и субъективно.

yz писал(а):
4) Легкость замены таблицы с целью оптимизации по различным критериям (по скорости, по объему, позиционно-независимый код)


Лучше сделать разные оптимизаторы.
За тем, можно выделить общие части и представить как общую библиотеку.

yz писал(а):
Вы не могли бы описать формальный интерфейс с реальным оптимизатором SPF?


Если я правильно понял вопрос, то должен помочь файл заглушек:

http://fforum.winglion.ru/posting.php?mode=quote&p=1929

В нем собраны слова оптимизатора применяемые вне файла src\macroopt.f .
Может служить заменой src\macroopt.f для изъятия оптимизатора.

yz писал(а):
Я его отключил в целевом компиляторе, заменив MCOMPILE, на TC-CALL,
но не уверен, что сделал правильно


Это только для ЦК.
В рантайме можно
В src\compiler\spf_compile.f
Код:
: COMPILE,  _COMPILE, ;


Вообще для отключения есть слово DIS-OPT.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт май 18, 2007 12:43 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
yz писал(а):
1) Структурированность
2) Легкость добавления новых правил и замены старых
3) Общность правил
4) Легкость замены таблицы с целью оптимизации по различным критериям (по скорости, по объему, позиционно-независимый код)

5) Легкость рефакторизации - оптимальное выделение понятий и предоставление механизмов(описанных) для различных обработок

Mihail писал(а):
Лучше сделать разные оптимизаторы.
За тем, можно выделить общие части и представить как общую библиотеку.

А можно ли выделить лексикон вариантов обработок, чтобы менять все-таки таблицами? :)
Тем более, что некоторые части таблиц явно будут общими. Особенно, если удачно выделить системно-зависимые вещи!!
Обобщать по готовым сложным вещам не очень удобно - слишком много связей надо учитывать...
Чем раньше начать продумывание - тем меньше напрасной работы - иначе прийдется делать 2 раза - сначала оптимальное решение, потом его же переписывать на новом базисе (лексиконе обработок)...

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс май 20, 2007 20:11 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
yz писал(а):
2) Легкость добавления новых правил и замены старых
3) Общность правил

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re:
СообщениеДобавлено: Чт июн 07, 2018 15:02 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 628
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.
chess писал(а):
yz писал(а):
2) Легкость добавления новых правил и замены старых
3) Общность правил

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


Для форта не катит.
Нельзя 100% указать, что строка "DUP" и слово DUP являются одним и тем же.
Это либо писать хитросделанный интерпретатор форта, который при компиляции будет что-там химичить.
Легче уж постфактум. Легче. К тому же работаем с кодофайлом как со стеком. По-фортовски Ж :)

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB