Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт май 24, 2019 14:55

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Особенности системы
СообщениеДобавлено: Вт мар 05, 2019 00:39 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 801
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
ath писал(а):
...

Транслятор файлов читает файл частями, разграничивая его по последнему найденному переводу строки.
Перезагрузка транслятора осуществляется вектором REFILL.

другие подробности можно найти в папке DOCS поставки Новы

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности системы
СообщениеДобавлено: Вт мар 05, 2019 03:12 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 07, 2017 20:47
Сообщения: 191
Откуда: Москва
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Неплохо. Так же сделал бы… если бы не заглянул в исходники Test Suite. :)

_________________
«Они становятся циничными и начинают думать, что программирование — это только способ получить деньги.» © Ричард Столмэн, Манифест GNU, 1985


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности системы
СообщениеДобавлено: Вт мар 05, 2019 09:24 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4984
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Victor__v писал(а):
"Вкус" в переносном смысле. И хватит обсуждать ядро СПФ, тема не про него.

Я не про СПФ ради СПФ, а лишь потому, что вы знаете только СПФ 8)
Ну, и, вопросы были таки не про ядро СПФ, а про ваше видение рудиментов (что ими является).

Victor__v писал(а):
Я вообще хотел изначально сделать более простую и логичную систему по сравнению с СПФ, сохранив и приумножив все его понравившиеся мне плюшки и добавить свои.
Полученным результатом я доволен.

понятно.
мне просто интересно было получить ответы на мои вопросы.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности системы
СообщениеДобавлено: Вт мар 05, 2019 11:02 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 801
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
mOleg писал(а):
Ну, и, вопросы были таки не про ядро СПФ, а про ваше видение рудиментов (что ими является).

То, что не работает в ядре или работает отсюда и до обеда.
Так ведут себя некоторые переменные. Что в Нове (поправлено), что в СПФ слово TEMP-WL-SIZE.
Изменять размер врем. словаря требуется редко, а махинации с этой переменной могут сильно увеличить веселье :dmad; , если в форте сильная завязка на врем. словари, а у Новы сильная.
Поэтому в Нове подобные переменные были завуалированы через CREATE . Т. е. к примеру, TEMP-WORDLIST стало CREATE-словом с размером в роли данных.
Цитата:
CREATE TEMP-WORDLIST 100000 , DOES: @ ALLOCATE THROW ....

И так было сделано со всеми подобными словами.
Вот в таком духе. Хотя термин "рудимент" может быть и не совсем корректный.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности системы
СообщениеДобавлено: Ср мар 06, 2019 16:12 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4984
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Victor__v писал(а):
Изменять размер врем. словаря требуется редко, а махинации с этой переменной могут сильно увеличить веселье :dmad; , если в форте сильная завязка на врем. словари, а у Новы сильная.

не понял, что вы хотели сказать, поясните.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Особенности системы
СообщениеДобавлено: Ср мар 06, 2019 17:56 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 801
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
mOleg писал(а):
не понял, что вы хотели сказать, поясните.

Даже не знаю как пояснить-то.

Вот у нас был код
Код:
100000 VALUE TEMP-WL-SIZE

: TEMP-WORDLIST TEMP-WL-SIZE ALLOCATE THROW >R ....

;

Недостаток этого кода: изменяя переменную TEMP-WL-SIZE , можно в последствии сломать себе врем. словарь со всем фортом в придачу (недостаток хипа, слишком мелкий кодофайл и пр.). Но это в теории.
На практике же значение переменной TEMP-WL-SIZE изменяется очень редко (я вообще делал это 1 раз). Следовательно, зачем нужна эта переменная?
Но убрать её слишком просто. А вдруг расширяемость временного кодофайла понадобится?
Поэтому делаем так
Код:
CREATE TEMP-WORDLIST
100000 , \ та самая переменная
DOES:    \ аналог DOES> для режима интерпретации
@ ALLOCATE THROW >R
....
;

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

10000 ( значение для "подмены")
SP@ ( указатель на значение)
' TEMP-WORDLIST >param ( пропускаем вызов слова CREATE)
@  ( получаем указатель на код DOES)
EXECUTE


Итог:
Из ядра убирается переменная, тем самым ненамного повышается понятность Новы
TEMP-WORDLIST становится словом, значение которого можно "подменять" без риска завалить все остальные словари.

И таким макаром в ядре Нове были завуалированы некоторые переменные.

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

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


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 801
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
Не туда написал :)

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


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

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


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

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


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

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