SP-Forth

SP-Forth
Тип Форт-система
Разработчики Андрей Черезов и другие участники RU-Fig
Написана на Forth
Операционные системы Windows, Linux
Первый выпуск 1992
Последняя версия 4.20 (21 января 2009)
Лицензия GPL
Сайт spf.sourceforge.net

SP-FORTH — реализация языка Forth, начатая калининградским программистом Андреем Черезовым в 1992 году[1]. В настоящее время проект развивается силами ряда участников русской Forth Interest Group (RU-FIG)[2]. В основном реализует стандарт ANSI 94, хотя имеет ряд отличий и расширений[3]. Изначально работал под управлением операционной системы MS DOS, начиная с 3-й версии — Windows, в настоящее время имеется также Linux-версия.

Библиотеки расширений

  • Форт-ассемблер
  • поддержка многопоточности
  • поддержка межпоточного и межпрограммного взаимодействия (мутексы, семафоры, каналы и т.д.)
  • поддержка многозадачности и работы в качестве CGI-приложения
  • полная поддержка сокетов - инкапсуляция функций сокетов в более удобные для использования в Форте
  • готовые библиотеки для создания интернет-серверов и клиентов
  • поддержка функций построения пользовательского интерфейса - окон, диалогов, иконок, кнопок, тулбаров, ListView, TreeView и т.д.
  • поддержка графических функций
  • генерация Exe-файлов
  • доступ к базам данных через ODBC
  • программирование сервисов Windows NT
  • поддержка Crypt API
  • реализация ООП-расширений Форта
  • поддержка DCOM/COM/ActiveX/OLE
  • готовые примеры использования всех библиотек.

Использование

Имеет определённую известность благодаря написанному на его базе Андреем Черезовым коммерческому пакету EServ[4]. Другой популярный прикладной пакет, написанный на SP-Forth — это утилита для автоматизации Windows nnCron.

В качестве примера использования в традиционной для Форта области управления аппаратурой можно назвать систему регистрации изображений, созданную в Алтайском Государственном университете А. В. Калачевым[5].

Проект URL Описание
eserv.ru HTTP/FTP/SMTP/POP3/IMAP сервер и прокси для Win32
(множество проектов)
delosoft.com форт-системы для pocket PC
nncron.ru unix-подобный cron планировщик для Windows со скриптами
forth-script.sf.net SP-Forth как CGI
acweb.sf.net HTTP-сервер для Win32
acfreeproxy.sf.net http proxy-сервер
acftp.sf.net ftp-сервер

Версии

v1.0

Безуспешные поиски хорошей Форт-системы для IBM PC привели к написанию своего транслятора Форта. Он появился на свет летом 1992 года и v1.0 стала основой всех последующих версий: базовые словари v1.01-1.5 были переработками и усовершенствованиями исходного текста v1.0.

v1.5

С версии 1.5 начались существенные изменения в SP-Forth. За полгода работы с первыми версиями SP-Forth выявлены все "узкие места" этих реализаций, учтены пожелания пользователей, добавлены расширения. Написана зимой 1993.

v2.0 Beta

Ноябрь 1993

  • серия экспериментов со всеми существующими разновидностями шитого кода привела от прямого шитого кода через косвенный к подпрограммному: SP-Forth 2.0 генерирует на этот раз "настоящий машинный код".
  • SP-Forth "извлечен" из сегмента 64К: v2.0 работает в адресном пространстве 256К и больше.
  • код отделен от данных: маш.код, находящийся в сегменте CS, не модифицируется в период исполнения (может изменяться в процессе компиляции) и может работать в ПЗУ (по многочисленным просьбам разработчиков контроллеров). Вся модифицируемая часть ядра, переменные и т.п., помещена в сегменте DS.
  • информация для компилятора (словарные структуры) отделена от кода и данных и помешена в отдельный сегмент ES. В готовой программе он может отсутствовать (и по умолчанию отсутствует).
  • стек вынесен за пределы сегмента данных (хотя при желании его можно вернуть туда).
  • теперь SP-Forth генерирует EXE-файлы вместо COM. Минимальный размер работающего EXE-файла в этой версии - 64 байта.

v2.5

