Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт авг 17, 2018 09:51

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Минимальная структура библиотек для форта
СообщениеДобавлено: Сб сен 17, 2011 11:45 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Я прекрасно понимаю, что это вряд ли будет реализовано и рассматриваю эту тему как полезное логическое упражнение

Как структурировать библиотеки для возможной "добротной" форт-системы?

Можно попытаться так - сначала разбить на оптимизирующие ( в широком смысле) и расширяющие функциональность

можно (и желательно) добавить информирующие или диагностические

таким образом получаем 2 ли 3 основных разновидности

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

Расширяющие могут (должны) включать (3 разновидности)
5-р. средства создания макросов (в т.ч. для инлайн-оптимизации), синонимов, разного рода структур
6-р. средства взаимодействия с операционной системой (вызов процедур и т.п.)
7-р. средства структурирования форт-программы на большом уровне (модульность, многопоточность и т.п.)

пока всего 7 !

теперь информирующие
i-1. где находятся основные структуры форта - в каких регистрах и что не нужно трогать при использовании встроенного ассемблера
i-2. как включить и отключить ассемблерный оптимизатор
i-3. присутствуют ли другие виды оптимизации и как отключить и как реализовать по крайней мере инлайн
i-4. перечень слов, управляющих тем, что присутствует в п. 4-о.

i-5. как создать макрос (если макрос используется для инлайна, то совпадает с i-3. )
i-6. перечень слов, реализующих 6-р.
i-7. перечень слов, реализующих 7-р. :wink:

Скажем, слова, управляющие файлами, войдут в 7-р, т.е. это не доп. код

14 пунктов, которые позволяют считать форт систему "укомплектованной для начала работы" и "не нуждающейся в поиске доп. информации"
понятно, что пункты с 1 по 5 могут полностью отсутствовать :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Сб сен 17, 2011 13:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6375
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
вопрос писал(а):
Я прекрасно понимаю, что это вряд ли будет реализовано и рассматриваю эту тему как полезное логическое упражнение

Если сначала все рассмотреть, то шансы на реализацию чего-то (пусть и "по мотивам") существенно повышаются...
вопрос писал(а):
Можно попытаться так - сначала разбить на оптимизирующие ( в широком смысле) и расширяющие функциональность

можно (и желательно) добавить информирующие или диагностические

Классификации есть разновидность номинальных измерений. Классификация, как и любое измерение, производится для принятия решения - управленческого, технического, выработка сигнала управления и т.д. Даже удав, который хотел измерить свой рост, делал это для чего-то :) Пусть в мультике и не было непосредственно сказано, для чего ему это было нужно. В случае приведенной классификации можно, во-первых, определиться, по какому признаку она проводится. Во-вторых, понять, что надо будет на практике делать с библиотеками, отнесенными к каждой группе. Будет ли различаться маршрут их разработки? Сложность? Объем документации? Частота корректировки? Целевые группы разработчиков и пользователей? Группы классификаторов при этом не обязаны быть взаимоисключающими.
вопрос писал(а):
Оптимизирующие могут (должны) включать (4 разновидности)
1-о. ассемблер, если таковой реализован, поскольку задача ассемблера - в основном такая
2-о. ассемблерный оптимизатор если таковой реализован (как в СП)
3-о. подстановочная оптимизация с анализом или без (наподобие редуцирующей), в т.ч. инлайн
4-о. ассемблерную реализацию "чего-то кроме форта" - скажем - различных локальных переменных или очередей или доп. стеков - это тоже оптимизация, если оно не на форте. а на ассемблере

Назначением таких библиотек, насколько можно понять, является оптимизация кода с целью... повышения быстродействия (это сейчас, а вообще это не единственный критерий). Мне не очень понятно соотношение между разными пунктами. Например, 1-3 видится в некоем нарастающем соотношении - сачала ассемблер, потом начинаем оптимизировать. А вот 4 стоит особняком, потому что инлайн можно просто через C, набить.
вопрос писал(а):
Расширяющие могут (должны) включать (3 разновидности)
5-р. средства создания макросов (в т.ч. для инлайн-оптимизации), синонимов, разного рода структур
6-р. средства взаимодействия с операционной системой (вызов процедур и т.п.)
7-р. средства структурирования форт-программы на большом уровне (модульность, многопоточность и т.п.)

А эта классификация очень "крупная". По сути, сюда можно отнести поддержку форматов, протоколов, устройств и т.п.
вопрос писал(а):
теперь информирующие
i-1. где находятся основные структуры форта - в каких регистрах и что не нужно трогать при использовании встроенного ассемблера
i-2. как включить и отключить ассемблерный оптимизатор
i-3. присутствуют ли другие виды оптимизации и как отключить и как реализовать по крайней мере инлайн
i-4. перечень слов, управляющих тем, что присутствует в п. 4-о.

То есть если оптимизатора нет, то все равно надо писать какие-то слова, которые бы показывали, что его нет, а включить и отключить его нельзя? :) А вообще эти вопросы похожи на пункты документации.
вопрос писал(а):
14 пунктов, которые позволяют считать форт систему "укомплектованной для начала работы" и "не нуждающейся в поиске доп. информации"

Ради интереса можно попробовать написать комплект программной документации по ГОСТ :shuffle; Вот тогда будет хорошо видно, что не вписывается вообще никуда, что делается на ура, а что вызывает массу проблем при попытке просто описать, что это такое, и каким конкретно способом этим надо пользоваться.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Сб сен 17, 2011 13:50 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
Классификации есть разновидность номинальных измерений. Классификация, как и любое измерение, производится для принятия решения - управленческого, технического, выработка сигнала управления и т.д.


