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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср май 28, 2008 08:46 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Pretorian писал(а):
Чет смахивает очень на HiAsm.

HiAsm'а не знаю, но выходила в 70-80 годы прошлого века из Глушковского института (ИК АН УССР) так называемая "R-технология программирования" - там, помнится, диаграммы компилировались в паскалевские исходники, ну и так далее ... Был довольно полный комплекс ее поддерживающий. Не оттуда ли ноги растут

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср май 28, 2008 09:28 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Варнак писал(а):
Pretorian писал(а):
Чет смахивает очень на HiAsm.

HiAsm'а не знаю, но выходила в 70-80 годы прошлого века из Глушковского института (ИК АН УССР) так называемая "R-технология программирования" - там, помнится, диаграммы компилировались в паскалевские исходники, ну и так далее ... Был довольно полный комплекс ее поддерживающий. Не оттуда ли ноги растут

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

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср май 28, 2008 09:58 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
вопрос писал(а):
В любом случае идея не нова и не может быть новой, ещё в начале "изобретения" алгоритмов они имели такой вид - древний математик рисовал квадратики ...


Сейчас LabView, HiAsm, возможно Multimedia Builder, далее SCADA-системы, разные
языки программирования PLC и др:) ( список далеко не полный )


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 29, 2008 01:19 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Варнак писал(а):
Не оттуда ли ноги растут
Не оттуда. Но они об Р-технологии знали и она им чем-то не понравилась. Хотя IMHO она эквивалентна блок-схемам, легче реализуема на АЦ-дисплеях и потенциально более плотная, чем блок-схемы, больше можно разместить на том же пространстве.
И имеет те же достоинства - 2D представление программы, больше выразительных возможностей, чем у структурного программирования.
Только для Форта нельзя сделать формальные правила ее применения. Но можно использовать, если смысловое разделение групп слов учитывать при написании исходника... ;)

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 29, 2008 07:25 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Microsoft уже отметился в создании графических языков программирования:)
Microsoft Visual Programming Language (VPL) ( для робототехники?)

Цитата:
Код:
" ...Язык программирования Microsoft Visual Programming Language (VPL) — это средство разработки приложений, в котором используется модель программирования на основе графического потока данных, а не на базе логики управления, которая обычно применяется в программировании. Программа с использованием потока данных — это не набор последовательно выполняемых обязательных команд. Она больше напоминает коллектив рабочих на сборочной линии, которые делают указанную им работу по мере поступления деталей. В результате язык VPL хорошо подходит для программирования различных сценариев с параллельной или распределенной обработкой данных.

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


http://msdn.microsoft.com/en-us/library/bb483088.aspx
http://www.microsoft.com/Rus/Msdn/publi ... fault.mspx


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт май 30, 2008 14:48 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
на графические языки уже стандарты есть....

например: IEC61131-3 (нишевая вещь, но.....)
http://www.beremiz.org/The%20PLCOpen%20Editor.html


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 09, 2009 07:36 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Немного разгоняя скуку:)

Статья: "Буран" и язык программирования ДРАКОН
Автор: Владимир Паронджанов
Опубликовано 13 апреля 2009 года


P.S. Дискуссия вокруг этого вопроса разгорелась нешуточная.:)
Автор даже дорабатывает Дракон-редактор ( Дракон-редактор

Из ещё близких подходов есть flowcode для разных контроллеров.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 09, 2009 11:06 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6148
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
Блок-схемы очень даже применимы. Берем простыню побольше, карандашик (крайне желательно М, потому что 2М уже слишком мажется, а ТМ и более твердые не дают такой простой регулировки толщины линии), и начинаем рисовать блок-схему. Полчаса-час, в процессе совещания, три-пять чашек кофе на каждого, и готова прекрасная блок-схема, которую можно вывесить на ближайший месяц на стенке. Можно потом, попозже, в PowerPoint перерисовать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 10, 2009 15:58 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 407
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 3 раз.
А я рисовал блок-схемы схемном редакторе ACCEL для чего сделал даже специальную библиотеку символов.
Блоки на схеме нумеровались автоматом, а в коментариях к ассемблерному тексту были ссылки на блоки.
Между прочим помогает, вот.
Была даже мысль сделать симулятор блок-схем применительно к PIC-у.
Но до этого руки не дошли конечно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 10, 2009 16:03 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
. Берем простыню побольше, карандашик
самые сложные алгоритмы приходилось и рисовать


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 10, 2009 20:21 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6148
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
вопрос писал(а):
самые сложные алгоритмы приходилось и рисовать

Ну, для меня рисование не особо ассоциируется с "приходилось". Вот высасывать из пальца потребность в компьютеризации этого слабоформализуемого процесса - да, приходится.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применимость блок-схем создания программ...
СообщениеДобавлено: Сб дек 17, 2011 13:58 
Попытка обобщения результатов форума по
Дракон методологии на начало 2011г.
http://forum.oberoncore.ru/viewtopic.php?f=62&t=3025&sid=b92388122429c22e5083011184fbda01

Дракон редактор
http://forum.oberoncore.ru/viewtopic.php?p=22669#p22669


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Применимость блок-схем создания программ...
СообщениеДобавлено: Пт окт 18, 2013 23:44 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 736
Благодарил (а): 3 раз.
Поблагодарили: 31 раз.
Встретилась информация на стыке SP-Forth и HiAsm
На [url=forum.hiasm.com]Hiasm форум в Трёп\Между делом\Вопрос с мышлением[/ull]
с SP-Forth производится Delphi? (или Asm понимаемый Delphi 7) и трансляция средствами HiAsm
Сообщение из ветки форума
Код:
Для начала выкладываю инструмент для переноса SP-Forth программ в Дельфи (не только Дельфи, просто поддерживается стандарт basm).
Потом Пролог и Си.
Почему SP-Forth, потому что из всех фортов самый продуманный.
Почему Форт? Потому что язык предельно прост, проще некуда. Лаконичен и выразителен, то что на других языках занимает десятки страниц, то на форте можно написать то-же самое в десятке строк.
В дельфи на десяток байт кода приходится несколько килограмм макулатуры, тут наоборот.
Скорость практически, как у ассемблерных, а за счёт оптимизатора кода часто бывает и быстрее.  На ассемблере написать чего то крупное весьма трудно.
Разговоры про целевую компиляцию ведутся с самого рождения языка, но за всю жизнь так и не видел ни одного.
За исключением одной поделки, иначе не скажешь, но там прямой сшитый код, что на фиг никому не надо.
Вообще задача создания целевого компилятора на порядок сложнее, нежели чем для обычных языков, как паскаль и Си.
Другая причина в его черезвычайной гибкости. Возможность неограниченно расширять компилятор приводит к тому что, программа одного пользователя не будет скомпилированна другим.
И дело не в отсутствии нужных библиотек, а в том, что другой переделал свой компилятор под свои нужды, как бог черепаху.

Качаем саму программу и копируем папку в .\SP-Forth\devel\ .
Код:
Собственно всё.
Запускаем (просто кликаем по файлу) TEST3.f и смотрим результат в появившемся файле Test.log.
В TEST3.f постарался всё расписать подробно.
Конечно есё сырое, для себя делал.
Вот иногда проскакивает такое:
PUSH , OFFSET [@574DB3] - лишняя запятая PUSH OFFSET [@574DB3]
MOV [EBP -4]EAX а тут не хватает MOV [EBP -4],EAX
Всё это можно поправить в файле disasm1.f
Там же можно добавить шапку для IC, добавить объявление var, как сделано для arrai.
Добавляем специфические IMMEDIATE определения, переделываем стандартные, если нужно.

Теперь про стыковку с Hiasm.
В силу того, что форт использует, как минимум, два стека, а иногда и три (так называемый локальный сек) то просто вставить ассемблерный код в IC недостаточно. Конечно, если это не процедура без параметров.
В папке есть файл INIT.txt с крохотным кусочком кода для организации второго стека и сохранения регистров.
Его надо скопировать в начало описания ассемблернрй процедуры-функции.
Пример в Project2STRING.sha.
Известно, что компилятор дельфи меняет начальный код ассемблерного описания в зависимости от того: это процедура, функция и как передаются параметры. Поэтому иногда надо его подрихтовать По моемому это не сложно.
Не все команды понимает штатный дельфи компилятор. Лучше прицепить седьмой.
Конечно можно подправить код, а иногда и на штатном всё идёт. Но с такими "IMUL [EBP-8]" колупаться не хочется.
Что ещё?
Есть программка на Hiasm делающая из spf4.exe полноценные dll целевого назначения или компилятор в dll.
С такой библиотекой можно вставлять в IC скрипт на форте, но думаю это извращение.
Хотя скорость такая же как у основного кода, а не как у Gentee.
Этой же программкой можно из стороннего exe сделать dll (полностью заменяется PE заголовок.
Есть инструмент для того, чтобы запихнуть любую dll в дельфи код и не таскать библиотеки с собой.
Опять нужна седьмая дельфи. Я Дельфи только начал листать, поэтому на штатном компиляторе мало чего получается.
На семёрке вроде пока проблем не возникало, если не считать, что некотырые компоненты не компилируются, но это не смертельно.
Пока всё,
Посмотрим, как пойдёт.

P.S.
перед названием директории надо поставить ~ , иначе будут вопросы.

И ещё одна ссылка из обсуждения в упомянутой ветке
Код:
К вопросу дружбы Forth и Delphi(KOL) здесь  идея и реализация Collapse. Почитайте, должно быть интересно.:

Collapse(179KB))

P.S. От себя:
Cейчас "пытаюсь осмыслить" применимость использования графовой модели в стыковке с Форт (по возможности взаимоконвертируемым представлением) для "облегчения" управления и работы с Форт кодом (и его "словесными" цепочками). Разработка в стадии концептуального "развития" и реализации n-го "физического" функционала.:)

