faqs.org.ru

 Главная > Программирование > Другие языки >

FAQ по Forth

From: "Arkady V.Belousov" <ark@belous.munic.msk.su>
Date: Fri, 16 Feb 1996 12:50:53 +0300

			Standards are so wonderful that everybody should
			have at least one for their own.
			You must be different to be better.
			Just being different doesn't make you better.
			Tact is the art of letting others have your way.

				*** FORTH PROVERBS by Rick Hoselton ***

Добрый день, уважаемый почитатель языка Forth!

     Перед Вами - сборник часто задаваемых вопросов и ответов к ним по
языку Forth. *Пожалуйста*, постарайтесь прочесть этот список перед тем, как
задавать вопросы в конференции, особенно если Вы подозреваете, что Ваш
вопрос из регулярно задаваемых. Спасибо!


Последние изменения были сделаны 6 февраля 1996.
_Спасибо_ всем, приславшим статьи!


*NB*

- За основу были взяты FAQ List эх SU.OS2.*, ведомые Дмитрием Завалишиным.

- Данный лист распространяется как freeware, то есть никаких ограничений
  на манипуляцию этим листом не накладываются - трите, конвертируйте,
  распространяйте дальше, можно даже отлить скрижали. Единственная просьба:
  ссылайтесь на авторов при цитировании.

- Последние редакции этого FAQ List распространяются в конференциях
  RELCOM.FIDO.SU.FORTH (миррор Фидо-эхи SU.FORTH) и RELCOM.COMP.LANG.FORTH
  _пока_ на еженедельной основе. Также его можно получить на майл-серверах,
  поддерживающих хранение FAQ - имя архива смотрите в первых строках в
  Archive-name.

- Для большего удобства при поиске новых топиков помимо history и
  Содержания в начале каждого топика после имени автора будет ставиться
  дата последней модификации.


*History*

03.01
- Подправлено и расширено описание SMAL32 в таблице сравнений (авторы,
	платформа, библиотеки, реализация, TODO)
- Подправлено и расширено описание ПараФорт в таблице сравнений (объём,
	доступность, создание EXE)
- Добавлено описание GP-Forth
- Добавлен раздел литературы

04.02
- Расширена библиография
- Подправлено описание SMAL32 в таблице сравнений (TODO)
- Добавлено описание СП-Форт 3.01 для Windows

06.02
- Добавлены ссылки на авторов, на чьих коментариях основан данный FAQ List


*Содержание*
(* - есть модификации; + - есть добавления)

* А какие есть Форты?
* Литература


==============================================================================
/------/
> Q: А какие есть Форты?

A: (Vladimir Krasnyh, Alexandr Larionov, Igor V. Shastitko, Андрей Черезов)

/ПараФорт/
  Авторы:	НПП "Ирбис", (095) 583-14-92;
		141006, г. Мытищи, а/я 356, НПП "Ирбис".

  Релиз:	1992 (1994?), версия 2.03

  Доступность:	Коммерческий (?); дискета+документация (Руководство
		пользователя, Справочник пользователя, Оконная библиотека,
	Регистрационная анкета, Лицензионное соглашение); объём 540K

  Платформы:	Доступ к 640K линейно; файловая система MS-DOS

  Язык:		Forth-83; кириллица в именах

  Среда:	Турбо-среда; встроенная помощь; сохранение рабочего
		состояния; библиотека трассировки выполнения слов;
	компрессия библиотек; создание EXE-модулей (от 150K)

  Библиотеки:	Форт-ассемблер; вещественная арифметика; оконная
		библиотека; библиотека компрессии

  Реализация:


