Forth
http://fforum.winglion.ru/

Quark: стековые фреймы
http://fforum.winglion.ru/viewtopic.php?f=23&t=1832
Страница 2 из 2

Автор:  вопрос [ Вс янв 04, 2009 20:05 ]
Заголовок сообщения: 

Чем удобнее использование, тем труднее реализация

Автор:  Hishnik [ Вс янв 04, 2009 20:10 ]
Заголовок сообщения: 

Да, так бывает. Но это не означает, что простые в реализации механизмы надо... забыть? Постеняться предложить?

Автор:  in4 [ Вт янв 06, 2009 04:53 ]
Заголовок сообщения: 

А если для блока данных определить структуру/таблицу в куче и освободить ее после использования, так можно?
Или будет неудобно заводить несколько доп. переменных?
Вроде иметь постоянно в доступном месте и цвет и координаты - удобно...
Или все же такой вариант перегрузит словарь?

Автор:  VoidVolker [ Вт янв 06, 2009 12:49 ]
Заголовок сообщения: 

in4 писал(а):
А если для блока данных определить структуру/таблицу в куче и освободить ее после использования, так можно?
Или будет неудобно заводить несколько доп. переменных?
Вроде иметь постоянно в доступном месте и цвет и координаты - удобно...
Или все же такой вариант перегрузит словарь?

Если очень хочется локальные переменные именно в кварке - делаем самостоятельно. А вот мне например пока вполне достаточно фреймов и вот такой "дешевой альтернативы локалсам":
Код:
: L1   LOCALSTACK LOCALDEPTH 1-  -FTH ;
: L2   LOCALSTACK LOCALDEPTH 2 - -FTH ;
...
: LN   LOCALSTACK LOCALDEPTH N - -FTH ;

Автор:  Hishnik [ Вт янв 06, 2009 15:23 ]
Заголовок сообщения: 

in4 писал(а):
А если для блока данных определить структуру/таблицу в куче и освободить ее после использования, так можно?

Можно, никто же не запрещает. Работа с памятью любого типа идет через WinAPI, Форт тут может предложить разве что обертку над стандартными функциями, которая ничего кардинально не улучшит, но создаст иллюзию "поддержки" чего-то там. В любом случае, работа с числами на стеке (более или менее удобная) - это одно, а создание дополнительных программных структур с соответствующей технологией работы с ними - совершенно другое.

Автор:  VoidVolker [ Ср фев 25, 2009 23:02 ]
Заголовок сообщения: 

А что собственно делают слова FRAME> и >FRAME? Чем они отличаются от FRAME{ и }FRAME?

Автор:  Hishnik [ Ср фев 25, 2009 23:38 ]
Заголовок сообщения: 

VoidVolker писал(а):
А что собственно делают слова FRAME> и >FRAME? Чем они отличаются от FRAME{ и }FRAME?

Переносят со стека фреймов на стек данных и обратно. Для "повседневного программирования" они не требуются, поскольку на стеке фреймов хранятся не данные, а значения DEPTH. Так что это просто низкоуровневые слова для элементарных операций с таким стеком.

Автор:  VoidVolker [ Ср фев 25, 2009 23:49 ]
Заголовок сообщения: 

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

Ааа, точно, что-то я запамятовал. :shuffle;

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