Forth
http://fforum.winglion.ru/

о преимуществах и недостатках существующих стандартов
http://fforum.winglion.ru/viewtopic.php?f=36&t=1799
Страница 2 из 6

Автор:  Hishnik [ Пн янв 12, 2009 22:31 ]
Заголовок сообщения: 

mOleg писал(а):
не работает, и не должно работать.

Должно или не должно работать, зависит от конструкции процессора и его системы команд.

Автор:  chess [ Вт янв 13, 2009 17:24 ]
Заголовок сообщения: 

Хищник писал(а):
Должно или не должно работать, зависит от конструкции процессора и его системы команд.

В данном случае процессор и система команд были одинаковы, а не работало/неработало по причине
разной организации форт-систем(конкретно по приведенному примеру из-за разного использования стека возвратов и разного типа шитого кода).

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

chess писал(а):
Хищник писал(а):
Должно или не должно работать, зависит от конструкции процессора и его системы команд.

В данном случае процессор и система команд были одинаковы, а не работало/неработало по причине
разной организации форт-систем(конкретно по приведенному примеру из-за разного использования стека возвратов и разного типа шитого кода).

Процессор не исполняет шитый код. Он исполняет машинный. Что конкретно из машинного кода появится в программе - зависит от программиста. Зачем разводить вокруг этого дополнительные сложности?

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

затем, что кому-то понадобилась переносимость в реале а не в книге Мура ... :(
(я не критикую, это сожаление)

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

вопрос писал(а):
затем, что кому-то понадобилась переносимость в реале а не в книге Мура ...
(я не критикую, это сожаление)

Еще один миф. На такой переносимости завязаны страшные килобайты кода? Или все-таки есть возможность написать модуль адаптации? У Мура правильные идеи переносимости - пишем форт под еще одну платформу с учетом ее особенностей.

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

Если всё так хорошо, то почему Хищник такой критичный (похвалы от него, кадется, никто не слыхал).
Нет, тут есть трудность

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

Елки, а статью почитать, на которую ссылка приведена мною влом?
там все описано (какие проблемы и почему возникают!)

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

вопрос писал(а):
Если всё так хорошо, то почему Хищник такой критичный (похвалы от него, кадется, никто не слыхал).
Нет, тут есть трудность

Хищник не считает, что взрослым людям необходимо слышать сюсюкания вокруг полюбившегося им хобби.
mOleg писал(а):
Елки, а статью почитать, на которую ссылка приведена мною влом?
там все описано (какие проблемы и почему возникают!)

Вообще это и без статьи понятно :)

Автор:  Pretorian [ Чт янв 15, 2009 18:28 ]
Заголовок сообщения: 

Хищник писал(а):
Процессор не исполняет шитый код. Он исполняет машинный.

Смотря какой машинный код. Слово "рисовать" тоже может быть машинным словом к примеру. У меня вообще уверенности нет что будет завтра с процами.

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

Pretorian писал(а):
Смотря какой машинный код. Слово "рисовать" тоже может быть машинным словом к примеру. У меня вообще уверенности нет что будет завтра с процами.

Да нет, вопрос-то довольно прост. Что лежит на стеке возвратов и можно ли с этим делать EXECUTE. Если код машинный, то можно. Если же мы кладем какие-то варианты идентификаторов, а EXECUTE ждет адрес для передачи туда управления... ну что ж, а кто нас за язы... клавиатуру тянул?

Автор:  Pretorian [ Чт янв 15, 2009 19:54 ]
Заголовок сообщения: 

Угу, согласен. Но по моему команды процов (вернее то старье мелкоколиберное) давно устарело, (я не о sea)

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

Так у меня давно МЯФ лежит в основе FPGA-ядер :)

Автор:  mOleg [ Сб янв 17, 2009 20:54 ]
Заголовок сообщения: 

такс, еще один момент.
В различных Фортах разрядность адресных ссылок может не совпадать с разрядность данных (CELL).
Адреса могут быть как короче, так и длиннее, чем CELL, кроме того данные на стеке возвратов могут быть уже, чем CELL из различных "железячных" соображений. При написании кода для подобных систем сразу возникает проблема несовместимости, к примеру >R ... R> может вернуть урезанное число, что с точки зрения портабельности не приемлемо. Для различения разрядности адресов от разрядности данных удобно использовать две константы: CELL - для данных, и ADDR - для адресов (уже есть в форке, к примеру).
В данном случае я поднимаю вопрос о том, как хранить адреса и данные в VARIABLE USER и VALUE переменных. Мне кажется, что размер выделяемой под переменную области должен быть выбран как максимальный размер ADDR | CELL , то есть, как это у наСИльников принято union. А ответственность за корректность обращения переложить на слова: @ ! CHANGE , и пр. - для данных; A! A@ ACHANGE A, - для адресов.

Автор:  Hishnik [ Сб янв 17, 2009 21:55 ]
Заголовок сообщения: 

mOleg писал(а):
Мне кажется, что размер выделяемой под переменную области должен быть выбран как максимальный размер ADDR | CELL , то есть, как это у наСИльников принято union. А ответственность за корректность обращения переложить на слова: @ ! CHANGE , и пр. - для данных; A! A@ ACHANGE A, - для адресов.

Поддерживаю всеми лапами.

Автор:  mOleg [ Сб янв 17, 2009 21:59 ]
Заголовок сообщения: 

ок, только еще момент как быть с VALUE (c VECT все понятно)?
можно сделать слово AVALUE (для хранения адресов)... (более простой выход да и некая типизация)
можно сделать ATO AFROM но тогда нет гарантии, что имя, созданное с помощью VALUE будет возвращать корректный адрес...
ну, и как вариант, вообще в стандарте забыть о VALUE ...

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