Май 1994

  • ядро соответствует ANS-стандарту 1994 года;
  • из ядра исключены многие устаревшие и нестандартные слова;
  • семантика некоторых слов изменилась в соответствии со стандартом;
  • несколько повышена общая производительность;
  • стандартные множества слов CORE, EXCEPTION, SEARCH, FILE, MEMORY реализованы в ядре; стандартные расширения CORE-EXT, DOUBLE, FACILITY, TOOLS, STRING представлены в виде библиотек (исходники) и частично присутствуют в ядре.

v2.5.13

Последний официальный релиз версии SP-Forth для DOS. Дальнейшее развитие дос-версий не планируется. Следующие версии SP-Forth будут работать под Win32.

v3.01

Январь 1996

  • переход с платформы DOS на Win32;
  • новый целевой компилятор;
  • все CODE-слова переписаны в 32-разрядном варианте;
  • отказ от 4-сегментной модели памяти в пользу плоской модели win32;
  • заголовки словарных статей и данные снова "перемешаны" с кодом, как в SP-Forth v<2.0, но в структуре заголовков сохранена возможность их отделения от кода и данных;
  • доступны все функции Windows через конструкцию "WINAPI:";
  • ядро использует только вызовы KERNEL32.DLL;
  • как и в версиях 2.* используется подпрограммный шитый код, но многие детали кодогенерации изменены;

v3.70

Является переработанной версией SPF/3.14. Основные цели переработки - компиляция SPF самим собой, улучшение обработки ошибок форт-системой, "потоко-безопасность" всех слов для организации многопоточности уже на уровне ядра SPF.

  • SPF/3.70 компилируется предыдущими версиями SPF - SPF/3.0-3.16 раньше SPF/3 компилировался только by Win32for SPF/3.70 может компилировать и сам себя. Правда полученные exe будут различаться по адресам привязки в памяти (на hex 20000).
  • Вместо одного файла с исходным текстом - теперь больше 30-ти, разбито по "темам", зависимости от ОС, уровню и т.п. Удобнее ориентироваться и портировать независимые части.
  • Добавлены средства работы с USER-переменными - традиционный для многозадачных форт-систем способ исключить взаимные влияния потоков на общие переменные. Многопоточность привнесена на уровень ядра - в SPF/3.1x она прилеплялась сверху в виде библиотеки ts2.txt и патчей для READ-FILE и WRITE-FILE, что было не совсем полноценной реализацией нужных функций. Все форт-слова SPF теперь можно свободно использовать в многопоточном режиме без конфликтов по общим переменным и буферам - при создании потока автоматически создаются собственные копии этих областей данных.
  • Механизм структурированной обработки исключений Форта CATCH/THROW объединен с принятым в Windows сишным механизмом ловли исключений SEH, что позволяет превращать даже аппаратные исключения (деление на ноль, обращения по неверному адресу и т.п.) в THROW Форта и обрабатывать их программно без GPF-окон Windows. Это значительно упрощает отладку - при грубых ошибках Форт-система не завалится, а выдаст подробный дамп исключения - код ошибки, место ошибки (адрес и имя слова) и содержимое регистров. Этот механизм также многопоточный, в отличие от реализации в SPF/3.15, который приходилось исправлять внешними библиотеками.

v4.0

Январь 2001 SP-Forth/4.0 выпущен под именем SPF4 и с GPL лицензией.

Примечания

  1. Страница Андрея Черезова. Дата обращения: 5 апреля 2012. Архивировано 27 марта 2012 года.
  2. RU FIG. Дата обращения: 18 мая 2022. Архивировано 25 апреля 2022 года.
  3. Особенности SPF. Дата обращения: 5 апреля 2012. Архивировано 4 февраля 2012 года.
  4. Forth in Russia: present state and standardization efforts Архивная копия от 23 сентября 2015 на Wayback Machine, Михаил Колодин, доклад на конференции EuroForth99
  5. А.В. Калачев. Система регистрации изображений на основе однокристальной цифровой камеры KAC-9630 // Журнал радиоэлектроники. — 2007. — № 6. Архивировано 3 октября 2008 года.

Ссылки

Read other articles:

もーれつア太郎 ジャンル ギャグ漫画 漫画 作者 赤塚不二夫とフジオ・プロ 出版社 小学館 その他の出版社 曙出版、立風書房、奇想天外社、講談社、竹書房、eBookJapan 掲載誌 週刊少年サンデー 発表号 1967年48号 - 1970年27号 アニメ:もーれつア太郎(第1作) 原作 赤塚不二夫 脚本 辻真先、雪室俊一、小沢洋、山崎忠昭、安藤豊弘鈴樹三千夫、三芳加也、小川敬一、山下圭...

 