/SMAL32 Forth/
  Авторы:	Alexandr Larionov (2:5020/653), Serg Makarenkow
		(2:5020/370.20), Gregory Grigorenko (2:5020/653.2)

  Релиз:	Начало-середина января 1996

  Доступность:	Бесплатно для некоммерческого использования частными
		лицами; цена договорная

  Платформы:	DOS и DOS-окно под Windows95, Windows NT, OS/2, DesqView в
		защищённом режиме 386+ (экстендер PMODE) в режимах
	Raw/XMS/VCPI/DPMI; требуется 150-200K Extended, доступно в режимах:
	DPMI - до 64M, VCPI - до 4M, в прочих без ограничений

  Язык:		Полная поддержка обязательной части стандарта Forth-93
		(CORE, CORE EXT, DOUBLE), частичная других множеств слов;
	стандартные слова и стек 32-разрядные; поименованные локальные
	переменные + метки; расширенный вариант CASE-ENDCASE с диапазонами,
	множествами, логическими выражениями; SWITCH-ENDSWITCH; возможность
	EXIT внутри DO-LOOP; многострочные комментарии; слово INCLUDE с
	любой вложенностью

  Среда:	Диалоговый и пакетный режимы; резидентный гипертекстовый
		хелп, взаимодействующий с Форт-средой; несложная отладка:
	SEE (декомпилятор), ABOUT, WORDS, прочее; создание EXE-модулей от
	12K до 64M; многоуровневая условная компиляция; работа с внешними
	двоичными библиотеками

  Библиотеки:	ASCIIZ-строки; работа с портами, таймером, спикером,
		файлами, с динамической и памятью вне Форт-сегмента;
	сортировка, упаковка; 640*480*16, VESA-графика, палитра, шрифты

  Реализация:	Оптимизация под скорость выполнения; прямой шитый код с
		выравниванием на границу 4 байт; хэш-функции при поиске в
	словаре, рекомендованное стандартом управление порядком поиска;
	слова на ассемблере для замены часто повторяющихся действий;
	встроенный обработчик исключительных ситуаций защищённого режима

  TODO:		Перекомпиляция Форт-слова в слово на ассемблере; встроенный
		ассемблер без обратной польской записи; полноценный хелп;
	отладчик; интегрированная рабочая среда; поддержка множества слов
	FLOAT из ANSI-стандарта на сопроцессоре


/InfoFort/
  Авторы:	НПК Technofort, СПб

  Релиз:	4.2

  Доступность:

  Платформы:

  Язык:		Forth-83

  Среда:	Создание EXE-модулей (до 64K - 50K под код, остальное стеки
		и буфера)

  Библиотеки:	Форт-ассемблер

  Реализация:


/GP-Forth/
  Авторы:	Александр Ларионов (2:5020/653)

  Релиз:	версия 93.8 (август 93)

  Доступность:	freeware

  Платформы:	DOS

  Язык:		Forth-83

  Среда:	Даилоговый и пакетный режимы; имеется NG-help; создание
		COM-файлов

  Библиотеки:	ASCIIZ-строки; работа со спикером, памятью, файлами;
		прерывания и TSR, многозадачность; графика, 256-цветная
	анимация, редактор спрайтов

  Реализация:	Оптимизатор кода


/СП-Форт v3.01 for Windows 95/
  Авторы:	Черезов А.Ю. (andrey@pez.koenig.su)

  Релиз:	15.01.1996 - alpha1
		19.01.1996 - beta1
		собственно "официального" релиза пока не было

  Доступность:	Freeware/Sourceware - всеобщая бесплатная доступность с
		полными исходниками (с возможностью перекомпиляции всего,
	что поставляется в пакете); документация - текст стандарта и
	документированные по-русски исходники, плюс небольшой набор
	замечаний об особенностях конкретно СП-Форта 3.0.

  Платформы:	Win32 (Windows NT, Windows 95, Win32s).

  Язык:		Forth-94 - реализованы все средства, кроме опциональных
		расширений FLOAT*, LOCALS*, BLOCK*; 486 ассемблер Шнейдера
	1.23 (используется по договоренности с автором) и собственный
	целевой компилятор (всё в исходных текстах); совместимость с
	СП-Форт 2.5 на уровне стандартных высокоуровневых определений.

  Среда:	Стандартный фортовский консольный режим - собственного GUI
		пока нет; компиляция как в консольном, так и в GUI-режиме;
	генерация EXE-файлов PE-формата (win32).

  Библиотеки:	Все средства win32 через вызовы любых функций DLL.

  Реализация:	Подпрограммный шитый код; всё сделано на Форте и встроенном
		ассемблере; инструментальный Форт - win32forth v1.23; ядро
	СП-Форта 3.0 - полностью независимый EXE-модуль размером <30K.

  TODO:		Разработка коммерческих приложений и обрастание в процессе
		всеми необходимыми для этого средствами; в первую очередь
	сетевые прикладные СУБД и соответствующий инструментарий.


