Вверх ↑
Ответов: 865
Рейтинг: 12
#1: 2016-04-09 14:06:32 ЛС | профиль | цитата
Не совсем уверен, что это тема подходит для этого раздела ...
Но со одной стороны это явно ЗАДАЧА(и даже чуть чуть "идея фикс" ) выросшая из идей ХайАсма ..
С другой вроде не про ХайАсм вообще , но думаю мастерам ХайАсма будет интересно...

И так года дав назад задумал я взять и развить идею ХайАсма по своему .

Назвал проект как вы уже догадались MidAsm ...




Альтернативная графическая среда быстрой разработки программ MidelAsm подобная HiAsm но более открытая с полной ДВУНАПРАВЛЕННОЙ конверсий

Алгоритмическая схема -> Исходный текст на ЯВУ
Исходный текст на ЯВУ -> Алгоритмическая схема

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

В ХайАсме слишком много механизмов недоступных для изучения или устроенных непрозрачно с заточкой именно под использование в виде части графической схемы..
Генерируемые ХайАсмом коды в ЯВУ практически не читаемы.

Но если все будет прозрачно "сверху донизу" то можно будет использовать как достоинства крупно блочной наглядности ХайАсма так и возможность корректировать любой участок исходного кода не теряя доступа к редактированию в форме схемы ...

Эдакий "корпускулярно-волновой" дуализм в приложении к программированию



Проект несколько раз замораживался на долгое время ...
Но недавно я вернулся к нему и используя наработанный там код начал собирать специализированный редактор веб-страниц
(Но одновременно это является развитием разработки МидАсма )
Что уже есть ?
1 Визуальная среда похожая на редактор форм ХайАсма
2 Элементы(инструменты) которые можно добавлять без необходимости лезть в основной код
(все сделано через кроткие простые скрипты причем на паскале )
Идея проста как двери ...
Выбираем элемент -> водим нужные данные и его расположение мышкой -> запускаем скрипт "генерации команды" (внутренний формат подобие SHA )
-> запускаю скрипт прорисовки элемента по команде
Дополнительно есть скрипты для заполнения полей "инспектора элементов" и возвращения изменений в команду (пока только для текущей команды )

Но это еще не все ! Есть то без чего я бы не стал писать это пост сюда ...
Да, это кодогенерация ... Пока все линейно и просто, есть последовательность команд во внутреннем формате
(Кстати, по моему формат команд в одну строчку, куда проще того что есть в SHA) команды транслируются с помощью отдельных скриптов в HTML код ... и вставляется в фоновый шаблон ...

Но фокус в том, что уже сейчас не меняя ни строчки основного кода, изменив только скрипты "кодогенерации" и фоновый шаблон, на выходе можно получать ЛЮБОЙ код включая и код, который можно скомпилировать в отдельную программу .

Да пока все на стадии раней альфы даже для редактора HTML но и ХайАсм не сразу вырос в нынешнее продвинутое состояние



FORM_RED 0.0.0.4.18.7 альфа FR0004_18_7bin.7z
(Обратите внимание на номер версии и не судите слишком строго... проект в самом начале разработки )

Язык написания freepascal(FPC) + Лазарус 1.4.2 (сугубо на стандартной библиотеке LCL)

Графические элементы транслируются в код SVG расширения HTML что означает что видно их будет не во всех браузерах .
(Но тех что его поддерживают достаточно много )

Свежая сборка (Описание в конце темы )
07.04.2017
FR0004_20_5_47_5_bin.7z
-------

Зы
Как только программа наберет приличную функциональность планирую выложить исходники .
(Ничего секретного там нет, а среда разработки свободно распространяемый Лазарус )
карма: 1

0
Редактировалось 13 раз(а), последний 2017-07-13 15:44:53