Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 06:11

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Язык или подход к программированию?
СообщениеДобавлено: Пт окт 14, 2022 12:44 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
т.к. есть достаточно много разных языков программирования конкатенативной направленности и на этой Wiki и достаточно близкие Форт,
то, возможно, и какие то дизайн решения из этих языков использовать в рамках "своего" Форта. :)

P.S. В качестве затравки немного поизучал близкий Форт язык LSE64 и некоторые моменты его дизайна выглядят необычно, но вполне интересно.

Например в LSE64:

1. слова сравнения устанавливают переменную флага и в отличии от Форта всегда нужно применять их в отличии от Форт где само число в стеке можно использовать как флаг.
2. Сами слова if ifelse допускают только вызов одного (двух) слов - в Форт между IF ... ELSE ... THEN их любое количество.
3. За счёт того, что можно записывать цепочечное определение слова с одним названием то за счёт общего флага есть возможность не использовать CASE, а при ложном флаге выполнения слова и наличия с тем же именем ещё слова выполниять их последовательно до их исчерпания или позитивного флага результата в очередном слове,
4. Добавлены и некоторое количество необычных слов как, к примеру || && (выход из слова если True False)
и так как для циклов есть "одно" слово repeat (повтор тела слова) то нет необходимости в BEGIN UNTIL WHILE словах.
...
Возможно такие и другие фишки "укорачивают" код программы.

Аналог слова WORDS - dictionary
вместо точки - запятая в разном исполнении. :)
Слово COUNT - переменная счётчика цикла.

формат определения слова Имя : тело
(видется, при использовании Имени-токена до его конкретизации контекста к приведению возможности его использования СЛОВ и как сообщения в Форт системе по аналогии со Smaltalk парадигмой основанной на сообщениях)
...
[] ( addr n -- addr+n )
...

LSE64 on Github
Форк LSE64 (с какими то изменнниями от оригинала)

Ядро LSE64 написано на Cи и небольшое судя по исходникам, а при старте расширяется из файла boot.lse
После сборки под Linux собирается и Deb файл с помощью программы checkinstall

https://rosettacode.org/wiki/Category:LSE64 (почти нет решений на LSE64)


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

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


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

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


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

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