Эта классификация помогает ответить на вопрос "что минимально должна уметь форт-система, чтобы программист не был вынужден дизассемблировать её или искать автора"
МОжно пытаться показать правильность этой классификации , а нужно?

Если её кто-нибудь дополнит или исправит, это и будет задача
Цитата:
полезное логическое упражнение


Цитата:
То есть если оптимизатора нет, то все равно надо писать какие-то слова, которые бы показывали, что его нет, а включить и отключить его нельзя
именно так


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Сб сен 17, 2011 14:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6375
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
вопрос писал(а):
Эта классификация помогает ответить на вопрос "что минимально должна уметь форт-система, чтобы программист не был вынужден дизассемблировать её или искать автора"
МОжно пытаться показать правильность этой классификации , а нужно?

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

- Эй, пастух, а сколько твои овцы едят травы?
- Черные или белые?
- Ну черные.
- Два килограмма в день.
- А белые?
- Тоже два.
- А сколько ты стрижешь с них шерсти?
- С черных или белых?
- Ну с черных.
- Десять килограммов в год.
- А с белых?
- Тоже.
- Слушай, а зачем ты сначала спрашиваешь, черных или белых, если все одинаково?
- Ха! Так ведь черные-то овцы мои!
- А белые?
- Тоже мои.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Логическое упражнение, а не упражнение в юморе :D

Хищник писал(а):
не просто "для ответа на вопрос"

как раз именно для ответа на вопрос, который поможет сориентироваться в том, что же делать
Цитата:
14 пунктов, которые позволяют считать форт систему "укомплектованной для начала работы" и "не нуждающейся в поиске доп. информации"


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
ОБращаю внимание, что подобрано так, чтобы
или "быть переносимым"
или "обеспечивать переносимость"

т.е. если кто-либо захочет перенести систему, должен будет или
(внимание)
1. реализовать так, чтобы подходили пункты i
2. (альтернатива) переделать пункты i
так, чтобы подходили под новую реализацию

и этого будет достаточно, не нужны новые информационные библиотеки, не нужна дополнительная реализация чего-то, что не входит в перечень i


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Сб сен 17, 2011 15:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6375
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
вопрос писал(а):
как раз именно для ответа на вопрос, который поможет сориентироваться в том, что же делать


"Ответа на вопрос", "поможет сориентироваться" - не слишком ли много звеньев в цепочке? Работать-то уже когда можно? А вот если принципы классификации все-таки расписать открытым текстом, не надеясь, что все догадаются сами, и догадаются одинаково, то вполне может проявиться некоторая однобокость.
Например, если уже начать потихоньку причесывать хотя бы первый пункт, то можно начать с того, что в эту группу входят библиотеки, предназначенные для улучшения характеристик кода путем добавления ассемблерных вставок, реализующих способы, отсутствующие в стандартном компиляторе. Это очень черновое рабочее определение, для него обязательно надо придумать тестовые сценарии, которые будут "ломать" его.
Далее берем пункты для этой классификации:
вопрос писал(а):
1-о. ассемблер, если таковой реализован, поскольку задача ассемблера - в основном такая
2-о. ассемблерный оптимизатор если таковой реализован (как в СП)
3-о. подстановочная оптимизация с анализом или без (наподобие редуцирующей), в т.ч. инлайн
4-о. ассемблерную реализацию "чего-то кроме форта" - скажем - различных локальных переменных или очередей или доп. стеков - это тоже оптимизация, если оно не на форте. а на ассемблере


1. Библиотеки, обеспечивающие мнемоники ассемблерных команд.
Это достаточно простые библиотеки, при их разработке потребуются в основном справочники по командам.
2. Преобразования кода, улучшающие характеристики крода по сравнению с результатами конкатенативной компиляции.
Это все оптимизаторы, подстановщики и т.п. Они как ремонт - закончить нельзя, можно только приостановить :)
3. Шаблоны кода.
Сюда входит п.4, основной характерной чертой является возможность существенного улучшения характеристик кода по сравнению с тем, что может быть получено штатными средствами Форта. Можно набить код с помощью C, , однако это неэффективно. Можно реализовать только ассемблер, но если в коде сделаны и какие-то стандартные алгоритмы, это облегчает работу.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Сб сен 17, 2011 16:40 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
если уже начать потихоньку причесывать хотя бы первый пункт

думаю, логику можно анализировать и без дополнительного уточнения :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Ср сен 21, 2011 19:12 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Собственно критиковать в рамках замысла темы можно или доказывая: перечень избыточен - нужно менее 14 пунктов
или доказывая, что перечень неполный


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Ср сен 21, 2011 20:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6375
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
вопрос писал(а):
Собственно критиковать в рамках замысла темы можно или доказывая: перечень избыточен - нужно менее 14 пунктов или доказывая, что перечень неполный

Это очень узкий подход. Как будто уже выдано ТЗ на разработку перечня, который обладает самостоятельной ценностью. Тогда да, чтобы инженер не перегружался несвойственной ему работой, он выполняет все строго в рамках ТЗ. А вообще все начинается с исследования актуальности проблемы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальная структура библиотек для форта
СообщениеДобавлено: Чт сен 22, 2011 10:33 
Не в сети
Аватара пользователя

Зарегистрирован: Ср мар 21, 2007 00:16
Сообщения: 154
Благодарил (а): 2 раз.
Поблагодарили: 2 раз.
вопрос писал(а):
Собственно критиковать в рамках замысла темы можно или доказывая: перечень избыточен - нужно менее 14 пунктов
или доказывая, что перечень неполный

Выглядит перечень как список ToDo, остается только брать по пункту и реализовывать на любом форте. А перевод текста с одного форта на другой большой проблемой не должен быть. Или здесь предполагается исследование, нужны ли будут эти библиотеки форт-сообществу?


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

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


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

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


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

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