Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Сб апр 20, 2024 02:55

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Модель памяти в SPF4
СообщениеДобавлено: Чт окт 11, 2007 14:48 
Чтобы не шариться по исходникам, расскажите пожалуйста о %subj%.
О расположении и размерах областей доступных для стека данных, стека возвратов, и т.п. ... в частности о размере свободной области в словаре, о том чем размеры этих областей определяются и как этими параметроми управлять (желательно без пересборки, т.к. нет желания делать форт - наделался в свое время - есть необходимость решать прикладные задачи).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 11, 2007 19:01 
--


Последний раз редактировалось profiT Сб мар 01, 2008 00:22, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Модель памяти в SPF4
СообщениеДобавлено: Чт окт 11, 2007 19:46 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Владимир Вигуль писал(а):
нет желания делать форт - наделался в свое время - есть необходимость решать прикладные задачи).

задачи какого типа ? если это не нечто низкоуровневое или требующее микроресурсы -- может быть использовать что-то более адекватное (скриптовые, функциональные языки) ?

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 12, 2007 07:33 
2profiT: спасибо! Не зря, значит, я завез форт в Караганду лет 15 назад - буду теперь у вас учиться :)

2<этот ник фильтр не пропускает>: задачки разноуровневые, т.е. мне наброски и макеты удобнее на форте делать, а дальше видно будет (я своими руками не программировал года эдак с с 93, а с фортом не имел дела вообще с 97 года - так что мне проще именно к нему вернуться, чем к другим инструментам). Я и эти задачки пытался ученикам подсовывать, но как-то они их не заинтересовали - понял, что почти никому, кроме меня, они не нужны и никто, кроме меня, их делать не будет.

Подводя итог: у меня проблемы не с фортом как таковым, а с осознанием особенностей конкретной реализации VFM и, особенно, ее взаимодействия со средой.

Продолжаю вопросы:
1) SPF - 32хразрядный, слова @, !, C@, C! есть, и даже 2@, 2! есть, а вот fetch и store для работы с 16тиразрядными данными я не нашел, или есть где-то в стандарте и дистрибутиве? Добавить их в форт не проблема, но они будут массово использоваться, т.е. из соображений эффективности нужны написанные в маш.коде, в том числе "1/2@" с расширением знакового бита. Типичный объем перелопачиваемых данных такого сорта (signed 16bit) - около сотни мегабайт.
2) можно ли в SPF, как именно и какие подключать внешние библиотеки (dll)?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 12, 2007 09:32 
---a


Последний раз редактировалось profiT Сб мар 01, 2008 00:22, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 10:07 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Возник вопрос по организации памяти
Пример:
Код:
CREATE buff1 1024 ALLOT   
HERE VALUE buff2 1024 ALLOT   


Хочется, что бы VALUE переменная определилась отдельно, не
затрагивая область HERE.
Возможно ли это сделать для SPF?

P.S. И как это решается в других Форт системах?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 10:39 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Kopa писал(а):
Хочется, что бы VALUE переменная определилась отдельно, не затрагивая область HERE.
\
Ээ, а для чего это тебе?
как вариант есть USER-VALUE, но она медленнее

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


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

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
mOleg писал(а):
Kopa писал(а):
Хочется, что бы VALUE переменная определилась отдельно, не затрагивая область HERE.
\
Ээ, а для чего это тебе?
как вариант есть USER-VALUE, но она медленнее


Так получилось( при внесении минимальных изменений в рабочий код)
, а далее возник попутный вопрос.

P.S. При прохождении кода через макрооптимизатор, такие сущности
как константы, переменные и др. можно вообще не генерить
в выходном файле, как отдельные слова:) если нет в них дальнейшей
необходимости.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 11:14 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Kopa писал(а):
P.S. При прохождении кода через макрооптимизатор, такие сущности
как константы, переменные и др. можно вообще не генерить
в выходном файле, как отдельные слова если нет в них дальнейшей
необходимости.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 11:19 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Kopa писал(а):
При прохождении кода через макрооптимизатор, такие сущности
как константы, переменные и др. можно вообще не генерить
в выходном файле, как отдельные слова если нет в них дальнейшей
необходимости.


такое уже обсуждалось в comp.lang.forth, подводных камней масса.
например - "TICK" - тебе будут необходимы какие-то структуры,
позволяющие выполнять работу с отложенными действиями (XT).

человек для этой цели предлагал dXT - облегчённый вариант
токена выполнения, позволяющий не тащить за собой все словарные
структуры. ему там сказали - "ФУ".

кроме того, не всегда возможно отследить все кросс-связи в коде
(статическая линковка ("шитый код"), макросы, отложенные адреса
(в структурах данных и переменных)...).

так что - в любом случая - нужна полная инфраструктура оптимизации
с поддержкой каких-то "прагм", позволяющих управлять процессом.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 11:27 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
garbler писал(а):
такое уже обсуждалось в comp.lang.forth, подводных камней масса.\
например - "TICK" - тебе будут необходимы какие-то структуры,\
позволяющие выполнять работу с отложенными действиями (XT).

интересно, что данные проблемы давно решены, в том же СМАЛ32, например.
Но, создается впечатление, что народу реально данная фича не нужна, поэтому он, народ, ее необходимость активно отрицает. А вообще все эти задачи не только разрешимы, но уже давно решены.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 13:41 
Цитата:
Код:
HERE VALUE buff2 1024 ALLOT
Должно быть, имелось ввиду
Код:
HERE 1024 ALLOT  VALUE buff2


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 13:57 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
rvm писал(а):
Цитата:
Код:
HERE VALUE buff2 1024 ALLOT
Должно быть, имелось ввиду
Код:
HERE 1024 ALLOT  VALUE buff2


Можно и так, но если потребуется еще указатель buff3, то на стеке придется оставить еще число ( появятся 2-а указателя). Это ухудшает читабельность, но примерно так
мне и приходилось делать, когда возможностей ассемблера SPF не
хватило для адекватного построения макро-кода:) при эмуляции контроллера.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 20:32 
Цитата:
Можно и так
именно, что по другому (как в первой строчке) — нельзя в рамках ANS! Пространство кода, данных, имен могут быть совмещены и тогда по HERE VALUE buff2 buff2 даст не свободную ячейку, а область словарной статьи или кода слова buff2. Таки время от времени попадается эта ошибка.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 14, 2007 20:46 
Цитата:
Хочется, что бы VALUE переменная определилась отдельно, не затрагивая область HERE. Возможно ли это сделать для SPF?
Да. Например, определив ее во временном словаре:
Код:
TEMP-WORDLIST VALUE myvalue

: MYVALUE ( x "name" -- )
  GET-CURRENT >R myvalue SET-CURRENT
  VALUE
  R> SET-CURRENT
;

HERE .
1 MYVALUE a
myvalue::a .
HERE .


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

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


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

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


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

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