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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - [BF] простейшее приложение для старого компилятора
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
в таком варианте ЦК вроде-бы пока криминала нет -- есть даже гибкость: хочем пишем слова как макросы, хочем выделяем их в отдельные процедуры, вызываемые в байт-коде через call/ret (тратится память и время на их выполнение)
Сообщение Добавлено: Вт май 29, 2007 20:31
  Заголовок сообщения:  [BF] простейшее приложение для старого компилятора  Ответить с цитатой
Код:
\ простейшее приложение для BF

{ EMPTY
   bye
}

save" EMPTY"


Как видно из кода, используется нестандартный диалект Форта. Слова определенные через { } компилиируются в целевой код как самостоятельные процедуры. Если использовать традиционное определение через : ; получаются макросы -- когда имя макроса встречается в исходнике, макрос запускается, компилируя в простейшем случае байт-код команд, или делая какую-то более сложную работу типа ООП, генерацию файлов данных и т.п.

В конце программы идет слово SAVE", которое пишет скомилированный байт-код из буфера ЦК в файл и выполняет BYE, так что далее в исходнике может идти все что угодно -- ЦК завершает свою работу.
Сообщение Добавлено: Вт май 29, 2007 20:29

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


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