Forth http://fforum.winglion.ru/ |
|
а плевал я на разбалансировку стеков! http://fforum.winglion.ru/viewtopic.php?f=25&t=2168 |
Страница 1 из 1 |
Автор: | mOleg [ Вс июн 28, 2009 20:11 ] |
Заголовок сообщения: | а плевал я на разбалансировку стеков! |
вощем, бывает лень отслеживать что и сколько возвращает параметров, к примеру на выходе из слова (может ничего, а может мусора кучу) и вобщем не стоит напрягаться ловить, к примеру: Код: : something ( addr --> ) BEGIN DUP WHILE ( --> addr ) 1st operation WHILE ( --> ??? ) 2st operation WHILE ( --> ??? ) <LINK REPEAT \ лишние элементы THEN \ на стеке данных можно THEN \ удалять тут ; но можно сделать так: Код: : something ( addr --> )
<: BEGIN DUP WHILE ( --> addr ) 1st operation WHILE ( --> ??? ) 2st operation WHILE ( --> ??? ) <LINK REPEAT THEN THEN ;> CATCH DDROP ; |
Автор: | Hishnik [ Вс июн 28, 2009 20:16 ] |
Заголовок сообщения: | |
А еще можно запомнить DEPTH и потом восстановить. |
Автор: | mOleg [ Вс июн 28, 2009 20:20 ] |
Заголовок сообщения: | |
Хищник писал(а): А еще можно запомнить DEPTH и потом восстановить.
только CATCH это сделает сам (стеков может быть несколько отслеживаемых, например в форке еще и локальный стек есть) |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |