LINUX.ORG.RU

Метапрог-прототип, версия 7 + графические диалоги на Метапроге

 , ,


0

3

Скачать (перед запуском читайте !Русский.txt или !Українська.txt):

https://www71.zippyshare.com/v/dNcHIgzD/file.html

Новая версия принесла несколько новых фич интерфейса пользователя. Добавлено выделение прямоугольником для вырезания и копирования части диаграммы (в прошлой версии было только копирование и вставка одного блока по щелчку колесом мыши). После копирования куска диаграммы (с проводками с данными и жесткими последовательностями) его можно вставить кликом колесом мыши на пустом месте диаграммы. Есть план реализовать в будущий версиях также создание подфункций из выделенного куска - аналог Create SubVI из LabVIEW (так была сделана немалая часть функций в прототипе Метапрога).

Однако самая интересная фича новой версии - сериализация в base64 координат блока на диаграмме с цепочкой функций. Этому есть как минимум два возможных применения. Можно «ткнуть пальцем» на нужный блок (меню блоки - ткнуть пальцем на блок). Будет сгенерирована строка такого вида:

metaprog_debug:AAAAAAAAAAAAAAAHAAAAAFBUSDAAAAAEAAAAAAAAAAAAAAAAAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAU4fPk6Ov87ejqIO3gIOfg7+jy4PUAAAAK0+rw4L/t8fzq4AAAABXh8+To6/zt6Oog7eAg5+Dv8O7x4PUAAAAH0PPx8ero6VBUSDEAAAAxcmVsIAAr0LHRg9C00LjQu9GM0L3QuNC6INC90LAg0LfQsNC/0LjRgtCw0YUubXBiZBNiCtNfkRABAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAT9rPr7vfo8evu4ujpIOSz4Ovu4wAAAArT6vDgv+3x/OrgAAAAFPbl6+736PHr5e3t++kg5Ojg6+7jAAAAB9Dz8fHq6OlQVEgxAAAANXJlbCAAA25rYwAq0YbRltC70L7Rh9C40YHQu9C+0LLQuNC5INC00ZbQsNC70L7Qsy5tcGJkP/rfBI32qgEAAAADAAAAB01QTCAyLjAAAAAHTElDRU5TRQAAABDy5erx8u7i6Okg5LPg6+7jAAAACtPq8OC/7fH86uAAAAAQ8uXq8fLu4vvpIOTo4Ovu4wAAAAfQ8/Hx6ujpUFRIMQAAAC9yZWwgAANua2MAJNGC0LXQutGB0YLQvtCy0LjQuSDQtNGW0LDQu9C+0LMubXBiZFbEp7cIT2gBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAV5+Dv8/HqIOKz6u3gIE51a2xlYXIrAAAACtPq8OC/7fH86uAAAAAU5+Dv8/HqIO7q7eAgTnVrbGVhcisAAAAH0PPx8ero6VBUSDAAAAAWAAEAAgNua2MNbmtjIGluaXQubXBiZFQc/+kgVZgBAAAAAwAAAAdNUEwgMi4wAAAAB0xJQ0VOU0UAAAAO+PDo9PIg7fPq6+Xg8CsAAAAK0+rw4L/t8fzq4AAAAA748Oj08iDt8+rr5eDwKwAAAAfQ8/Hx6ujpUFRIMQAAADpyZWwgAANua2MAL9GW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGPINC90YPQutC70LXQsNGAKy5tcGJkaxMcpv873AEAAAAAUFRIMAAAAAQAAAAAdcftGC2ZsAE=:metaprog_debug

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

Вместо тысячи слов:

https://i.postimg.cc/gd7RZD9Q/image.png

Там будет явно показан конечный блок, на который «ткнули пальцем», либо подфункция, по которой до него следует добираться.

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

https://postimg.cc/hQVLBcHp

Дебаг-строку выводит оранжевый блок.

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

Для компиляции надо скачать https://sourceforge.net/projects/tinyfiledialogs/

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

Код:

https://pastebin.com/5NW30tQx

Введя нужное число, закрываете окошко. После ввода часа и минуты в консоль будет выведено время срабатывания. Теперь будильником можно пользоваться и для повседневных нужд (звук пронзительный, хорошо слышный, sound.wav больше не нужен), однако завершать его работу надо еще через диспетчер задач или Ctrl+C в консоли, когда не идет звук. Также нет проверки введенных чисел, если введете не то число - будильник никогда не сработает.

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

Предыдущая версия:

Метапрог-прототип, версия 6 + будильник на Метапроге

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

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

А как ты определишь, какие переменные нужно освобождать после завершения работы блока, а какие не нужно?

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

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

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

Понимешь ли, нарушать правила ЛОРа по поводу нарушения копирайта не хочется, но если кому не хочется платить деньги - выход есть.

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

Вернемся изначально к вопросу, я спросил у человека купил ли он Лабвью, тут же нарисовались вы и предложили украсть с торрентов, хотя он даже не ответил, купил он Лабвью или нет. Из ваших уст это подается как альтернатива покупке, но нет никакой альтернативы покупке, производитель лабвью офицально не давал разрешения загружать свой лабвью на торрент трекеры и растространять бесплатно если вдруг кто-то не захотел платить за их продукт. Вот такое воровство… На которое вы зачем-то подбиваете людей.

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

чот я думаю, что до такого примера метапрог дорастет примерно никогда.

Меня вообще терзают сомнения что у них на СУВТ-ах сделаны бинарные операции, это довольно муторно если поддерживать С-ишную семантику…

Может рассказать этой дреам-теам про векторизацию? Они же хотели производительности, AVX на СУВТ-тах будет выглядеть особенно эпично.

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

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

валгринды лишь подтверждают опасения многих относительно применимости и внутреннего содержания проекта

У меня если что память течет даже в таком вот цикле:

for(;;) { SDL_DestroyWindow(SDL_CreateWindow(...)); }
Хотя казалось бы...

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

Меня вообще терзают сомнения что у них на СУВТ-ах сделаны бинарные операции

Может рассказать этой дреам-теам про векторизацию? Они же хотели производительности, AVX на СУВТ-тах будет выглядеть особенно эпично.

https://youtu.be/d1vRLfuF-wM. СУВТ необязательны, они используются только в особых случаях, они вообще никак не задействуются пока не добавишь блок СУВТ, они не используются для хранения значений всех переменных, ничего такого в метапроге нету.

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

тут же нарисовались вы и предложили украсть с торрентов

«Воровать» никто не предлагал. Речь шла о дебиане, а даже если б и о Лабвью - украсть через торренты физический предмет невозможно. А копировние информации не является воровством.

производитель лабвью офицально не давал разрешения загружать свой лабвью на торрент трекеры и растространять бесплатно если вдруг кто-то не захотел платить за их продукт

Ну и что? К счастью, у нас копирастические законы не работают и полиция не свирепствует в охоте на нарушителей копирайта. А у вас за это уже на кол сажать стали? Почему ты так боишься самой мысли что-либо (даже дебиан) скачать с торрентов?

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

Debian + Wine + LabView Runtime 2013 (бесплатный, доступен на офф.сайте без регистрации и смс), и у тебя появляется возможность совершенно бесплатно запустить Metaprog. Без покупок LabView.

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

К счастью, у нас копирастические законы не работают

Т.е. если NI подаст на тебя в суд, то твой суд их пошлёт на?

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

У нас массово пиратят софт. Пираченная винда даже в госорганах много где стоит. И за Лабвью не видел чтобы платили.

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

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

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

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

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

Ну и в принципе я правильно вас понял разаботка ведется по принципу базара. Четкой структуры и плана развития нет - беремся за что хотим когда хотим, формального описания «языка@приложения» нет, есть какая-то бажная реализация условной конструкции в формате приложения метапрог, но конкретных проблем выделить никто не может потому что, кстати почему? И почему никто не ведет учет или какой-то примитивный багтрекер для этого? Неужели в такой обстановке будет хоть какой-то продуктивный труд и порядок?

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

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

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

какой-то примитивный багтрекер

В качестве этого у них по-видимому выступает Метапрог-Онлайн.

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

Ваше типичное Фома и Ерёма в сотый раз, вас просят исходники метапрога, вы непонятно как прочитав это предлагаете зачем-то метапрог, а не его исходники, я лишь намекаю человеку что исходники смотреть без покупного лабвью нет возможности.

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

метапрог онлайн это «обучалка» и «мессенжер» или иное средство коммуникации они держут связь с котечкой через него, ну по крайней мере так ТС говорил.

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

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

Есть. Ты хочешь ограбить человека, возможно нищего, на пользу заморских копирастов, и без того не бедных.

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

ТС как-то писал, что это же всего лишь прототип. Настоящий метапрог он же хочет написать сам на себе. Именно поэтому ему постоянно указывают на core issues его проекта. С текущими познаниями ТСа, метапрог «самнасебе» он не осилит.

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

Можешь поучаствовать, раз уж скачал Метапрог. Вместе сделаем.

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

Ну если воровство это выход, то видимо да. Я ничего не хочу так-то, спросил просто у человека купил он лабвью уже или нет.

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