/Q-Forth/
/Ягуар/


/Empty/
  Авторы:
  Релиз:
  Доступность:
  Платформы:
  Язык:
  Среда:
  Библиотеки:
  Реализация:
  TODO:


/------/
> Q: А чтобы по Форту почитать?

A: (Mikhail Kolodin)

1. Баранов С.Н., Котляров В.П., Морозов Н.Б. Технология разработки
	программного обеспечения микро-ЭВМ: Расширяемые системы
	программирования. Учеб. пособие. - Л.: ЛПИ, 1988. - 96с.

Излагается технология сборочного программирования управляющих приложений на
микро-ЭВМ на базе расширяемых инструментальных систем. Наряду с аспектом
расширяемости рассматривается аспект эффективности. Особое место уделено
рассмотрению системы программирования на базе Форт и других систем на базе
концепции "шитого кода". Изложение иллюстрируется фрагментами кода систем
управления и контроллеров на микро-ЭВМ. Для студентов специальностей
"Автоматизированные системы управления", "Системы автоматизации
проектирования", "Электронные вычислительные машины", а также
специальностей, связанных с применением микро-ЭВМ и систем на их базе.

2. Баранов С.Н., Котляров В.П. Расширяемые системы программирования на
	персональных компьютерах для управляющих применений на базе языка
	Форт. - М.: Заочн.институт ЦП ВНТО приборостроителей им.
	С.И.Вавилова, 1989. - 65с.

3. Баранов С.Н., Ноздрунов Н.Р. Язык Форт и его реализации. - Л.:
	Машиностроение, 1988. - 157с.

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

4. Баранов С.Н. Стандарты языка Форт - Л.: ЛИИАН, 1987. - 88с.

5. Броуди Л. Начальный курс программирования на языке Форт: Пер. с англ. -
	М.: Финансы и статистика, 1990. - 352с.

Книга является практическим руководством по программированию на языке Форт.
Рассматриваются основные принципы организации системы Форт. Приведено много
примеров и наглядных иллюстраций, облегчающих восприятие излагаемого
материала. Для широкого круга специалистов.

6. Бураго А.Ю., Кириллин В.А., Романовский И.В. Форт - язык для
	микропроцессоров. - Л.: Знание, 1989. - 36с.

Брошюра предназначена для лекторов, а также изучающих и интересующихся
программированием на мини- и микро-ЭВМ, и для широкого круга читателей.

7. Диалоговые микропроцессорные системы /Под ред.Н.П.Брусенцова и
	А.М.Шаумана. - М.: Изд-во МГУ, 1986. - 148с.

В этом и последующих сборниках под редакцией Н.П.Брусенцова описываются
различные аспекты разработки и применения системы ДССП, концептуально
близкой к языку Форт.

8. Дьяконов В.П. Форт-системы программирования персональных ЭВМ. - М.:
	Наука. Гл. ред. физ.-мат. лит., 1992 - 352с.

9. Келли М., Спайс Н. Язык программирования Форт: Пер. с англ. - М.: Радио
	и связь, 1993. - 320с.

10. Марголус Н., Тоффоли Т. Машины клеточных автоматов: Пер. с англ. - М.:
	Мир, 1991. - 280с.

Книга американских специалистов, излагающая теорию клеточных автоматов
фон Неймана и машины клеточных автоматов на базе IBM PC с применением языка
Форт, используемой для моделирования физических процессов, при решении
комбинаторных, вычислительных и задач прикладной кибернетики. Изложение
отличается простотой и ясностью и рассчитано на первоначальное ознакомление
с предметом. Для математиков-прикладников, специалистов по теории
автоматов, физиков, аспирантов и студентов университетов.

