Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт апр 16, 2024 23:39

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

Обзор темы - Применимость блок-схем создания программ...
Автор Сообщение
  Заголовок сообщения:  Re: Применимость блок-схем создания программ...  Ответить с цитатой
zehotello писал(а):
Цитата:
Где то на местном форуме проскакивала ссылка на китайский вариант визуальной работы с Форт

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

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

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

Изображение
http://jforthblocks.appspot.com/static/code/index.html

Код:
: Hi cr s" Hello " type bl word count type  ;  immediate
Hi John
: Greeting Postpone Hi ;
Greeting Marry

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

наверное эта:
http://jforthblocks.appspot.com/static/code/index.html
Сообщение Добавлено: Вс окт 20, 2013 11:51
  Заголовок сообщения:  Re: Применимость блок-схем создания программ...  Ответить с цитатой
Встретилась информация на стыке 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.


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

Дракон редактор
http://forum.oberoncore.ru/viewtopic.php?p=22669#p22669
Сообщение Добавлено: Сб дек 17, 2011 13:58
  Заголовок сообщения:   Ответить с цитатой
вопрос писал(а):
самые сложные алгоритмы приходилось и рисовать

Ну, для меня рисование не особо ассоциируется с "приходилось". Вот высасывать из пальца потребность в компьютеризации этого слабоформализуемого процесса - да, приходится.
Сообщение Добавлено: Ср июн 10, 2009 20:21
  Заголовок сообщения:   Ответить с цитатой
Цитата:
. Берем простыню побольше, карандашик
самые сложные алгоритмы приходилось и рисовать
Сообщение Добавлено: Ср июн 10, 2009 16:03
  Заголовок сообщения:   Ответить с цитатой
А я рисовал блок-схемы схемном редакторе ACCEL для чего сделал даже специальную библиотеку символов.
Блоки на схеме нумеровались автоматом, а в коментариях к ассемблерному тексту были ссылки на блоки.
Между прочим помогает, вот.
Была даже мысль сделать симулятор блок-схем применительно к PIC-у.
Но до этого руки не дошли конечно.
Сообщение Добавлено: Ср июн 10, 2009 15:58
  Заголовок сообщения:   Ответить с цитатой
Блок-схемы очень даже применимы. Берем простыню побольше, карандашик (крайне желательно М, потому что 2М уже слишком мажется, а ТМ и более твердые не дают такой простой регулировки толщины линии), и начинаем рисовать блок-схему. Полчаса-час, в процессе совещания, три-пять чашек кофе на каждого, и готова прекрасная блок-схема, которую можно вывесить на ближайший месяц на стенке. Можно потом, попозже, в PowerPoint перерисовать.
Сообщение Добавлено: Вт июн 09, 2009 11:06
  Заголовок сообщения:   Ответить с цитатой
Немного разгоняя скуку:)

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


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

Из ещё близких подходов есть flowcode для разных контроллеров.
Сообщение Добавлено: Вт июн 09, 2009 07:36
  Заголовок сообщения:   Ответить с цитатой
на графические языки уже стандарты есть....

например: IEC61131-3 (нишевая вещь, но.....)
http://www.beremiz.org/The%20PLCOpen%20Editor.html
Сообщение Добавлено: Пт май 30, 2008 14:48
  Заголовок сообщения:   Ответить с цитатой
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
Сообщение Добавлено: Чт май 29, 2008 07:25
  Заголовок сообщения:   Ответить с цитатой
Варнак писал(а):
Не оттуда ли ноги растут
Не оттуда. Но они об Р-технологии знали и она им чем-то не понравилась. Хотя IMHO она эквивалентна блок-схемам, легче реализуема на АЦ-дисплеях и потенциально более плотная, чем блок-схемы, больше можно разместить на том же пространстве.
И имеет те же достоинства - 2D представление программы, больше выразительных возможностей, чем у структурного программирования.
Только для Форта нельзя сделать формальные правила ее применения. Но можно использовать, если смысловое разделение групп слов учитывать при написании исходника... ;)
Сообщение Добавлено: Чт май 29, 2008 01:19
  Заголовок сообщения:   Ответить с цитатой
вопрос писал(а):
В любом случае идея не нова и не может быть новой, ещё в начале "изобретения" алгоритмов они имели такой вид - древний математик рисовал квадратики ...


Сейчас LabView, HiAsm, возможно Multimedia Builder, далее SCADA-системы, разные
языки программирования PLC и др:) ( список далеко не полный )
Сообщение Добавлено: Ср май 28, 2008 09:58
  Заголовок сообщения:   Ответить с цитатой
Варнак писал(а):
Pretorian писал(а):
Чет смахивает очень на HiAsm.

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

В любом случае идея не нова и не может быть новой, ещё в начале "изобретения" алгоритмов они имели такой вид - древний математик рисовал квадратики ...
Сообщение Добавлено: Ср май 28, 2008 09:28
  Заголовок сообщения:   Ответить с цитатой
Pretorian писал(а):
Чет смахивает очень на HiAsm.

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

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


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