Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 08:58

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 101 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Чт май 14, 2015 22:59 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
А в Форте-79 концепция другая. В нем словари-родители не просматриваются. И порядок поиска только CONTEXT и FORTH. И тоже проблем нет, хотя все по другому работает. Напомню, что во всех трех Фортах Фиг/79/83 определение слова ":" начинается с CURRENT @ CONTEXT ! . Только смысл этого похоже разный. В 79 смысл железный - CURRENT копируется в CONTEXT для того, чтобы при порядке поиска CONTEXT, FORTH все таки был просмотрен словарь CURRENT и было обнаружено, что слово с таким именем переопределяется, если это действительно так. Ну а после в теле определения контекст переключается именами словарей, которые немедленного исполнения.
А вот для чего именно нужно копирование в начале определения ":" CURRENT в CONTEXT в Фиг-Форте я пока еще не догнал. Т.е. всюду одно и то-же, а вот откуда это взялось ? Тех, кто это знал, давно уже замочили (шутка).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Чт май 14, 2015 23:01 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
Ethereal писал(а):
Т.е на практике выходит CONTEXT, FORTH, CURRENT, FORTH.
Ну, во-первых, это имеет смысл
Предшественником Фиг-Форта хронологически был Форт-78 (стандарт, который я нигде не смог найти), а последователем Форт-79. Так вот если бы "это имело смысл", то не было бы так жестоко похерено в Форт-79.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Чт май 14, 2015 23:03 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
Зато, во-вторых, позволяло иметь особые словари - без родителей.
Точно ... сначала создать родителей, чтобы потом была возможность от них избавиться. В Форт-79 все словари без родителей, а в Фиг-Форт новый словарь без родителей можно создать только врукопашную.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Чт май 14, 2015 23:12 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
З.Ы. Путь эволюции Форта, похоже, был весьма извилист. Я, наверно, министатью кропану, что в Фиг-Форте было не так, как сейчас. Просто чтобы ретроспективно видеть полет мысли. Куда мысль вела и куда уводила.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Чт май 14, 2015 23:18 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:14, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 00:17 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Выходит или нет за рамки ПДК (предельно допустимой концентрации ?) вопрос сколько раз должен выполняться цикл
1 5 DO LOOP
? Много (шестьдесят пять тысяч с копейками, а то и много-много больше) раз ?
Ни разу ? Четыре раза ? Пять раз ?

Ответ неправильный !
Этот цикл в Фиг-Форт выполнится 1 раз.
Вопрос на засыпку - а печему именно 1 ? По какой логике ?

И должен ли в конкретном языке программирования основной тип цикла выполняться определенное количество раз ?
Или это неважно ? Пусть выполняется хоть сколько.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 00:26 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:14, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 01:52 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ethereal писал(а):
А в Фиг-Форте порядок явно в коде проставлен CONTEXT, CURRENT, но из-за полного просмотра родителей, при просмотре CONTEXT в итоге последним просматривается весь FORTH и при просмотре CURRENT последним просматривается тоже весь FORTH. Т.е на практике выходит CONTEXT, FORTH, CURRENT, FORTH.

Это имеет смысл просто зафиксировать. Варианты-то разные бывают. Еще важно, зачем именно сделан тот или иной вариант, а то ведь можно наворотить спецификации и полагать, что оно потом как-то само превратится в программы. Я пришел к тому, что просматривается CONTEXT, а по ходу просмотра он переключается на родителей, пока не упрется в FORTH. Это, как говорится, implementation-defined.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 17:14 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
А какая разница? Меня больше волнует
Ну и нахрена тогда было писать этот абсолютно неинформативный пост ?
gudleifr писал(а):
стандартов никто из фортеров не придерживается
Еще как придерживается. В большинстве уже в силу того, что ничего кроме ANSI-Forth не знает.
Систематическое отступление от одного единственного стандарта - это уже ему самое преданное следование.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 17:22 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Hishnik писал(а):
Еще важно, зачем именно сделан тот или иной вариант, а то ведь можно наворотить спецификации и полагать, что оно потом как-то само превратится в программы.
Спецификации как раз и рождались из уже сделанных тех или иных вариантов. И для меня именно важно почему эти варианты были выбраны. Нету спецификаций Форта взятых с потолка. Они все - слепок того, что было. Точнее - попытка привести в порядок то, что есть.
Более того некоторые места в спецификации ANSI можно понять, только разглядывая до ANSI-шные форты, чтобы понять откуда ноги растут. Я тут хотел рассказать про эти ноги, но вижу, что это не особо кому интересно. "А какая разница? Меня больше волнует ..."


Последний раз редактировалось Ethereal Пт май 15, 2015 17:56, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 17:22 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
gudleifr писал(а):
в-третьих, это будет интересно, если Вам удастся описать эту ситуацию в общем виде и формализовать отличия в строгой форме.

В общем виде это будет выглядеть так :

Цикл DO LOOP - цикл с фиксированным на момент его начала
числом итераций и постусловием (т.е. проверка завершения
цикла производится только в конце итерации).

Если DO LOOP хранят на некоем стеке только две величины
(текущий индекс и предел цикла), то отсюда автоматом
- Извратный LEAVE (только по достижении конца цикла)
- 0 0 DO LOOP выполняется 1 раз
- на 16-разрядном форте цикл более 32769 раз не прокрутить

Если DO LOOP хранят на некоем стеке три величины
(текущий индекс, предел цикла и адрес сразу за циклом),
то отсюда автоматом
- LEAVE в любой момент
- 0 0 DO LOOP выполняется 65536 раз на 16-разрядном форте

Только за скобками останется вопрос - почему из одного следует другое.


Последний раз редактировалось Ethereal Пт май 15, 2015 19:24, всего редактировалось 7 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 17:27 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:15, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 17:54 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ethereal писал(а):
Еще как придерживается. В большинстве уже в силу того, что ничего кроме ANSI-Forth не знает.
Систематическое отступление от одного единственного стандарта - это уже ему самое преданное следование.

Я в свое время этот ANS открыл, посмотрел и закрыл. Люди играют в крутой комитет, хотя при их ситуации им бы ближайшему окружению объяснить, как пользоваться Фортом. Конференция Еврофорт - без слез не взглянешь.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 18:06 
<удалено из-за того, что коллега mOleg этого не понял>


Последний раз редактировалось gudleifr Пн июн 08, 2015 21:15, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибки в известных реализациях Форта и их исправление.
СообщениеДобавлено: Пт май 15, 2015 18:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ethereal писал(а):
Если DO LOOP хранят на стеке возвратов три слова, то отсюда автоматом

Еще вариант: у циклов DO LOOP свой собственный стек, с текущим и предельным значением счетчика и адресом начала цикла. И циклы вида 0 0 DO LOOP автоматически пропускаются (например, если цикл применен к пустому массиву и написано что-то вроде DATASIZE 0 DO). Назначение и требования первичны, история 20-30 летней давности вторична.


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

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


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

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


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

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