UFMG An Unibersidad Minas Gerais (Universidade Federal de Minas Gerais, UFMG) in gidadaani nga insituto hin hiruhitaas nga pag-aram ha Brasil. Ini in nahimumutang ha Belo Horizonte, Minas Gerais, Brasil.  Usa ka turók ini nga barasahon. Dako it imo maibubulig ha Wikipedia pinaagi han pagparabong hini.

 

Адам Рапацький (24.12.1909, Львів -10.10.1970, Варшава) — польський політик, економіст і дипломат. Богдан Рапацький - український спортсмен, Універсальний кулачний бій Ю. А. Кострова. Рапацький — термін, який має кілька значень. Ця сторінка значень містить посилання на статті про ко...

American politician Governor Snelling redirects here. For Barbara Snelling, 78th Lieutenant Governor of Vermont, see Barbara Snelling. Richard SnellingOfficial portrait, c. 198076th and 78th Governor of VermontIn officeJanuary 10, 1991 – August 13, 1991LieutenantHoward DeanPreceded byMadeleine KuninSucceeded byHoward DeanIn officeJanuary 6, 1977 – January 10, 1985LieutenantGarry BuckleyMadeleine KuninPeter SmithPreceded byThomas P. SalmonSucceeded byMadeleine Kunin...

 

American classical composer This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (September 2023) (Learn how and when to remove this template message) For other people with similar names, see Joseph Jones, Joey Jones, and Joe Jones. Joe Jones in 1974 Joe Jones (1934–1993) was an American avant-garde musician associated wi...

 

