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

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

Обзор темы - Язык Форт и его реализации
Автор Сообщение
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
mOleg писал(а):
вполне возможно, что пример делался именно для режима исполнения


Нет, там сказано, что можно использовать и в определениях через двоеточие.
Сообщение Добавлено: Ср сен 08, 2021 23:10
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
Blackice писал(а):
работает только при непосредственном исполнении, и не работает при использовании в теле определения через двоеточие.

вполне возможно, что пример делался именно для режима исполнения
Сообщение Добавлено: Вт сен 07, 2021 16:26
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
mOleg писал(а):
была такая тема преобразование скобочной записи в постфикс
может поможет.


Спасибо, просмотрел.

Я имел ввиду, что в примере из книги пропущено выделенное слово:
: ПЕРЕМ CREATE IMMEDIATE 0 , DOES> [COMPILE] LITERAL
?ЗНАЧ @ IF STATE @ IF COMPILE @ ELSE @ THEN THEN ; IMMEDIATE

и как следсвие, инфиксная запись из примера, работает только при непосредсвенном исполнении, и не работает при использовании в теле определения через двоеточие. А с этим фиксом, работает во всех случаях.
Сообщение Добавлено: Вс сен 05, 2021 23:09
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
была такая тема преобразование скобочной записи в постфикс
может поможет.
Сообщение Добавлено: Вс сен 05, 2021 19:23
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
Наверное лучшая книга по устройству форт систем, ну или точно одна из лучших, не потерявшая актуальность и сегодня. Для меня форт всегда был какой-то диковинкой, форт-слова воспринимались как магические заклинания, которые непостижимым образом воплощали програмную идею в реальность. Она лежала на полке еще с 90х годов (подаренная знакомым железячником - бери, тебе может больше пригодится), но осилил ее только года 2 назад. Желание разобраться в вопросе углубленно вылелось в разработку собственного форта (С/С++, ASM, 64 бита, виндовс) со всеми вытекающими. (Вот до чего человека может довести чтение :) ).

После лирического отступления, собственно вопрос. Только что разбирал пример из главы 3.2 Инфиксная запись формул, а заодно и адаптировал под свой форт. Добился работоспособности примера при непостредственном исполнении, однако при вставке выражения в тело определения через двоеточие сыпались ошибки. В тексте приводится определение слова для переменных:

Код:
          : ПЕРЕМ CREATE 0 , DOES> [COMPILE] LITERAL
            ?ЗНАЧ @ IF STATE @ IF COMPILE @ ELSE @ THEN THEN ; IMMEDIATE

\ все работает:
          ПЕРЕМ A  ПЕРЕМ B   
          А := 10 ;  B := 15 ; 
          A := ( A + B ) * ( A - B ) + 2 ;
         ." A: " A @ . CR
         ." B: " B @ . CR

\ но при компиляции в теле определения
        ПЕРЕМ A  ПЕРЕМ B
        : infix-test
            А := 10 ;  B := 15 ;
            A := ( A + B ) * ( A - B ) + 2 ;
           ." A: " A @ . CR
           ." B: " B @ . CR
        ;
infix-test <cr>  - креш...


В конце-концов разобрался и понял, что для того чтобы использовать это в теле определения необходимо добавить к определению ПЕРЕМ слово IMMEDIATE после CREATE, чтобы созданное этим определением слово имело признак немедленного исполнения и таки исполнялось при компиляции, исполняя код после DOES> и компилируя литерал и разименовывание указателя в тело определения через двоеточие:

Код:
          : ПЕРЕМ CREATE IMMEDIATE 0 , DOES> [COMPILE] LITERAL
            ?ЗНАЧ @ IF STATE @ IF COMPILE @ ELSE @ THEN THEN ; IMMEDIATE


После этой поправки все заработало в обоих вариантах. Интересно, кто-нибудь разбирал этот пример? Это ошибка в книге или у меня мой-форт глючит?
Сообщение Добавлено: Чт сен 02, 2021 23:25
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
_KROL писал(а):
KPG писал(а):
Книга в PDF формате

P.S. Какие то ссылки в топике не открыватся.
А это, если не секрет, твой сервер? Так много всего :D


Нет, не мой. Случайно при i-net сёрфинге попался. :)
Сообщение Добавлено: Ср мар 07, 2018 11:04
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
KPG писал(а):
Книга в PDF формате

P.S. Какие то ссылки в топике не открыватся.
А это, если не секрет, твой сервер? Так много всего :D
Сообщение Добавлено: Вт мар 06, 2018 23:39
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
Книга в PDF формате В Веб архиве

Изображение
Сообщение Добавлено: Чт мар 01, 2018 23:09
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
kzagradskiy писал(а):
mOleg пост "Язык Форт и его реализации" с подробным описанием сформирован. Перенесите, как и предлагалось, его или в начало или в другой пост.

готово
Сообщение Добавлено: Чт окт 15, 2015 20:28
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
mOleg писал(а):
kzagradskiy писал(а):
Дайте возможность править первое сообщение темы в разделе Книги.

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

