Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт сен 10, 2026 02:02

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Forth over MediaWiki
СообщениеДобавлено: Пт янв 16, 2026 17:21 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1381
Благодарил (а): 4 раз.
Поблагодарили: 20 раз.
Чтобы обеспечить победоносное шествие языка программирования форт по всей планете предлагаю захватить вики-среду, навязав всем форт :))

Вводные
  • Вики-проекты работают на движке MediaWiki
  • Работающий в движке язык шаблонов (макросы для бедных) откровенно хренов.
  • В стандартную поставку MediaWiki входит скриптовый движок Lua.
  • Напрямую писать скрипты для вики-сайта с помощью Lua нельзя. Те же самые макросы на Lua делаются через обвязку.

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

Без лишних танцев с бубном реализовать форт-машину мы можем на том же Lua. Для нас главное вывести скриптинг из закромов на уровень вики-текста.

Недостатки такого решения:
  • Мы не можем использовать некоторые комбинации и специальные символы: {{ }} |
  • Результат скрипта будет кэширован. Динамические свистопляски возможны только с лагом в 10-15 часов)

Встроенный скрипт на форте будет выглядеть как-то так:
Код:
{{forth|script=

'style' var? \\ передана ли в скрипт именнованная переменная с именем style
if
   'style' get \\ если да, кладём на стек значение переменной
else
   'font-color:green' \\ если нет, кладём на стек строку
then

value style-link \\ создаём переменную и записываем туда значение со стека

L2
if
   L1
   '<span style="' .. style-link .. '">' .. L2 .. '</span>'
   create-link
else
   `[[<span style="` .. style-link .. `">` .. L1 .. '</span>]]'
then
\\ Ниже идут переменные, которые будут использоваться в скрипте
|переменная 1
|переменная 2
}}


Этот код должен красить ссылку в вики-тексте в зелёный цвет, если не выбран какой-то другой цвет/стиль. Счас у меня это реализовано на языке шаблонов, но решение на нём хрен поменяешь и масштабируешь.

Почему именно forth?
Простота реализации – создать интерпретатор форта можно на чём угодно.

Требования к реализации форта
Требование всего одно – просто