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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Уголок чайника.
СообщениеДобавлено: Пт июл 21, 2006 07:33 
Не в сети

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Добрый день.
Я начинающий.Даже очень начинающий. :D Сорри за вопрос.
Скачал Small32.
Cуществует определенное стандартом слово words. И оно действительно
работает.Но слов определенных в системе так много,что все они не помещаются на консоль.
Можно ли как нибудь сделать вывод в стиле DOS more ?
В др.компиляторах есть слова view или help,которые помогают(помогут :D ) что-то
прояснить...Как это сделать в Small32 ?
Cпасибо.

P.S.Cуществуют ли какие нибудь шаблоны(?)/skeleton'ы для компиляции под ДОС ?
Т.е допустим
-----//start.skeleton//----
;My prg
: .X ." Hello world!" ;
.X
bye
-----//end Skeleton//----


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5061
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WeTrust писал(а):
Я начинающий.Даже очень начинающий. Сорри за вопрос.

Всегда рады.

WeTrust писал(а):
Cуществует определенное стандартом слово words. И оно действительно
работает.Но слов определенных в системе так много,что все они не помещаются на консоль.
Можно ли как нибудь сделать вывод в стиле DOS more ?

Жми пробел. Получишь замедление.
WeTrust писал(а):
В др.компиляторах есть слова view или help,которые помогают(помогут ) что-то
прояснить...Как это сделать в Small32 ?

запускай hengine.com ctrl+f12 - вызов справки. Единственный недостаток в том, что это работает только под досом, А под виндой подвисает 8( Второй вариант при запуске hengine нажать обе клавиши shift - получишь тексктовый файл справки.

Да, есть декомпилятор. Можешь всегда набрать SEE name, но так смотрятся только созданные через : слова.
WeTrust писал(а):
P.S.Cуществуют ли какие нибудь шаблоны(?)/skeleton'ы для компиляции под ДОС ?
Т.е допустим
-----//start.skeleton//----
;My prg
: .X ." Hello world!" ;
.X
bye


Немного не так. Есть два варианта:

BUILD file_name
сохранит прогу в .exe файл. Только то, что у тебя скомпилировано ( то есть без интерпретатора)
либо SAVE name - сохранит форт вместе с интерпретатором.

Смотри помощь 8)


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

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
oleg
Большое спасибо.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 21, 2006 13:46 
Не в сети

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Осущствил BUILD
: MAIN ( --> )
." Hello, World!\r\n"
;

Build hello.com
2161 байт в GP-Forth
и 9679 байт в *.EXE Small32
:roll:
Это нормально ?
Сам как бы читал что Forth cопоставим с asm...


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
WeTrust писал(а):
Это нормально ?
Сам как бы читал что Forth cопоставим с asm...


Это нормально.

Примерно так же, как окажется нормально, что на "Волге" проехать 1 метр понадобится секунд 5-10, а пешком этот же метр - 1 секунда.
Хотя, "Волга" быстрее пешехода, неправда ли?
Просто, на "Волге" - это надо сначала сесть, потом завести мотор, проехать, затормозить, заглушить мотор и вылезти.
А пешком, раз-два и все.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


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

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
WingLion
Цитата:
Просто, на "Волге" - это надо сначала сесть, потом завести мотор, проехать, затормозить, заглушить мотор и вылезти.

Не понял аналогии...
Я говорю про ДОС.
.com файл с такой функциональностью (вывести
строку на экран и exit) написанный на asm будет ну пусть 30 байт.
Пусть в Forth на реализацию вызовов DOS ф-ций уходит ну...по 100 байт.Почему же 2 Кб ? :shock:

Хорошо.Задам вопрос по другому.Есть ли такой компилятор,который реализует
только стандартные слова
,встроенный asm и build все вызовы попробую написать сам. Или это сути дела не изменит ?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 21, 2006 15:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
WeTrust писал(а):
Я говорю про ДОС.
.com файл с такой функциональностью (вывести
строку на экран и exit) написанный на asm будет ну пусть 30 байт.
Пусть в Forth на реализацию вызовов DOS ф-ций уходит ну...по 100 байт.Почему же 2 Кб ? Shocked


Только надо бы заметить, что в DOS-е сие действие делается вызовом подпрограммы из БИОС-а, которая явно длиннее вызывающего кода, и может оказаться даже больше чем те самые 2 кб.

Форт при компиляции исполняемого файла точно так же, как и другой ЯВУ подцеплает к нему некие блоки, которые для конкретного действия (вывод текста) и не нужны вовсе.

А "компактность" по одношению к ассемблеру проявляется только когда компилируемый код сильно превышает этот самый необходимый довесок, добавляемый ко всем исполняемым файлам.

На мелких программах ее ожидать, в общем-то, бессмысленно.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 21, 2006 15:24 
Не в сети

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
WingLion
Цитата:
Только надо бы заметить, что в DOS-е сие действие делается вызовом подпрограммы из БИОС-а, которая явно длиннее вызывающего кода, и может оказаться даже больше чем те самые 2 кб.

Вряд ли. Прямая запись в видеопамять не будет занимать столько места для кода.
Цитата:
На мелких программах ее ожидать, в общем-то, бессмысленно.

Понял.Спасибо.
Просто рассматривая определения слов,со стороны
Forth казался неким сверх-макро...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 21, 2006 15:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
WeTrust писал(а):
Прямая запись в видеопамять не будет занимать столько места для кода.


Это только если экран конкретно в текстовом режиме, а если он графический, то вывод текста уже не столь тривиален.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5061
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WeTrust писал(а):
Осущствил BUILD
: MAIN ( --> )
." Hello, World!\r\n"
;

Build hello.com
2161 байт в GP-Forth
и 9679 байт в *.EXE Small32

Это нормально ?
Сам как бы читал что Forth cопоставим с asm...


Значит так. Во-первых посмотри опиции слова build. Там можно кое-что отключить и размер уменьшится. Хотя 10кб по сравнению с тем что выдаст тот же си 8)
Для смал32 10 кб почти минимальный размер, так как это размер экстендера дос - смал работает в 32-битном режима. А GP-FORTH в 16 битном 8)

WeTrust писал(а):
Хорошо.Задам вопрос по другому.Есть ли такой компилятор,который реализует
только стандартные слова
,встроенный asm и build все вызовы попробую написать сам. Или это сути дела не изменит ?

Есть, но стандартных слов тоже достаточно много. К тому же еще бывают нужны дополнительные понятия, чтобы реализовать эти самые стандартные слова.
В случае со смал32 все очень просто. В результирующий код войдет только то, что нужно для его исполнения. Можешь написать так build name name он тебе создат файл .xrf по-моему и в нем напишет, что же вошло в твой окончательный код.
WeTrust писал(а):
Просто рассматривая определения слов,со стороны
Forth казался неким сверх-макро...

Это нельзя назвать макро. Так как макро просто копирует определенный текст, ну иногда с некоторыми дополнительными возможностями. А форт все выполняет!)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Уголок чайника.
СообщениеДобавлено: Пт июл 21, 2006 22:39 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
WeTrust писал(а):
В др.компиляторах есть слова view или help,которые помогают(помогут :D ) что-то
прояснить...Как это сделать в Small32 ?


научиться смотреть, что находится в скачанном архиве -- там толстенная документация лежит

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


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

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
oleg
Цитата:
Есть, но стандартных слов тоже достаточно много. К тому же еще бывают нужны дополнительные понятия, чтобы реализовать эти самые стандартные слова.

Нашел. :D Называется 4сmp.Aвтор
Tom Almy
Моя прОстота ложится в ~ 100 байт.
Спасибо за отклики-ушел учиться.
forth@km.ru
Цитата:
научиться смотреть, что находится в скачанном архиве -- там толстенная документация лежит

В библиотеках наверняка есть книги по квантовой механнике...Но не все библиотекари их читают.
Может им и интересно,но базы нет.
Вот и у меня нет базы.Не понятно было что искать...


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

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


в твоем случае эти книги ты держал в руках стопкой, но взял только одну с самой красивой обложкой (forth.exe) и даже не просмотрел оглавления остальных :) бывает...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 22, 2006 15:04 
Не в сети

Зарегистрирован: Пт июл 21, 2006 07:03
Сообщения: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
forth@km.ru
Цитата:
и даже не просмотрел оглавления остальных :) бывает...

"Бывает все на свете хорошо...
В чем дело сразу не поймешь..."
Вернемся к делу :D
У меня вопрос по словам-генераторам.
: <имя генератора> CREATE
<cоздающая часть> DOES> <исполняющая часть> ;
В <cоздающей части> могут
использоваться какие нибудь
выражения (?).Не только , но и что нибудь еще ?
Например
: gop CREATE FALSE 16 + , DOES> @ . ;
Хочется чтобы выводилось 16,
ан нет...Или не должно ?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 22, 2006 15:21 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
WeTrust писал(а):
: gop CREATE FALSE 16 + , DOES> @ . ;
Хочется чтобы выводилось 16,
ан нет...Или не должно ?


FALSE - это формально 0
т.е. после CREATE получается 0 16 + , - что равносильно 16 ,, соответственно, слово созданное через gop будет выдавать 16 на экран. Если это не так, значит реализация Форта другая. Может, например, где-то не совпадать разрядность.

А после CREATE может быть все что угодно. И даже DOES> может отсутствовать.

[добавлено через 5 минут]
P.S. проверил сейчас на своем Форте
Код:
: gop CREATE FALSE 16 + , DOES> @ . ;
gop hop
hop
16 OK

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


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

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


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

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


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

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