11. Микропроцессорные средства обработки и отображения информации в
	системах управления и связи /Под ред. И.Е.Соловейчика. - М.: Радио
	и связь. 1988. - 160с. [стр.94-103, А.В.Капранова "Использование
	языка программирования Форт в системах отображения информации".]

12. Прикладная информатика /Под ред.В.М.Савинкова. Вып.15. - М.: Финансы и
	статистика, 1989. [стр.75-87, А.О.Вооглайд, В.А.Серебряков
	"Применение средств автоматизации построения трансляторов"]

13. Сборники научных трудов ЛИИАН:
	- Вопросы технологии программирования. - Л.: ЛИИАН, 1988
	- Инструментальные средства поддержки программирования. - Л.:
	  ЛИИАН, 1988
	- Актуальные вопросы технологии программирования. - Л.: ЛИИАН, 1989
	- Математические методы построения и анализа алгоритмов. - Л.:
	  Наука, 1990. - 238с.

    Сборники научных трудов ВЦ СО АН СССР:
	- Программное обеспечение задач информатики. - Новосибирск: ВЦ
	  СОАН, 1982
	- Разработка ЭВМ нового поколения: архитектура, программирование,
	  интеллектуализация. - Новосибирск: ВЦ СОАН, 1986

14. Семёнов Ю.А. Программирование на языке Форт. - М.: Радио и связь, 1991.
	- 240с.

Описан язык Форт, эффективный при решении задач управления, диагностики и
отладки аппаратуры в реальном масштабе времени, а также при создании
компактных баз данных на мини- и микро-ЭВМ. Анализируются особенности
автономной и многозадачной версии языка Форт. Рассмотрена технология
написания трансляторов для Форт. Приведены тексты программ, наиболее
употребительные библиотеки. Для программистов, специалистов в области
автоматизации.

15. Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных
	систем на персональных ЭВМ: Пер. с англ. - М.: Финансы и
	статистика, 1990. - 320с.

В книге доступно изложены основные методы и приемы программирования
экспертных систем. Технология программирования экспертных систем описана с
применением языка Форт. Стандарт Форт-83 имеется на отечественных микро-ЭВМ
ДВК-2М, ЕС-1840, Электроника-85. Большой интерес представляют приведенные в
книге тексты форт-программ, реализующих процедуры обработки списков и
методы логического программирования. Для специалистов в области экспертных
систем, профессиональных программистов, преподавателей и студентов вузов.

16. Управление перефирией в микрокомпьютерных системах: Сборник/Под ред.
	Н.П.Брусенцова, А.М.Шаумана. - М: Изд-во Моск. ун-та, 1988. - 168с.

17. Форт в исследованиях и разработках. Т.1, н.1, 1991 (Изд-во
	Ленинградского университета).

Сборник переводных статей из разных номеров журнала Journal of Forth
Application and Research, издаваемого в США.

18. Фрир Дж. Построение вычислительных систем на базе перспективных
	микропроцессоров: Пер.с англ. - М.: Мир, 1990. - 413 с.
	[стр.255-267]

19. Цейтин Г.С. На пути к сборочному программированию /Программирование,
	1990, н.1. С.78-92.


/------/
==============================================================================
/FYI/

- GoldEd 0611 имеет режим расцветки выделенных строк, используемых в данном
FAQ List.

- Если Вы нашли ошибку или устаревшую информацию, и готовы ее исправить,
присылайте, пожалуйста, свой вариант соответствующей статьи, желательно -
полностью заменяющий оригинал. Очень прошу присылать статьи оформленными в
соответствии с форматом FAQ List - этим Вы существенно ускорите их
обработку.


_Спасибо_ всем, кто прислал статьи!    Arkady Belousov aka ark@munic.msk.su

Вернуться в раздел "Другие языки" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru