LINUX.ORG.RU

Metaprog: выпуск прототипа (универсальная графическая среда программирования)

 , ,


2

3

Сегодня, как и было обещано, день выпуска LabVIEW-прототипа универсальной графической среды программирования Metaprog.

LabVIEW-прототип не является конечной целью. В дальнейшем с помощью прототипа Metaprog будет собран «сам на себе» и не будет зависеть от LabVIEW.

Приглашаю всех желающих стоять у истоков универсальной графической среды программирования присоединиться к работе над прототипом!

Видео-обзор ( VarfolomeyKote4ka)

https://youtu.be/EcQMgUAm0DE

Скачать: https://www86.zippyshare.com/v/pWggQ91b/file.html

Аннотация

Открывать и запускать !метапрог.vi и !метапрог онлайн.vi

В Метапрог онлайн интегрирован чат и хранилище пакетов с блок-диаграммами. Там идет разработка Метапрога и можно получить консультации.

В Метапрог и Метапрог онлайн встроена справочная система и интерактивные инструкции.

Требования:

1. Для запуска, просмотра и редактирования диаграмм - LabVIEW начиная с 2013.

2. Если не удалось достать линуксовую версию LabVIEW - виртуальная машина с Windows начиная с ХР с кириллической локализацией (иначе будут проблемы с кодировкой символов).

3. Tor Browser или Tor для подключения к серверу:

https://www.torproject.org/

или:

sudo apt-get install tor

4. Для компиляции сгенерированного кода:

sudo apt-get install clang libevent-dev libsdl2-dev

Адрес для добровольных пожертвований:

Bitcoin: 1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

Этот адрес действителен как ключ для электронной подписи от имени разработчика.

Код лицензирован под GNU GPL v3, подробности - по кнопке «Про программу» и в файле LICENSE.txt (на английском). Отдельные файлы могут быть лицензированы под MPL и другими лицензиями.

Описание конструктора диаграмм (часть справочной системы, лучше читать смотря на Метапрог)

В случае вопросов или проблем консультации можно получить в чате программы «Метапрог онлайн».

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

Блок-диаграмма состоит из блоков, линий с данными и особых линий - жестких последовательностей. Каждый блок может иметь входы и выходы.

При клике на терминал начнется рисование провода с данными. Клик на пустом месте при рисовании провода задает точку излома провода. При приближении курсора к терминалам провод автоматически подстраивается под ближайший терминал с совместимым типом (несовместимые типы подключить невозможно). Для окончательного подтверждения соединения кликни и связь будет установлена. Чтобы отменить рисование проводка, нажми Esc.

Подключаться дважды к одному терминалу нельзя - будут ошибки. Используй разветвления. Чтобы создать разветвление, кликни на квадратик, который появляется при приближении к проводу, и рисуй провод как обычно (только отенять кнопкой Esc не надо - будет баг).

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

Очередность выполнения также задается жесткими последовательностями. Это - особые линии, которые проводятся по кнопке блоки - последовательность. Первый клик на блоке - начало последовательности, следующие клики - изломы провода (на пустых местах) либо конец последовательности (на блоке). Места начала и конца провода имеют значение при работе с циклами, условными разветвлениями, переключателями.

Чтобы удалить блок на диаграмме, нажми на него правой мыши. Чтобы удалить провод или жесткую последовательность, нажми правой мыши на квадратик на нем.

Чтобы скопировать элемент на диаграмме, нажми на него колесом мыши. Чтобы вставить - жми колесом мыши на пустом месте.

При наведении мышью на элемент диаграммы отображается подробная информация о нем. Элементы подсказок кликабельные. Для дальнейшней справки кликай на "?" в подсказках к элементам.

Описание контейнера с данными и системы типов (часть справочной системы, лучше читать смотря на Метапрог)

В Метапроге есть три вида контейнеров с данными: константа, вход и выход. Константа имеет жестко заданное значение. Вход и выход связывают эту диаграмму с внешними диаграммами.

При клике правой мыши на пиктограмме перемещения константа будет преобразована во вход такого же типа.

