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

Win32FORTH
http://www.fforum.winglion.ru/viewtopic.php?f=40&t=10
Страница 1 из 5

Автор:  Chrono Syndrome [ Чт май 04, 2006 20:54 ]
Заголовок сообщения:  Win32FORTH

Собс-но, тема посвящена обсуждению данной реализации языка и вопросам по разработке на ней. Высказывайтесь, не стесняйтесь. :)
Ах да, для тех, кто не в курсе (ну так, мало-ли...): WWW.Win32FORTH.ORG

Автор:  Гость [ Пт май 05, 2006 12:45 ]
Заголовок сообщения: 

Я на Win32Forth отлаживал программу, работающую с образом диска
http://forth.spb.su:8888/imgtools.rar когда на SPF небыло отладчика.

http://forth.spb.su:8888/win32.3.rar - адаптер для
запуска Win32Forth файлов в SPF (недоделанный).

Автор:  Hishnik [ Пт май 05, 2006 17:02 ]
Заголовок сообщения: 

Кстати, неплохой транслятор. А графику он умеет делать? Хочу слово pixel :)

Автор:  Гость [ Ср май 17, 2006 07:02 ]
Заголовок сообщения: 

Хищник писал(а):
Кстати, неплохой транслятор. А графику он умеет делать? Хочу слово pixel :)


Думаю умеет, если в примерах проигрыватель видео файлов.:)

Автор:  forther [ Ср май 17, 2006 09:11 ]
Заголовок сообщения: 

Anonymous писал(а):
Хищник писал(а):
Кстати, неплохой транслятор. А графику он умеет делать? Хочу слово pixel :)


Думаю умеет, если в примерах проигрыватель видео файлов.:)


В каких примерах? Ссылочку дайте, если не трудно, пожалуйста.

Автор:  ~Day [ Ср май 17, 2006 21:15 ]
Заголовок сообщения: 

Форт хороший, но ламерский.
Все новации в форте в SPF4.

-- Day

Автор:  Гость [ Чт май 18, 2006 06:25 ]
Заголовок сообщения: 

forther писал(а):
Anonymous писал(а):
Хищник писал(а):
Кстати, неплохой транслятор. А графику он умеет делать? Хочу слово pixel :)


Думаю умеет, если в примерах проигрыватель видео файлов.:)


В каких примерах? Ссылочку дайте, если не трудно, пожалуйста.


В самом дистрибутиве с сайта win32forth.org ( player4 ) :)

Автор:  Hishnik [ Пт май 19, 2006 00:09 ]
Заголовок сообщения: 

Гость писал(а):
Думаю умеет, если в примерах проигрыватель видео файлов.

Это не гарантирует наличие канвы :) Меня как-то не особо впечатляет, что на Форте тоже можно сделать обработку wm_Paint. Надоело уже его обрабатывать! :dmad;

Автор:  awk [ Сб окт 14, 2006 23:34 ]
Заголовок сообщения: 

Простейший кусок кода:

Код:
64 constant maxch
variable namebuf maxch chars allot
namebuf maxch accept


Если набить команды в консоли по порядку, всё будет работать как надо. Если же поместить их в файл и сказать "Load Forth File..", то произойдёт такой вот ужас:

Код:
namebuf maxch accept
                    ^
Warning(-4103): stack depth increased in file H:\FORTH\HELLO.F at line 5
Stack: [5] 1342420 202 202 202 2

.. и далее exception. Причем accept, в принципе, срабатывает, так как падение происходит только после ввода символов.

Похожий глюк при работе с counted strings: команда C" 123qwe " из консоли работает прекрасно, а если запустить её с помощью "Load Forth File.." - получается stack depth increased + exception.

Что не так?

Автор:  profiT [ Сб окт 14, 2006 23:38 ]
Заголовок сообщения: 

Цитата:
Что не так?

Не VARIABLE, а CREATE.

Автор:  mOleg [ Сб окт 14, 2006 23:45 ]
Заголовок сообщения: 

вообще по-идее можно и VARIABLE но не принято

а вот откуда будет браться строка - это вопрос!
Скорее всего accept попытается ввести строку из файла.
Точнее сказать не могу, ибо не знаю WIN32FORTH

Автор:  profiT [ Сб окт 14, 2006 23:48 ]
Заголовок сообщения: 

ACCEPT насколько я помню (или всё таки EXPECT ?) берёт строку с консоли. Типа INPUT из Бэйсика.

Кстати, совершенно бесмысленное слово в Форте, где гораздо проще использовать сам интерпретатор.

Автор:  mOleg [ Сб окт 14, 2006 23:57 ]
Заголовок сообщения: 

profiT писал(а):
ACCEPT насколько я помню (или всё таки EXPECT ?) берёт строку с консоли

Есть и то и другое, но вот откуда берется строка - это большой вопрос. Например в СПФе наверняка будет браться из входного потока, а он при работе с файлами пойдет из файла

profiT писал(а):
Кстати, совершенно бесмысленное слово в Форте, где гораздо проще использовать сам интерпретатор.

это ведь не интерпретатор, а простой ввод строки из входного потока в буфер фиксированного размера.
И мне его в спфе по-началу не хватало, после СМАЛ32

Автор:  awk [ Сб окт 14, 2006 23:59 ]
Заголовок сообщения: 

CREATE действительно не помогает :(
Строку он запрашивает с клавиатуры, падает всё только после того, как я ее ввожу. На переполнение буфера не похоже - символов даю ему мало. Получается, это какая-то особенность именно Win32Forth-a и в некоторых других такого быть не должно?

P.S. Пока писал, нашелся небольшой work-around:
Код:
anew hello.f

64 constant maxch
create namebuf maxch chars allot
: go ( -- )
   namebuf maxch accept
   ;

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

Автор:  mOleg [ Вс окт 15, 2006 00:09 ]
Заголовок сообщения: 

awk писал(а):
Строку он запрашивает с клавиатуры, падает всё только после того, как я ее ввожу.

посмотри, что остается в буфере

awk писал(а):
Получается, это какая-то особенность именно Win32Forth-a и в некоторых других такого быть не должно?

вот и я хочу спросить, почему WIN32 а не СПФ или не СМАЛ?
C СПФом гораздо больше людей сможет помочь, да и сделан он получше

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

вариант - напиши свой accept

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