Вот скажи. зачем тебе впрягаться за бабло заморских олигархов? Тебе заплатили? Или ты за бесплатно защищаешь их сверхбогатства?

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

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

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

У вас какая-то поломанная логика, посмотрите на это с другой стороны, вы бы хотели чтобы всякий считал что вас можно безнаказанно обворовывать и делал это каждый раз?

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

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

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

Да мы все тут проплаченные, Вы еще не поняли? ЛичноТрамп прочитал доклад ЦРУ о Метапроге как о наиболее серьезной угрозе гегемонии США в ИТ сфере и дал указания завербовать команду ботов на ЛОРе, в задачи которой входит подрыв Вашей веры в себя и отвлечение Вас от разработки Метапрога путем бесконечного флейма.

А главная у нас Диана, она должна втереться к Вам в доверие, лишить интеллектуальной девственности а потом обвинить в изнасиловании и сдать ФБР, будете в одной камере с Вайнштейном сидеть.

Но я больше не могу принимать участие в этой коварной комбинации, это слишком бесчеловечно!

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

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

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

Я суппортером для французов работал. Поговоришь со мной по-французски?

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от abcq

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

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

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

Я изначально не расчитывал на то, чтобы продавать лицензии на Метапрог. Даже прототип я сам распространяю бесплатно. А ссуду в банке брать я вообще ни в коем разе не собираюсь - азартные игры не люблю.

Дела тут не в зажравшихся капиталистах, а в том что воровать так-то не очень хорошо в принципе

Согласен, воровство физических предметов должно наказываться, так как их копировать нельзя. А на информацию понятие «воровства» не распространяется в принципе. Отождествление копирования с воровством, пиратством и прочей уголовщиной - излюбленная уловка копирастической пропаганды. Прекращай быть ее бесплатным ретранслятором.

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

месье, же не манж па си жур, их бин хотеть доната много-много!

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

месье, же не манж па си жур

Голодным проФФесорам Сферических Сакральных Знаний В Вакууме нечего кушать? Я вот только что пельменей наелся и семечки подъедаю по мере нашей тут беседы.

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

Это была цитата из еще одного литературного произведения, которое Вы не читали.

Вас можно демонстрировать как пример катастрофы украинского образования.

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

Не мышонок, не лягушка,
А неведома зверюшка.

Больше всего похожи на «деловода».

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

Согласен, воровство физических предметов должно наказываться, так как их копировать нельзя.

Предмет есть предмет неважно можно его пощупать или нет, на него потрачены вполне реальные физические вещи и это тоже самое что воровать физические вещи.

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

abcq ★★ ()

Господа, у меня так и не получилось скомпилить чудо-будильник на оффтопике (msys2, mingw64, gcc 9.2.0), жду инструкцию от Котечки. Зато получилось на онтопике https://imgur.com/a/AXjqIMs, семнадцать варнингов – это однозначный вин, доказывающий превосходство графического программирования. Как этим чудом пользоваться, я так и не вдуплил.

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

И ЧСХ, этот выхлоп метапроги на линуксе компилируется и шлангом и гцц.

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

но по хорошему надо новый nuklear_cross делать

Надо, текущий, похоже, перерисовывает интерфейс каждый цикл. Это нормально для игр, но совершенно не годится для обычных приложений.

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

готовый продукт, на который потрачены реальные деньги

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

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

После появления Метапрога «на самом себе».

выдуманную вами пропаганду

Копирасты ничуть не миллиардеры, ничуть не заинтересованные в продвижении идеологии копирайта в массы, не платящие ни копейки продажным политикам-лоббистам за принятие копирастических законов и журнашлюхам из СМИ за оправдание этого в глазах общественности, так ведь?

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

ага а вместе с ними пусть работу теряют куча людей просто потому что кто-то решил что воровать это нормально.

Вы только разве сами им сможете пользоваться, никто в здравом уме не будет этим пользоваться хотя бы из-за того, что он уже изначально будет иметь сомнительное происхождение и будет плодом разработки на ворованном лабвью. Разве что вы как-то утрясете этот вопрос с NI.

Вообще плевать кто там и что там, вы за себя говорите, а то опять киваете на кого-то, мир можно изменить лишь начав с себя.

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

воровать это нормально

Воровать физические вещи - это плохо. В другом смысле воровства не бывает.

пусть работу теряют куча людей

Пускай вместо копирастического софта пилят опенсорс. Или идут в другие профессии. Я вот программистом не работаю. А ты, видимо, раб галеры, слишком привыкший к своим оковам и цепям.

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