LINUX.ORG.RU

Метапрог-прототип 34 + СУВТ по логическому типу

 , , ,


0

3

Скачать:

https://mega.nz/file/6VJCEboQ#N3pu86bqI31Jp15aHWt6l-FIkY_RUws0CZK9aMcvxZo

В версии 34 исправлен тот же баг что и в 33, но другим способом, так как багфикс из версии 33 вызывал другие баги.

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

К выпуску версии 32 неожиданно обнаружилось, что СУВТ может иметь переключатель логического типа. То есть, можно задавать типы на значения «да» и «нет». Никаких изменений для этого вносить с 31 версии не пришлось, надо лишь задавать в определении СУВТ типы по значению СУВТ 0 на «нет» и 1 на «да». Из изменений - некоторые исправления багов (например, с кодогенерацией структур и операций над структурами под указателями), а также экспериментальная фича отрисовки канваса через dll-вызов окошка на SDL, за подробностями обращаться к MOPKOBKA или kote4ka в Метапрог онлайн.

В версии 31 - доработка транслятора для трансляции циклов, включающих в себя жесткие последовательности (были баги с повторной кодогенерацией тех же участков на подфункциях и операциях над структурами).

В версии 30 - исправление бага с сишной трансляцией циклов с регистрами. Теперь их значение берется на сишном уровне не напрямую, а через промежуточную переменную. Это позволило реализовать алгоритм вычисления чисел Фибоначчи, где есть непосредственная передача данных между разными регистрами. Метапрог-схема находится в меню обучение - примеры - Фибоначчи, выглядит она так:

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

Для сравнения - тот же алгоритм на LabVIEW:

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

Сишная трансляция:

https://pastebin.com/Z8rzvZpQ

Сравнение с тем же алгоритмом на «аналоге» Метапрога с бекендом на python говорит само за себя:

Metaprog здорового человека (комментарий)

В версии 29 - крупные изменения системы типов. «Встроенных» типов, вытягиваемых через меню «структуры», больше нет, все они теперь представлены в стандартной библиотеке. В особенности изменения коснулись числовых типов: теперь такие типы как число, дробь, целое, знаковое и беззнаковое представлены как многотиповые из соответствующих типов. Например, беззнаковое - многотиповой из 8, 16, 32, 64 и 128-разрядных беззнаковых, целое - многотиповой из знакового и беззнакового, число - многотиповой из целого и дробного. Теперь такие типы можно обрабатывать как многотиповые, поступая с числами разных типов по-разному.

В версии 28 переключатель (аналог сишного switch) работает с многотиповым типом. Выполнение схемы происходит только на ветке, соответствующей поданному на переключатель типу. Ветвление происходит не в рантайме (как в случае СУВТ), а при кодогенерации - не соответствующие поданному типу ветки не генерируются. Теперь осталось сделать цикл по структуре.

В версии 27 добавлена удобная возможность создать новую подфункцию, не останавливая весь прототип. Кнопка блоки - новая подфункция.

Также обнаружилась (но пока не исправлена) проблема с терминалом счетчика повторений цикла в цикле по условию - пока что не используйте его!

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

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

В версии 25 исправлена трансляция сложных рекурсивных структур с СУВТ.

В версии 24 был исправлен баг транслятора, проявившийся в версии 23: на некоторых схемах (например, отправки данных по TCP) код, отвечающий за поток данных, «вливающийся» в ветки с условиями, мог сгенерироваться после кода самого условия.

В версии 23 исправлен еще один баг с упаковкой проектов, а также баг трансляции условных схождений.

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

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

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

Метапрог-прототип 19 + API на СУВТ + ускорение трансляции

Столько времени прошло, а ты как заливал на файлопомойки, так и заливаешь. Уж мог бы за это время купить VPS

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

Начинается. Как ещё в первых темах была сказка про инвесторов. Пойди на кикстартер что ли с такими запросами. Или устрой хакатон, где 100 хипстеров напишут тебе такое на go, завлеки их смузями.

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

Или устрой хакатон, где 100 хипстеров напишут тебе такое на go, завлеки их смузями.

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

metaprog ()

ЛОР вам просто завидует.

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

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

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

А что означает «тупо мало»?

Я понял так - «лабвьюшники» все тупые и их мало.

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

Я б скорее предпочел завлечь лабвьюшников, но их тупо мало и уровень у многиз из них в Си (да и в Лабвью) обычно неважнецкий

Какую ЦА хотели, такую и получили

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

Ну это ясно, что от vcs он сам отказался. Но хостинг для своего прожекта можно было завести? Желательно не ucoz и не народ.сру ;)

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

но их тупо мало

А можно ли сказать - «тупо мало» кода?

anonymous ()

Торадиционно, на первой странице нужна ссылка на какое-нибудь видео. Пусть будет это https://www.youtube.com/watch?v=Imu_3XJKTWg

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

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

В данной версии наконец-то добавлена корректная трансляция схем, содержащих рекурсии

Наконец то!
Ура!

anonymous ()

«Одна палка, три струны».
Зачем вы всю эти треды постите?
В них одно злословие, …
Кому и какая польза от этих тредов?

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

Во, ТС, дай схему факториала и то, во что он транслируется

… и пусть объяснит в сишном коде, какую функциональность строк.
А то какой-то «бред …», да еще в нем и разбираться нужно.

anonymous ()

