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 (всего исправлений: 2)
Ответ на: комментарий от AntonI

При том что Вы квадратное уравнение решить не можете?

Могу.

это куда сложнее чем выучить пяток текстовых ЯП

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

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

Ладно, посмотрим. Сейчас еще есть что изобретать. Я вот изобрел уже по крайней мере Метапрог. А так как я не профессиональный программист, не дворник и не шпалоукладчик (как врали антиметапрогеры) - можно ожидать от меня и других изобретений.

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

Могу.

Как тут все видели - нет.

А ты-то прошаришь и просчитаешь все на свете.

Я то не утверждал что все могу, в отличии от Вас:

Если б мне довелось придумывать с нуля компьютер вместо них, то я сам бы за них все что надо придумал:)

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

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

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

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

Лол, найс тебя порвало. Я думаю самое время напомнить что ты так ничего и не смог ответить гениальному котечке - Метапрог-прототип, версия 6 + будильник на Метапроге (комментарий).

Правда потом было еще смешнее:

stasolog: в самом простом свитч вообще удален будет, так как тип будет известен в compile-time.

Antonl: До-до, с реализацией СУВТ ТС-а - обязательно! Вы еще упоротее чем пытаетесь казаться.

stasolog: Побежал оправдываться бездарь - https://godbolt.org/z/X24aCY.

Antonl: Дианочка, слив засчитан

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

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

Дианочка, Вы вообще то у меня в игноре, но я таки отвечу - не могу смотреть на Ваши невыносимые муки.

После Вашего эпического факапа с FMA («я вообще не понимаю где это может понадобиться»(с) Дианочка) говорить с Вами стало вообще не о чем. Увы… И как то пофик что Вы тут пишете - таких лулзов как то метапрога от Вас нет, сплошной унылый троллинг. Бай.

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

Я то не утверждал что все могу

Можешь только книжечки штудировать и учить то, что сделали ДО тебя. Что-то сам изобретать - не можешь. Если есть доказательства обратному - в студию.

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

Знаю. В основном литография и планарная технология по кремнию. Из говна и палок без материальной базы и кучи сотрудников реализовать тяжеловато, но в принципе понятно. Да, я не знаю конкретных подробностей технологии хлорсилановой эпитаксии (а ты кстати знаешь?), но мне это и не нужно. Меня больше интересует что же можно сделать такого, чего еще не делали, чего еще нет в так любимых тобой книжках. И тут я уже на голову выше тебя. Это видно хотя бы по тому, что ты предпочитаешь принимать языки программирования какими они есть и говнокодить на интерпретируемом скриптушном недоязыке. А я не хочу жрать это говно и изобретаю Метапрог, транслирующийся прямо в Си и работающий с сишной скоростью, но при этом не сложнее в программировании, чем скриптушное Лабвью.

слив засчитан

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

Судя по Вашим комментариям Вы просто жалкий клоун, как и Диана. Я бы не доверил Вам даже укладку шпал, дворник это потолок Вашего карьерного роста

Да-да, было уже такое:

I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-)

Well, I probably won't get too good grades even without you: I had an argument (completely unrelated - not even pertaining to OS's) with the person here at the university that teaches OS design. I wonder when I'll learn :)

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

Дианочка, Вы вообще то у меня в игноре

Умнеешь на глазах, уже взял на вооружение тактику liksys. Просто игнорируешь свое помножение на ноль, и уже как бы проблемы нет, весь мусор заметен под коврик %) Только я все равно буду множить вас на ноль, поэтому предлагаю гениальную вещь - перестать писать бредни, и уйти из отряда антиметапрогеров.

После Вашего эпического факапа с FMA («я вообще не понимаю где это может понадобиться»(с) Дианочка)

Фейковая цитата, эти слова относятся к твоим вопросам по операциям сложения/умножения/деления СУВТ. Зря ты и это не заигнорил, опять по штанине потекло %)

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

сплошной унылый троллинг

Да-да, когда отвечет метапрогер, знакомый с текстовыми ЯП и лучше меня знающий их недостатки - так сразу в игнор.

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

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

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

Дианочка, Вы вообще то у меня в игноре