Типы в Метапроге имеют надтип. Может наследоваться интерфейс работы с данными, способ трансляции в Си и цвет (если тип не имеет своего цвета). При работе с диаграммой и ее трансляциями в Си данные разных типов обрабатываются зависимо от корневого типа. Метапрог имеет следующие корневые типы:

Данные - включает в себя числа (знаковые, беззнаковые и бробные разных разрядностей) и логический тип (зеленый). Логический тип совместим со всеми числовыми типами, так как в Си они могут выступать в качестве условия (если ноль - «нет», все другие значения - «да»). Есть типы число (все числа, коричневый), знаковое (голубой), беззнаковое (темно-синий), целое (объединяет знаковое и беззнаковое),дробь (оранжевый).

Неопределенное - аналог типа void в Си. Совместим со всеми типами.

Указатель - содержит адрес данных. Прямо транслируется в указатель на Си. Получается из данных блоком «указатель» (из меню блоков), вытягиваются данные из указателя блоком «вытягивание указателя».

Структура (последовательность и выбор) прямо транслируется в struct или union на Си. Формируется из контейнеров с данными другого типа путем из вытягивания на структуру. Достум к элементам структуры осуществляется через блок «операция над структурой».

Массив - тип, не имеющий прямого аналога в Си. Содержит указатель на первый элемент и длину массива. Доступ к этим переменным осуществляется через блок «операция над структурой». Чтобы задать тип массива, вытащи на него контейнер нужного типа. Массив можно подключить к типованному циклу (блоки - типованный цикл), в котором можно осуществить обработку каждого его элемента.

Структура условного выбора типа не имеет проямого аналога в Си. Состоит из числа-переключателя и структуры выбору (в Си - union) из данных разных типов. Тип данных зависит от значения переключателя. Задается и читается через операцию над структурой. Можно подключить к переключателю (блоки - переключатель), в котором обрабатывать данные зависимо от типа. Для добавления типа вытащи контейнер нужного типа на СУВТ.

Многотиповой - используется для обозначения терминалов, которые могут принимать несколько типов.

Функция Си - на уровне Си является указателем на функцию. Над такой константой есть пикторгамма соответствия копии на диске в виде дискетки, как над подфункцией. Ее цвет зависит от соответствия. Кликом по этой пиктограмме можно управлять соответствями. Подобная пиктограмма есть у сложных типов (структур и структур условного выбора типа). В подсказках к константам, содержащим подфункцию, есть 4 цветные цифры. Это суммарное число комментариев определенных видов в поддиаграммах (замечание, известные ошибки, пожелания и «дело сделано»).

------------------------------------------

При клике на пиктограмму перемещения объект можно передвинуть, при этом линии до его терминалов передвинутся за ним (но тут еще возможны баги).

При клике на название объект диаграммы можно переименовать. Название объекта никак не влияет на логику и предназначено для чтения людьми.

При клике на подсказку к входу блока начинается вытаскивание константы такого же типа (которую можно правой кнопкой мыши по пиктограмме перемещения преобразовать во вход). При клике на подсказку к выходу блока начинается вытаскивание выхода того же типа.

Предыдущие темы, посвященные разработке Metaprog

Metaprog: универсальная графическая среда программирования [LabVIEW-прототип] часть 9

Там же ссылки на более ранние темы.



Последнее исправление: metaprog (всего исправлений: 1)
Ответ на: комментарий от snake266

Дабы автор не забывал неотвеченные вопросы я продублирую их

  • Ссылку на актуальную и официальную документацию к генератору, где указаны ограничения которые вы озвучивали («отсутствие рекурсии, гуй и прочие плюшки»).
  • И видео с полным циклом создания бинаря с помощью этого генератора (запуск лабвью -> рисование кубиков -> запуск генератора -> проверка сишного файла на корректность и совпадение с кубиками -> получения бинаря).
snake266 ★★
()
Ответ на: комментарий от snake266

Ну не знаю, 2018 лабвью мне доставать лень. Не думаю, что там что-то радикально изменилось. Не думаю что Лабвью стала за это время настолько универсальной средой чтобы делать на ней даже ядра ОС под х86.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Не думаю, что там что-то радикально изменилось.

В данном случае надо не думать, а знать. Тут тоже самое как и с виндой, разница между следующей итерацией колоссальна. Так что надо брать и пробовать.

Продолжаю удерживать вопросы перед глазами

  • Ссылку на актуальную и официальную документацию к генератору, где указаны ограничения которые вы озвучивали («отсутствие рекурсии, гуй и прочие плюшки»).
  • И видео с полным циклом создания бинаря с помощью этого генератора (запуск лабвью -> рисование кубиков -> запуск генератора -> проверка сишного файла на корректность и совпадение с кубиками -> получения бинаря).
snake266 ★★
()
Ответ на: комментарий от metaprog

Ты говорил про урезанность генератора, я глянул немного видосов и засомневался. Ты у нас великий лабвьюшник, и, мне кажется, доказать превосходство лабвью (и визуального программирования) в твоих интересах.

snake266 ★★
()
Ответ на: комментарий от snake266

доказать превосходство лабвью (и визуального программирования) в твоих интересах

Это у него аксиома. Как он сам говорил, он создает СЛОЖНЕЙШИЕ ПРОГРАММЫ в лабвью, а текстовые языки для него ужас, поэтому он и утверждает о превосходстве лабвью.

liksys ★★★★
()
Ответ на: комментарий от lovesan

Не. у автора темпл ос знаний в области было в сотни раз больше. Ну и к тому ж он реально был шизофреником, а метапрог просто неуч.

anonymous
()
Ответ на: комментарий от anonymous

ну это его психиатру виднее

anonymous
()
Ответ на: комментарий от anonymous

Существенно другое: исходники TempleOS есть на гитхабе, и их можно по крайней мере невозбранно изучать, в отличие от. Правда, с компиляцией будут проблемы: они написаны на некоем Holy C (нестандартный диалект Си).

Кстати, несколько цитат с ксакепа:

Единый формат гипертекстовых документов, в котором выводится всё, начиная от консоли и заканчивая справкой и кодом программ, — это концепция, достойная сравнения с серьезными исследовательскими проектами.

Если этого недостаточно, чтобы восхитить тебя, открой любой файл с игрой и узри невиданное: спрайты вставлены прямо в код! Если навести курсор на спрайт и нажать Ctrl-R, то появляется меню редактирования. Графического редактора как такового в TempleOS нет, но он и не нужен, когда ты можешь просто выбирать инструменты по очереди и рисовать, что тебе заблагорассудится. (Во, это точно должно заинтересовать любителей графического программирования - hobbit.)

Еще ты можешь заметить, что Дэвис свободно использует в коде греческие буквы. Это возможно благодаря тому, что TempleOS — система продвинутая и поддерживает восьмибитные коды ASCII. (А вот в этом месте любители KOI-8 должны заплакать - hobbit.)

Там вообще в статье много затейливого, но это уже офтопик будет.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Да брось, эта тема сама по себе оффтопик.

liksys ★★★★
()
Ответ на: комментарий от snake266

Ты у нас великий лабвьюшник, и, мне кажется, доказать превосходство лабвью (и визуального программирования) в твоих интересах.

Мне копирасты из NI не платят, чтобы я доказывал превосходство Лабвью.

metaprog
() автор топика
Ответ на: комментарий от metaprog

ага, только ты уже который тред орёшь, что если б не лабвью, ты ничего бы не сумел и не смог бы «программировать» СЛОЖНЕЙШИЕ ВЕЩИ, абсолютно «ничему не учась»

anonymous
()
Ответ на: комментарий от metaprog

Этим ты докажешь превосходство визуального программирования, над текстовым. И Лабвью тут ни при чем.

anonymous
()
Ответ на: комментарий от metaprog

Ты б хоть к месту повторял, попугай. По существу я уже все сказал, ты ж только кривлялся в ответ.

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

Видишь, как из-за твоего поведения и нежелания идти людям навстречу тред превратился в сраное говно? Это все твоя вина. Посмотри, как свою разработку представляют другие, и что делаешь ты. Сделай выводы. Хотя я, наверное, сильно преувеличиваю твои умственные способности.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от rebforce

Недавно видел прохождение Гульмэн-5 на канале Куплинова)

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от metaprog

Поможем.

Поисковая строка для google «NI LabVIEW 2018 Free Download».
Какой url выбрать сами сообразите.
Имеется архив с активатором для всех *.lc.

Владимир

anonymous
()
Ответ на: комментарий от hobbit

Temple OS - интересная вещь, держу на виртуалке, но, к сожалению, слишком сильно завязанная на текст. Многовато буков, а хочется просто взять и натыкать программу мышью, чего там, к сожалению, нет. Однако формат документов со встроенными дополнительными плюшками - дело хорошее, у себя тоже подобное думаю делать, правда в бинарном версионированном формате.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Ты можешь описать, что из себя будет представлять твой бинарный версионированный формат, за исключением того, что в начале будет идти номер версии?

anonymous
()
Ответ на: комментарий от snake266

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

metaprog
() автор топика
Ответ на: комментарий от i-rinat

Да уж, если б я был верующим, сказал бы что боженька забрал автора Temple OS к себе. Поездов я не боюсь, так как я атеист и забирать меня некому.

metaprog
() автор топика
Ответ на: комментарий от anonymous

Шутка.

Туториал для для тех кто хочет научиться играть на гармошке.

Все просто!
Берете в руки гармошку и играете.

Владимир

anonymous
()
Ответ на: комментарий от metaprog

Хороший совет.

Спасибо!

Владимир

anonymous
()
Ответ на: комментарий от metaprog

Ну естественно, этим ты тут нон-стоп и занимаешься.

Скажи-ка, дружок. Вот идет 11 страница обсуждения великого прототипа мертвопрога. Много ли ты нашел себе помощников? А может, ты кого-то все же развел на донаты? Или кто-то на твоем мертвопроге решил что-то серьезное накуролесить?

Ответ на все эти вопросы - нет. Или я не прав?

:)

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)

У кого нет миллиарда labview, могут идти в ж¤пу

anonymous
()
Ответ на: комментарий от metaprog

Возле продуктового магазина в который частенько захаживаю, иногда один пожилой «гитарист» милостыню просит.
Как не пытался понять, что он за мелодию играет - не понял.
Какая то какофония /правильнее какафония/ звуков.
До слез его жалко ... /не всегда, но бывает пятьдесятку или сотеньку в его кепочку кладу/.

PS: А мы здесь на форуме частенько выпендриваемся ...
Ох как стыдно.
Прости Господи!

Владимир

anonymous
()

К сожалению я не дома, и проверить не могу. Существуют ли адекватные люди, запустившие это? Если да, то оно работает?

Если да, то я пошел искать BTC-биржу, первый донат в $10 кидать.

PS: Что? zippyshare? ЛОЛ, я уж надеялся что файлики будут хотя бы по HTTP в tor hidden service лежать…

balsoft ★★
()
Последнее исправление: balsoft (всего исправлений: 2)
Ответ на: комментарий от liksys

Жаль, придется подождать с донатом до понедельника.

balsoft ★★
()
Ответ на: комментарий от liksys
Ответ на: комментарий от metaprog

Как это тебя некому забирать, а как-же санитары?

anonymous
()
Ответ на: комментарий от liksys

392 *vi и 133 ctl.
Пооткрывал некоторые ...
Для меня это - «непонятная лапша».
Наверное это «гениально» ...
Ждем отзывов от LabView-цев.

Владимир

anonymous
()
Ответ на: комментарий от i-rinat

@VarfolomeyKote4ka писал

Так balsoft же специально подчеркнул - существуют ли _адекватные_ люди. Котечка не подпадает под это определение)

liksys ★★★★
()
Ответ на: комментарий от i-rinat

Адекватность котечки пока неочевидна, вспоминая первые треды. Много правильно говорил, но иногда порол чушь.

Правда последние треды я не читал.

balsoft ★★
()
Ответ на: комментарий от anonymous

Скриншотов?

Ну вот как сварите лапшу и насыпите в тарелку, то это будет самое то.

Владимир

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.