Дополню этот топик ещё одной концептуальной ссылкой близкой тематики.
Thyrd
Код:
Thyrd является экспериментальным , рефлективным, визуальным языком программирования и средой.
В Thyrd , данные и код хранятся в клетках, расположенных во вложенной двумерной сетке. Анимационный интерфейс пользователя перехода от ячеек к подчиненным или вышестоящего сетки , чтобы помочь сохранению, ориентированного на пользователя, в иерархической структуре сетки. Все операции, которые пользователь может выполнить для редактирования структуры реализуются как операторы в Thyrd языке, таким образом,Thyrd программа может проверить и изменить себя или другие программ в том же пространстве .

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

Основным видом Thyrd пространства являются 2D сетки текста и значков . Представление может быть совмещено с панелью , состоящей из произвольной виджетов редактирования содержимого отдельных ячеек или всей сетки . Приложение Thyrd может быть построена , в котором весь код и данные скрыты за панелями и показаны только по запросу пользователя.

Thyrd реализован в TCL / TK и Poet.


Где то на местном форуме проскакивала ссылка на китайский вариант визуальной работы с Форт


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применимость блок-схем создания программ...
СообщениеДобавлено: Вс окт 20, 2013 11:51 
Не в сети
Аватара пользователя

Зарегистрирован: Вт май 23, 2006 04:10
Сообщения: 128
Благодарил (а): 41 раз.
Поблагодарили: 5 раз.
Цитата:
Где то на местном форуме проскакивала ссылка на китайский вариант визуальной работы с Форт

наверное эта:
http://jforthblocks.appspot.com/static/code/index.html


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 736
Благодарил (а): 3 раз.
Поблагодарили: 31 раз.
zehotello писал(а):
Цитата:
Где то на местном форуме проскакивала ссылка на китайский вариант визуальной работы с Форт

наверное эта:
http://jforthblocks.appspot.com/static/code/index.html

Похоже.
Код проекта jForthBlocks

P.S. При необходимости рисования "блок-схем" (и немного больше) есть приличная программа Yed graph editor c возможностью формировать свою палитру "разными" способами (и экспортируя из Visio c разной степенью успешности) и преобразовывать граф через разные стратегии компоновки.


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

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


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

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


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

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