Hishnik, mOleg пост "Язык Форт и его реализации" с подробным описанием сформирован. Перенесите, как и предлагалось, его или в начало или в другой пост.
Сообщение Добавлено: Вс окт 11, 2015 10:34
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
Название: Язык Форт и его реализации

Авторы: С.Н. Баранов, Н.Р. Ноздрунов

Издательство: «Машиностроение» Ленинградское отделение, Ленинград

Год: 1988

Обложка:
    Изображение

Описание (из книги):
    Система программирования на Форте (форт-система) обычно обеспечивает полный набор средств поддержки для разработки и исполнения программ: операционную систему, интерпретатор для диалогового исполнения, компилятор, ассемблер, текстовый редактор и обслуживающие программы. Все эти компоненты являются расширениями Форта и написаны на том же Форте. Таким образом, Форт является одновременно и системой для пользователя, и собственной метасистемой, т.е. системой, описывающей саму себя (см. приложение 1). В соответствии с общим принципом Форта в форт-системе используется минимум правил и накладывается минимум ограничений, т.е. она обходится почти без синтаксиса, жестко контролируемых интерфейсов для взаимодействия модулей, закрытых для пользователя областей памяти, имеет лишь незначительный по объему встроенный контроль ошибок. Это обеспечивает максимум возможностей для программиста, включая возможность изменять, добавлять или удалять любую часть системы, позволяет расширять систему в заданном направлении и вместе с тем сохраняет ее относительную независимость от аппаратуры.

    В нашей стране также шли поиски принципов, аналогичных тем, которые ныне определяют язык Форт, в большей степени исходя из теоретических основ программирования . Эти работы привели к созданию интересных систем ДССП, КОМФОРТ, системы программирования на основе понятия "рабочей смеси" и других. Интерес к языку Форт возрастал по мере получения сведений о нем и достижения собственных результатов в этой области. Усилиями энтузиастов созданы самостоятельные реализации Форта, которые получают распространение наряду с заимствованными реализациями (см. приложение 2). Язык Форт включается в программное обеспечение школьных компьютеров. Ведутся работы по аппаратной реализации этого языка. В 1985 г. в рамках Рабочей группы по технологии программирования микропроцессорной техники при Комиссии по технологии программирования при ГКНТ была создана целевая подгруппа по языку Форт и родственным системам, задачей которой является обобщение и распространение опыта практического применения этих средств в различных областях.

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

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

Краткое содержание:
    Предисловие
    Глава 1. Введение в Форт
      1.1. Основные понятия
      1.2. Работа в диалоговом режиме
      1.3. Стек данных и вычисления
      1.4. Введение новых слов
      1.5. Константы и переменные, работа с памятью
      1.6. Логические операции
      1.7. Структуры управления
      1.8. Литеры и строки, форматный вывод чисел
      1.9. Определяющие слова
    Глава 2. Реализация и расширения
      2.1. Шитый код и его разновидности
      2.2. Структура словарной статьи
      2.3. Стек возвратов и реализация структур управления
      2.4. Управление поиском слов
      2.5. Реализация определяющих слов
      2.6. Встроенный ассемблер
      2.7. Работа с внешней памятью
      2.8. Интерпретация входного потока
      2.9. Целевая компиляция и модель форт-системы
    Глава 3. Примеры программных разработок
      3.1. Средства отладки форт-программ
      3.2. Инфиксная запись формул
      3.3. Локальные переменные
      3.4. Векторное поле кода
      3.5. Выбор по целому
      3.6. Динамическая идентификация
      3.7. Многозадачный режим
      3.8. Сопрограммы
      3.9. Запланированное перекрытие
      3.10. Элементарная машинная графика
      3.11. Реализация встроенного ассемблера
    Приложение 1. Модель форт-системы
    Приложение 2. Распространенные форт-системы
    Список литературы

Ключевые слова:
    слово, значение, адрес, код, определение, исполнение, язык, память, задача, машинный код, реализация, интерпретатор, состояние стека, словарь, форт, компиляция, программист, буфер, последовательность, указатель, форт-системы, терминал, адресный интерпретатор, структура, ассемблер, контекст, целевой компилятор, ЭВМ, блок, механизм, кодофайл

Стандарт языка: [Форт-83]

Ссылки:
Сообщение Добавлено: Сб окт 10, 2015 12:13
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
"Язык Форт и его реализации" в формате DjVu на balancer.ru: [ссылка]
Сообщение Добавлено: Ср сен 30, 2015 22:42
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
"Язык Форт и его реализации" онлайн на gudleifr.h1.ru: ссылка.

Спасибо gudleifr.
Сообщение Добавлено: Вт авг 25, 2015 21:59
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
В виде книг. Одна затерта до дыр, другая имеет вполне нормальный вид.
Сообщение Добавлено: Сб авг 21, 2010 12:48
  Заголовок сообщения:  Re: Язык Форт и его реализации  Ответить с цитатой
в каком виде экземпляры и где?
Сообщение Добавлено: Пт авг 20, 2010 14:16

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


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