Безумие с темами продолжается.

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

Во, ТС, дай схему факториала и то, во что он транслируется

Ни кому и ни чего он объяснять не будет.
В первых двадцати тредах не было ответов на вопросы … и в сороком треде будет то же самое.

Ответ у него всегда один - "Я без всяких текстовых языков могу реализовывать алгоритм … ", а далее по тексту обязательно скажет, что ему текстовые языки программирования не нужны и «вариация на тему».

Обидно за ЛОР.
Это популярный форум и многие его читают.

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

Обидно за ЛОР.

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

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

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

Согласен.
Если бы в тредах шла речь о разработке, …

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

Ответ у него всегда один - "Я без всяких текстовых языков могу реализовывать алгоритм … ", а далее по тексту обязательно скажет, что ему текстовые языки программирования не нужны и «вариация на тему».

Как у Чеховского врача, лекарство на все болезни - касторка.

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

А что означает «тупо мало»?

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

Их, по мнению ТСа, просто мало, и всё.

Ваш К.О.

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

Вот если бы ты, например, подумал, а можно ли будет в одном проекте объединять код на диаграммах и текстовых языках…
Метапрог-прототип 19 + API на СУВТ + ускорение трансляции (комментарий)

Поддерживаю.
1000000 + 1 раз повторю. Диаграммы LabView хорошо подходят для железяк NI.
Они много упрощают разработку алгоритмов для работы с железяками.
И упрощают лишь потому, что NI предоставило богатейшее высокоуровневое API, а без этого у них Метапрог бы получился.

И не зря они запретили использовать их диаграммы «не по назначению» /чтобы программисты Метапроги не разрабатывали и не позорили NI/.

Владимир

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

Но хостинг для своего прожекта можно было завести? Желательно не ucoz и не народ.сру ;)

Думаю, он в принципе не хочет вбухивать ещё и деньги в то, что уже больше года вбухивает своё время. Некоторая логика в этом есть.

Вот тут предлагают регистрацию домена в зоне .co.ua за 250 гривен в год, не знаю, много это для ТСа или мало. Ещё понадобится VPS, тут не знаю, как Украина, в России один хостер тариф с ограничениями аж за 30 рублей в месяц предлагает. Ну и можно не ограничиваться национальными границами и на Европу можно посмотреть, разумеется. Но если моя догадка верна, и это вопрос не денег, а принципа — разговор смысла не имеет.

А, ну ещё это всё надо настраивать, конфиги и HTMLи на текстовых языках править… На файлопомойку выложить проще.

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

И не зря они запретили использовать их диаграммы «не по назначению» /чтобы программисты Метапроги не разрабатывали и не позорили NI/.

Это как если бы фрезерный станок использовать для рисования картин.

Владимир

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

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

Хотя да, анонимус вряд ли из их числа. :)

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

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

Несколько постов было об употреблении сочетания «тупо мало» …

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

Хотя да, анонимус вряд ли из их числа. :)

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

anonymous ()

Тема интересная, полезная, … и аппетит нагоняет.
На ЛОР «по базарил», пора и на «базар» за продуктами сходить.

Владимир

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

Я искренне не понимаю, почему metaprog не забанен, а темы не удалены. На текущий момент прототип Метапрог является проприетарным ПО под Windows с неясным правовым статусом. Темы с ним превращаются в вакханалию. Править их до приличного уровня и поддерживать уровень дискуссии не имеет смысла, так как тематика все равно не соответствует теме ресурса. Сам я к проекту отношусь нейтрально, но такому не место сдесь, как не место обсуждению настройки двигателя моторной лодки, например.

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

s/сдесь/здесь/

Я об этом писал. Предполагаю, что темы находятся здесь под честное слово ТСа, что когда он допилит метапрог, это действительно будет опенсорс под линукс.
Тут ещё, конечно, возникает вопрос, можно ли считать «открытыми» исходники в бинарном формате, даже если этот формат будет описан…

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

Хм. Вариант «сдесь» мне предложил словарь клавиатуры Google с Android. Выключу я его к чертям, а то он вместо русского мне язык падонкафф предлагает.

Vsevolod-linuxoid ★★★★★ ()

Зачем новый тред? Последний и 1000 комментариев не собрал… Анонимусов всё равно быстро отключат (да и приелся нам* метапрог). Остальных участников драмы ты вполне в «старых» темах можешь не читать. В целом «бессмысленно и скучно».

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

Это как если бы фрезерный станок использовать для рисования картин.

Почему «бы»? Гравюры делают. Без стыда и стеснения.

Я понял, что ты хотел сказать, но аналогия получилась неудачная и даже хвалебная для ТСа.

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

аналогия получилась неудачная и даже хвалебная для ТСа

т.е. из-под его «фрезера» выходят «картины»?! ну, не знаю… что-то слишком авангардные творения получаются, истинных ценителей этого ещё вырастить надо

anonymous ()

Ты опять выходишь на связь?

anonymous ()

Видел тред на одной странице.

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

Подозреваю, что того что я хочу не напишут

Ты просто: хоти того, что нужно, и можно. Это просто – перестаёшь фантазировать, что ты у мамки самый умный и всё.

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

Но хостинг для своего прожекта можно было завести? Желательно не ucoz и не народ.сру ;)

У него хостинг в .onion, аккурат между кокаином и детским порно.

anonymous ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)