Mestoğlu Datos personalesNombre completo Yiğit Hamza MestoğluNacimiento Estambul22 de abril de 2004Nacionalidad(es) Turquía TurquíaAltura 2.02 m.Peso 93 kg.Carrera deportivaDeporte BaloncestoClub profesionalClub FernerbahçeLiga BSL EuroligaPosición ala-pívotTrayectoria UCAM Murcia CB B (2020-2022) UCAM Murcia CB (2021-2023) -> Club Polideportivo La Roda (2022-2023) Fernerbahçe (2023-presente)[editar datos en Wikidata] Yiğit Hamza Mestoğlu (nacido el 22 de abr...

Wandering tinsmith This article is about itinerant tinsmiths. For other uses, see Tinker (disambiguation). Tinkerer redirects here. For the Marvel Comics villain, see Tinkerer (Marvel Comics). For the toys, see Tinkertoy. This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (May 2023) A photograph of a tinker by Ignacy Krieger, nineteenth century Tinker...

 

This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (July 2023) Enemies and Friends: The United Front in Chinese Communist History is a 1967 book by Lyman P. Van Slyke, published by Stanford University Press. It discusses the Chinese Communist Party (CCP). Background The author did much of his research towards this book at University of California, Berkeley. Van Slyke used documents, whi...

 

The Fondo Nacional de las Artes or FNA (in English: National Endowment for the Arts, Argentina), is a cultural public organization created in Buenos Aires on 3 February 1958. Its purpose is to promote cultural, educational and literary activities in Argentina. The FNA, a public institution run by the Argentinian central government, pioneered internationally because of its structure and prospective politics. It was the origin and source of renowned international bodies like the Fondo Internaci...

American online media company Whiskey MediaTypeOnline, mass mediaFoundedOctober 1, 2007FounderShelby BonnieSuccessorWhalerock IndustriesHeadquartersSan Francisco, California, United StatesProductsWebsitesWebsitewww.whiskeymedia.com  Whiskey Media was an American online media company founded independently by CNET co-founder Shelby Bonnie in 2008.[1] It was the parent company of Tested, Screened, and Anime Vice, and the former parent company of Giant Bomb and Comic Vine.[2]...

 

1987 studio album by MuslimgauzeAbu NidalStudio album by MuslimgauzeReleased1987LabelLimited Editions LIMITED 6Muslimgauze chronology Jazirat-Ul-Arab(1987) Abu Nidal(1987) Coup D'Etat(1987) Professional ratingsReview scoresSourceRatingAllmusic[1] Abu Nidal is an album by Muslimgauze titled after Abu Nidal. This album was dedicated to the PLO.[2] Although the album was only pressed to 12 vinyl, all songs on side B were later included on the CD compilation Coup D'Etat/Ab...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2019) هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (...

Glasgow is a city located on the banks of the River Clyde, in West Central Scotland. Climate Glasgow Climate chart (explanation) J F M A M J J A S O N D     142     6 2     99     7 2     110     9 3     60     12 4     63     16 7     63     18 10     68     20 12     84     19 12     116     16 9     132...

 

Mangatarem Munisipalitas di Filipina Tempat Negara berdaulatFilipinaRegion of the Philippines (en) IlocosProvinsi di FilipinaPangasinan NegaraFilipina PendudukTotal79.323  (2020 )Tempat tinggal19.840  (2020 )Bahasa resmiPangasinan, Bahasa Iloko dan Tagalog GeografiLuas wilayah317,5 km² [convert: unit tak dikenal]Ketinggian29 m Berbatasan denganUrbiztondo San Clemente Informasi tambahanKode pos2413 Kode telepon75 Data sensus penduduk di Mangatarem Tahun Populasi Persentase 1995...

 

Ship earth station aerials on board high-seas yacht Inmarsat ship earth station on poop of a yacht Ship earth station (also: ship earth radio station) is – according to Article 1.78 of the International Telecommunication Union's (ITU) ITU Radio Regulations (RR)[1] – defined as A mobile earth station in the maritime mobile-satellite service located on board ship. The ITU regulation requires that each radio station be classified according to the service in which it operates permanen...

Gráfica de un árbol de juego. En teoría de juegos, un árbol de juego es un grafo dirigido de tipo árbol cuyos nodos representan posiciones en el juego y cuyas aristas representan movimientos de los jugadores. Cualquier sucesión de jugadas puede representarse por un camino conexo dentro del árbol de juego. Si el juego acaba siempre después de un número finito de pasos, entonces el árbol tiene un número finito de nodos. El número de nodos en el árbol completo de un juego es el núm...

 

For the 2012 Russian film, see Spy (2012 Russian film). 2012 South Korean filmThe SpiesPromotional poster for The SpyKorean nameHangul간첩Revised RomanizationGancheopMcCune–ReischauerKanch'ŏp Directed byWoo Min-hoWritten byWoo Min-hoProduced byChun Seung-chul Kim Yong-chaeStarringKim Myung-minYum Jung-ahByun Hee-bongJung Gyu-woonYoo Hae-jinCinematographyKim Hak-sooEdited byKim Chang-juMusic byJo Yeong-wookProductioncompanyWoollimDistributed byLotte EntertainmentRelease date September...

 

The Bündner Wirren; or Revolt of the LeaguesPart of the Thirty Years' WarMonte Disgrazia 3,678m; the Valtellina PassDate1618–1639LocationSwiss canton of GraubündenResult The Three Leagues regain control of the Valtellina but allow free exercise of the Catholic faith.Belligerents The Three Leagues  France  Venice  Savoy Grison rebels  Holy Roman Empire SpainCommanders and leaders Jörg Jenatsch † Henri, duke of Rohan François Annibal d'Estrées Pompeius Plan...

ゲーブ・キャプラーGabe Kapler サンフランシスコ・ジャイアンツでの監督時代(2023年6月13日)基本情報国籍 アメリカ合衆国出身地 カリフォルニア州ロサンゼルス市ハリウッド生年月日 (1975-07-31) 1975年7月31日(48歳)身長体重 6' 2 =約188 cm190 lb =約86.2 kg選手情報投球・打席 右投右打ポジション 外野手プロ入り 1995年 MLBドラフト57巡目初出場 MLB / 1998年9月20日NPB / 2005年4月1日...

 

Opera by Edmond Audran For the 1962 film, see La poupée (film). programme for 1897 London production La poupée (The Doll) is an opéra comique in a prelude and three acts composed by Edmond Audran with a libretto by Maurice Ordonneau. The libretto was based on E.T.A. Hoffmann's Der Sandmann, about a friar who falsely promises to marry his rich uncle's daughter to fool his uncle into giving money to the monastery; the scheme involves creating a doll that looks like the daughter. The uncle's ...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!