Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Язык программирования (и ОС) ФОРТ (FORTH) 0024: Первые шаги


Информационный Канал Subscribe.Ru

Читать это раздел книги нужно обязательно за компьютером, запустив 2-3
форт-системы, способные работать под вашей операционной системой и на
эмуляторах других систем. Обязательно одна из них должна соответствовать
стандарту FORTH-83, а другая FORTH-94, и чтобы они работали в эмуляторах
совершенно разных систем (например Palm, ZX Spectrum и версия для Win), чтобы
вы на собственном опыте прочувствовали разницу между ними, и старались писать
свои программы так, чтобы они работали без изменений под любой форт-системой.

В этой книге я ограничусь примерами для нескольких форт-систем:

SP-FORTH Win32, FORTH-94

SMAL32 DOS DPMI, мощная 32-битная система с поддержкой графики,
многозадачности, встроенным ассемблером i386 и т.д., нестандартная. Если
решить проблему с обработкой прерываний, получится неплохая операционная
система, загружаемая из под DOS

GP-FORTH DOS 16, классический 16-битный FORTH-83, предок SMAL32

Dragon Forth FORTH-94, Palm

ZX Forth FORTH-83, ZX Spectrum

Если вы решите использовать другие Форты, сверяйтесь с документацией на вашу
систему, и если ее поведение будет отличаться от того, что сдесь написано,
обязательно напишите мне, чтобы я добавил ваш Форт в этот список. Кстати, в
случае таких странностей также обязательно свяжитесь с автором вашего Форта --
если он еще не забросил проект, авторам всегда нужна обратная связь.

То же можно сказать и про эту книгу, но конкретно для книги и любых разделов
этого сайта вы также можете сами принять участие в развитии, если конечно
знаете что такое CVS и сувствуете достаточно сил для того, чтобы работать над
продвижением Форта (редактирование и создание документации, работа над кодом
проектов).

Итак, первым шагом от вас требуется скачать несколько форт-систем и эмуляторов
ПК и других платформ, чтобы работать с форт-системами для других ОС и даже
типов компьютеров (Palm, ZX Spectrum, пакеты для разработки программ для
встраиваемых систем). Скажу даже жестче -- использовать эмуляторы обязательно,
иначе вы привыкнете писать программы только для персоналок (ПК на 80x86
процессорах) и для одной ОС. То же для любых других языков. В книге я буду
использовать форт-системы как минимум для Win32, UNIX (Linux), DOS и PalmOS.
Другие системы по вашему заказу. Для микроконтроллеров нужно сначала
проработать книгу целиком, освоив написание ассемблеров и кросс-компиляторов
на Форте. Для UNIX можно вместо эмулятора воспользоваться доступом по
telnet/SSH/X11 на ближайший сервер в вашей локалке.

Прежде всего нужно научиться запускать и останавливать Форт.

Для запуска эмуляторов и установки ОС в эмуляторе см. соответствующую
документацию в комплекте к эмулю. По установке и запуску форт-систем см. их
доку (например для SMAL32 возможно придется отредактировать файл SMAL32.INI).

Запуск Форта

зависит от ОС:

Win/DOS: укажите полный путь к бинарнику или положите его в один из каталогов
в переменной среды PATH:
C:\> spf4
C:\> smal32

UNIX: установите пакет с Фортом, введите имя бинарника в командной консоли или
запустите Форт-систему из меню в вашей графической среде

PalmOS: инсталлируйте .prc с форт-системой в эмулятор (в Win перетащите
forth.prc в окно POSE, и попереключайте launcher чтобы появился значок Форта)

Выход из Форта

Введите команду

bye[Enter]

маленькими буквами, если не сработает --

BYE

Если bye не сработал, значит ваша форт-система регистро-зависимая -- команды
(форт-слова) cmd, Cmd, CMD, cmD это разные слова. В этом случае вам придется
привыкать держать [Shift] при вводе текста программ или включать [CapsLock].

Если ваша Форт регистро-независимый, то внимательно следите за регистром и
именами -- многие исходники будут глючить. В SMAL32 есть возможность выключать
регистро-независимость.

Новые слова

Режим интерпретации -- режим работы форт-системы, когда она вводит текст с
клавиатуры, файла или другого устройства хранения (блок на Flash-карте) или
передачи данных (последовательного порта, модема), последовательно

1. выделяет слова по символам-разделителям (пробелы, символы табуляции,
управляющие символы типа конца строки),

2. выполняет поиск каждого слова

3. выполняет найденный блок кода

4. если слово не найдено пытается распознать слово как число

5. выводит сообщение об ошибке

Слово (форт-слово) набор символов (от ! до ~ см. таблицу ASCII кодов символов,
некоторые Форты допускают использование кириллицы), которому ставится в
соответствие блок кода, существующий в форт-системе.

При вводе слова в режиме интерпретации (режим по умолчанию при запуске Форта)
форт-система ищет этот блок кода по его имени и выполняет. Если блок кода не
найден, выводится сообщение об ошибке.

Форт 

1. ассемблеро-подобный расширяемый язык программирования
2. языковая среда или компилятор
3. операционная система
4. хакерская религия

Форт-система см. Форт, включает компилятор, также может включать интерфейс
командной строки, ассемблер, текстовый редактор, дизассемблер, дизФорт
(восстановление кода слова по его скомпилированному коду), библиотеки и т.д.
Обычно под форт-системой имеется в виду интерактивная языковая среда
(командный интерфейс, аналогичный традиционным BASIC-системам)

--------------------------------------------------------------------------------

если возникнут вопросы по установке и использованию эмулей VirtualPC, bochs,
ОС Linux, DOS, QNX, пишите на forth@km.ru

из микроконтроллеров рекомендую AVR -- софт для разработки бесплатный, чипы
быстрые (тактовая до 16 МГц, команда 1-2 такта), дешевые (от 70 р), доступные
(в любом магазине радиодеталей). Если хотите играться с MCS-51 (Atmel
AT89S8252), ищите симулятор SIM8052.

================
http://akps.ssau.ru
forth@km.ru
FidoNet SU.FORTH 2:5057/18.29
tel.: +7 8462 28 9910 (work), 15 4313 (home)

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.forth
Отписаться
Вспомнить пароль

В избранное