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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Сб июл 24, 2021 14:57 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
zma писал(а):
как тестировать встраиваемый Форт-движок, в котором соответствующих возможностей (плавучка, GUI, сеть) может не быть? Добавить их и таким образом проверить расширяемость системы?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Сб июл 24, 2021 16:30 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 140
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Я неточно выразился, под встраиваемым подразумевал встраиваемый в программу на другом языке, он приобретает специализацию в рамках этой программы. Но суть понятна, спасибо за ответ


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Пн июл 26, 2021 12:29 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 181
Откуда: Москва
Благодарил (а): 33 раз.
Поблагодарили: 6 раз.
Hishnik писал(а):
1. Решить квадратное уравнение ( a, b, c -- x1, x2, t | f )

:D Кстати, а зачем t/f? Ведь 2 решения (действительные, совпадающие или комплексные) есть всегда... Лучше признак real/complex сделать... :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Пн июл 26, 2021 20:05 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Total Vacuum писал(а):
Кстати, а зачем t/f? Ведь 2 решения (действительные, совпадающие или комплексные) есть всегда... Лучше признак real/complex сделать...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Пн авг 02, 2021 02:00 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 140
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Дополнил свой Форт-движок словами, необходимыми для указанных примеров. Теперь могу на Форте описывать GUI, почти как в Кварке! :pilot2;

Изображение

Изображение

Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Пн авг 02, 2021 02:33 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Ого! А что за библиотека в основе? Неужели чистое GDI?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Пн авг 02, 2021 10:24 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 140
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Hishnik писал(а):
Ого! А что за библиотека в основе? Неужели чистое GDI?

IUP для создания окон и CD (Canvas Draw) для рисования на холсте. IUP позволяет описывать окно, его элементы и их расположение иерархически, что позволяет не указывать явные координаты каждого элемента.

Описание окна программы построения графика синуса. Слова VERTICALLY и HORIZONTALLY создают контейнеры, автоматически размещающие дочерние элементы вертикально и горизонтально соответственно. Слова ->, S-> и F-> устанавливают значение атрибута создаваемого элемента в целое, строку или число с плавающей точкой. Слово AS-ACTION устанавливает строку на Форте в качестве обработчика события "ACTION" (для кнопки - нажатие, для холста - перерисовка при разворачивании или перемещении окна).
Код:
WINDOW MAIN
  " График синуса " S-> TITLE
  0 -> RESIZE
  VERTICALLY
    HORIZONTALLY
      LABEL AMP
        " Амплитуда:" S-> TITLE
      END
      TEXT AMP.TEXT
        " HORIZONTAL" S-> EXPAND
        1.0 F-> VALUE
      END
    END
    HORIZONTALLY
      LABEL FREQ
        " Частота:" S-> TITLE
      END
      TEXT FREQ.TEXT
        " HORIZONTAL" S-> EXPAND
        1.0 F-> VALUE
      END
    END
    HORIZONTALLY
      LABEL PHASE
        " Начальная фаза:" S-> TITLE
      END
      TEXT PHASE.TEXT
        " HORIZONTAL" S-> EXPAND
        0.0 F-> VALUE
      END
    END
    BUTTON PLOT.BUTTON
      " Построить" S-> TITLE
      " PLOT" AS-ACTION
    END
    CANVAS SCREEN
      " 640x400" S-> RASTERSIZE
      " REDRAW" AS-ACTION
    END
  END
END


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Вт авг 03, 2021 09:54 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1134
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Обертка над IUP замечательно.
А можно исходник этого?

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Вт авг 03, 2021 17:36 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 140
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Victor__v писал(а):
Обертка над IUP замечательно.
А можно исходник этого?

Конечно.
https://disk.yandex.ru/d/oiv5iChgL84-Wg
Непосредственно привязка к IUP в файле main.c. Реализованы только слова, необходимые для написания демо-программ. Для поддержки всей библиотеки нужно будет добавить примитивов.
Если будут вопросы (в том числе и по Форт-системе) - задавайте. Так как писал для себя, то комментариев в коде нет


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Вт авг 03, 2021 20:21 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1134
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Привязка IUP интересная)
Надо же создавать пустой контейнер и в него уже все складывать)
Я помню создавал сначала все объекты и разом их запихивал в контейнер. Мне так проще показалось

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Вт авг 03, 2021 22:39 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 140
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Victor__v писал(а):
Я помню создавал сначала все объекты и разом их запихивал в контейнер. Мне так проще показалось

Я так же делал в программах на Си, да и интерфейс функций создания объектов к этому располагает. Но мне показалось более логичным задавать иерархию объектов сверху вниз


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Минимальное демо для новых трансляторов
СообщениеДобавлено: Вт авг 03, 2021 23:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Итого, общая идея встраивания Форта во что-то - вполне рабочая :) С IUP разработка видится "сверху вниз", согласно вот этой структуре. С кварком (cation? все никак не стабилизирую название) работа идет в стиле машины состояний - структура GUI может изменяться динамически. Но это просто другой стиль. Приятно то, что еще один вариант взаимодействия показывает жизнеспособность и при этом не связан с трудоемким процессом "все перепишем на Форте".


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

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


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

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


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

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