Умнеешь на глазах, уже взял на вооружение тактику liksys. Просто игнорируешь свое помножение на ноль, и уже как бы проблемы нет, весь мусор заметен под коврик %) Только я все равно буду множить вас на ноль, поэтому предлагаю гениальную вещь - перестать писать бредни, и уйти из отряда антиметапрогеров.

После Вашего эпического факапа с FMA («я вообще не понимаю где это может понадобиться»(с) Дианочка)

Фейковая цитата, эти слова относятся к твоим вопросам по операциям сложения/умножения/деления СУВТ. Зря ты и это не заигнорил, опять по штанине потекло %)

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

клоун… дворник это потолок Вашего карьерного роста… паразит

Ребят, ну может, хватит уже?

ТС ведь действительно реально считает, что его преследуют злые «антиметапрогеры», которые боятся за будущее текстовых языков программирования и своё место в этом будущем. :))) И чем больше обидных кличек ему будут клеить — тем больше он в своём убеждении укрепяются. Он рассуждает как большой ребёнок (а может, даже и совсем не большой, но это нюансы).

Предлагаю оставить ТСа в покое. И комментировать только конкретные вопросы и высказывания и только по существу. Или просто игнорировать, если комментировать нет желания/смысла. Так он либо быстрее слепит что-нибудь, что можно обсуждать, либо забьёт. Оба результата на мой взгляд можно считать положительными. :) Пусть у человека будет рабочая обстановка…

На 90% комментариев ТСа в этом треде лучший ответ — молчание. На оставшиеся 10% можно ответить, если охота поделиться знаниями (но можно и не отвечать).

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

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

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

Лично мне по существу надоело, потому что он не умеет слушать.

Ну тогда можно просто не комментировать. :)

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

И чем больше обидных кличек ему будут клеить — тем больше он в своём убеждении укрепяются.

Это не клички, это увы факты. Ты с такими в жизни не встречался? Я встречался пару раз, хуже всего когда такое чудо выбивается в начальники, пусть даже в зав.отделом очистки.

Да, с ним в общем говорить уже не о чем - он перестал быть даже смешным.

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

хуже всего когда такое чудо выбивается в начальники

Ты, наверное, про немного другой тип личности говоришь (и да, такой начальник — катастрофа). ТС слишком простодушен для этого.

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

Почему же про другой? Оно думает что все может прошарить, а то что оно сходу не знает/понимает то вообще не нужно.

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

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

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

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

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

Дык злые антиметапрогеров всех распугали! На самом деле его упоротость перебила его харизму. Он просто не туда зашёл, в песочнице у подъезда вся школота была бы его.

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

ТС ведь действительно реально считает, что его преследуют злые «антиметапрогеры», которые боятся за будущее текстовых языков программирования и своё место в этом будущем. :))) И чем больше обидных кличек ему будут клеить — тем больше он в своём убеждении укрепяются

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

Он рассуждает как большой ребёнок (а может, даже и совсем не большой, но это нюансы).

Я не укушен текстовой скриптухой и могу как ребёнок сказать что-то вроде: «а король-то голый».

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

У вас теперь уже просто «текстовая скриптуха». Сильный ход

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

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

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

Вот еще немножко Ваших цитат, из них получается великолепный диалог:

– ты можешь построить простейшую паровую машину без матана, но атомоход без него уже не построить
– Атомный реактор - это почти как паровой котел, только вместо дров - таблетки с ураном/плутонием (с)@metaprog
– Если бы не заслуги Тьюринга, Шокли и прочих «прохвессоров»…
– Если б мне довелось придумывать с нуля компьютер вместо них, то я сам бы за них все что надо придумал! (с)@metaprog
– Так что там с легированием переходов в транзисторе?
– по переходам формулы, насколько я знаю, нехитрые (с)@metaprog
– Тебя попросили решение квадратного уравнения..
– Императивная логика, конечно, не айс для МАТАНА. (с)@metaprog

Занавес. А вот это

Страуструпп отгрохал целый талмуд по ООП. Еще бы, он кандидат наук или как его там. Но я лично считаю эту дребедень лишней и даже вредной. Как говорил Галилей, эксперимент - критерий истины.

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

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

могу как ребёнок сказать что-то вроде: «а король-то голый».

Вот именно, что как ребенок. На аргументацию твоих знаний не хватает.

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

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

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