Forth
http://www.fforum.winglion.ru/

Особенности системы
http://www.fforum.winglion.ru/viewtopic.php?f=58&t=3184
Страница 2 из 2

Автор:  Victor__v [ Вт мар 05, 2019 00:39 ]
Заголовок сообщения:  Re: Особенности системы

ath писал(а):
...

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

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

Автор:  ath [ Вт мар 05, 2019 03:12 ]
Заголовок сообщения:  Re: Особенности системы

Неплохо. Так же сделал бы… если бы не заглянул в исходники Test Suite. :)

Автор:  mOleg [ Вт мар 05, 2019 09:24 ]
Заголовок сообщения:  Re: Особенности системы

Victor__v писал(а):
"Вкус" в переносном смысле. И хватит обсуждать ядро СПФ, тема не про него.

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

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

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

Автор:  Victor__v [ Вт мар 05, 2019 11:02 ]
Заголовок сообщения:  Re: Особенности системы

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

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

....
Часть текста убрана, как неактуальная

Автор:  mOleg [ Ср мар 06, 2019 16:12 ]
Заголовок сообщения:  Re: Особенности системы

Victor__v писал(а):
Изменять размер врем. словаря требуется редко, а махинации с этой переменной могут сильно увеличить веселье :dmad; , если в форте сильная завязка на врем. словари, а у Новы сильная.

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

Автор:  Victor__v [ Ср мар 06, 2019 17:56 ]
Заголовок сообщения:  Re: Особенности системы

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

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

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

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

;

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

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

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


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

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

Автор:  Victor__v [ Пн мар 11, 2019 16:11 ]
Заголовок сообщения:  Re: Особенности системы

Не туда написал :)

Страница 2 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/